lty-protocol 1.0.40 → 1.0.42

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 (66) hide show
  1. package/README.md +133 -0
  2. package/dist/{views/Ethernet.vue.d.ts → components/base/Panel.vue.d.ts} +4 -2
  3. package/dist/components/{Tab.vue.d.ts → base/Tab.vue.d.ts} +1 -3
  4. package/dist/components/{InputNumber.vue.d.ts → base/baseComponents/Checkbox.vue.d.ts} +1 -0
  5. package/dist/components/base/baseComponents/Input.vue.d.ts +10 -0
  6. package/dist/components/base/baseComponents/InputNumber.vue.d.ts +11 -0
  7. package/dist/components/base/baseComponents/Select.vue.d.ts +13 -0
  8. package/dist/components/base/baseComponents/Table.vue.d.ts +28 -0
  9. package/dist/components/base/baseComponents/index.d.ts +9 -0
  10. package/dist/components/base/index.d.ts +4 -0
  11. package/dist/components/naiveUi/Panel.vue.d.ts +8 -0
  12. package/dist/components/naiveUi/baseComponents/Checkbox.vue.d.ts +10 -0
  13. package/dist/components/naiveUi/baseComponents/Form.vue.d.ts +312 -0
  14. package/dist/components/naiveUi/baseComponents/Input.vue.d.ts +11 -0
  15. package/dist/components/naiveUi/baseComponents/InputNumber.vue.d.ts +14 -0
  16. package/dist/components/naiveUi/baseComponents/IpInput.vue.d.ts +10 -0
  17. package/dist/components/naiveUi/baseComponents/Select.vue.d.ts +16 -0
  18. package/dist/components/naiveUi/baseComponents/Switch.vue.d.ts +9 -0
  19. package/dist/components/naiveUi/baseComponents/Tab.vue.d.ts +23 -0
  20. package/dist/components/naiveUi/baseComponents/Table.vue.d.ts +43 -0
  21. package/dist/components/naiveUi/baseComponents/index.d.ts +11 -0
  22. package/dist/components/naiveUi/index.d.ts +3 -0
  23. package/dist/i18n/index.d.ts +174 -0
  24. package/dist/i18n/lang/en.json.d.ts +106 -0
  25. package/dist/i18n/lang/zh.json.d.ts +106 -0
  26. package/dist/index.d.ts +3 -5
  27. package/dist/keys.d.ts +1 -1
  28. package/dist/lty-protocol.css +1 -1
  29. package/dist/lty-protocol.mjs +34706 -306
  30. package/dist/lty-protocol.umd.js +3195 -1
  31. package/dist/models/collection.d.ts +33 -10
  32. package/dist/models/modbus/EthernetProtocolItem.d.ts +11 -0
  33. package/dist/models/modbus/ModbusTCPClientProtocolItem.d.ts +59 -0
  34. package/dist/models/modbus/ModbusTCPServerProtocolItem.d.ts +11 -0
  35. package/dist/models/modbus/ModbusTCPSlaveDeviceProtocolItem.d.ts +48 -0
  36. package/dist/models/modbus/addressAllocator.d.ts +30 -0
  37. package/dist/models/modbus/configParser.d.ts +1 -0
  38. package/dist/models/modbus/ethernet.json.d.ts +9 -1
  39. package/dist/models/modbus/index.d.ts +7 -29
  40. package/dist/models/modbus/ioMapping.d.ts +33 -0
  41. package/dist/models/modbus/modbusTcpClient.json.d.ts +112 -0
  42. package/dist/models/modbus/modbusTcpServer.json.d.ts +108 -0
  43. package/dist/models/modbus/modbusTcpSlaveDevice.json.d.ts +304 -0
  44. package/dist/models/modbus/types.d.ts +34 -0
  45. package/dist/models/protocolItem.d.ts +53 -1
  46. package/dist/types/base.d.ts +3 -2
  47. package/dist/utils/eventBus.d.ts +9 -0
  48. package/dist/utils/getUUID.d.ts +5 -0
  49. package/dist/utils/index.d.ts +6 -0
  50. package/dist/views/ProtocolPage.vue.d.ts +27 -0
  51. package/dist/views/components/general/index.vue.d.ts +301 -0
  52. package/dist/views/components/index.d.ts +6 -0
  53. package/dist/views/components/modbusChannel/AddChannelModal.vue.d.ts +15 -0
  54. package/dist/views/components/modbusChannel/InfoTable.vue.d.ts +2 -0
  55. package/dist/views/components/modbusChannel/index.vue.d.ts +696 -0
  56. package/dist/views/components/modbusChannel/options.d.ts +13 -0
  57. package/dist/views/components/processData/index.vue.d.ts +24 -0
  58. package/dist/views/components/status/index.vue.d.ts +8620 -0
  59. package/dist/views/components/status/utils/iec-byte-converter.d.ts +100 -0
  60. package/dist/views/components/status/utils/index.d.ts +26 -0
  61. package/dist/views/components/status/xmlFiles/index.d.ts +10 -0
  62. package/dist/views/index.d.ts +3 -0
  63. package/package.json +39 -33
  64. package/dist/plugin.d.ts +0 -3
  65. /package/dist/components/{IpInput.vue.d.ts → base/baseComponents/IpInput.vue.d.ts} +0 -0
  66. /package/dist/components/{Input.vue.d.ts → base/baseComponents/Switch.vue.d.ts} +0 -0
@@ -0,0 +1,304 @@
1
+ declare const _default: {
2
+ "type": "ModbusTCPSlaveDevice",
3
+ "baseInfo": [
4
+ {
5
+ "key": "name",
6
+ "name": {
7
+ "i18nKey": "name"
8
+ },
9
+ "defaultValue": "ModbusTCPSlaveDevice"
10
+ },
11
+ {
12
+ "key": "supplier",
13
+ "name": {
14
+ "i18nKey": "supplier"
15
+ },
16
+ "defaultValue": {
17
+ "i18nKey": "company"
18
+ }
19
+ },
20
+ {
21
+ "key": "version",
22
+ "name": {
23
+ "i18nKey": "version"
24
+ },
25
+ "defaultValue": "1.0.0.0"
26
+ },
27
+ {
28
+ "key": "description",
29
+ "name": {
30
+ "i18nKey": "description"
31
+ },
32
+ "defaultValue": {
33
+ "i18nKey": "descriptionMap.modbusTCPSlaveDevice"
34
+ }
35
+ },
36
+ {
37
+ "key": "category",
38
+ "name": {
39
+ "i18nKey": "category"
40
+ },
41
+ "defaultValue": {
42
+ "i18nKey": "modbusTCPSlaveDevice"
43
+ }
44
+ }
45
+ ],
46
+ "tab": [
47
+ {
48
+ "name": {
49
+ "i18nKey": "general"
50
+ },
51
+ "key": "general"
52
+ },
53
+ {
54
+ "name": {
55
+ "i18nKey": "ioMapping"
56
+ },
57
+ "key": "ioMapping"
58
+ },
59
+ {
60
+ "name": {
61
+ "i18nKey": "status"
62
+ },
63
+ "key": "status"
64
+ }
65
+ ],
66
+ "configuration": {
67
+ "general": [
68
+ {
69
+ "key": "configParams",
70
+ "name": {
71
+ "i18nKey": "configParams"
72
+ },
73
+ "componentType": "form",
74
+ "data": [
75
+ {
76
+ "key": "watchDog",
77
+ "name": {
78
+ "i18nKey": "watchDog"
79
+ },
80
+ "data": [
81
+ {
82
+ "key": "enable",
83
+ "dataType": "boolean",
84
+ "componentType": "switch",
85
+ "defaultValue": false
86
+ },
87
+ {
88
+ "key": "timeout",
89
+ "dataType": "number",
90
+ "componentType": "numInput",
91
+ "defaultValue": 500,
92
+ "unit": "(ms)",
93
+ "disabled": {
94
+ "bind": "watchDog.enable",
95
+ "map": {
96
+ "true": false,
97
+ "false": true
98
+ },
99
+ "defaultValue": true
100
+ }
101
+ },
102
+ {
103
+ "key": "close",
104
+ "dataType": "boolean",
105
+ "componentType": "checkbox",
106
+ "defaultValue": true,
107
+ "name": {
108
+ "i18nKey": "clostTcpSocket"
109
+ },
110
+ "disabled": {
111
+ "bind": "watchDog.enable",
112
+ "map": {
113
+ "true": false,
114
+ "false": true
115
+ },
116
+ "defaultValue": true
117
+ }
118
+ }
119
+ ]
120
+ },
121
+ {
122
+ "key": "slavePort",
123
+ "name": {
124
+ "i18nKey": "slavePort"
125
+ },
126
+ "dataType": "number",
127
+ "max": 65535,
128
+ "min": 0,
129
+ "componentType": "numInput",
130
+ "defaultValue": 502
131
+ },
132
+ {
133
+ "key": "bindToAdapter",
134
+ "name": {
135
+ "i18nKey": "bindToAdapter"
136
+ },
137
+ "dataType": "boolean",
138
+ "componentType": "checkbox",
139
+ "defaultValue": false
140
+ },
141
+ {
142
+ "key": "holdingRegister",
143
+ "name": {
144
+ "i18nKey": "holdingRegister"
145
+ },
146
+ "dataType": "number",
147
+ "max": 8192,
148
+ "min": 2,
149
+ "componentType": "numInput",
150
+ "defaultValue": 10,
151
+ "unit": {
152
+ "bind": "writable",
153
+ "defaultValue": "(%IW)",
154
+ "map": {
155
+ "true": "(%QW)",
156
+ "false": "(%IW)"
157
+ }
158
+ }
159
+ },
160
+ {
161
+ "key": "writable",
162
+ "name": {
163
+ "i18nKey": "writable"
164
+ },
165
+ "dataType": "boolean",
166
+ "componentType": "checkbox",
167
+ "defaultValue": false
168
+ },
169
+ {
170
+ "key": "inputRegister",
171
+ "name": {
172
+ "i18nKey": "inputRegister"
173
+ },
174
+ "dataType": "number",
175
+ "max": 8192,
176
+ "min": 2,
177
+ "componentType": "numInput",
178
+ "defaultValue": 10,
179
+ "unit": "(%QW)"
180
+ },
181
+ {
182
+ "key": "discreteBitArea",
183
+ "name": {
184
+ "i18nKey": "discreteBitArea"
185
+ },
186
+ "dataType": "boolean",
187
+ "componentType": "switch",
188
+ "defaultValue": false
189
+ },
190
+ {
191
+ "key": "coil",
192
+ "name": {
193
+ "i18nKey": "coil"
194
+ },
195
+ "dataType": "number",
196
+ "max": 4096,
197
+ "min": 0,
198
+ "componentType": "numInput",
199
+ "defaultValue": 0,
200
+ "disabled": {
201
+ "bind": "discreteBitArea",
202
+ "map": {
203
+ "true": false,
204
+ "false": true
205
+ },
206
+ "defaultValue": true
207
+ },
208
+ "unit": {
209
+ "bind": "writable",
210
+ "defaultValue": "(%IX)",
211
+ "map": {
212
+ "true": "(%QX)",
213
+ "false": "(%IX)"
214
+ }
215
+ }
216
+ },
217
+ {
218
+ "key": "discreteInput",
219
+ "name": {
220
+ "i18nKey": "discreteInput"
221
+ },
222
+ "dataType": "number",
223
+ "max": 4096,
224
+ "min": 0,
225
+ "componentType": "numInput",
226
+ "defaultValue": 0,
227
+ "disabled": {
228
+ "bind": "discreteBitArea",
229
+ "map": {
230
+ "true": false,
231
+ "false": true
232
+ },
233
+ "defaultValue": true
234
+ },
235
+ "unit": "(%QX)"
236
+ }
237
+ ]
238
+ },
239
+ {
240
+ "key": "dataModel",
241
+ "name": {
242
+ "i18nKey": "dataModel"
243
+ },
244
+ "componentType": "form",
245
+ "data": [
246
+ {
247
+ "key": "startAddress",
248
+ "name": {
249
+ "i18nKey": "startAddress"
250
+ }
251
+ },
252
+ {
253
+ "key": "coil",
254
+ "name": {
255
+ "i18nKey": "coil"
256
+ },
257
+ "dataType": "number",
258
+ "max": 65535,
259
+ "min": 0,
260
+ "componentType": "numInput",
261
+ "defaultValue": 0
262
+ },
263
+ {
264
+ "key": "discreteInput",
265
+ "name": {
266
+ "i18nKey": "discreteInput"
267
+ },
268
+ "dataType": "number",
269
+ "max": 65535,
270
+ "min": 0,
271
+ "componentType": "numInput",
272
+ "defaultValue": 0
273
+ },
274
+ {
275
+ "key": "holdingRegister",
276
+ "name": {
277
+ "i18nKey": "holdingRegister"
278
+ },
279
+ "dataType": "number",
280
+ "max": 65535,
281
+ "min": 0,
282
+ "componentType": "numInput",
283
+ "defaultValue": 0
284
+ },
285
+ {
286
+ "key": "inputRegister",
287
+ "name": {
288
+ "i18nKey": "inputRegister"
289
+ },
290
+ "dataType": "number",
291
+ "max": 65535,
292
+ "min": 0,
293
+ "componentType": "numInput",
294
+ "defaultValue": 0
295
+ }
296
+ ]
297
+ }
298
+ ],
299
+ "ioMapping": [],
300
+ "status": []
301
+ }
302
+ };
303
+
304
+ export default _default;
@@ -0,0 +1,34 @@
1
+ export type IoMappingNode = {
2
+ id: string;
3
+ name: string;
4
+ type: string;
5
+ channel: string;
6
+ address: string;
7
+ isLeaf?: boolean;
8
+ prefix: string;
9
+ length: number;
10
+ unit?: string;
11
+ desc?: string;
12
+ currentValue?: unknown;
13
+ children?: IoMappingNode[];
14
+ __byteOffset?: number;
15
+ __elementIndex?: number;
16
+ __bitLength?: number;
17
+ __childrenLoaded?: boolean;
18
+ };
19
+ export type MemoryFamily = 'I' | 'Q';
20
+ /**
21
+ * IO 映射起始地址配置。
22
+ * 这里的地址单位是 byte 偏移,不是 WORD/BYTE 序号,也不是 %IW0 这类格式化后的字符串地址。
23
+ */
24
+ export type AddressStartConfig = number | Partial<Record<MemoryFamily, number>>;
25
+ export type AddressCursorState = Record<MemoryFamily, number>;
26
+ export type IoMappingFamilyLayoutInfo = {
27
+ startByteOffset: number;
28
+ endByteOffset: number;
29
+ byteLength: number;
30
+ finalBitAddress: string | null;
31
+ };
32
+ export type IoMappingLayoutInfo = Record<MemoryFamily, IoMappingFamilyLayoutInfo> & {
33
+ totalByteLength: number;
34
+ };
@@ -1,10 +1,62 @@
1
+ import { IoMappingAddressAllocator } from './modbus/addressAllocator';
2
+ import { AddressStartConfig, IoMappingLayoutInfo, IoMappingNode } from './modbus/types';
3
+ /**
4
+ * 协议模型基类,负责保存实例基础信息并提供配置树读写能力。
5
+ */
1
6
  declare class ProtocolItem {
2
- id: number;
7
+ id: string | number;
3
8
  deviceId: number;
4
9
  type?: string;
10
+ moduleType?: number;
5
11
  static registry: Record<string, any>;
12
+ static hostMethods: Record<string, (...args: any[]) => any>;
13
+ baseInfo: any;
14
+ config: any;
15
+ tab: any;
16
+ protected byteOffset: IoMappingAddressAllocator;
17
+ protected byteStartAddr: AddressStartConfig;
6
18
  constructor(data: any);
19
+ /**
20
+ * 注册协议类型与具体模型类的映射关系。
21
+ */
7
22
  static register(type: string, ctor: any): void;
23
+ /**
24
+ * 根据普通对象中的 type 字段还原为对应的协议实例。
25
+ */
8
26
  static fromPlain(data: any): ProtocolItem;
27
+ /**
28
+ * 注册宿主提供的方法表,供协议模型在运行时按名称调用。
29
+ * 约定方法名示例:
30
+ * - `getIecVariablePath(channelId)`:根据通道 ID 查询当前绑定的 IEC 变量路径。
31
+ */
32
+ static setHostMethods(methods: Record<string, (...args: any[]) => any>): void;
33
+ /**
34
+ * 追加注册单个宿主方法。
35
+ * 约定方法名示例:
36
+ * - `getIecVariablePath(channelId)`:根据通道 ID 查询当前绑定的 IEC 变量路径。
37
+ */
38
+ static setHostMethod(name: string, method: (...args: any[]) => any): void;
39
+ /**
40
+ * 按配置路径查找节点,供模型读取或更新配置值。
41
+ */
42
+ protected findNode(key: string, path: string): any;
43
+ /**
44
+ * 更新配置节点并广播配置变更事件。
45
+ */
46
+ updateConfig(key: string, path: string, value: any): void;
47
+ getName(): string;
48
+ setByteStartAddr(startAddress: AddressStartConfig): void;
49
+ getByteOffsetLayoutInfo(): IoMappingLayoutInfo;
50
+ protected resetByteOffset(startAddress?: AddressStartConfig): IoMappingAddressAllocator;
51
+ protected handleByteStartAddrChange(_startAddress: AddressStartConfig): void;
52
+ hasIoMappingChildren(_node: IoMappingNode): boolean;
53
+ getIoMappingChildren(_node: IoMappingNode): IoMappingNode[];
54
+ /**
55
+ * 调用宿主注册的方法。
56
+ * 若宿主未注册对应方法,会直接返回 undefined。
57
+ * 约定方法名示例:
58
+ * - `getIecVariablePath(channelId)`:根据通道 ID 查询绑定变量的功能。
59
+ */
60
+ callHostMethod<T = any>(name: string, ...args: any[]): T | undefined;
9
61
  }
10
62
  export { ProtocolItem };
@@ -1,8 +1,9 @@
1
1
  interface ICollection<T> {
2
2
  init(data: any[]): void;
3
3
  build(deviceId: number): any;
4
- get(id: number | number[]): T | T[];
4
+ get(id: string | number | Array<string | number>): T | T[];
5
+ getAll(): T[];
5
6
  add(data: any): void;
6
- delete(id: number | number[]): void;
7
+ delete(id: string | number | Array<string | number>): void;
7
8
  }
8
9
  export type { ICollection };
@@ -0,0 +1,9 @@
1
+ type Handler = (payload?: any) => void;
2
+ declare class EventBus {
3
+ private handlers;
4
+ on(event: string, handler: Handler): void;
5
+ off(event: string, handler?: Handler): void;
6
+ emit(event: string, payload?: any): void;
7
+ }
8
+ declare const _default: EventBus;
9
+ export default _default;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * * 生成一个不重复的ID
3
+ * @param { Number } randomLength
4
+ */
5
+ export declare const getUUID: (randomLength?: number) => string;
@@ -0,0 +1,6 @@
1
+ declare const needLabel: (componentType: string) => boolean;
2
+ declare const getComponentByType: (componentType: string) => "" | import('vue').Component;
3
+ declare const getLabel: (name: string | {
4
+ i18nKey: string;
5
+ }) => string;
6
+ export { getComponentByType, getLabel, needLabel };
@@ -0,0 +1,27 @@
1
+ import { ProtocolItem } from '../models';
2
+ type __VLS_Props = {
3
+ data: ProtocolItem;
4
+ visible: boolean;
5
+ };
6
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
7
+ update: () => any;
8
+ "select-variable": (value: {
9
+ row: any;
10
+ instance: ProtocolItem;
11
+ }) => any;
12
+ "clear-variable": (value: {
13
+ row: any;
14
+ instance: ProtocolItem;
15
+ }) => any;
16
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
17
+ onUpdate?: (() => any) | undefined;
18
+ "onSelect-variable"?: ((value: {
19
+ row: any;
20
+ instance: ProtocolItem;
21
+ }) => any) | undefined;
22
+ "onClear-variable"?: ((value: {
23
+ row: any;
24
+ instance: ProtocolItem;
25
+ }) => any) | undefined;
26
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
27
+ export default _default;