grenton-ts 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +86 -0
  3. package/dist/analog-din/fv02_01/analog-in.ts +271 -0
  4. package/dist/clu/calendar/v1/calendar.ts +308 -0
  5. package/dist/clu/clu-zwave-2/fv515_03/clu-zwave-2.ts +1302 -0
  6. package/dist/clu/event-scheduler/v1/event-scheduler.ts +537 -0
  7. package/dist/clu/multi-fan-ac-thermostat/v1/multi-fan-ac-thermostat.ts +1163 -0
  8. package/dist/clu/pid-controller/v1/pid-controller.ts +536 -0
  9. package/dist/clu/presence-sensor/v1/presence-sensor.ts +313 -0
  10. package/dist/clu/presence-sensor/v2/presence-sensor.ts +470 -0
  11. package/dist/clu/push/v1/push.ts +261 -0
  12. package/dist/clu/scheduler/v1/scheduler.ts +304 -0
  13. package/dist/clu/statistics/v1/statistics.ts +413 -0
  14. package/dist/clu/statistics-pulse/v1/statistics-pulse.ts +218 -0
  15. package/dist/clu/sunrise-sunset-calendar/v1/sunrise-sunset-calendar.ts +389 -0
  16. package/dist/clu/sunrise-sunset-calendar/v2/sunrise-sunset-calendar.ts +659 -0
  17. package/dist/clu/sunrise-sunset-calendar/v3/sunrise-sunset-calendar.ts +659 -0
  18. package/dist/clu/thermostat/v1/thermostat.ts +768 -0
  19. package/dist/clu/thermostat/v2/thermostat.ts +861 -0
  20. package/dist/clu/timer/v1/timer.ts +369 -0
  21. package/dist/core/execution-builder.ts +55 -0
  22. package/dist/core/remote-gate.ts +17 -0
  23. package/dist/digital-in-din/fv02_01/din.ts +310 -0
  24. package/dist/examples/light_turned_on_by_calendar/Clu_OnInit.ts +26 -0
  25. package/dist/examples/light_turned_on_by_presence_sensor/Clu_OnInit.ts +35 -0
  26. package/dist/examples/light_turned_on_by_switch/Clu_OnInit.ts +16 -0
  27. package/dist/gate/cool-master/v1/cool-master.ts +782 -0
  28. package/dist/gate/cool-master-net/v1/cool-master-net.ts +334 -0
  29. package/dist/gate/denon-marantz-avr/v1/denon-marantz-avr.ts +724 -0
  30. package/dist/gate/heos/v1/heos.ts +1224 -0
  31. package/dist/gate/http/fv1000_03/clu-gate-http.ts +405 -0
  32. package/dist/gate/http/fv1000_03_hv1/clu-gate-http.ts +352 -0
  33. package/dist/gate/http/fv1100_03/clu-gate-http.ts +589 -0
  34. package/dist/gate/http/fv1110_03/clu-gate-http.ts +589 -0
  35. package/dist/gate/http/fv1300_03/clu-gate-http.ts +589 -0
  36. package/dist/gate/http/fv1400_03/clu-gate-http.ts +677 -0
  37. package/dist/gate/http-listener/v1/http-listener.ts +299 -0
  38. package/dist/gate/http-listener/v2/http-listener.ts +325 -0
  39. package/dist/gate/http-request/v1/http-request.ts +645 -0
  40. package/dist/gate/http-request/v2/http-request.ts +709 -0
  41. package/dist/gate/input/v1/input.ts +171 -0
  42. package/dist/gate/jablotron/v1/jablotron.ts +100 -0
  43. package/dist/gate/jablotron-device/v1/jablotron-device.ts +171 -0
  44. package/dist/gate/jablotron-output/v1/jablotron-output.ts +240 -0
  45. package/dist/gate/jablotron-section/v1/jablotron-section.ts +260 -0
  46. package/dist/gate/modbus/v1/modbus.ts +609 -0
  47. package/dist/gate/modbus/v2/modbus.ts +690 -0
  48. package/dist/gate/modbus-client/v1/modbus-client.ts +827 -0
  49. package/dist/gate/modbus-rtu/v1/modbus-rtu.ts +911 -0
  50. package/dist/gate/modbus-server/v1/modbus-server.ts +405 -0
  51. package/dist/gate/modbus-slave-config-rtu/v1/modbus-slave-config-rtu.ts +160 -0
  52. package/dist/gate/modbus-slave-rtu/v1/modbus-slave-rtu.ts +371 -0
  53. package/dist/gate/modbus-value/v1/modbus-value.ts +856 -0
  54. package/dist/gate/music-cast/v1/music-cast.ts +1298 -0
  55. package/dist/gate/output/v1/output.ts +240 -0
  56. package/dist/gate/satel/v1/satel.ts +359 -0
  57. package/dist/gate/satel-input/v1/satel-input.ts +171 -0
  58. package/dist/gate/satel-output/v1/satel-output.ts +240 -0
  59. package/dist/gate/satel-zone/v1/satel-zone.ts +235 -0
  60. package/dist/gate/sonos/v1/sonos.ts +934 -0
  61. package/dist/gate/timer/v2/timer.ts +253 -0
  62. package/dist/gate/zone/v1/zone.ts +235 -0
  63. package/dist/io-module-din-8/fv02_02/din.ts +354 -0
  64. package/dist/io-module-din-8/fv02_02/dout.ts +360 -0
  65. package/dist/one-wire/fv01_10/onew-sensor.ts +269 -0
  66. package/dist/one-wire/fv01_28/onew-sensor.ts +269 -0
  67. package/dist/one-wire/fv02_28/onew-sensor.ts +350 -0
  68. package/dist/one-wire/fv03_28/onew-sensor.ts +435 -0
  69. package/dist/relay-din-2/fv02_02/dout.ts +544 -0
  70. package/dist/relay-din-4/fv01_02/dout.ts +340 -0
  71. package/dist/relay-din-4/fv02_02/dout.ts +368 -0
  72. package/dist/roller-shutter-din-3/fv03_02/roller-shutter.ts +1078 -0
  73. package/dist/smart-panel-fm-4/fv03_03/panel-button.ts +550 -0
  74. package/dist/smart-panel-fm-4/fv03_03/panel-sens-light.ts +238 -0
  75. package/dist/smart-panel-fm-4/fv03_03/panel-sens-temp.ts +239 -0
  76. package/dist/smart-panel-fm-4/fv03_03/panel.ts +700 -0
  77. package/dist/smart-panel-fm-4/fv04_03/panel-button.ts +567 -0
  78. package/dist/smart-panel-fm-4/fv04_03/panel-page.ts +516 -0
  79. package/dist/smart-panel-fm-4/fv04_03/panel-sens-light.ts +238 -0
  80. package/dist/smart-panel-fm-4/fv04_03/panel-sens-temp.ts +239 -0
  81. package/dist/smart-panel-fm-4/fv04_03/panel.ts +1026 -0
  82. package/dist/smart-panel-fm-4/fv05_03/panel-button.ts +567 -0
  83. package/dist/smart-panel-fm-4/fv05_03/panel-page.ts +620 -0
  84. package/dist/smart-panel-fm-4/fv05_03/panel-sens-light.ts +238 -0
  85. package/dist/smart-panel-fm-4/fv05_03/panel-sens-temp.ts +266 -0
  86. package/dist/smart-panel-fm-4/fv05_03/panel.ts +1109 -0
  87. package/dist/smart-panel-fm-4/fv06_03/panel-button.ts +567 -0
  88. package/dist/smart-panel-fm-4/fv06_03/panel-page.ts +877 -0
  89. package/dist/smart-panel-fm-4/fv06_03/panel-sens-light.ts +238 -0
  90. package/dist/smart-panel-fm-4/fv06_03/panel-sens-temp.ts +297 -0
  91. package/dist/smart-panel-fm-4/fv06_03/panel.ts +1138 -0
  92. package/dist/smart-panel-fm-4/fv07_03/panel-button.ts +567 -0
  93. package/dist/smart-panel-fm-4/fv07_03/panel-page.ts +864 -0
  94. package/dist/smart-panel-fm-4/fv07_03/panel-sens-light.ts +238 -0
  95. package/dist/smart-panel-fm-4/fv07_03/panel-sens-temp.ts +297 -0
  96. package/dist/smart-panel-fm-4/fv07_03/panel.ts +1135 -0
  97. package/dist/touch-panel-fm-4/fv01_02/panel-button.ts +418 -0
  98. package/dist/touch-panel-fm-4/fv01_02/panel-sens-light.ts +238 -0
  99. package/dist/touch-panel-fm-4/fv01_02/panel-sens-temp.ts +257 -0
  100. package/dist/touch-panel-fm-4/fv01_02/panel.ts +75 -0
  101. package/dist/touch-panel-fm-4/fv01_02/power-supply-voltage.ts +322 -0
  102. package/dist/touch-panel-fm-8/fv01_02/panel-button.ts +418 -0
  103. package/dist/touch-panel-fm-8/fv01_02/panel-sens-light.ts +238 -0
  104. package/dist/touch-panel-fm-8/fv01_02/panel-sens-temp.ts +270 -0
  105. package/dist/touch-panel-fm-8/fv01_02/panel.ts +75 -0
  106. package/dist/touch-panel-fm-8/fv01_02/power-supply-voltage.ts +322 -0
  107. package/package.json +16 -0
@@ -0,0 +1,536 @@
1
+ // Created from: packages/grenton-api/interfaces/object_PIDcontroller_v1.xml, object name="PIDcontroller" version="1"
2
+
3
+ import { rawExecutionBuilderFactory } from "../../../core/execution-builder"
4
+ import { RemoteGate } from "../../../core/remote-gate"
5
+
6
+ enum EventType {
7
+ OnChange = 0,
8
+ OnStart = 1,
9
+ OnStop = 2,
10
+ OnOutOn = 4,
11
+ OnOutOff = 5
12
+ }
13
+
14
+ enum PropertyType {
15
+ ControlOut = 0,
16
+ State = 1,
17
+ SetPoint = 2,
18
+ Kp = 3,
19
+ Ki = 4,
20
+ Kd = 5,
21
+ SwitchTime = 6,
22
+ Alpha = 7,
23
+ Gamma = 8,
24
+ Mode = 9,
25
+ A = 10,
26
+ B = 11
27
+ }
28
+
29
+ enum MethodType {
30
+ Source = 0,
31
+ Start = 1,
32
+ Stop = 2
33
+ }
34
+
35
+ enum ModeType {
36
+ NormalPID = 1,
37
+ AutoKaczmarz = 2
38
+ }
39
+
40
+ declare class PIDcontrollerRaw {
41
+ add_event(event: EventType, callback: () => void): void;
42
+ get(property: PropertyType): any;
43
+ set(property: PropertyType, value: any): void;
44
+ execute(method: MethodType, ...args: any[]): any;
45
+ }
46
+
47
+ interface IPIDcontroller {
48
+ /**
49
+ * Zdarzenie wywoływane w momencie zmiany wartości cechy ControlOut
50
+ * @param callback
51
+ */
52
+ addOnChange: (callback: () => void) => void
53
+ /**
54
+ * Zdarzenie wywoływane w momencie uruchomienia regulatora
55
+ * @param callback
56
+ */
57
+ addOnStart: (callback: () => void) => void
58
+ /**
59
+ * Zdarzenie wywoływane przy zablokowaniu pracy
60
+ * @param callback
61
+ */
62
+ addOnStop: (callback: () => void) => void
63
+ /**
64
+ * Zdarzenie wywoływane w momencie przełączenia wartości cechy ControlOut na 1
65
+ * @param callback
66
+ */
67
+ addOnOutOn: (callback: () => void) => void
68
+ /**
69
+ * Zdarzenie wywoływane w momencie przełączenia wartości cechy ControlOut na 0
70
+ * @param callback
71
+ */
72
+ addOnOutOff: (callback: () => void) => void
73
+ /**
74
+ * Podanie nowej wartości wejścia dla sterownika (pętla sprzężenia zwrotnego)
75
+ * @param {number} value
76
+ */
77
+ source: (value: number) => void
78
+ /** Przełącza w stan aktywny (State=1) */
79
+ start: () => void
80
+ /** Przełącza w stan zatrzymania (State=0) */
81
+ stop: () => void
82
+ /** Wartość wyjścia sterującego (binarna, przełączana w cyklu określonym przez SwitchTime) */
83
+ readonly controlOut: number
84
+ /** Stan działania regulatora: 1 - aktywny, 0 - nieaktywny */
85
+ readonly state: number
86
+ /** Ustawia wartość regulatora - wartość docelowa */
87
+ setPoint: number
88
+ /** Wzmocnienie członu proporcjonalnego regulatora PID */
89
+ readonly kp: number
90
+ /** Wzmocnienie członu całkującego regulatora PID */
91
+ readonly ki: number
92
+ /** Wzmocnienie członu różniczkującego regulatora PID */
93
+ readonly kd: number
94
+ /** Czas przełączenia */
95
+ readonly switchTime: number
96
+ /** Parametr alpha w algorytmie Kaczmarza (zabezpieczenie przed dzieleniem przez 0) */
97
+ alpha: number
98
+ /** Parametr gamma w algorytmie Kaczmarza (dynamika zmian oszacowania a i b) */
99
+ gamma: number
100
+ /** Tryb pracy regulatora: 1 - ręczny PID, 2 - automatyczny algorytm Kaczmarza/ */
101
+ mode: ModeType
102
+ /** Parametr a w algorytmie Kaczmarza */
103
+ readonly a: number
104
+ /** Parametr b w algorytmie Kaczmarza */
105
+ readonly b: number
106
+ }
107
+
108
+ class PIDcontroller implements IPIDcontroller {
109
+ private onChangeCallbacks: Array<() => void> = [];
110
+ private onStartCallbacks: Array<() => void> = [];
111
+ private onStopCallbacks: Array<() => void> = [];
112
+ private onOutOnCallbacks: Array<() => void> = [];
113
+ private onOutOffCallbacks: Array<() => void> = [];
114
+
115
+ constructor(private raw: PIDcontrollerRaw) {
116
+ this.raw.add_event(EventType.OnChange, () => {
117
+ this.onChangeCallbacks.forEach(callback => { callback(); });
118
+ });
119
+ this.raw.add_event(EventType.OnStart, () => {
120
+ this.onStartCallbacks.forEach(callback => { callback(); });
121
+ });
122
+ this.raw.add_event(EventType.OnStop, () => {
123
+ this.onStopCallbacks.forEach(callback => { callback(); });
124
+ });
125
+ this.raw.add_event(EventType.OnOutOn, () => {
126
+ this.onOutOnCallbacks.forEach(callback => { callback(); });
127
+ });
128
+ this.raw.add_event(EventType.OnOutOff, () => {
129
+ this.onOutOffCallbacks.forEach(callback => { callback(); });
130
+ });
131
+ }
132
+
133
+ /**
134
+ * Zdarzenie wywoływane w momencie zmiany wartości cechy ControlOut
135
+ * @param callback
136
+ */
137
+ addOnChange(callback: () => void): void {
138
+ this.onChangeCallbacks.push(callback);
139
+ }
140
+ /**
141
+ * Zdarzenie wywoływane w momencie uruchomienia regulatora
142
+ * @param callback
143
+ */
144
+ addOnStart(callback: () => void): void {
145
+ this.onStartCallbacks.push(callback);
146
+ }
147
+ /**
148
+ * Zdarzenie wywoływane przy zablokowaniu pracy
149
+ * @param callback
150
+ */
151
+ addOnStop(callback: () => void): void {
152
+ this.onStopCallbacks.push(callback);
153
+ }
154
+ /**
155
+ * Zdarzenie wywoływane w momencie przełączenia wartości cechy ControlOut na 1
156
+ * @param callback
157
+ */
158
+ addOnOutOn(callback: () => void): void {
159
+ this.onOutOnCallbacks.push(callback);
160
+ }
161
+ /**
162
+ * Zdarzenie wywoływane w momencie przełączenia wartości cechy ControlOut na 0
163
+ * @param callback
164
+ */
165
+ addOnOutOff(callback: () => void): void {
166
+ this.onOutOffCallbacks.push(callback);
167
+ }
168
+ /**
169
+ * Podanie nowej wartości wejścia dla sterownika (pętla sprzężenia zwrotnego)
170
+ * @param {number} value
171
+ */
172
+ source(value: number): void {
173
+ this.raw.execute(MethodType.Source, value);
174
+ }
175
+ /** Przełącza w stan aktywny (State=1) */
176
+ start(): void {
177
+ this.raw.execute(MethodType.Start);
178
+ }
179
+ /** Przełącza w stan zatrzymania (State=0) */
180
+ stop(): void {
181
+ this.raw.execute(MethodType.Stop);
182
+ }
183
+ /**
184
+ * Wartość wyjścia sterującego (binarna, przełączana w cyklu określonym przez SwitchTime)
185
+ * @returns {number}
186
+ */
187
+ get controlOut(): number {
188
+ return this.raw.get(PropertyType.ControlOut);
189
+ }
190
+ /**
191
+ * Stan działania regulatora: 1 - aktywny, 0 - nieaktywny
192
+ * @returns {number}
193
+ */
194
+ get state(): number {
195
+ return this.raw.get(PropertyType.State);
196
+ }
197
+ /**
198
+ * Ustawia wartość regulatora - wartość docelowa
199
+ * @returns {number}
200
+ */
201
+ get setPoint(): number {
202
+ return this.raw.get(PropertyType.SetPoint);
203
+ }
204
+ set setPoint(value: number) {
205
+ this.raw.set(PropertyType.SetPoint, value);
206
+ }
207
+ /**
208
+ * Wzmocnienie członu proporcjonalnego regulatora PID
209
+ * @returns {number}
210
+ */
211
+ get kp(): number {
212
+ return this.raw.get(PropertyType.Kp);
213
+ }
214
+ /**
215
+ * Wzmocnienie członu całkującego regulatora PID
216
+ * @returns {number}
217
+ */
218
+ get ki(): number {
219
+ return this.raw.get(PropertyType.Ki);
220
+ }
221
+ /**
222
+ * Wzmocnienie członu różniczkującego regulatora PID
223
+ * @returns {number}
224
+ */
225
+ get kd(): number {
226
+ return this.raw.get(PropertyType.Kd);
227
+ }
228
+ /**
229
+ * Czas przełączenia
230
+ * @returns {number}
231
+ */
232
+ get switchTime(): number {
233
+ return this.raw.get(PropertyType.SwitchTime);
234
+ }
235
+ /**
236
+ * Parametr alpha w algorytmie Kaczmarza (zabezpieczenie przed dzieleniem przez 0)
237
+ * @returns {number}
238
+ */
239
+ get alpha(): number {
240
+ return this.raw.get(PropertyType.Alpha);
241
+ }
242
+ set alpha(value: number) {
243
+ this.raw.set(PropertyType.Alpha, value);
244
+ }
245
+ /**
246
+ * Parametr gamma w algorytmie Kaczmarza (dynamika zmian oszacowania a i b)
247
+ * @returns {number}
248
+ */
249
+ get gamma(): number {
250
+ return this.raw.get(PropertyType.Gamma);
251
+ }
252
+ set gamma(value: number) {
253
+ this.raw.set(PropertyType.Gamma, value);
254
+ }
255
+ /**
256
+ * Tryb pracy regulatora: 1 - ręczny PID, 2 - automatyczny algorytm Kaczmarza/
257
+ * @returns {ModeType}
258
+ */
259
+ get mode(): ModeType {
260
+ return this.raw.get(PropertyType.Mode);
261
+ }
262
+ set mode(value: ModeType) {
263
+ this.raw.set(PropertyType.Mode, value);
264
+ }
265
+ /**
266
+ * Parametr a w algorytmie Kaczmarza
267
+ * @returns {number}
268
+ */
269
+ get a(): number {
270
+ return this.raw.get(PropertyType.A);
271
+ }
272
+ /**
273
+ * Parametr b w algorytmie Kaczmarza
274
+ * @returns {number}
275
+ */
276
+ get b(): number {
277
+ return this.raw.get(PropertyType.B);
278
+ }
279
+ }
280
+
281
+ class PIDcontrollerRemote implements IPIDcontroller {
282
+ constructor(private objectName: string, private gate: RemoteGate) {
283
+
284
+ }
285
+
286
+ /**
287
+ * Zdarzenie wywoływane w momencie zmiany wartości cechy ControlOut
288
+ * @param callback
289
+ */
290
+ addOnChange(_callback: () => void): void {
291
+ // Remote events are not supported
292
+ }
293
+ /**
294
+ * Zdarzenie wywoływane w momencie uruchomienia regulatora
295
+ * @param callback
296
+ */
297
+ addOnStart(_callback: () => void): void {
298
+ // Remote events are not supported
299
+ }
300
+ /**
301
+ * Zdarzenie wywoływane przy zablokowaniu pracy
302
+ * @param callback
303
+ */
304
+ addOnStop(_callback: () => void): void {
305
+ // Remote events are not supported
306
+ }
307
+ /**
308
+ * Zdarzenie wywoływane w momencie przełączenia wartości cechy ControlOut na 1
309
+ * @param callback
310
+ */
311
+ addOnOutOn(_callback: () => void): void {
312
+ // Remote events are not supported
313
+ }
314
+ /**
315
+ * Zdarzenie wywoływane w momencie przełączenia wartości cechy ControlOut na 0
316
+ * @param callback
317
+ */
318
+ addOnOutOff(_callback: () => void): void {
319
+ // Remote events are not supported
320
+ }
321
+
322
+ /**
323
+ * Podanie nowej wartości wejścia dla sterownika (pętla sprzężenia zwrotnego)
324
+ * @param {number} value
325
+ */
326
+ source(value: number): void {
327
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
328
+ .execute()
329
+ .addParameter(MethodType.Source)
330
+ .addParameter(value)
331
+ .build();
332
+ this.gate.runScript(cmd!);
333
+ }
334
+
335
+ /** Przełącza w stan aktywny (State=1) */
336
+ start(): void {
337
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
338
+ .execute()
339
+ .addParameter(MethodType.Start)
340
+ .build();
341
+ this.gate.runScript(cmd!);
342
+ }
343
+
344
+ /** Przełącza w stan zatrzymania (State=0) */
345
+ stop(): void {
346
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
347
+ .execute()
348
+ .addParameter(MethodType.Stop)
349
+ .build();
350
+ this.gate.runScript(cmd!);
351
+ }
352
+
353
+ /**
354
+ * Wartość wyjścia sterującego (binarna, przełączana w cyklu określonym przez SwitchTime)
355
+ * @returns {number}
356
+ */
357
+ get controlOut(): number {
358
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
359
+ .get()
360
+ .addParameter(PropertyType.ControlOut)
361
+ .build();
362
+ return this.gate.runScript(cmd!);
363
+ }
364
+
365
+ /**
366
+ * Stan działania regulatora: 1 - aktywny, 0 - nieaktywny
367
+ * @returns {number}
368
+ */
369
+ get state(): number {
370
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
371
+ .get()
372
+ .addParameter(PropertyType.State)
373
+ .build();
374
+ return this.gate.runScript(cmd!);
375
+ }
376
+
377
+ /**
378
+ * Ustawia wartość regulatora - wartość docelowa
379
+ * @returns {number}
380
+ */
381
+ get setPoint(): number {
382
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
383
+ .get()
384
+ .addParameter(PropertyType.SetPoint)
385
+ .build();
386
+ return this.gate.runScript(cmd!);
387
+ }
388
+
389
+ set setPoint(value: number) {
390
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
391
+ .set()
392
+ .addParameter(PropertyType.SetPoint)
393
+ .addParameter(value)
394
+ .build();
395
+ this.gate.runScript(cmd!);
396
+ }
397
+
398
+ /**
399
+ * Wzmocnienie członu proporcjonalnego regulatora PID
400
+ * @returns {number}
401
+ */
402
+ get kp(): number {
403
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
404
+ .get()
405
+ .addParameter(PropertyType.Kp)
406
+ .build();
407
+ return this.gate.runScript(cmd!);
408
+ }
409
+
410
+ /**
411
+ * Wzmocnienie członu całkującego regulatora PID
412
+ * @returns {number}
413
+ */
414
+ get ki(): number {
415
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
416
+ .get()
417
+ .addParameter(PropertyType.Ki)
418
+ .build();
419
+ return this.gate.runScript(cmd!);
420
+ }
421
+
422
+ /**
423
+ * Wzmocnienie członu różniczkującego regulatora PID
424
+ * @returns {number}
425
+ */
426
+ get kd(): number {
427
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
428
+ .get()
429
+ .addParameter(PropertyType.Kd)
430
+ .build();
431
+ return this.gate.runScript(cmd!);
432
+ }
433
+
434
+ /**
435
+ * Czas przełączenia
436
+ * @returns {number}
437
+ */
438
+ get switchTime(): number {
439
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
440
+ .get()
441
+ .addParameter(PropertyType.SwitchTime)
442
+ .build();
443
+ return this.gate.runScript(cmd!);
444
+ }
445
+
446
+ /**
447
+ * Parametr alpha w algorytmie Kaczmarza (zabezpieczenie przed dzieleniem przez 0)
448
+ * @returns {number}
449
+ */
450
+ get alpha(): number {
451
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
452
+ .get()
453
+ .addParameter(PropertyType.Alpha)
454
+ .build();
455
+ return this.gate.runScript(cmd!);
456
+ }
457
+
458
+ set alpha(value: number) {
459
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
460
+ .set()
461
+ .addParameter(PropertyType.Alpha)
462
+ .addParameter(value)
463
+ .build();
464
+ this.gate.runScript(cmd!);
465
+ }
466
+
467
+ /**
468
+ * Parametr gamma w algorytmie Kaczmarza (dynamika zmian oszacowania a i b)
469
+ * @returns {number}
470
+ */
471
+ get gamma(): number {
472
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
473
+ .get()
474
+ .addParameter(PropertyType.Gamma)
475
+ .build();
476
+ return this.gate.runScript(cmd!);
477
+ }
478
+
479
+ set gamma(value: number) {
480
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
481
+ .set()
482
+ .addParameter(PropertyType.Gamma)
483
+ .addParameter(value)
484
+ .build();
485
+ this.gate.runScript(cmd!);
486
+ }
487
+
488
+ /**
489
+ * Tryb pracy regulatora: 1 - ręczny PID, 2 - automatyczny algorytm Kaczmarza/
490
+ * @returns {ModeType}
491
+ */
492
+ get mode(): ModeType {
493
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
494
+ .get()
495
+ .addParameter(PropertyType.Mode)
496
+ .build();
497
+ return this.gate.runScript(cmd!);
498
+ }
499
+
500
+ set mode(value: ModeType) {
501
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
502
+ .set()
503
+ .addParameter(PropertyType.Mode)
504
+ .addParameter(value)
505
+ .build();
506
+ this.gate.runScript(cmd!);
507
+ }
508
+
509
+ /**
510
+ * Parametr a w algorytmie Kaczmarza
511
+ * @returns {number}
512
+ */
513
+ get a(): number {
514
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
515
+ .get()
516
+ .addParameter(PropertyType.A)
517
+ .build();
518
+ return this.gate.runScript(cmd!);
519
+ }
520
+
521
+ /**
522
+ * Parametr b w algorytmie Kaczmarza
523
+ * @returns {number}
524
+ */
525
+ get b(): number {
526
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
527
+ .get()
528
+ .addParameter(PropertyType.B)
529
+ .build();
530
+ return this.gate.runScript(cmd!);
531
+ }
532
+ }
533
+
534
+ export {
535
+ PIDcontroller, PIDcontrollerRaw, PIDcontrollerRemote, ModeType
536
+ }