-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathQueryJsonExamples.py
More file actions
145 lines (127 loc) · 4.92 KB
/
Copy pathQueryJsonExamples.py
File metadata and controls
145 lines (127 loc) · 4.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
import json
import QueryTechnicalData.QueryFunctions as QF
'''
This file contains examples how to apply the functions to get the query for your specific component
---------------------------------------------------------------------------------------------------
'''
'''
Returns a query Json for a general pump that:
- belongs to the product classification 51-41
- has a maximum operating pressure of minimum 100 bar
- has a displacement between 10 and 100 cm³/rev
- is adjustable
- has a nominal rotational speed between 1000 and 3000 rpm
It does check for ECLASS identifier without version number:
So for example "0173-1#02-AAB836" instead of "0173-1#02-AAB836#009"
'''
pump_query = QF.getPumpQuery_51_41(
EclassVersion=False,
ProductClassification = "51-41",
MaxOperatingPressure = 100,
Displacement_min= 10,
Displacement_max = 100,
Adjustable = True,
NominalRotationalSpeed_min = 1000,
NominalRotationalSpeed_max = 3000
)
print(json.dumps(pump_query, indent = 4, sort_keys=True, ensure_ascii=False))
'''
Returns a query Json for a Pressure Relief Valve that:
- has a maximum operating pressure of minimum 200 bar
- has a specific maximum cracking pressure of minimum 150 bar
- has a nominal pressure difference between 10 and 50 bar
- has a specified maximum flow rate of minimum 50 l/min
It does check for ECLASS identifier without version number:
So for example "0173-1#02-AAB836" instead of "0173-1#02-AAB836#009"
'''
pressure_relief_valve_query = QF.getPressureReliefValveQuery_51_44_02_01(
EclassVersion=False,
MaxOperatingPressure = 200,
SpecifiedMaximumCrackingPressure = 150,
NominalPressureDifference_min = 10,
NominalPressureDifference_max = 50,
SpecifiedMaximumFlowRate = 50
)
print(json.dumps(pressure_relief_valve_query, indent = 4, sort_keys=True, ensure_ascii=False))
'''
Returns a query Json for a Switching Non-Return Valve that:
- has a maximum operating pressure of minimum 200 bar
- has a specific maximum cracking pressure of minimum 150 bar
- has a nominal pressure difference between 10 and 50 bar
- has a specified maximum flow rate of minimum 50 l/min
'''
SwitchingNonReturnValveQuery = QF.getSwitchingNonReturnValveQuery_51_44_04_01(
EclassVersion=False,
MaxOperatingPressure = 200,
SpecifiedMaximumCrackingPressure = 150,
NominalPressureDifference_min = 10,
NominalPressureDifference_max = 50,
SpecifiedMaximumFlowRate = 50
)
print(json.dumps(SwitchingNonReturnValveQuery, indent = 4, sort_keys=True, ensure_ascii=False))
'''
Returns a query Json for a Proportional Directional Control Valve that:
- has a maximum operating pressure of minimum 250 bar
- is Adjustable
- has a nominal pressure difference between 10 and 50 bar
- has a specified maximum flow rate of minimum 100 l/min
'''
proportional_directional_control_valve_query = QF.getProportionalDirectionalControlValveQuery_51_45_01_02(
EclassVersion=False,
MaxOperatingPressure = 250,
Adjustable = True,
NominalPressureDifference_min = 10,
NominalPressureDifference_max = 50,
SpecifiedMaximumFlowRate = 100
)
print(json.dumps(proportional_directional_control_valve_query, indent = 4, sort_keys=True, ensure_ascii=False))
'''
Returns a query Json for a Proportional Flow Control Valve that:
- has a maximum operating pressure of minimum 250 bar
- is Adjustable
- has a nominal pressure difference between 10 and 50 bar
- has a nominal flow rate between 0 and 20 l/min
'''
proportional_flow_control_valve_query = QF.getProportionalFlowControlValveQuery_51_45_03_02(
EclassVersion = False,
MaxOperatingPressure = 250,
Adjustable = True,
NominalPressureDifference_min = 10,
NominalPressureDifference_max = 50,
NominalFlowRate_min = 0,
NominalFlowRate_max = 20
)
print(json.dumps(proportional_flow_control_valve_query, indent = 4, sort_keys=True, ensure_ascii=False))
'''
Returns a query Json for a Differential Cylinder that:
- has a maximum operating pressure of minimum 250 bar
- has a stroke that can reach between 100 and 150 mm
- has a piston diameter between 25 and 30 mm
- has a piston rod diameter between 15 and 20 mm
- has a maximum piston speed between 0.1 and 0.2 m/s
'''
differential_cylinder_query = QF.getDifferentialCylinderQuery_51_48_01_01(
EclassVersion=True,
MaxOperatingPressure=250,
Stroke_min=100,
Stroke_max=150,
PistonDiameter_min=25,
PistonDiameter_max=30,
PistonRodDiameter_min=15,
PistonRodDiameter_max=20,
MaximumPistonSpeed_min=0.1,
MaximumPistonSpeed_max=0.2
)
print(json.dumps(differential_cylinder_query, indent = 4, sort_keys=True, ensure_ascii=False))
'''
Returns a query Json for a Tank that:
- has a maximum operating pressure of minimum 25 bar
- has a tank volume between 10 and 100 liters
'''
tank_query = QF.getTankQuery_36_03_01_04(
EclassVersion=True,
MaxOperatingPressure=25,
NominalVolumeMin=10,
NominalVolumeMax=100
)
print(json.dumps(tank_query, indent = 4, sort_keys=True, ensure_ascii=False))