Wiki source code of 06 Data Tool

Version 26.1 by Joe on 2025/10/09 09:14

Show last authors
1 (% class="wikigeneratedid" %)
2 This chapter provides information about basic functions and configuration in PIStudio.
3
4 = **Alarm** =
5
6 == Bit alarm ==
7
8 Click "Project"→"Bit Alarm", it is displayed as the following figure.
9
10 (% style="text-align:center" %)
11 [[image:位报警 1.png||data-xwiki-image-style-alignment="center" class="img-thumbnail"]]
12
13 **Group No.: **Group number of Bit alarm. The name is unique and cannot be duplicated.
14
15 **Bit Address: **Bit address of alarm monitoring
16
17 * **Record bit alarm by default:**  Whether to record the alarm history data of bit alarm, if checked, it will be saved in the designated storage location.
18 * **Not save alarm OFF:** If checked, after the alarm is dismissed, the corresponding alarm records will be deleted from the log file.
19
20 **Upload to Cloud: **The data upload by "bit alarm" is stored in the Cloud and it is alarm data. (Only ig series and 8000/9000 series with -R after system upgrade are supported)
21
22 (% class="box infomessage" %)
23 (((
24 **✎Note:**
25
26 * After enable the Cloud and check the box of Upload to Cloud, the communication port settings of the address in the imported Bit Alarm record configuration must be the same as the communication port settings of the current project, otherwise it cannot be used normally.
27 * The number of Alarm records upload to Cloud shall not exceed the limit value, or the sum of the imported alarm records and the number of existing alarm records shall not exceed the limit value. the specific limitation as following table:
28
29 (% class="table-bordered" style="margin-left:auto; margin-right:auto; width:358px" %)
30 |=(% style="width: 79px;" %)Series|=(% style="width: 276px;" %)Number of Alarm upload to Cloud
31 |(% style="width:79px" %)8000-R|(% style="text-align:center; width:276px" %)200
32 |(% style="width:79px" %)9000-R|(% style="text-align:center; width:276px" %)200
33 |(% style="width:79px" %)3000ig|(% style="text-align:center; width:276px" %)20
34 |(% style="width:79px" %)8000ig|(% style="text-align:center; width:276px" %)200
35 |(% style="width:79px" %)MD|(% style="text-align:center; width:276px" %)20
36 )))
37
38 **Alarm Condition:** It sets alarm trigger condition, there are two types: alarm when ON and alarm when OFF.
39
40 **Alert: **It is used to mark whether the alarm has occurred. if an alarm occurs, the address of "control bit" will be written to 1. If "clear alert when alarm OFF" is checked, the address of "control bit" will be written to 0.
41
42 **Beep when alarm ON: **The beep works when the alarm is triggered. If "beep once" is checked, bit address alarm only beep once and stop.
43
44 **Content: **It is used for setting alarm content (command).
45
46 **Alarm Screen: **Pop-up alarm screen (it need to be sub-screen);
47
48 * **Position: **The location of the screen alarm display.
49 * **Pop-up Interval: **The time of reopen the alarm screen when alarm screen closed.
50 * **Pop-up once: **Pop up alarm screen once, and the screen would not pop up again
51 * **Close window when alarm off: **Automatically close the alarm screen when alarm off.
52
53 (% class="box infomessage" %)
54 (((
55 **✎Note:**
56
57 * If the "cloud" function is enabled and "upload to cloud" is checked, the communication port of the address in the configuration of the imported bit alarm record must be the same as that of the current project; otherwise, it cannot be used normally.
58 * The number of alarm configuration points reported to the cloud cannot exceed 20, or the sum of imported alarm records and the current alarm records cannot exceed 20. If it exceeds, please reconfigure.
59 )))
60
61 **Operating Procedures of Adding One Alarm**
62
63 * Click "Project"→"Bit Alarm" as below shows.
64
65 (% style="text-align:center" %)
66 [[image:8.Basic Function_html_5f8da20315334bac.png||data-xwiki-image-style-alignment="center" height="144" width="539" class="img-thumbnail"]]
67
68 * Click "Add" button to open "Bit Alarm" setting window.
69
70 (% style="text-align:center" %)
71 [[image:8.Basic Function_html_94a019683b506e15.png||data-xwiki-image-style-alignment="center" height="307" width="554" class="img-thumbnail"]]
72
73 * Set "Bit Address".
74 * Set "Alarm Condition".
75 * Set "Content".
76 * Other settings can be set according to the actual situation".
77 * Click "OK" button to complete settings.
78
79 == Word alarm ==
80
81 Word alarm is to monitor the word address of a device. If the data meets the set conditions, an alarm will be generated.
82
83 Click "Project"→"Word alarm", it is displayed as the following figure.
84
85 (% style="text-align:center" %)
86 [[image:字报警 1.png||class="img-thumbnail"]]
87
88 **Alarm Name:** You can set alarm name for it. Alarm Name can only consist of (0~~9), (a~~z), (A~~Z), ('_'), (' ') and other non-English characters.
89
90 **Alarm Address: **It is used for setting word address for word alarm, such as HDW0.
91
92 **Data Format: **16-bit unsigned decimal, 16-bit signed decimal, 16-bit BCD, 32-bit unsigned decimal, 32-bit signed decimal, 32-bit BCD, 32-bit float.
93
94 **Group No.: **Group number of word alarm. The name is unique and cannot be duplicated.
95
96 **Upload to Cloud: **The data upload by "word alarm" is stored in the Cloud and it is alarm data. (Only ig series and 8000/9000 series with -R after system upgrade are supported)
97
98 (% class="box infomessage" %)
99 (((
100 **✎Note:**
101
102 * If the "cloud" function is enabled and "upload to cloud" is checked, the communication port of the address in the configuration of the imported word alarm record must be the same as that of the current project; otherwise, it cannot be used normally.
103 * The number of alarm configuration points reported to the cloud cannot exceed 20, or the sum of imported alarm records and the current alarm records cannot exceed 20. If it exceeds, please reconfigure.
104
105 (% style="margin-left:auto; margin-right:auto; width:358px" %)
106 |=(% style="width: 79px;" %)Series|=(% style="width: 276px;" %)Number of Alarm upload to Cloud
107 |(% style="width:79px" %)8000-R|(% style="text-align:center; width:276px" %)200
108 |(% style="width:79px" %)9000-R|(% style="text-align:center; width:276px" %)200
109 |(% style="width:79px" %)3000ig|(% style="text-align:center; width:276px" %)20
110 |(% style="width:79px" %)8000ig|(% style="text-align:center; width:276px" %)200
111 |(% style="width:79px" %)MD|(% style="text-align:center; width:276px" %)20
112 )))
113
114 **Record alarm:**  Whether to record the alarm history data of word alarm, if checked, it will be saved in the designated storage location.
115
116 **Not save alarm OFF:** If checked, after the alarm is dismissed, the corresponding alarm records will be deleted from the log file.
117
118 **Alarm Condition**: Alarm is triggered when designated address meets the alarm condition, it provides four conditions;
119
120 1. **High alarm:** Alarm is triggered when it reaches high limit. It can be a constant or a variable
121 1. **Low alarm:** Alarm is triggered when it reaches low limit. It can be a constant or a variable
122 1. **Range alarm:** Alarm is triggered when it exceeds the range. It can be a constant or a variable
123 1. **Equivalent alarm: **Alarm is triggered when the value equals to the given data. It can be a constant or a variable
124
125 **Alarm Info: **It is used for setting alarm content (command);
126
127 **Alert: **It is used to mark whether the alarm has occurred. if an alarm occurs, the address of "control bit" will be written to 1. If "clear alert when alarm OFF" is checked, the address of "control bit" will be written to 0.
128
129 **Alarm Screen: **Pop-up alarm screen (it need to be sub-screen);
130
131 1. **Position: **The location of the screen alarm display.
132 1. **Pop-up Interval: **The time of reopen the alarm screen when alarm screen closed.
133 1. **Pop-up once: **Pop up alarm screen once.
134 1. **Close window when alarm off: **Automatically close the alarm screen when alarm off.
135
136 **Beep when alarm ON: **beep works when the alarm is triggered, in the default mode, the beep works until the alarm is released.
137
138 **Beep once:** Beep works once, when alarm is triggered.
139
140 **Alarm List**
141
142 It displays all the word alarm lists; it will show the alarm information;
143
144 **Operating Procedures of Adding One Alarm**
145
146 * Click "Project"→ "Word Alarm" as below shows.
147
148 (% style="text-align:center" %)
149 [[image:8.Basic Function_html_1b59522c984cd7c2.png||height="144" width="492" class="img-thumbnail"]]
150
151 * Click "AddClick" button to open "Word Alarm" setting window.
152
153 (% style="text-align:center" %)
154 [[image:8.Basic Function_html_942107c81fc6901c.png||height="307" width="554" class="img-thumbnail"]]
155
156 * Set Basic information of word alarm.
157 * Set "Content".
158 * Other settings can be set according to the actual situation.
159 * Click "OK" button to complete settings.
160
161 == How to show the variables in alarm info? ==
162
163 We can write some codes in the alarm info and add variables to the alarm info to make the alarm info clearer.
164
165 **{Address,Data format}**
166
167 (% style="height:10px; width:250px" %)
168 |=Letter|=Mean
169 |B|Binary
170 |O|Octal
171 |U|Unsigned
172 |H|Hex
173 |b|BCD
174 |F|32-bit floating
175 |S|Signed
176 |C|String
177 |W|Word
178 |D|Dword
179 |T|Dword string
180
181 Example:
182
183 Unsigned,BCD,32-bit floating,Signed:
184
185 {HDW100,UW2.1} ~-~-- add a variables into the alarm info:address-HDW100 ,data format-unsigned,Word,2 Integer,1 Decimal.
186
187 Binary,Octal,Hex:
188
189 {HDW100,HD8} ~-~-- add a variables into the alarm info:address-HDW100 ,data format-Hex,Dword,8 Integer.
190
191 String
192
193 {HDW100,C32} ~-~-- add a variables into the alarm info:address-HDW100 ,data format-String,32 length.
194
195
196 **HMI Alarm Demo Download Link**
197
198 [[https:~~/~~/drive.google.com/open?id=1Llq03CMISM_1mMIfU308hxFbs4rGdQGP>>url:https://drive.google.com/open?id=1Llq03CMISM_1mMIfU308hxFbs4rGdQGP]]
199
200 = **Recipe** =
201
202 == Overview of recipe ==
203
204 Recipes are composed of multiple groups of information materials with the same structure and different data. Due to the sameness of these materials, users can edit them into a group of recipes to facilitate data transfer between HMI and PLC. Therefore, this function can be utilized for information that has a similar structure to achieve efficient and correct transmission.
205
206 Data operation of recipe: Upload and download. Upload refers to reading the data of [The set address] group and writing the data of this group to the corresponding recipe file. Download refers to reading a group of data from the recipe file and assigning the group of data to [The set address].
207
208 The recipe data can be stored in external equipment, such as USB flash disk and SD card. The whole recipe data can be viewed with the [Recipe record] object.
209
210 (% class="wikigeneratedid" id="HExample" %)
211 **Example**
212
213 Taking automobile paint spraying as an example, suppose that when a newly manufactured automobile needs to be painted, it needs to spray different colors (red, green and blue) on the top, bottom and outside of the automobile, and the original colors provided are only red, green and blue. At this time, to spray different colors, it needs the appropriate ratio of these three colors, and the spraying time of different parts is different. At this time, the function of recipe needs to be executed. Check Table 1 for details.
214
215 Table 1 Example recipe
216
217 |Part|Red (Kg)|Green (Kg)|Blue (Kg)|Spraying time (Seconds)
218 |Top|2|2|1|30
219 |Bottom|3|1|2|40
220 |Outside|2|3|3|20
221
222 From the above table, one group of recipes is needed when spraying different parts, and three groups of recipes can be established, and each group of recipes has four ingredients: Red, Green, Blue, Spraying time. The value of each ingredient is different in different groups of recipes.**Recipe configuration**
223
224 The recipe function needs to be used with the recipe configuration area and [Recipe record] object. Click [Recipe] in the [System configuration/Record setting] in the upper left side of the software [[image:1698393787529-717.png]]and the following interface will pop up:
225
226 (% style="text-align:center" %)
227 [[image:1.png]]
228
229 Click [Add] to pop up the recipe setting interface, as shown in the following figure:
230
231 (% style="text-align:center" %)
232 [[image:2.png]]
233
234 |Recipe configuration options|Description|Notice
235 |Recipe name|Name the current recipe|Note: Recipe name can only consist of (0~~9), (a~~z), (A~~Z), ('_'), ('') and other non-English characters.
236 |Group number|Configure the group number of the current recipe, ranging from 0 to 1000|
237 |Number of ingredients|Configure the number of the current ingredient, ranging from 0 to 1500|
238
239 |Data configuration options|Description|Notice
240 |Starting address|The data of group in the recipe file is read out and displayed in the address, which will be automatically assigned according to the set data format of each ingredient. For example, if each group has 10 ingredients, the ingredient format is 16-bit unsigned decimal number, and the starting address is HDW0, then 10 addresses (HDW0-HDW9) correspond to 10 ingredients respectively, the values in HDWO correspond to the values in ingredient 1, the values in HDW1 correspond to the values in ingredient 2, and so on.|
241 |Recipes are read and written at different addresses|When "recipe written and read address are different" is checked, the address configured by the read address is only used for recipe read data operation, and the address set in this area is used to control recipe written data operation.|
242 |Data format|Configure the data format of this recipe. There are 9 modes of data format: 16-bit BCD code, 16-bit signed decimal, 16-bit unsigned decimal, 32-bit BCD code, 32-bit signed decimal, 32-bit unsigned decimal, 32-bit (single-precision) floating points, 64-bit (double-precision) floating point, string.|(% rowspan="2" %)(% class="box infomessage" %)
243 (((
244 **✎Note:** The data format set here is for all components of the recipe, that is, the data format of all components in a recipe is consistent.
245 )))
246 |Decimal point position|Configure the selection of integer and decimal places of data.
247 |Enable discontinuous addresses|If checked, the address of the recipe list can be modified.|
248 |Language|Recipe display language is selectable.|
249 |Recipe list|The recipe list displays the configured recipe parameter information in the list according to the settings. The parameters of each ingredient in the recipe list can be modified at the same time: For example, the name of the ingredient, the data format of the ingredient, the address of the ingredient, and directly filling in the data of each ingredient in each group.|
250 |Insert group|Click [Insert group], enter the number of groups to insert, and the corresponding row will be added to the recipe list.|
251 |Delete group.|Click [Delete group] to select the group to delete|
252 |Insert ingredient|Click [Insert group], enter the number of groups to insert, and the corresponding row will be added to the recipe list.|
253 |Delete ingredient|Click [Delete ingredient] to select the ingredient to delete.|
254 |Data import|Import existing data files, supporting .xlsx .xls .csv format.|
255 |Data export|Export configured recipe data|
256
257 Traditional recipe is composed of multiple groups of information with the same structure and different data. Due to the similarity of these information, you could edit them into a set of recipes to facilitate the transfer of data between HMI and PLC.
258
259 Data operation
260
261 1. **Read:** Read a group of data from the recipe file and assign the group of data to the set address.
262 1. **Write: **Read a group of data from the set address and assign the group of data to the corresponding recipe file.
263
264 PI Series HMI has Recipe function, Recipe function keeps data in the HMI, used to download the data from HMI to designated device addresses, or upload the data from device addresses to HMI.
265
266 The maximum number of group in recipe is 1000, and the maximum number of member in each group is 1500.
267
268 Recipe could store the data in USB flash disk and SD card and view the recipe data by object "Recipe display". It has two mode: simple mode and advanced mode.
269
270 1. **Simple: **Only support the data operation of one recipe file, including read and write.
271 1. **Advanced:** Support the data operation of multiple recipe files, including read, write, insert and index. View and select recipe file by object "File list".
272
273 Recipe function settings will be display in "[[Recipe display>>http://docs.we-con.com.cn/wiki/pistudio/view/Helps/06.Objects/#HRecipedisplay]]" object.
274
275 **Description**
276
277 (% style="text-align:center" %)
278 [[image:8-1Recipe.png]]
279
280 **Basic**
281
282 * **Recipe Folder:** Give Recipe folder name (It can be used, when setting Recipe display object);
283 ** (% class="box infomessage" %)
284 (((
285 **✎Note: **Recipe Folder name can only consist of (0~~9), (a~~z), (A~~Z), ('_'), (' ') and other non-English characters;
286 )))
287 * **Group: **Set the recipe group number, the number of elements, the data format. The data format has 8 modes: 16-bit signed decimal, 16-bit unsigned decimal, 16-bit BCD, 32-bit signed decimal, 32-bit unsigned decimal, 16-bit BCD, 32-bit floating point number, 64-bit (double-precision) floating-point number, string, and the choice of data integer and decimal places.
288 * **Elements:** It sets members' initial number of each group;
289 * **Data Format:** There are some formats can be supported in Recipe, like 16-bit BCD, 16-bit signed, 16-bit unsigned, 32-bit BCD, 32-bit signed, 32-bit unsigned, 32-bit floating and string. If each member requires different formats, please set it one by one in form;
290 * **Decimal: **It sets integer and scale digits;
291
292 **Mode Selection: **Select Simple or Advanced mode. Recipe file is divided into simple mode and advanced mode. Only in advanced mode can exist multiple recipe files used at the same time. (used wiht file list onject), Simple mode can only support a recipe file; Aadvanced mode can insert group information and reordered.
293
294 Function address: all operations are done through function addresses, different operating value is as follows:
295
296 * = 0: no operation;
297 * = 1: trigger read data;
298 * = 2: new trigger or update (If there is group number, it updates.)
299 * = 4: insert (only valid in advanced mode)
300 * = 8: delete (Delete according to the writing group number. If write and read address are consistent, refer to the reading group number);
301 * = 16: delete and sorted ((Delete according to the writing group number. If write and read address are consistent, refer to the reading group number)
302 * = 64: import CSV recipe file.
303
304 **Use Multiple File**
305
306 Check it to use more than one recipe file in HMI, but this option only valid in [Advanced mode];
307
308 **Select language**
309
310 The text in HMI can be in 8 languages, user can set language in here;
311
312 **Address**
313
314 1. **Group:** This address is for selecting group number;
315 1. **Start: **This is starting address is for reading and writing in recipe, PIStudio will automatically assigns addresses for each members;
316 1. **File(16 words): **This address only available when enable the Use Multiple File. This setting address is for input the recipe file's filename.
317
318 **Use Index**
319
320 If the value from Group address is changed, Read address will display the new data according to new group number immediately. Relatively, if the data of write address is changed, the corresponding group from table is also changed.
321
322 **Query by Element**
323
324 Enable it for querying group by specify element, select a primary key from all the elements, except the group number. This element value from all groups must be unique if want to set as primary key;
325
326 (% class="box infomessage" %)
327 (((
328 **✎Note: **When this option is enabled, Group address will be invalid.
329 )))
330
331 **Use Independent Write Address**
332
333 To separate Recipe read address and write address.
334
335 **Use Insert**
336
337 It inserts data into the specified group, if the specified group already exists, it would not cover the original data, while it will move the original group next one after it.
338
339 **Discontinuous Address**
340
341 Whether enable the non-consecutive recipe operation addresses or not. If disabled, the recipe address will recover as the continuous addresses.
342
343 (% class="box infomessage" %)
344 (((
345 **✎Note: **This function only supported in HMI+, i series, ie series, ig series.
346 )))
347
348 **Description of adcanced mode**
349
350 According to the recipe configuration information in Figure 2 above. The function address is HDW70, and each function configuration corresponds to the group number address, recipe element address and recipe file name address. The recipe information configured in figure 2 can be displayed in the table in figure 3 with the "Record Display" object.
351
352 [[image:image-20220806111333-1.jpeg]]
353
354 **Read recipe**: Input 1 to the file name, when the group number addresses HDW100=1 and HDW70=1 (read), the element data of the first group (ID=1) is written to the recipe address from the recipe file. As shown in Figure 3 above: HDW105=1, HHDW106=2, HDW107=3, HDW108=4, HDW109=5.
355
356 **Write recipe**: Input 1 to the file name, when the group number addresses HDW101=4 and HDW70=2 (write), the data will be read from the recipe address and written to the corresponding group of the recipe file. As shown in figure 3 above: HDW110=20, HHDW111=21, HDW112=22, HDW113=23, HDW114=24. Write the data of this set to the elements of ID=4 in the recipe table (if there is no data of Group 4 in the recipe file, a new set of data will be added; If there is data of Group 4 in the original recipe, the original data will be overwritten and the latest data will be displayed in the recipe file).
357
358 **Index recipe**: When the file name is input 1, when the group number address HDW102=3, the data of ID=3 (Group 3) in the recipe file will be directly displayed in the component address of the index, that is, HDW115=11, HHDW116=12, HDW117=13, HDW118=14 and HDW119=15. If the data of the index component address is modified, the modified data will be automatically filled into the table of the recipe file, that is, the data of the recipe file will be automatically updated after the data is modified.
359
360 [[image:image-20220806111355-2.jpeg]]
361
362 **Insert recipe**: Input 1 to the file name, when the group number addresses HDW103=3 and HDW70=4 (insert), the data of the 3rd group will be inserted, but the data of the third group already exists in the original recipe file (see Figure 3 above), then the original data will be moved down by one group, that is, the original 3rd group will become the 4th group, and so on, and HDW120=16, HHDW121=17, HDW122=18, HDW123=19 and HDW124=20 will be written into the new 3rd group of the recipe file at the same time. The results are shown in Figure 4 above.
363
364 When the group number address HDW101=2 (**The delete function only works on the group number of the write function**), HDW70=8 (delete), the data in the recipe file with ID=2 (Group 2) will be deleted.
365
366 When the group number address HDW101=5 (**The delete function only works on the group number of the write function**), HDW70=16 (delete and sort), the data of ID=5 (Group 5) in the recipe file will be deleted, and the original ID=6 (Group 6) data will be reordered to become the new Group 5 data, the original ID=7 (Group 7) data will be reordered to become the new Group 6 data, and so on.
367
368 **Recipe Demo Download Link: **[[Download>>url:https://drive.google.com/open?id=1Cjbq_tW-NIirHFBpxt47g7IKvoYaWqUR]]
369
370 == Calling CSV recipe file ==
371
372 **Overview**
373
374 The recipe files used by the regular series HMI are in CSV format, and the recipe files used by the current series HMI are in database format. In order to be compatible with CSV format recipe files on the current series of HMI, please follow the instruction when using it.
375
376 **Operations**
377
378 Create the recipe as it is configured. The default recipe file name is “1. rcp2”, which is placed in folder 123, as shown in the following figure.
379
380 (% style="text-align:center" %)
381 (((
382 (% style="display:inline-block" %)
383 [[Figure 1>>image:image-20220806100702-2.jpeg]]
384 )))
385
386 2. Place a "Recipe Record Display" object and a "File List" object on the project screen for viewing the recipe files in the folder 123, and the address configuration in the object should be consistent with the above configuration.
387
388 (% style="text-align:center" %)
389 [[image:image-20220806100753-3.jpeg]]
390
391 By configuring the address in the table and combining the recipe function, the CSV recipe files of regular series are imported.
392
393 |=Address range|=Object type|=Address function
394 |HSW1050 to 1065|Text input object|Enter the CSV recipe file name to import
395 |HSW1066|Numerical input object|Import CSV file type:(((
396 * = 0: Custom CSV file (all data in the file is valid)
397 * = 1: Normal recipe file for regular series HMI (the data in line 1 of the file is invalid)
398 * = 2: Special recipe file for regular series HMI (the data in line 1 and 2 and column 1 of the file are invalid)
399 )))
400 |HSW1067|Numerical input object|(((
401 Where the CSV file is saved:
402
403 * = 0: In the CsvFile directory of U disk
404 * = 1: In the CsvFile directory of the SD card
405
406 **The path for offline simulation is: C:\ HMIEmulation\ CustomFileDir\ CsvFile**
407 )))
408 |HSW242|Numerical input object|Returns the results of the csv import:(((
409 * = 37: CSV file imported successfully
410 * = 38: CSV file import failed
411 )))
412
413 **Select CSV recipe file (take U disk as an example):**
414
415 Using the file list object, select the recipe file in the U disk by path, and configure the recipe file name address directly to the special address HSW1050 in the above table, which can directly detect the CSV file in the U disk; Select the recipe file in the file list, and write the selected recipe file name into the recipe file name: In HSW1050 to 1065.
416
417 Use the special address of the above table to configure the path of the CSV file: HSW106, configure recipe file name: HSW1050 to1065
418
419 Use HSW1066 address to select the corresponding CSV recipe file type.
420
421 * HSW1066 = 0: Import a user-defined CSV recipe file (all data in the custom CSV file must be valid);
422
423 (% style="text-align:center" %)
424 [[image:image-20220806101129-5.jpeg]]
425
426 * HSW1066=1: Import the normal recipe file of regular series HMI (the data in line 1 of the file is invalid);
427
428 The data in line 1 of the normal recipe file is used to define the format of the recipe and will not be imported into the recipe table as recipe information, **but you must ensure that the data in line 1 representing the elements and number of groups is correct, otherwise the CSV recipe file will fail to be imported.**
429
430 (% style="text-align:center" %)
431 [[image:image-20220806101520-6.jpeg]]
432
433 * HSW1066=2: Import the special recipe file of regular series HMI (the data in line 1, 2 and column 1 of the file are invalid);
434
435 In the special recipe file, line 1 is used to define the format of the recipe, line 2 is used to define the element name of the recipe, and column 1 is used to define the group name of the recipe, so lines 1, 2 and column 1 of the special recipe will not be imported into the recipe table as recipe information. **During use, ensure that the data such as the number of groups and elements representing the recipe format in the first line are correct, otherwise the import of the CSV recipe file will fail.**
436
437 (% style="text-align:center" %)
438 [[image:image-20220806102610-7.jpeg]]
439
440 **Perform import**
441
442 After configuring the saving path of CSV recipe file, the name of recipe file and the type of recipe according to the above steps, the method of transferring CSV file to DB file is as follows:
443
444 * Configure the DB recipe file name by text input object: HDW500 = 3 (recipe file configured in Figure 1),
445 * Set the recipe function address to: HDW1000 = 64 (the function address configured in Figure 1),
446 * Transform the CSV recipe file in U disk into DB recipe file with file name “3.rcp2”.
447
448 **DB recipe file for storing CSV data:**
449
450 Simple mode: When the recipe file is set to simple mode, the file of CSV data is saved as the DB recipe file of 1. rcp2 by default.
451
452 Advanced mode: When the recipe is enabled in advanced mode (multi-file recipe), the imported CSV file data is saved to the file recorded at the recipe file address HDW500 (the address configured in Figure 1).
453
454 **Import results:**
455
456 * HSW242 = 37: Import succeeded;
457 * HSW242 = 38: Import failed.
458
459 **Precautions:**
460
461 * Ensure that the data format of each element in the CSV file is the same as the recipe data format set in the software (DB), and ensure that the elements of each row in the valid data area is the same as the elements set in the software (DB);
462 * When the elements of a line in CSV file is more than the elements set in the software (DB), it will prompt the import failure;
463 * When the CSV file imported into the regular series HMI is a recipe file, the data representing the recipe format (elements, number of groups, whether it is a special recipe) in line 1 must be correct, otherwise the import of CSV file will fail.
464
465 == **Recipe record function** ==
466
467 **Basic setting**
468
469 (% style="text-align:center" %)
470 [[image:3.png]]
471
472 Recipe selection: Select the recipe name to be displayed. The list is all the recipes configured in the recipe. If the list is empty, add the recipe in [Recipe].
473
474 Recipe shortcut key setting:
475
476 Add data: Used to add groups.
477
478 Delete data: Used to delete the selected configuration
479
480 Upload recipe: Used to upload the address data of the selected group to the corresponding group in recipe records.
481
482 Download recipe: Used to download the address data of the selected group to the corresponding group in recipe records.
483
484 Import recipe: Used to import the existing recipe files.
485
486 Export recipe: Used to export the current recipe as a file.
487
488 **Graphic**
489
490 (% style="text-align:center" %)
491 [[image:4.png]]
492
493 Style selection: Styles can be switched or customized.
494
495 Background configuration: Set the recipe background, including background color and transparency.
496
497 Table configuration: Set the appearance of recipe table area, including row background color, row spacing color, horizontal header background color, vertical header background color, horizontal header text color, vertical header text color, text color, row selected color, name color, line color and cell style.
498
499 **Expansion**
500
501 (% style="text-align:center" %)
502 [[image:5.png]]
503
504 Object lock: With the interlock address, the object is locked and the lock icon is displayed (upper left corner of the object) when the lock address is 0, and the bit switch is operable only when the bit pointed by the interlock bit address is 1. To lock the bit switch when the interlock bit address is 1, just check "Lock in ON".
505
506 Object lock icon: Icons will not display when the [Not display “Lock” icon] option is checked. Icon display will adapt to the change of object size.
507
508 Gray level display: When the object is locked, the text message will be grayed out.
509
510 == **New recipe function address** ==
511
512 In recipe, new special address is used as Function address.
513
514 **Address Type:** RPG
515
516 (% style="text-align:center" %)
517 [[image:企业微信截图_17570533194720.png]]
518
519 (% style="text-align:center" %)
520 [[image:企业微信截图_17570534728083.png]]
521
522 (% class="box infomessage" %)
523 (((
524 Note: There is a set of function address in each recipe.
525 )))
526
527 |(% style="width:107px" %)Name|(% style="width:162px" %)Data format|Length|Function
528 |(% style="width:107px" %)File name|(% style="width:162px" %)String|15 word address|Input file name
529 |(% style="width:107px" %)Record select|(% style="width:162px" %)16-bit unsigned decimal|(((
530 1 word address
531
532 (0-65535)
533 )))|Currently selected record, numbered starting from 0. When the record selection value changes, the corresponding value will be updated.
534 |(% style="width:107px" %)Function address|(% style="width:162px" %)16-bit unsigned decimal|(((
535 1 word address
536
537 (0-65535)
538 )))|(((
539 Enter a specific value to send a command to the selected record
540
541 "1": Add a new recipe record
542
543 "2": Delete the selected recipe record
544
545 "3": Upload the recipe
546
547 "4": Download the recipe
548
549 "5": Update the selected recipe record
550 )))
551 |(% style="width:107px" %)Result|(% style="width:162px" %)16-bit unsigned decimal|1 word address (-32768~-~-32767)|(((
552 View the result of executing the command.
553
554 Display "1": Successfully executed the command
555
556 Display "2": The record limit has been reached and no new records can be added.
557
558 Display "4": No corresponding option
559
560 Display "8": unknown command
561
562 Display "16": recipe download failed.
563
564 Display "32": recipe upload failed.
565
566 Display "64": recipe update failed.
567 )))
568 |(% style="width:107px" %)Record count|(% style="width:162px" %)16-bit unsigned decimal|(((
569 1 word address
570
571 (0-65535)
572 )))|Display the number of records in the current recipe
573 |(% style="width:107px" %)Element address|(% style="width:162px" %)16-bit unsigned decimal|(((
574 1 word address
575
576 (0-65535)
577 )))|Element address
578
579
580
581 = (% style="color:inherit; font-family:inherit; font-size:29px" %)**Traditional recipe**(%%) =
582
583 Traditional recipe is composed of multiple groups of information with the same structure and different data. Due to the similarity of these information, you could edit them into a set of recipes to facilitate the transfer of data between HMI and PLC.
584
585 Traditional recipe function is valid only when the LEVI project is converted to the PI project, and the original project uses the traditional recipe.
586
587 (% class="box infomessage" %)
588 (((
589 **✎Note**: Currently, only HMI+, i series, ie series, and ig series support the traditional recipe.
590 )))
591
592 == Simple recipe mode ==
593
594 Click the "Traditional Recipe" [[image:8-2TraditionalRecipe.png]] in the "Data tool" bar in the upper side of the software, and the following interface will pop up:
595
596 (% style="text-align:center" %)
597 [[image:8-3TraditionalRecipeConfigScreen.png||class="img-thumbnail"]]
598
599 **✎Note**:
600
601 * The recipe folder name can only consist of (0~~9), (a~~z), (A~~Z), ('_'), ('').
602 * The element name of the recipe cannot include following 5 special characters: " **,** " , " **|** " , " **<** " , " **>** " , " **&** " .
603
604 == Recipe display ==
605
606 Select the file type "Traditional recipe file" in object "Recipe Display", and it is recommended to fill in the traditional recipe group number HSW1612 to the address of select line.
607
608 (% class="box infomessage" %)
609 (((
610 **✎Note**: The Recipe Display can display up to 50 groups of 100 elements by default, which can be to display out of range by enabled "Address Control". After the "Address Control" is enabled, the display group number can be reached to 100. If want to display more than 100, please adjust the "Start Group" from "Address Control" to index the display group, as following shown:
611 )))
612
613 (% style="text-align:center" %)
614 [[image:8-4TraditionalRecipeDisplayConfigScreen.png||class="img-thumbnail"]]
615
616 == Recipe transmission address ==
617
618 The special addresses used in the Recipe are shown in the following table:
619
620 (% class="table-bordered" %)
621 |=Address|=(% style="width: 445px;" %)Description|=(% style="width: 629px;" %)Function
622 |HSW1611|(% style="width:445px" %)Traditional Recipe transfer operation.|(% style="width:629px" %)(((
623 ~=1: Recipe download.
624
625 ~=2: Recipe upload.
626 )))
627 |HSW1612|(% style="width:445px" %)Traditional Recipe group number.|(% style="width:629px" %)Traditional Recipe group number.
628 |(((
629 HSW242
630 )))|(% style="width:445px" %)(((
631 Recipe operation result prompt:
632
633 Upload: Data is written to recipe file from address.
634
635 Download: Data is written to the address from recipe file.
636 )))|(% style="width:629px" %)(((
637 ~=1: Recipe download, start.
638
639 ~=2: Recipe download, execution error.
640
641 ~=6: Recipe download, successful.
642
643 ~=7: Recipe upload, start.
644
645 ~=8: Recipe upload, execution error.
646
647 ~=11: Recipe group name does not exist.
648
649 ~=12: Recipe upload, successful.
650 )))
651 |HSW11816|(% style="width:445px" %)Recipe record component button spacing control|(% style="width:629px" %)This controls the spacing between the top and bottom rows of buttons in all recipe record widgets. The value is the pixel spacing between the buttons. The minimum value is 0, and the maximum value is calculated based on the width of each recipe widget. The spacing plus the button size must not exceed the widget's size. (Note that if the register is greater than the maximum value, the actual spacing is the maximum spacing.)
652
653 == **Recipe index** ==
654
655 The recipe index address RPW is mainly used for editing traditional recipes, and it is more convenient to modify the data and display of recipes. Only need to modify and display the data of the recipe file through "Numeric Input/Display" Object and "Word Switch".
656
657 The recipe index area (RPW)'s instruction as follows:
658
659 1. RPW~*~*~#~#~#~#, a total of six digits, the first two ~*~* represent the Recipe group number, ~#~#~#~# represents the element order number. For example, RPW010000 indicates the 1st element of the Recipe group No.1, and RPW110002 indicates the 3rd element of the Recipe group No.11.
660 1. If the indexed group number or element number does not exist, the value of RPW defaults to zero. For example, RPW110011 represents the 12th element of the Recipe group No.11. If it does not exist, the value returned by accessing RPW110011 is zero. The value written in RPW110011 will not be saved to the recipe file.
661
662 * **✎Note**: As long as RPW~*~*~#~#~#~# exists, any object "writes" to HPW~*~*~#~#~#~# will be saved to the recipe file. 
663
664 (% start="3" %)
665 1. The RPW register only supports word address access.
666 1. It can be known from the coding method of RPW~*~*~#~#~#~# that the range of RPW is from RPW000000-RPW990450, wherein the range of group number is 0-100, and the range of element is 0-450.
667
668 == Recipe example ==
669
670 The recipe index makes the modification and display of recipe data more convenient. Only need to modify and display the data of the recipe file through "Numeric Input/Display" Object and "Word Switch".
671
672 Edit the recipe configuration, create three groups of recipes, 4 elements for per group: Red, green, blue, spraying time, as following shown:
673
674 (% style="text-align:center" %)
675 [[image:8-5TraditionalRecipeCaseConfig.png]]
676
677 RPW 0~~3 can display the data of group for the selected line. RPW10000~~10003, RPW20000~~20003, RPW30000~~30003 each address can display the single element. Directly modify the content of the RPW address and then modify the recipe data, as following shown:
678
679 (% style="text-align:center" %)
680 [[image:8-7TraditionalRecipeCaseShowNoOpera.png]]
681
682 After selecting the 2nd group, trigger the download button to download the whole group data to the corresponding element address (For this case, the data will write into HDW0~~3), or trigger the upload button to upload the content of the element address to the specified recipe group.
683
684 (% style="text-align:center" %)
685 [[image:8-6TraditionalRecipeCaseShow.png]]
686
687 = **Trend chart** =
688
689 Trend chart function is used for displaying the real-time data in HMI as curve graph, which X axis represent as time, Y axis represent as data.
690
691 Click "Project" → "Trend chart", it will pop up the following screen. Click "Add" to creat new curve record.
692
693 (% style="text-align:center" %)
694 [[image:趋势图配置 001.png||class="img-thumbnail"]]
695
696 **Settings**
697
698 (% style="text-align:center" %)
699 [[image:趋势图设置 2.png||height="507" width="866"]]
700
701 **(1) Basic settings**
702
703 1. **Curve NO.: **It is for setting curve number,
704 1. **Curve Name:** It is for setting curve name. The length limitation is 31 bytes.
705 1. **Curve (1~~8):** It is for setting the number of curves. The default is 3.
706 1. **Dots of one curve: **It is for setting dots number of each curve. The default is 1000, but the maximum dots are 10,000 for all the curves.
707
708 **(2) Sample Type**
709
710 1. **Sample method:** There are two types, one is Cycle sample, the other is Trigger cycle sample. If you select Trigger cycle same mode, the trigger sample address is required to edit.
711 1. **Sample unit:** 100ms.
712
713 **(3) Quick Setting**
714
715 1. **Data format: **It is for setting all the curves, select the data format for all curves, and setting the reading addresses for curves. There are as follows.
716
717 (% style="text-align:center" %)
718 [[image:趋势图设置 3.png||class="img-thumbnail"]]
719
720 (% start="2" %)
721 1. **Sample address: **Fill in the start address that read the device data. If the sampl address is consecutive, check "use continuous address". For example, set HDW0 as start address, curve number is 3, then the HDW0 is for Curve 1, HDW1 is for Curve2, HDW2 is for Curve 3.
722
723 **(4) Curve Table:** The sample address you have set would display on it. Click the corresponding box to modify the content.
724
725 (% class="box infomessage" %)
726 (((
727 **✎Note: **Curve names can only consist of Chinese characters, (0~~9), (a~~z), (A~~Z), ('_') (' '), and other non-English characters.
728 )))
729
730 **Trend Chart Demo Download Link**
731
732 [[https:~~/~~/drive.google.com/open?id=1smnaAvSxOWC0WQK4_uvqHXWn4vUZxGJC>>url:https://drive.google.com/open?id=1smnaAvSxOWC0WQK4_uvqHXWn4vUZxGJC]]
733
734 = **History XY plot** =
735
736 Different from TrendChart, uses need to set history XY curve items in project. Please click "Project"-> "History XY Plot" to open the setting screen.
737
738 Recipe function settings will be display in "[[History XY Plot>>path:https://docs.we-con.com.cn/bin/view/PIStudio/08.Basic%20Function/#HHistoryXYplot]]" object.
739
740 (% style="text-align:center" %)
741 [[image:历史XY 2.png||class="img-thumbnail"]]
742
743 (% style="text-align:center" %)
744 [[image:历史XY 3.png||class="img-thumbnail"]]
745
746 **(1) Basic settings**
747
748 1. **Curve NO.: **It is for setting curve number,
749 1. **Curve Name:** It is for setting curve name. The length limitation is 31 bytes.
750 1. **Curve (1~~8):** It is for setting the number of curves. The default is 3.
751 1. **Dots of one curve: **It is for setting dots number of each curve. The default is 1000, but the maximum dots are 10,000 for all the curves.
752
753 **(2) Sample Type**
754
755 1. **Sample method:** There are two types, one is Cycle sample, the other is Trigger cycle sample. If you select Trigger cycle same mode, the trigger sample address is required to edit.
756 1. **Sample unit:** 100ms.
757
758 **(3) Quick Setting**
759
760 1. **Data format: **It is for setting all the curves, select the data format for all curves, and setting the reading addresses for curves. There are as follows.
761
762 (% style="text-align:center" %)
763 [[image:image-20220616145435-1.png]]
764
765 (% start="2" %)
766 1. **Sample address: **Fill in the start address that read the device data. If the sample address is consecutive, check "use continuous address". For example, set HDW0 as start address, curve number is 3, then the HDW0 is for Curve 1, HDW1 is for Curve2, HDW2 is for Curve 3.
767
768 **(4) Curve Table:** The sample address you have set would display on it. Click the corresponding box to modify the content.
769
770 (% class="box infomessage" %)
771 (((
772 **✎Note: **Curve names can only consist of Chinese characters, (0~~9), (a~~z), (A~~Z), ('_') (' '), and other non-English characters.
773 )))
774
775 **Operating Procedure**
776
777 * Click "Project" → "History XY Plot" to open the function selecting windows.
778
779 (% style="text-align:center" %)
780 [[image:8.Basic Function_html_5da6ca44bd28acbe.png||height="144" width="533" class="img-thumbnail"]]
781
782 * Click "Add" button to open "History XY Plot” setting windows.
783
784 (% style="text-align:center" %)
785 [[image:8.Basic Function_html_6345b50ea55168fa.png||height="307" width="554" class="img-thumbnail"]]
786
787 * Setting the function of History XY Plot.
788 * Click "OK" to save the setting.
789
790 **Download Link**
791
792 [[https:~~/~~/drive.google.com/open?id=1t4_HuRmIJJ-B5ryA2kVMadD9FywKhZ4r>>url:https://drive.google.com/open?id=1t4_HuRmIJJ-B5ryA2kVMadD9FywKhZ4r]]
793
794 = (% style="color:inherit; font-family:inherit; font-size:29px" %)**Data record**(%%) =
795
796 The data record function is organized according to the structure below. In a project, there can be multiple record groups, each record group containing multiple channels. Different groups have different sampling times.
797
798 The topology is shown in the following figure.
799
800 (% style="text-align:center" %)
801 [[image:8.Basic Function_html_1b4bd09dafa7e049.png||height="332" width="554" class="img-thumbnail"]]
802
803 The data record stored in SD card is also organized according to the above figure.
804
805 The sample time and save time is consistent in the same record group. There are multiple channels in the group, When the sampling time is up, every channel would collect data to PLC register according to its own address.
806
807 **Sampling interval: **The interval between two consecutive samples was recorded.
808
809 As long as the project uses the data record function and supports the large-capacity storage module, the system will sample data according to the set sampling interval and save data according to the set saving interval.
810
811 For the file storage of data, see the file size configuration during data record configuration.
812
813 ✎**Note: **
814
815 After enable the Cloud and check the box of Upload to Cloud, the communication port settings of the address in the imported Data record configuration must be the same as the communication port settings of the current project, otherwise it cannot be used normally.
816
817 The number of Data records upload to Cloud shall not exceed the limit value, or the sum of the imported Data records and the number of existing alarm records shall not exceed the limit value. the specific limitation as following table:
818
819 (% style="margin-left:auto; margin-right:auto; width:513px" %)
820 |=(% style="width: 70px;" %)Series|=(% style="width: 442px;" %)Number of Data Record upload to Cloud
821 |(% style="width:70px" %)8000-R|(% style="text-align:center; width:442px" %)100
822 |(% style="width:70px" %)9000-R|(% style="text-align:center; width:442px" %)100
823 |(% style="width:70px" %)3000ig|(% style="text-align:center; width:442px" %)50
824 |(% style="width:70px" %)8000ig|(% style="text-align:center; width:442px" %)100
825 |(% style="width:70px" %)MD|(% style="text-align:center; width:442px" %)50
826
827 The record group name can only be composed of Chinese characters, (0~~9), (a~~z), (A~~Z), ('_'), ('') and other non-English characters.
828
829 Channel name cannot incloud following symbols: :" , ", " | ", " < ", " > ", " & ".
830
831 (% class="wikigeneratedid" id="HSettings" %)
832 **Settings**
833
834 (% style="text-align:center" %)
835 [[image:数据记录设置 1.png||height="533" width="848" class="img-thumbnail"]]
836
837 **Operating Procedures**
838
839 1. Click "Project"->"Data record" as below shows.
840 1. Click "Add" button to open "Data record" setting window.
841 1. Enter group name, the default is "GroupName0"
842 1. Select "Trigger function" mode, such as "No trigger".
843 1. Set "Total channels", such as 3.
844 1. Click "Apply" button.
845 1. Set Sample cycle, such as 15.
846 1. Set "Start channel" in "Quick settings", such as 4 0.
847 1. Check group information in "Channel list" as below.
848 1. Click "Save" button to complete settings.
849
850 The figure above display the group of current project. The data record file would stored in "DataLogFile" folder, and the data of every  group would have a data file. The file suffix is in "db" format.
851
852 ✎**Note: **
853
854 * For HMI series 8000 and above, the size of a single file cannot exceed 300M and the total file capacity cannot exceed 1000M.
855 * For HMI series 3000, the size of a single file cannot exceed 4M and the total file capacity cannot exceed 10M.
856 * If the total amount exceeds the range, an alarm will be given during project compilation.
857
858 (% style="text-align:center" %)
859 [[image:数据记录设置 2.png||height="572" width="850" class="img-thumbnail"]]
860
861 **(1) Group name:** Set group name, and he name should be unique.
862
863 **(2) Trigger function:** There are four modes to trigger record.
864
865 1. **No trigger: **Data will be recorded in every sample time.
866 1. **Trigger to record by sample cycle: **Data will be recorded in every same time, when trigger control bit set ON.
867 1. **Trigger to record once and reset: **Data will be recorded when trigger control bit set ON, and the bit will be reset automatically.
868 1. **Trigger to record once: **Data will be recorded when trigger control bit set ON, and the bit need to be reset manually.
869 1. **Trigger address: **It is only valid when the trigger condition is selected. The monitoring cycle for trigger sampling address is 1s.
870
871 **(3) Total channels (1~~100): **Set the numbers of channels. Click "apply" to view the channel lists on the right record channel.
872
873 **(4) Sampling cycle: **If you check "collect control address", the sampling interval is the value of the address. The unit is second. For example, Sample cycle=15s. It means that records data one time every 15s.
874
875 **Timing address:** It sets address to change sample time when HMI is running;
876
877 **(5) Total records:** It sets data record number in one data record file. If the data file size is beyond the current file size. The old data will be deleted, and the new data will replace the old data. Please remember to back up the old data record file.
878
879 **Abnormal value:** It sets a value, when communication fails, data record will record this value;
880
881 **(6) Upload to Cloud**: The data uploaded by Data Record is stored in the Cloud(Only ig series). The maximum number of record is 20.
882
883 **(7) Quick Settings**
884
885 1. **Start Channel:** It sets the continuous addresses for channels.
886 1. **Data Format: **It sets the same data format for channels.
887 1. **Number of Digits:** It sets the digits’ number for channels.
888 1. **Language Settings**: The text in HMI can be in 8 languages, user can set language in here.
889
890 **(8) Channel List**: Besides quick settings, user can set channel name, address, data format, and so on one by one according to real situation.
891
892 **✎Note:**
893
894 * After enabling the Cloud function and checking the upload to the Cloud, the communication port settings of the address in the imported Data record configuration must be the same as the communication settings of the current project, otherwise it cannot be used normally.
895 * The range of upload to the Cloud from Data record configuration must not exceed 50, or the total number of imported Data records and the number of currently existing Data records must not exceed 50. If it exceeds, it will prompt you to reconfigure, should reduce the number.
896 * The channel name can only be composed of English characters, (0~~9), (a~~z), (A~~Z), ('_'), ('').
897 * The channel name does not include these 5 special characters: ", ", "| "," <", "> "," & ".
898 * The data would be overwritten automatically if the capacity exceed the maximum capacity. For 8000/9000 series, the size of single file cannot exceed 300MB, and total capacity of data records cannot exceed 1000MB. For 3000/3000i/3000ie series, the size of single file cannot exceed 4MB, and total capacity of data records cannot exceed 10MB. If the total amount exceeds the range , an error will be prompted when the project is compiled.
899
900 You could click here to jump to object "[[Data Record Display>>https://docs.we-con.com.cn/bin/view/PIStudio/06.Objects/#HDatarecorddisplay]]"
901
902 = Column Chart =
903
904 Use the bar chart  to monitor and visualize register data in real time
905
906 == **Y-axis configuration** ==
907
908 Configure the Y-axis parameters, including  value type, minimum ,maximum ,data types, and decimal point settings.
909
910 (% style="text-align:center" %)
911 [[image:5.png]]
912
913 == **Channel setting** ==
914
915 Set the channel address to be displayed.
916
917 **Dynamic color:** Change value of a word address to change the color of the channel display.
918
919 Dynamic color sequence: The color sequence number bound to the channel (click to enter the color sequence configuration interface)
920
921 (% style="text-align:center" %)
922 [[image:1.png]]
923
924 (% class="wikigeneratedid" %)
925 **Color sequence configuration interface**
926
927
928 **Upgrade to Global Configuration: **This color sequence is upgraded to the global default.
929
930 **Global Configuration:** When a new bar chart control is created in a project, the color sequence has a default configuration. When you upgrade an existing configuration to a global configuration, the default color sequence for the new control will be the same as the configured color sequence.
931
932 (% style="text-align:center" %)
933 [[image:2.png]]
934
935
936 **Enable Baseline:** Set baselines on the bar chart.
937
938 **Baseline: **The baseline ID bound to the channel) (click to enter the baseline configuration interface).
939
940 (% style="text-align:center" %)
941 [[image:121.png]]
942
943 **Baseline Configuration:**
944
945 **Value type: **Baseline value type
946
947 (**Fixed value: **baseline value is fixedly set; **Dynamic address:** baseline value is read from address).
948
949 **Upgrade to Global Configuration:** This will make this warning zone the global default configuration.
950
951 Global Configuration: When a new bar chart control is created in a project, the warning zone has a default configuration. When you upgrade an existing configuration to a global configuration, the default configuration for the new control will be the same as the configured one.
952
953 (% style="text-align:center" %)
954 [[image:3.png]]
955
956 == **Appearance setting** ==
957
958 (% class="wikigeneratedid" %)
959 Set a configuration for the X-axis, background color, etc.
960
961 (% style="text-align:center" %)
962 [[image:4.png]]
963
964 == **Function settings** ==
965
966 **Column Update Method:**
967
968 **Periodic Update:** Updates the histogram periodically.
969
970 **Triggered Update: **Controls whether the histogram updates based on an address.
971
972 **Triggered Periodic Update:** Triggers a periodic update of the histogram.
973
974 **Cycle update time: **Periodic update time setting, unit: seconds
975
976 **Function control starting address: **The function of the bar chart can be controlled by the address. The starting address is configured here. For specific functions, refer to the address description list.
977
978 (% style="text-align:center" %)
979 [[image:0.png]]
980
981 == Chart Button ==
982
983 [[image:Screenshot 2025-09-09 102850.png||style="float:left"]]
984
985
986
987 :Menu
988
989
990
991 :Zoom in
992
993
994
995
996 :Zoom out
997
998
999
1000
1001 :Restore button (Reset the chart's zoom level to its original 1:1 ratio)
1002
1003
1004
1005
1006 :Data label hide/show button(Controls hiding/showing of data labels)
1007
1008
1009
1010
1011 :Settings Button
1012
1013
1014
1015 = **User permission** =
1016
1017 **Introduction**
1018
1019 1. User permission is one of expansion function in PI Series HMI; it provides multi-level of permission for control HMI operations.
1020 1. User need to set the user and group during designing project. Different groups have different permission levels for accessing. Each user should be added into the specified group; it is possible to add the same user into different groups.
1021 1. Operating record: it records user operations information, the records files are saved in HMI flash; its path is [~\~\flash~\~\UserOperationLogs.db].
1022 1. When it is on simulator mode, the files are saved in C disk, its path is [C:~\~\WECON\UserMgrFile\UserOperationLogs.db].
1023
1024 (% class="box infomessage" %)
1025 (((
1026 ✎**Note: **
1027
1028 * The user name and password must be unique. Username can be up to 32 characters, and password can be up to 8 characters.
1029 * The multi language function of User permission only supported on HMI system version V2.0 or above
1030 )))
1031
1032 == Settings ==
1033
1034 Open PIStudio software, then operate as the following figure.
1035
1036 (% style="text-align:center" %)
1037 [[image:用户权限 1.png||class="img-thumbnail"]]
1038
1039 Click on the cell from UserName and Desc, which can support the multi language.
1040
1041 (% style="text-align:center" %)
1042 [[image:UserPermissionMultilan.png]]
1043
1044 1. Click "User Permission" in "Data Tool" toolbar.
1045 1. Edit user name, click "User0" cell under "UserName", and then enter the user name, one project allows maximum 20 users.
1046 1. Edit password, click "User0" cell under "PassWord", and then enter the user name.
1047 1. Edit description, click "User0" cell under "Desc", and then enter, description is not necessary。
1048 1. Check the groups for each user, there are 11 groups beside admin.
1049 1. Editing groups' description, but it is not necessary.
1050 1. {{id name="OLE_LINK7"/}}{{id name="OLE_LINK6"/}}Click "Save and Exit" button to complete all settings.
1051
1052 (% class="box infomessage" %)
1053 (((
1054 ✎**Note:**
1055
1056 * Only a maximum of one administrator permission is allowed in a profile with one user permission. If you want to use "Funtion address" to modify the user permission, you must log in the administrator account to operate.
1057 * When the configured file does not have the administrator account, a new user can be added  through "Funtion address" and set as the administrator.
1058 * If you select hidden fucntion when configuring user account, the account would display as "~*~*~*~*~*~*" in the list. You only need to enter the password of the corresponding hidden user to log in.
1059 * (((
1060 Adding new UserName and Desc on the HMI by special addresses in the current language of the HMI, other languages will also configure the user names and user descriptions to the current language by default, i.e. switching to other languages, the new user names and user descriptions will not change with the language.
1061 )))
1062 )))
1063
1064 (((
1065
1066 )))
1067
1068 == Object permission configuration ==
1069
1070 (% style="text-align:center" %)
1071 [[image:用户权限 2.png||class="img-thumbnail"]]
1072
1073 User operation logs support multi languages configuration. Click on the Log Message, the text editor of multi language will be pop up:
1074
1075 (% style="text-align:center" %)
1076 [[image:LogMessagesMultilan.png]]
1077
1078 **Operation Procedure of Object Permission**
1079
1080 1. Open the object setting windows;
1081 1. Select "Security" windows;
1082 1. Check the "User Permission";
1083 1. Select "Level" to set permission level;
1084 1. Enter "Log Message", it is for operation records, if it was empty, the operation for this object would be not be recorded;
1085 1. Select the "Access Denied Setting" mode;
1086
1087 **Log information description**
1088
1089 A combination of Chinese characters, numbers, and uppercase and lowercase letters can be entered, and the number does not exceed 63.
1090
1091 The format of insert variable:{variable address, data format}. e.g., {HDW100,UW2.1}.
1092
1093 The data format are as follows.
1094
1095 (% class="table-bordered" %)
1096 |=Letter|=Meaning
1097 |B|Binary
1098 |O|Octonary
1099 |U|Unsigned decimal
1100 |H|Hexadecimal
1101 |b|BCD
1102 |F|32-bit float
1103 |S|Signed decimal
1104 |C|Character
1105 |W|Single word
1106 |D|Double word
1107
1108 Examples.
1109
1110 * Unsigned decimal, BCD, 32-bit float and Signed decimal are as follows.
1111
1112 {HDW100,UW2.1}:  Indicates the variable address is HDW100. The data format are: unsigned decimal, single word, two integer bits, one decimal place.
1113
1114 * (((
1115 Binary, Octonary and Hexadecimal are as follows.
1116 )))
1117
1118 {HDW100,HD8}: Indicates the variable address is HDW100. The data format are: hexadecimal, double word, eight integer bits.
1119
1120 * (((
1121 Character is as follows.
1122 )))
1123
1124 {HDW100,C32}: Indicates the variable address is HDW100. The data format are: 32 characters.
1125
1126 When a record is generated, the contents of this variable are replaced by the value of your corresponding address.
1127
1128 == **Function address** ==
1129
1130 A user must first log in before performing an operation, and after the login is successful, the user can perform the required operation, and log out after completing the operation, making the operation permission invalid. User login, log out, modification of user password during operation and user management and other functions need to be configured.
1131
1132 HMI allows managing user accounts on screen. Including adding, deleting and editing the user account. HMI provide built-in screen for [Sign in] and [change password] (screen No. 1006 and 1007).
1133
1134 Functions and addresses are as follows.
1135
1136 (% class="table-bordered" %)
1137 |=**Function**|=**Address**|=**Object type**|=**Address function**
1138 |(% rowspan="3" %)Sign in|HUW1158~~1335|Drop down list|User name
1139 |HUW1002|Character input object|Password
1140 |HUW1000|Word Switch (Input 1)|OK (sign in)
1141 |(% rowspan="5" %)Change password|HUW1158~~1335|Drop down list|User name
1142 |HUW1002|Character input object|Old password
1143 |HUW1006|Character input object|New password
1144 |HUW1010|Character input object|Confirm password
1145 |HUW1000|Word Switch (Input 2)|OK(change password)
1146 |Sign out|HUW1000|Word Switch (Input 3) |Sign out
1147 |(% rowspan="7" %)(((
1148 New user ***1**
1149 )))|HUW1014|Character input object|User name
1150 |HUW1006|Character input object|password
1151 |HUW1010|Character input object|Confirm password
1152 |HUW1000|Word Switch (Input 4) |OK(add new user)
1153 |HUW1336~~1345|Character input object|User description
1154 |HUX1347.0|Bit switch|(((
1155 ~=1: User hidden
1156
1157 ~=0: Visible (Defaults)
1158 )))
1159 |HUW1000|Word Switch (Input 8) |Save(add Hide features)
1160 |(% rowspan="2" %)(((
1161 Delete user ***2**
1162 )))|HUW1158~~1335|Drop down list|User name
1163 |HUW1000|Word Switch (Input 5)|OK (delete user)
1164 |Delete Profile|HUW1000|Word Switch (Input 9)|OK(delete)
1165 |Export Profile|HUW1000|Word Switch (Input 10)|OK(export)
1166 |Import profile|HUW1000|Word Switch (Input 11)|OK(import)
1167 |Export log file|HUW1000|Word Switch (Input 12)|OK(export)
1168 |Delete log file|HUW1000|Word Switch (Input 13)|OK (delete)
1169 |Current user name|HUW1349|Character object|32 Word
1170 |System state information|HUW1030|Character input object|System state information
1171 |(% rowspan="3" %)Permission settings|HUW1014|Character input object|User name
1172 |HUW1348|Bit switch|(((
1173 Set the user group:
1174
1175 HUX1348.0 = 1 administrator;
1176
1177 HUX1348.1 = 1 group 0 permission;
1178
1179 HUX1348.2 = 1 group 1 permission;
1180
1181 (Total group 0 - group 10)
1182 )))
1183 |HUW1000|Word Switch (Input 6)|Add user rights (set according to HUW1348)
1184 |User login mode setting|HUW1382|Word Switch/Numeric input object|(((
1185 0: Select a user name from the drop-down list
1186
1187 1: Use character input object (address HUW1014) to log in with a user name
1188 )))
1189
1190 When the user performs a function operation, the operation result is displayed in the HUW1001.
1191
1192 (% class="table-bordered" %)
1193 |=**Value (HUW1001)**|=**Meaning**
1194 |1|Insufficient permissions.
1195 |2|Username does not exist.
1196 |3|Username already exists.
1197 |4|Wrong username or password.
1198 |5|Login successfully.
1199 |6|Passwords are inconsistent in twice time.
1200 |7|Password changed successfully.
1201 |8|User added successfully.
1202 |9|User deleted successfully.
1203 |10|Maximum number of users exceeded.
1204 |11|Admin user already exists.
1205 |12|User permission modified successfully.
1206 |13|File imported successfully.
1207 |14|File imported failed.
1208 |15|File exported successfully.
1209 |16|File exported failed.
1210 |17|Logout successfully.
1211 |18|Profile deleted successfully.
1212 |19|Log file deleted successfully.
1213 |20|Hide settings modified successfully.
1214 |21|Hide settings modified failed.
1215 |22|(((
1216 Password already occupied, please reset.
1217
1218 (For both username and password, it can not repetition)
1219 )))
1220
1221 (% class="box infomessage" %)
1222 (((
1223 **✎Note:**
1224
1225 * *1: If there is an admin user account, then the new user can no longer add one more admin, that is, one project can only have one administrator account.
1226 * *1: When adding new user, the password could not be duplicated with other users.
1227 * *2: When deleting user, it is forbidden to delete the admin user.
1228 )))
1229
1230 **User Permission Demo Download**
1231
1232 [[https:~~/~~/drive.google.com/open?id=1qOiEDvo_1H1YqpoLDpS77dGaAFm8nrGq>>url:https://drive.google.com/open?id=1qOiEDvo_1H1YqpoLDpS77dGaAFm8nrGq]]
1233
1234 = Message prompt =
1235
1236 A message box is a window used to show some prompts or warnings to users. For example, the application process a task in the process of pop-up message box, suggesting that "U disk has been detected", then the customer can carry out data dump function.
1237
1238 (% style="text-align:center" %)
1239 [[image:消息提示 2.png||class="img-thumbnail"]]
1240
1241 (% style="text-align:center" %)
1242 [[image:8.Basic Function_html_5ce2091d6f7cd732.png||height="515" width="704" class="img-thumbnail"]]
1243
1244 **(1) Message**
1245
1246 It includes system classes (u disk, SD card, and others), chart classes (alarm, data record, recipe, file list), curve classes (Trend Chart, historical XY trend Plot).
1247
1248 **(2) Control**
1249
1250 1. **Current item: **It shows selected message information.
1251 1. **Use trigger address: **When the message is triggered, the trigger address would be set ON.
1252
1253 **For Example:**
1254
1255 Trigger address is 011, during inserting a USB flash disk into HMI, and 011 would be set ON, once HMI recognizes USB flash disk, and display message.
1256
1257 1. **Show message: **Check it to display message when HMI is running. It is checked by default.
1258 1. **Show on web: **Check it to display message when remote access HMI screen, it is unchecked by default.
1259
1260 **(3) Message Content**
1261
1262 Each message has default content, but you could set different content according to the actual situation. And the same message could be displayed in 8 languages.
1263
1264 **(4) Reload Text: **It means discard changes.
1265
1266 **For Example**
1267
1268 User deletes default content or modifies default content, but he wants to give up modification back to original, just click "Reload text".
1269
1270 (% class="box infomessage" %)
1271 (((
1272 **✎Note:**
1273
1274 * If you do not want this prompt during the running of HMI, please uncheck "Show message".
1275 * "Reload text" function would be invalid after clicking "save".
1276 * These 5 special characters are not supported in the header Multi language settings: ",", "|", "<", ">", "&".
1277 )))
1278
1279 == **Appendix** ==
1280
1281 The following pop-up message and code only available for HMI System V1.0, to indicate some system errors:
1282
1283 |=**Message code**|=**Description**|=
1284 |=10001|Failed to delete folder directory|(% rowspan="3" %)First confirm whether the U disk SD card is read-only, or if there are other abnormalities, if it cannot handle by prevouis advises, please provide the back label and background version info.
1285 |=10002|Failed to renaming file
1286 |=10003|Failed to delete file
1287 |=10004|Inconsistent data record tables|The files in the U disk SD card may be from other projects, or the same project but the number of channels in the current project is inconsistent with the record. Please consider verifying it first.
1288 |=10009|(% rowspan="4" %)
1289 LAN monitoring error|(% rowspan="4" %)Data packet loss during the monitoring process may cause this problem. Confirm the software version. The company has updated this issue. Older versions can be updated
1290 |=10010
1291 |=10011
1292 |=10012
1293 |=10015|Failed to initialize project|It is recommended to send the project back to the company for testing
1294 |=10022|U Disk Safe Exit Failed|(% rowspan="5" %)It may be in use, data is exported, or the storage location is U disk or SD card. It is best to trigger again and wait for its successful exit.
1295 |=10023|SD card safe exit failed
1296 |=10024|U disk is busy
1297 |=10025|SD card is busy
1298 |=10026|Cannot recognize the U disk/SD card
1299 |=10027|U disk/SD card cannot be read or written|(% rowspan="3" %)Detect the format of U disk/SD card. Fat32 and ntfs can be recognized normally. If the computer can use it normally and the HMI cannot recognize it, you can only consider formatting the U disk first and then try again.
1300 |=10028|U disk/SD card unknown error
1301 |=10029|U disk/SD card format error
1302 |=11000|(% rowspan="2" %)Alarm record error|(% rowspan="29" %)(((
1303 The version before Sept. 19th considers the flash problem. Please provide the back label and the backstage version info . Make sure to ask the customer to update the version first, and the customer's similar projects must be updated even if there is no problem. After the update, the flash usage should be checked and. If the flash is on a severe status, return to the company replaces the flash with a new one.
1304
1305 When the question is returned, the text behind the prompt is as complete as possible, which can help R&D to confirm the problem faster.
1306 )))
1307 |=11001
1308 |=11002|Failed to delete Alarm record in Flash
1309 |=11006|Failed to save the Alarm records to Flash
1310 |=11007|Alarm record error
1311 |=11009|(% rowspan="2" %)Data record error
1312 |=11010
1313 |=11011|Failed to save Data records to Flash
1314 |=11012|Failed to delete Data record in Flash
1315 |=11013|Data record error
1316 |=11014|Failed to transfer Data record to U disk/SD card
1317 |=11015|Failed to copy Data record to U disk/SD card
1318 |=11016|Data record error
1319 |=11017|User permission related operation error
1320 |=11018|SQL trigger monitoring error
1321 |=11019|Data record error
1322 |=11020|Historical XY graph error
1323 |=11021|Failed to save the Historical XY graph to Flash
1324 |=11022|Failed to delete the Historical XY graph in Flash
1325 |=11023|(% rowspan="5" %)
1326 \\Installment payment error
1327 |=11024
1328 |=11025
1329 |=11026
1330 |=11027
1331 |=11028|(% rowspan="3" %)
1332 Real-time trend graph error
1333 |=11029
1334 |=11030
1335 |=11031|Failed to delete the Real-time trend graph data in the memory
1336 |=11032|Failed to save the Real-time trend graph to Flash
1337 |=11033|(% rowspan="13" %)Recipe error|(% rowspan="13" %)If it is a new project download and there is an error, first confirm the settings of the recipe, if it is abnormal after a period of use, confirm whether it is the flash problem
1338 |=11034
1339 |=11035
1340 |=11036
1341 |=11037
1342 |=11038
1343 |=11039
1344 |=11040
1345 |=11041
1346 |=11042
1347 |=11043
1348 |=11044
1349 |=11045
1350 |=11046|(% rowspan="3" %)User permission related operation error|(% rowspan="3" %)If an error occurs when downloading a new project, first confirm the permission configuration, whether the reserved configuration is checked in the download tool, etc., if it is abnormal after a period of use, confirm whether it is a flash problem
1351 |=11047
1352 |=11048
1353 |=11049|Failed to upload operation log file via Ethernet|
1354 |=11050|(% rowspan="8" %)User permission related operation error|(% rowspan="6" %)If an error occurs when downloading a new project, first confirm the permission configuration, whether the reserved configuration is checked in the download tool, etc., if it is abnormal after a period of use, confirm whether it is a flash problem
1355 |=11051
1356 |=11052
1357 |=11053
1358 |=11054
1359 |=11055
1360 |=11056|(% rowspan="2" %)
1361 |=11057
1362 |=11058|Alarm record error|(% rowspan="2" %)Same as flash problem
1363 |=11062|Installment payment error
1364 |=11063|Alarm Runbar error|Mostly, the Runbar is used without config the alarm settings.
1365 |=11069|(% rowspan="3" %)Historical trend graph error|Same as flash problem
1366 |=11070|
1367 |=11071|
1368 |=11072|SQL trigger monitoring error|
1369 |=11073|Real-time trend graph error|Same as flash problem
1370 |=11075|Error getting database table file|Same as flash problem
1371 |=11076|Error getting database table file|Same as flash problem
1372 |=11077|(% rowspan="3" %)Recipe error|(% rowspan="3" %)If it is a new project download and there is an error, first confirm the settings of the recipe, if it is abnormal after a period of use, confirm whether it is the flash problem
1373 |=11078
1374 |=11079
1375 |=11080|(% rowspan="2" %)User permission related operation error|(% rowspan="2" %)Same as 11046
1376 |=11081
1377 |=11082|Drop-down list error|
1378 |=11083|The message prompt error|
1379 |=11084|(% rowspan="2" %)Alarm record error|Same as flash problem
1380 |=11085|
1381 |=11086|(% rowspan="2" %)Data record error|Same as flash problem
1382 |=11087|
1383 |=11088|(% rowspan="2" %)Alarm record error|Same as flash problem
1384 |=11089|
1385 |=11090|Installment payment error|Same as flash problem
1386 |=11091|The message prompt error|
1387 |=11092|The database table file does not exist|
1388 |=11093|Machine code error|
1389 |=11094|Import csv file error|
1390 |=30001|Flash free space is not enough to store Data records|(% rowspan="3" %)Insufficient space, whether any file is copied into the flash
1391 |=30002|Flash free space is not enough, Historical XY trend graph is not stored
1392 |=30003|Flash free space is not enough to store real-time trend graphs
1393 |=30005|System read only|(% rowspan="2" %)Same as the flash problem, if the flash is damaged, then the system must be updated
1394 |=30006|Insufficient reserved blocks
1395
1396 = **Cloud** =
1397
1398 **Introduction**
1399
1400 You may configure the basic settings of Cloud functions, tags, and User MQTT according to your needs. (If the device supports the Cloud function, you can use the function and configure the tags after checking the box to enable it, or upload the data to the 3rd party server.)
1401
1402 Click "Project"-"[[image:hh_B4H5OuNT87.png||height="29" width="30"]]Cloud" in the upper left corner of the software, as shown in the following figure.
1403
1404 (% style="text-align:center" %)
1405 [[image:云配置1.png||height="494" width="750" class="img-thumbnail"]]
1406
1407 **(1) Enable**
1408
1409 If the HMI supports the Cloud function, check it to enable the Cloud function, and it will collect the real-time data from HMI upload to the Cloud. The number of data collection is limited, and the specific parameters are as follows:
1410
1411 |=Series|=Monitoring Tags|=Alarm Record|=Data Record|=OpenCloud Data
1412 |8000-R (HMI V2.0 System)|300|200|100|1000
1413 |9000-R (HMI V2.0 System)|300|200|100|1000
1414 |3000ig|100|20|50|500
1415 |8000ig|300|200|100|1000
1416 |MD|100|20|50|500
1417
1418 For example:
1419
1420 * In 3000ig's Cloud, the monitoring tags upload to the Cloud in real time is limited to 100.
1421 * For 3000ig's Alarm, the Alarm records of word alarms and bit alarms upload to Cloud is limited to 20. (See [["Alarm">>http://docs.we-con.com.cn/wiki/pistudio/view/Helps/08.Basic%20Function/#HAlarm]] for details).
1422 * For 3000ig's Data record, the Data records upload to Cloud is limited to 50. (For details, please refer to [["Data Record">>http://docs.we-con.com.cn/wiki/pistudio/view/Helps/08.Basic%20Function/#HDataRecord]]).
1423
1424 **(2) Server Selection**
1425
1426 **Server**: China, ASEAN, and Europe.
1427
1428 **Password**:
1429
1430 1. If the HMI is not bound, this access password will be updated and downloaded into the HMI screen simultaneously.
1431 1. If the HMI is bound, this access password in the project cannot effectively change the binding password of the device, and it can only be changed through V-NET.
1432
1433 **(3) Upload Selection**: 
1434
1435 To upload the data collected by HMI to the cloud or a to the third-party server, only one upload method can be selected.
1436
1437 1. **to Cloud**: All the configured tags, data records, and alarm records would be pushed to V-NET.
1438 1. **to User MQTT**: All the configured tags, data records, and alarm records would be pushed to to the third-party server, and the relevant Lua function calls please refer to "[[Cloud interface>>http://docs.we-con.com.cn/wiki/pistudio/view/Helps/10.Lua/#HCloudInterface]]".
1439
1440 After the "to User MQTT" is checked. The tags, data records, and alarms cannot be viewed on V-NET, but the device can be bound to V-NET and remote monitoring the device screen normally.
1441
1442 **4) Low Data Mode setting**
1443
1444 1. When you check the "low Data Mod" by default on new tags, the newly added tags will be enabled in Low Data Mode by default.
1445 1. The longer the refresh interval, the slower the data upload, and the more traffic data will be saved. This function is only used for the control of tags.
1446
1447 = MQTT =
1448
1449 = [[image:2.png]] =
1450
1451 (% class="wikigeneratedid" %)
1452 Configurable type MQTT. Users can publish message to the MQTT server or subscribe topics from the MQTT server.
1453
1454 The supported models and series are listed in the following table:
1455
1456 (% style="margin-left:auto; margin-right:auto; width:150px" %)
1457 |Support series
1458 |3000ig
1459 |8000ig
1460
1461
1462
1463 **MQTT Configuration (Common Settings/AWS IOT Settings/ALi Settings/Huawei Settings)**
1464
1465 This chapter explains how to use configurable type MQTT. Users can publish message to the MQTT server or subscribe topics from the MQTT server.
1466
1467 Click “MQTT” in “Data Tool" in the upper side bar of the software.After checking "Enable", the settings window will pop up and select different cloud services for MQTT configuration, as shown in the following figure:
1468
1469 (% style="text-align:center" %)
1470 [[image:1747021182728-276.png]]
1471
1472 **MQTT Server Settings (Common)**
1473
1474 **General**
1475
1476 (% style="text-align:center" %)
1477 [[image:3.jpg]]
1478
1479 **Description:** Enter a description or comment about the server. Maximum input length: 255 characters, cannot be empty.
1480
1481 **Cloud Service**: (Select Common)
1482
1483 ① Common (Common Platform): General MQTT publish-subscribe topic mode.
1484
1485 ② AWS IoT (Amazon): Using "AWS IoT" as the Broker, using Thing to transfer data and support Shadow function.
1486
1487 ③ ALi (Alibaba Cloud): Using "Alibaba Cloud" as Broker.
1488
1489 ④ Huawei (Huawei Cloud): Using "Huawei Cloud" as Broker.
1490
1491 **Communication protocol**: MQTTv3.1, v3.1.1 and v5 are supported.
1492
1493 **Custom Client ID length:** User can customize the length of the Client ID (optional), length range: 20 ~~128.
1494
1495 **Custom username/password length:** Customize the length of user name/password length (optional), length range: 16 ~~ 256.
1496
1497 **IP:** Set the MQTT server IP to subscribe message.
1498
1499 **Use domain name:** Support using domain name to the specify server.
1500
1501 **Domain name:** Set the domain name of the MQTT server that subscribe message. Maximum input length: 128 characters, cannot be empty, supports letters, numbers, "-", “.”. The symbol cannot be placed at the first character or last character of name.
1502
1503 **Port number:** Set the MQTT server port to subscribe message. Range: 0~~65535, cannot be empty.
1504
1505 **Client ID:** Login name. Variables can be used as login names. For example: Enter% 0 and the Client ID is the device name. (This can be set in the HMI background. If not, the default is HMI model.) **(✎Note: A Client ID can only be used for one device.)** When there is no custom Client ID length, the maximum configurable length of Client ID is 40 characters.
1506
1507 **Verification:** Choose whether to connect to the MQTT server using [User Name] and [Password].
1508
1509 **User Name:** The [User Name] connects to the MQTT server. When there is no custom username/password length, the maximum configurable length of username is 32 characters.
1510
1511 **Password:** The password for connect to the MQTT server. When there is no custom username/password length, the maximum configurable length of password is 32 characters.
1512
1513 **Timestamp:** LOCAL: Using the HMI time as the timestamp. UTC Time: Using UTC+0.
1514
1515 **Clean message cache when normal connected:** If option is enabled, when the device is disconnected, the message to be published will be cached in the cache area, and then will be published when the device is online again.
1516
1517
1518 **Address**
1519
1520 (% style="text-align:center" %)
1521 [[image:4.jpg]]
1522
1523 **Status address: (Total length: 2 words)**
1524
1525 HDWn: Display [MQTT] connection status.
1526
1527 |Value|Description
1528 |0|Disable MQTT server connection
1529 |1|Disconnected or connecting
1530 |2|Successfully connected the MQTT server
1531
1532 HDWn+1: Error prompt
1533
1534 |Value|Description
1535 |0|No error
1536 |-1|General error code of wrong operation
1537 |-3|Disconnected
1538 |-4|Exceed client data concurrency
1539 |-5|Invalid UTF-8 string
1540 |-6|Null pointer parameter
1541 |-7|Topic name is truncated
1542 |-8|Wrong protocol structure body
1543 |-9|Bad QoS, acceptable range is (0, 1, 2)
1544 |-10|Try to use a non-SSL version library for SSL connection
1545 |-11|Wrong MQTT version
1546 |-14|Wrong protocol type
1547 |-15|Option is not suitable for the current request version
1548 |-16|Call MQTT version that is not applicable to request.
1549 |-17|0 length connects topics
1550
1551 **Buffer usage address: (Total length: 1 word)**
1552
1553 Unsuccessful published message will be stored in memory as cache, with a maximum 100,000 messages or 2M. Value display as unit %, and it is carried unconditionally.
1554
1555 HDWn: Display buffer usage.
1556
1557 **Control address: (Total length: 123 words; If the domain name is not enabled, it will take up 59 words)**
1558
1559 HDWn: Control the execution or stop of [MQTT Server].
1560
1561 |Value|Description
1562 |0|Ready
1563 |1|Start
1564 |2|Stop
1565 |3|Update
1566
1567 HDWn+1: IP address of the MQTT server. (✎**Note: This address is only valid when IP is used.**)
1568
1569 HDWn+5: Port number of the MQTT server.
1570
1571 HDWn+6: Client ID of the MQTT server connection.
1572
1573 HDWn+26: Authentication is enabled or not. = 0, disabled; = 1, enabled.
1574
1575 HDWn+27: User name of MQTT server connection.
1576
1577 HDWn+43: Password of MQTT server connection.
1578
1579 HDWn+59: Domain name of the MQTT server. (**✎Note: This address is only valid if the domain name is used.**)
1580
1581
1582 **TLS/SSL Settings**
1583
1584 (% style="text-align:center" %)
1585 [[image:5.jpg]]
1586
1587 **Enable:** Enable TLS/SSL encryption. User can manually select encrypted versions of TLS 1.0, TLS 1.1, or TLS 1.2.
1588
1589 **Server authentication:**
1590
1591 Enable: Verify whether the server certificate has been certified by a Certificate Authority Certificate (CA). Server certificates are sent by the server when connection is established.
1592
1593 Import: Select CA certificate to import.
1594
1595 More: After the import is successful, clicking it will display the certificate details.
1596
1597 Reset: Reset the import information.
1598
1599 The server name must match the certificate information: Verify whether the server name or IP matches with the information in the certificate. Domain name and IP are recorded in the Subject Alternative Name from certificate.
1600
1601 **Client authentication:** The private key and client certificate are the data required for the server to authenticate the client end.
1602
1603 Certificate:
1604
1605 Import: Select certificate to import.
1606
1607 More: After the import is successful, clicking it will display the certificate details.
1608
1609 Reset: Reset the import information.
1610
1611 Key:
1612
1613 Import: Select the key to import.
1614
1615 More: After the import is successful, clicking it will display key details.
1616
1617 Reset: Reset the import information.
1618
1619
1620 **System topics**
1621
1622 (% style="text-align:center" %)
1623 [[image:6.jpg]]
1624
1625 **Birth Topic: **The message that HMI will publish when it is connected to server.
1626
1627 **Close Topic:** The last send message before HMI actively disconnects from server connection
1628
1629 **Last Will: **Subscription of Last Will receive this message when an abnormal disconnection occurs between HMI and the server. HMI synchronizes the Last Will message to the server when it initially establishes the connection.
1630
1631 **Topic List:** A list of topics in the HMI that is sent to the server after the HMI is connected to the server.
1632
1633 **Topic:** The actual topic name of the system topic. Maximum input length: 255 characters, cannot be empty.
1634
1635 **Retain message: **The MQTT server keeps the latest message.
1636
1637 **QoS: **MQTT provides three levels of reliability called service quality. The service quality of message transmission determines whether the message is guaranteed to be delivered.
1638
1639 QoS 0: Messages are sent only once, and delivery is not guaranteed.
1640
1641 QoS 1: Message must be delivered at least once.
1642
1643 QoS 2: Message is delivered just once.
1644
1645 **Content format:**
1646
1647 **JSON (Default):** Use default values, default values for each system topic (**The bold is represented as the current actual value**)
1648
1649 **Birth Topic:** 
1650 {
1651 "d": {
1652 "connected": true
1653 },
1654 "ts": " **Current time**"
1655 }**Close Topic: **
1656 {
1657 "d": {
1658 "connected": false
1659 },
1660 "ts": " **Current time**"
1661 }**Last Will: **
1662 {
1663 "d": {
1664 "connected": false
1665 }
1666 }**Topic list:** 
1667 {
1668 "d": {
1669 "topics": [
1670 {
1671 "compression": "
1672
1673
1674 ",
1675
1676 "nickname": "**Subject name**",
1677
1678 "topic": "**Theme**"
1679 },
1680 {
1681 "compression": "**Compression type**",
1682
1683 "nickname": "**Subject nam**e",
1684
1685 "topic": "**Theme**"
1686 }
1687 ]
1688 },
1689 "ts": "**Current time**"
1690 }
1691
1692 Messages within topics vary depending on the actual topic settings. The above is an example of two topics.
1693
1694 **JSON (Customized):** Use custom content.
1695
1696 **Choose the connection network card**
1697
1698 (% style="text-align:center" %)
1699 [[image:7.jpg]]
1700
1701 **Default:** According to the priority order of network adapters set in the HMI background to connect server.
1702
1703 **Ethernet 1: **Specify Ethernet 1 network card to connect to the server. When the system does not find Ethernet 1, connect to the server by “Default”. When system finds Ethernet 1 and binds it to connect to the server.
1704
1705 **Ethernet 2: **Specify Ethernet 2 network card to connect to the server. When the system does not find Ethernet 2, connect to the server by “Default”. When system finds Ethernet 2 and binds it to connect to the server.
1706
1707 **4G:** Specify 4G network card to connect to server. When the system does not find 4G, connect to the server by “Default”. When system finds 4G and binds it to connect to the server.
1708
1709 **Wi-Fi:** Specify Wi-Fi network card to connect to server. When the system does not find Wi-Fi, connect to the server by “Default”. When the system finds Wi-Fi and bind it to connect to the server.
1710
1711
1712 **MQTT Topic**
1713
1714 **MQTT topic publish**
1715
1716 Select [Topic publish], click [Add], enter [Add MQTT topic publish object], and set the general settings and address. The maximum number of MQTT published topics is 255.
1717
1718 (% style="text-align:center" %)
1719 [[image:8.jpg]]
1720
1721 **General properties**
1722
1723 (% style="text-align:center" %)
1724 [[image:9.jpg]]
1725
1726 **Alias:** Set the project name of the MQTT topic. Maximum input length: 255 characters, cannot be empty.
1727
1728 **Topic:** The topic received by the MQTT server when sending message. Maximum input length: 255 characters, cannot be empty.
1729
1730 Sending mode: (AUTO/TRIGGER)
1731
1732 **① AUTO **value change mode: When any value changes, MQTT message is published.
1733
1734 a. Minimum time interval between messages: The minimum time interval can be set between messages to avoid over-publishing MQTT messages. When the interval of value change is less than the minimum time interval between messages, the message will be put in the cache. The MQTT message will not be published until the minimum interval between messages is met. Range: 0~~3600000ms.
1735
1736 b. Periodic mode: Publish MQTT message by the fixed time. Time interval: Set the time interval for periodic publishing. The range is 1~~3600s.
1737
1738 **② TRIGGER**
1739
1740 When the specified bit is triggered, the MQTT message is published. When HDX0.0 changes from OFF to ON, an MQTT message is published, and HDX0.0 is automatically set to OFF after publishing.
1741
1742 **Compression type:** Message is compressed before it is transmitted. The compressed message needs to be decompressed before the MQTT client reads it. Zilb, Gzip, or Deflate algorithm can be chosen to compress or decompress the message.
1743
1744 **QoS:** MQTT provides three levels of reliability called service quality. The service quality of message transmission determines whether the message is guaranteed to be delivered.
1745
1746 0: Messages are sent only once, and delivery is not guaranteed.
1747
1748 1: Message must be delivered at least once.
1749
1750 2: Message is delivered just once.
1751
1752 **Retain message: **When checked, the MQTT server keeps the latest message.
1753
1754 **Content format:**
1755
1756 Raw data: Data composed of BYTE data.
1757
1758 JSON (General): Put all data in JSON format of member "d".
1759
1760 JSON (Advanced): JSON format of flexibly customizable nested structure.
1761
1762 **Include timestamps:** This function is only supported when the content format uses [JSON (General)], and whether to include the timestamp can be decided manually.
1763
1764 **Use the top "d" symbol in the message format:**
1765
1766 This function is only supported when the content format uses [JSON (General)]. When checked, the message format is as follows:
1767
1768 {
1769
1770 "d": {
1771
1772 "addressName1": ...,
1773
1774 "addressName2":...
1775
1776 },
1777
1778 "ts":...
1779
1780 }
1781
1782 When unchecked, the message format is as follows:
1783
1784 {
1785
1786 "addressName1": ...,
1787
1788 "addressName2":...,
1789
1790 "ts":...
1791
1792 }
1793
1794 As shown above, when unchecked, ts and address names are both key at the same level. Therefore, avoid taking the address name as ts.
1795
1796 **Address setting**
1797
1798 ①Address settings when content formats use [Raw Data] and [JSON (General)].
1799
1800 (% style="text-align:center" %)
1801 [[image:10.jpg]]
1802
1803 **Add:** Establish the address source of the topic. The length of each address can be set separately.
1804
1805 **Delete:** Delete the address.
1806
1807 **Settings:** Modify the address and name.
1808
1809 (% style="text-align:center" %)
1810 [[image:11.jpg]]
1811
1812 **Included in all message sent**
1813
1814 Check the options: This topic will include this address every time it publishes a message.
1815
1816 Uncheck the options: When the sending mode is value, message is published only when the value of the address changes.
1817
1818 **Remove JSON array brackets' ['and'] ':**
1819
1820 Check the options: Remove the array symbol name when using non-array bits or characters.
1821
1822 **✎Note: A topic can be configured up to 255 nodes. The name length of a node can be configured up to a maximum of 255 characters and cannot be empty.**
1823
1824 ② Address setting when the content format uses [JSON (Advanced)]. [JSON (Advanced)] supports nested structure, which can use components, arrays and other forms. Timestamps and data names can also be customized, which is a more flexible design method.
1825
1826 (% style="text-align:center" %)
1827 [[image:12.jpg]]
1828
1829 The above figure is an example. If setting like above figure, the subscription side will receive the MQTT message like following format.
1830
1831 {
1832 "object": {
1833 "value": "teststring",
1834 "value (1)": 123,
1835 "value (2)": true,
1836 "value (3)": "",
1837 "value (4)": 0,
1838 "value (5)": true
1839 },
1840 "array": [
1841 10,
1842 20,
1843 30
1844 ],
1845 "value (6)": " 2023-04-27T03: 53: 20.156271 "
1846 }
1847
1848 **New component:** Add a new data component. Components can have multiple data formats; each data format has its own Name and Value. The data of the component is included in braces {}.
1849
1850 **New value:** Add a new value, string, or timestamp. When it is a value or a string, it can be fixed value or read data from a specified address.
1851
1852 **Delete:** Delete the selected field.
1853
1854 **Settings:** Modify the selected field. If the selected fields are components and arrays, only the names can be modified. But components and arrays include values that can modify parameters.
1855
1856 **Template:** Paste the JSON text here, and the system will automatically arrange the style to conform to this JSON format, saving the time of self-definition.
1857
1858 **Preview:** Preview JSON data in an easy-to-read format.
1859
1860 **✎Note: A Topic can be up to 512 nodes (including payload), and a node name can be configured to be up to 255 characters length.**
1861
1862 **Security settings**
1863
1864 The topic is published only when the register status matches the setting. As shown in the following figure, this topic will not be published until the address HDX0.0 is set to ON.
1865
1866 (% style="text-align:center" %)
1867 [[image:13.jpg]]
1868
1869 **MQTT topic subscription**
1870
1871 Select [Topic subscription] and click [Add] to enter general property settings and address settings. The maximum number of MQTT subscription topics is 255.
1872
1873 (% style="text-align:center" %)
1874 [[image:14.jpg]]
1875
1876 **General properties**
1877
1878 (% style="text-align:center" %)
1879 [[image:15.jpg]]
1880
1881 **Alias:** Set the project name of the MQTT topic. Maximum input length: 255 characters, cannot be empty.
1882
1883 **Topic:** Topics subscribed from the MQTT server. Maximum input length: 255 characters, cannot be empty.
1884
1885 **Compression type:** The transport compression type of a subscription topic must be the same as that of a publication topic.
1886
1887 **QoS:** MQTT provides three levels of reliability called service quality. The service quality of message transmission determines whether the message is guaranteed to be delivered.
1888
1889 0: Messages are sent only once, and delivery is not guaranteed.
1890
1891 1: Message must be delivered at least once.
1892
1893 2: Message is delivered just once.
1894
1895 **Content format:**
1896
1897 Raw data: There is no original data in a specific format.
1898
1899 JSON (General): JSON format of single-layer structure.
1900
1901 JSON (Advanced): JSON format of flexibly customizable nested structure.
1902
1903 **Verify timestamp:** The user can decide whether to verify the timestamp or not. When checked, it indicates that the received data timestamp must be strictly incremented before it can be updated. Otherwise, it will be judged as outdated data and not updated.
1904
1905 **Use the top "d" symbol in the message format:**
1906
1907 This function is only supported when the content format uses [JSON (General)]. When checked, the message format is as follows:
1908
1909 {
1910
1911 "d": {
1912
1913 "addressName1": ...,
1914
1915 "addressName2":...
1916
1917 },
1918
1919 "ts":...
1920
1921 }
1922
1923 When unchecked, the message format is as follows:
1924
1925 {
1926
1927 "addressName1": ..., "addressName2":...,
1928
1929 "ts":...
1930
1931 }
1932
1933 Please select the appropriate settings according to the data source.
1934
1935 **Address settings**
1936
1937 ①Address settings when content formats use [Raw Data] and [JSON (General)].
1938
1939 (% style="text-align:center" %)
1940 [[image:16.jpg]]
1941
1942 **Add:** Establish the address where the data is stored after the topic is subscribed, and the length of each address can be set separately.
1943
1944 **Delete:** Delete the address.
1945
1946 **Settings:** Modify the address and name.
1947
1948 (% style="text-align:center" %)
1949 [[image:17.jpg]]
1950
1951 **Remove JSON array brackets' ['and'] ':**
1952
1953 When using non-array bits or characters, array symbol can manually be removed.
1954
1955 **✎Note: A topic can be configured up to 255 nodes. The name length of a node can be configured up to a maximum of 255 characters and cannot be empty.**
1956
1957 ② Address setting when the content format uses [JSON (Advanced)]. [JSON (Advanced)] supports nested structure, which can use components, arrays and other forms. Timestamps and data names can also be customized, which is a more flexible design method.
1958
1959 (% style="text-align:center" %)
1960 [[image:18.jpg]]
1961
1962 **New component:** Add a new data component. There can be multiple data formats in a component, each with a name and a value. The data of the component is included in braces {}.
1963
1964 **New Array:** Add a new data array. Arrays can have multiple data formats, but only one name. The data of the component is included in brackets [].
1965
1966 **New value:** Add a new value, string, or timestamp. When it is a value or a string, it can be fixed value or read data from a specified address.
1967
1968 **Delete:** Delete the selected field.
1969
1970 **Settings:** Modify the selected field. If the selected fields are components and arrays, only the names can be modified. But components and arrays include values that can modify parameters.
1971
1972 **Template:** Paste the JSON text here, and the system will automatically arrange the style to conform to this JSON format, saving the time of self-definition.
1973
1974 **Preview:** Preview JSON data in an easy-to-read format.
1975
1976 **✎Note: A Topic can be up to 512 nodes (including payload), and a node name can be configured to be up to 255 characters length.**
1977
1978 **(3) Security settings**
1979
1980 The topic is published only when the register status matches the setting. As shown in the following figure, this topic will not be published until the address HDX0.0 is set to ON.
1981
1982 (% style="text-align:center" %)
1983 [[image:19.jpg]]
1984
1985 **MQTT Server Settings (AWS IOT)**
1986
1987 **General**
1988
1989 (% style="text-align:center" %)
1990 [[image:20.jpg]]
1991
1992 **Description:** Enter a description or comment about the server. Maximum input length: 255 characters, cannot be empty.
1993
1994 **Cloud service description**: (Select AWS IOT)
1995
1996 ① Common (Common Platform): General MQTT publish-subscribe topic mode.
1997
1998 ② AWS IoT (Amazon): Using "AWS IoT" as the Broker, using Thing to transfer data and support Shadow function.
1999
2000 ③ ALi (Alibaba Cloud): Using "Alibaba Cloud" as Broker.
2001
2002 ④ Huawei (Huawei Cloud): Using "Huawei Cloud" as Broker.
2003
2004 **Communication protocol**: MQTT v3.1.1 is supported.
2005
2006 **Domain name:** Set the domain name of the MQTT server that receives message. (Obtained from the AWS IOT platform) Maximum input length: 128 characters, cannot be empty, supports letters, numbers, "-", “.”. The symbol cannot be placed at the first character or last character of name.
2007
2008 **Port number:** Set the MQTT server port to receive message. Range: 0~~65535, cannot be empty. (AWS IOT platform is generally 8883).
2009
2010 **Client ID:** Login name. Variables can be used as login names. For example: Enter %0 and the Client ID is the device name (This can be set in the HMI background. If not, the default is HMI model). **(✎Note: A Client ID can only be used on one device.)** The maximum configurable length is 40 characters.
2011
2012 **Timestamp:** LOCAL: Using the HMI time as the timestamp. UTC Time: Using UTC+0.
2013
2014
2015 **Address**
2016
2017 (% style="text-align:center" %)
2018 [[image:21.jpg]]
2019
2020 **Status address: (Total length: 2 words)**
2021
2022 HDWn: Display [MQTT] connection status.
2023
2024 |Value|Description
2025 |0|Disable MQTT server connection
2026 |1|Disconnected or connecting
2027 |2|Successfully connected the MQTT server
2028
2029 HDWn+1: Error prompt
2030
2031 |Value|Description
2032 |0|No error
2033 |-1|General error code of wrong operation
2034 |-3|Disconnected
2035 |-4|Exceed client data concurrency
2036 |-5|Invalid UTF-8 string
2037 |-6|Null pointer parameter
2038 |-7|Topic name is truncated
2039 |-8|Wrong protocol structure body
2040 |-9|Wrong QOS.  (0, 1, 2) is acceptable.
2041 |-10|Attempt to use a non-SSL library for SSL connection
2042 |-11|Wrong MQTT version
2043 |-14|Wrong protocol type
2044 |-15|Option is not suitable for the current request version
2045 |-16|Call MQTT version that is not applicable to request.
2046 |-17|0 length topic connection
2047
2048 **Buffer usage address:** Not available.
2049
2050 **Control address: (Total length: 90 words)**
2051
2052 HDWn: Control the execution or stop of [MQTT Server].
2053
2054 |Value|Description
2055 |0|Ready
2056 |1|Start
2057 |2|Stop
2058 |3|Update
2059
2060 HDWn+1: Reserved for use.
2061
2062 HDWn+5: Port number of the AWS IOT connection.
2063
2064 HDWn+6: Client ID of the AWS IOT connection.
2065
2066 HDWn+26: Domain name of the AWS IOT connection. 
2067
2068 **TLS/SSL Settings**
2069
2070 (% style="text-align:center" %)
2071 [[image:22.jpg]]
2072
2073 **Enable:**
2074
2075 Enabled by default. The default is TLS V1.2.
2076
2077 **Server authentication:**
2078
2079 Enabled by default: Verify whether the server certificate has been certified by a Certificate Authority Certificate (CA). Server certificates are sent by the server when connection is established.
2080
2081 Import: Select CA certificate to import.
2082
2083 More: After the import is successful, clicking it will display the certificate details.
2084
2085 Reset: Reset the import information.
2086
2087 The server name must be matched with the certificate information to verify whether the server name or IP matches the records in the certificate. Domain name and IP are recorded in the Subject Alternative Name in the certificate.
2088
2089 **(3) Client authentication:** The private key and client certificate are the data required for the server to authenticate the client end.
2090
2091 Certificate:
2092
2093 Import: Select certificate to import.
2094
2095 More: After the import is successful, clicking it will display the certificate details.
2096
2097 Reset: Reset the import information.
2098
2099 Key:
2100
2101 Import: Select the key to import.
2102
2103 More: After the import is successful, clicking it will display key details.
2104
2105 Reset: Reset the import information.
2106
2107
2108 **Device setting**
2109
2110 Select [Add] to enter [General property settings and address settings]. To delete a device, select the device and click Delete.
2111
2112 (% style="text-align:center" %)
2113 [[image:23.jpg]]
2114
2115 **General**
2116
2117 (% style="text-align:center" %)
2118 [[image:24.jpg]]
2119
2120 **Device name:** It is consistent with the item name on AWS IOT. Maximum input length: 128 characters, cannot be empty, supports letters, numbers, "-", "_".
2121
2122 **Description:** For distinguish purpose. Maximum input length: 255 characters.
2123
2124 **Minimum time interval between messages:** The minimum time interval can be set between messages to avoid over-publishing MQTT messages. That is, when the interval of value change is less than the minimum time interval between messages, the message will be put in the cache, and the MQTT message will not be released until the minimum time interval between messages is met. Range: 0~~3600000ms.
2125
2126 **QoS:** MQTT provides three levels of reliability called service quality. The service quality of message transmission determines whether the message is guaranteed to be delivered.
2127
2128 0: Messages are sent only once, and delivery is not guaranteed.
2129
2130 1: Message must be delivered at least once.
2131
2132 2: Message is delivered just once.
2133
2134 **Content format:** Not configurable. All data is in JSON format.
2135
2136 **Include timestamps:** Whether to include the timestamp can be decided manually.
2137
2138 **Use the top "d" symbol in the message format:**
2139
2140 This function is only supported when the content format uses [JSON (General)]. When checked, the message format is as follows:
2141
2142 {
2143
2144 "d": {
2145
2146 "addressName1": ...,
2147
2148 "addressName2":...
2149
2150 },
2151
2152 "ts":...
2153
2154 }
2155
2156 When unchecked, the message format is as follows:
2157
2158 {
2159
2160 "addressName1": ...,
2161
2162 "addressName2":...,
2163
2164 "ts":...
2165
2166 }
2167
2168 As shown above, when unchecked, ts and address names are both key at the same level. Therefore, avoid taking the address name as ts.
2169
2170 **Address**
2171
2172 (% style="text-align:center" %)
2173 [[image:25.jpg]]
2174
2175 **Add:** Establish the address source of the topic. The length of each address can be set separately.
2176
2177 **Delete:** Delete the address.
2178
2179 **Settings:** Modify the address and name.
2180
2181 (% style="text-align:center" %)
2182 [[image:26.jpg]]
2183
2184 **Advanced Mode:**
2185
2186 Check the options: Check to configure four “Settings/Status".
2187
2188 Uncheck the options: Check to configure two "Settings/Status".
2189
2190 **Name:** Correspond to the key value in JSON.
2191
2192 **Type:** “Bit" and “Word” are optional. “Word” configuration can choose system of numeration.
2193
2194 **Length:**
2195
2196 Length 1: General JSON format.
2197
2198 Length > 1: Enable the format of JSON array. The values of continuous address with the configuration address as the first address as the elements of the array. This length is valid to the selected "settings/status”. (For example, the length is set to 3, and 4 "settings/states" are checked, so the length of these 4 are all 3). Range: 1-255.
2199
2200 For example, configure as the following figure:
2201
2202 (% style="text-align:center" %)
2203 [[image:27.jpg]]
2204
2205 Then HDW0, HDW2 and HDW4 will be read and published to the reported key; HDW10, HDW12, HDW14 will be read and published to the desired key. For example, if HDW0=1, HDW2=2, HDW4=3, HDW10=4, HDW12=5, and HDW14=6, the subscribed message format is as follows.
2206
2207 {
2208
2209 "state": {
2210
2211 "desired": {
2212
2213 "welcome": [1, 2, 3]
2214
2215 },
2216
2217 "reported": {
2218
2219 "welcome": [4, 5, 6]
2220
2221 }
2222
2223 }
2224
2225 }
2226
2227 **Status (Device address~-~->AWS IOT "reported"):** Pass a value from the Device address to the AWS IOT “reported” in one direction, which is equivalent to publishing to "reported".
2228
2229 **Setting (Device address->AWS IOT "desired"):** Pass a value from the Device address to the AWS IOT “desired” in one direction, which is equivalent to publishing to “desired".
2230
2231 **Status (AWS IOT "reported"->Device address):** Pass a value from AWS IOT "reported" to Device address in one direction, which is equivalent to subscribing to "reported".
2232
2233 **Settings (AWS IOT "desired"->Device address):** Pass a value from the AWS IOT "desired" to the Device address in one direction, which is equivalent to subscribing to "desired".
2234
2235 **Remove JSON array brackets' ['and'] ':** Check to remove array symbols when using non-array bits or characters. (Configurable when length is 1).
2236
2237 **MQTT Server Settings (ALi)**
2238
2239 **General**
2240
2241 (% style="text-align:center" %)
2242 [[image:28.jpg]]
2243
2244 **Description:** Enter a description or comment about the server. Maximum input length: 255 characters, cannot be empty.
2245
2246 **Cloud service description**: (Select Ali)
2247
2248 ① Common (Common Platform): General MQTT publish-subscribe topic mode.
2249
2250 ② AWS IoT (Amazon): Using "AWS IoT" as the Broker, using Thing to transfer data and support Shadow function.
2251
2252 ③ ALi (Alibaba Cloud): Using "Alibaba Cloud" as Broker.
2253
2254 ④ Huawei (Huawei Cloud): Using "Huawei Cloud" as Broker.
2255
2256 **Communication protocol**: MQTTv3.1, v3.1.1 and v5 are supported.
2257
2258 **Domain name:** Set the domain name of the MQTT server that receives message. Maximum input length: 128 characters, cannot be empty, supports letters, numbers, "-", “.”. The symbol cannot be placed at the first character or last character of name.
2259
2260 **Port number:** Set the MQTT server port to subscribe message. Range: 0~~65535, cannot be empty.
2261
2262 **Client ID:** Login name. Variables can be used as login names. For example: Enter %0 and the Client ID is the device name (This can be set in the HMI background. If not, the default is HMI model). (Note: A Client ID can only be used for one device.) When there is no custom Client ID length, the maximum configurable length of a Client ID is 64 characters.
2263
2264 **ProductId:** The key of the product to which the device belongs, that is, the globally unique identifier issued by the IoT platform for the product. (Obtained from Alibaba Cloud Platform) Maximum input length: 128 characters.
2265
2266 **DeviceId:** Unique identifier of the device within the product. DeviceName is combined with ProductKey of the product to which the device belongs as the device identification, which is used for connection authentication and communication with the IoT platform. (Obtained from Alibaba Cloud Platform) Maximum input length: 64 characters.
2267
2268 **DeviceSecret:** The device key issued by the IoT platform for devices is used for authentication and encryption. It needs to be used in pairs with DeviceName. (Obtained from Alibaba Cloud Platform) Maximum input length: 128 characters.
2269
2270 **Encryption algorithm:** Alibaba Cloud's signature algorithm type supports hmacmd5 and hmacsha1.
2271
2272 **Timestamp:** LOCAL: Using the HMI time as the timestamp. UTC Time: Use UTC+0 time.
2273
2274 **Clean message cache when normal connected:** If option is enabled, when the device is disconnected, the message to be published will be cached in the cache area, and then will be published when the device is online again.
2275
2276
2277 **Address**
2278
2279 (% style="text-align:center" %)
2280 [[image:29.jpg]]
2281
2282 **Status address: (Total length: 2 words)**
2283
2284 HDWn: Display [MQTT] connection status.
2285
2286 |Value|Description
2287 |0|Disable MQTT server connection
2288 |1|Disconnected or connecting
2289 |2|Successfully connected the MQTT server
2290
2291 HDWn+1: Error prompt
2292
2293 |Value|Description
2294 |0|No error
2295 |-1|General error code of wrong operation
2296 |-3|Disconnected
2297 |-4|Exceed client data concurrency
2298 |-5|Invalid UTF-8 string
2299 |-6|Null pointer parameter
2300 |-7|Topic name is truncated
2301 |-8|Wrong protocol structure body
2302 |-9|Wrong QOS.  (0, 1, 2) is acceptable.
2303 |-10|Attempt to use a non-SSL library for SSL connection
2304 |-11|Wrong MQTT version
2305 |-14|Wrong protocol type
2306 |-15|Option is not suitable for the current request version
2307 |-16|Call MQTT version that is not applicable to request.
2308 |-17|0 length topic connection
2309
2310 **Buffer usage address: (Total length: 1 word)**
2311
2312 Unsuccessful published message will be stored in memory as cache, with a maximum 100,000 messages or 2M. Value display as unit %, and it is carried unconditionally.
2313
2314 HDWn: Display buffer usage.
2315
2316 **Control address: (Total length: 258 words)**
2317
2318 HDWn: Control the execution or stop of [MQTT Server].
2319
2320 |Value|Description
2321 |0|Ready
2322 |1|Start
2323 |2|Stop
2324 |3|Update
2325
2326 HDWn+1: Port number of the Alibaba Cloud connection.
2327
2328 HDWn+2: Domain name title of the Alibaba Cloud connection.
2329
2330 HDWn+66: Client ID of the Alibaba Cloud connection.
2331
2332 HDWn+98: ProductId of the Alibaba Cloud connection.
2333
2334 HDWn+162: DeviceId of the Alibaba Cloud connection.
2335
2336 HDWn+194: DeviceSecret of the Alibaba Cloud connection.
2337
2338 **TLS/SSL Settings**
2339
2340 (% style="text-align:center" %)
2341 [[image:30.jpg]]
2342
2343 **Enable:** Enable TLS/SSL encryption. User can manually select encrypted versions of TLS 1.0, TLS 1.1, or TLS 1.2.
2344
2345 **Server authentication:**
2346
2347 Enable: Verify whether the server certificate has been certified by a Certificate Authority Certificate (CA). Server certificates are sent by the server when connection is established.
2348
2349 Import: Select CA certificate to import.
2350
2351 More: After the import is successful, clicking it will display the certificate details.
2352
2353 Reset: Reset the import information.
2354
2355 The server name must be matched with the certificate information to verify whether the server name or IP matches the records in the certificate. Domain name and IP are recorded in the Subject Alternative Name in the certificate.
2356
2357 **(3) Client authentication:** The private key and client certificate are the data required for the server to authenticate the client end.
2358
2359 Certificate:
2360
2361 Import: Select certificate to import.
2362
2363 More: After the import is successful, clicking it will display the certificate details.
2364
2365 Reset: Reset the import information.
2366
2367 Key:
2368
2369 Import: Select the key to import.
2370
2371 More: After the import is successful, clicking it will display key details.
2372
2373 Reset: Reset the import information.
2374
2375
2376 **MQTT Topic**
2377
2378 (% class="wikigeneratedid" id="H1.MQTTtopicpublish" %)
2379 **MQTT topic publish**
2380
2381 Select [Topic publish], click [Add], enter [Add MQTT topic publish object], and set the general settings and address. The maximum number of MQTT published topics is 255.
2382
2383 (% style="text-align:center" %)
2384 [[image:31.jpg]]
2385
2386 **General properties**
2387
2388 (% style="text-align:center" %)
2389 [[image:32.jpg]]
2390
2391
2392 **Alias:** Set the project name of the MQTT theme. Maximum input length: 255 characters, cannot be empty.
2393
2394 **Topic:** The topic received by the MQTT server when sending message. Maximum input length: 255 characters, cannot be empty.
2395
2396 **Sending mode:** **(AUTO/TRIGGER)**
2397
2398 **① AUTO **value change mode: When any value changes, MQTT message is published.
2399
2400 a. Minimum time interval between messages: The minimum time interval can be set between messages to avoid over-publishing MQTT messages. When the interval of value change is less than the minimum time interval between messages, the message will be put in the cache. The MQTT message will not be published until the minimum interval between messages is met. Range: 0~~3600000ms.
2401
2402 b. Periodic mode: Publish MQTT message by the fixed time. Time interval: Set the time interval for periodic publishing, ranging from 1 to 3600s.
2403
2404 **② TRIGGER**
2405
2406 When the specified bit is triggered, the MQTT message is published. When HDX0.0 changes from OFF to ON, an MQTT message is published, and HDX0.0 is automatically set to OFF after publishing.
2407
2408 **Compression type:** Message is compressed before it is transmitted. The compressed message needs to be decompressed before the MQTT client reads it. Zlib, Gzip, or Deflate algorithm can be chosen to compress or decompress the message.
2409
2410 **QoS:** MQTT provides three levels of reliability called service quality. The service quality of message transmission determines whether the message is guaranteed to be delivered.
2411
2412 0: Messages are sent only once, and delivery is not guaranteed.
2413
2414 1: Message must be delivered at least once.
2415
2416 2: Message is delivered just once.
2417
2418 **Retain message:** When checked, the MQTT server will keep the latest message.
2419
2420 **Content format:**
2421
2422 Raw data: Data composed of BYTE data.
2423
2424 JSON (General): Put all data in JSON format of member "d".
2425
2426 JSON (Advanced): JSON format of flexibly customizable nested structure.
2427
2428 **Include timestamps:** This function is only supported when the content format uses [JSON (General)], and whether to include the timestamp can be decided manually.
2429
2430 **Use the top "d" symbol in the message format:**
2431
2432 This function is only supported when the content format uses [JSON (General)]. When checked, the message format is as follows:
2433
2434 {
2435
2436 "d": {
2437
2438 "addressName1": ...,
2439
2440 "addressName2":...
2441
2442 },
2443
2444 "ts":...
2445
2446 }
2447
2448 When unchecked, the message format is as follows:
2449
2450 {
2451
2452 "addressName1": ...,
2453
2454 "addressName2":...,
2455
2456 "ts":...
2457
2458 }
2459
2460 As shown above, when unchecked, ts and address names are both key at the same level. Therefore, avoid taking the address name as ts.
2461
2462
2463 **Address setting**
2464
2465 ①Address settings when content formats use [Raw Data] and [JSON (General)].
2466
2467 (% style="text-align:center" %)
2468 [[image:33.jpg]]
2469
2470 **Add:** Establish the address source of the topic. The length of each address can be set separately.
2471
2472 **Delete:** Delete the address.
2473
2474 **Settings:** Modify the address and name.
2475
2476 (% style="text-align:center" %)
2477 [[image:34.jpg]]
2478
2479 **Included in all message sent**
2480
2481 Check the options: This topic will include this address every time it publishes a message.
2482
2483 Uncheck the options: When the sending mode is value, message is published only when the value of the address changes.
2484
2485 **Remove JSON array brackets' ['and'] ':**
2486
2487 Check the options: Remove the array symbol name when using non-array bits or characters.
2488
2489 **✎Note: A topic can be configured up to 255 nodes. The name length of a node can be configured up to a maximum of 255 characters and cannot be empty.**
2490
2491 ② Address setting when the content format uses [JSON (Advanced)]. [JSON (Advanced)] supports nested structure, which can use components, arrays and other forms. Timestamps and data names can also be customized, which is a more flexible design method.
2492
2493 (% style="text-align:center" %)
2494 [[image:HMIEditor_Db5tLtioq7.jpg]]
2495
2496 The above figure is an example. If setting like above figure, the subscription side will receive the MQTT message like following format.
2497
2498 {
2499 "object": {
2500 "value": "teststring",
2501 "value (1)": 123,
2502 "value (2)": true,
2503 "value (3)": "",
2504 "value (4)": 0,
2505 "value (5)": true
2506 },
2507 "array": [
2508 10,
2509 20,
2510 30
2511 ],
2512 "value (6)": " 2023-04-27T03: 53: 20.156271 "
2513 }
2514
2515 **New component:** Add a new data component. Components can have multiple data formats; each data format has its own Name and Value. The data of the component is included in braces {}.
2516
2517 **New value:** Add a value, string, or timestamp. When it is a value or a string, data can be read for a fixed value or from a specified address.
2518
2519 **Delete:** Delete the selected field.
2520
2521 **Settings:** Modify the selected field. If the selected fields are components and arrays, only the names can be modified. But components and arrays include values that can modify parameters.
2522
2523 **Template:** Paste the JSON text, and the system will automatically arrange the schema to conform to this JSON format, saving the time of self-definition.
2524
2525 **Preview:** Preview JSON data in an easy-to-read format.
2526
2527 **✎Note: A Topic can be up to 512 nodes (including payload), and a node name can be configured to be up to 255 characters length.**
2528
2529
2530 **Security settings**
2531
2532 The topic is published only when the register status matches the setting. As shown in the following figure, this topic will not be published until the address HDX0.0 is set to ON.
2533
2534 (% style="text-align:center" %)
2535 [[image:35.jpg]]
2536
2537 **MQTT topic subscription**
2538
2539 Select [Topic subscription] and click [Add] to enter general property settings and address settings. The maximum number of MQTT subscription topics is 255.
2540
2541 (% style="text-align:center" %)
2542 [[image:36.jpg]]
2543
2544 **General properties**
2545
2546 (% style="text-align:center" %)
2547 [[image:37.jpg]]
2548
2549 **Alias:** Set the project name of the MQTT theme. Maximum input length: 255 characters, cannot be empty.
2550
2551 **Topic:** Topics subscribed from the MQTT server. Maximum input length: 255 characters, cannot be empty.
2552
2553 **Compression type:** The transport compression type of a subscription topic must be the same as that of a publication topic.
2554
2555 **QoS:** MQTT provides three levels of reliability called service quality. The service quality of message transmission determines whether the message is guaranteed to be delivered.
2556
2557 0: Messages are sent only once, and delivery is not guaranteed.
2558
2559 1: Message must be delivered at least once.
2560
2561 2: Message is delivered just once.
2562
2563 **Content format:**
2564
2565 Raw data: There is no original data in a specific format.
2566
2567 JSON (General): JSON format of single-layer structure.
2568
2569 JSON (Advanced): JSON format of flexibly customizable nested structure.
2570
2571 **Verify timestamp:** The user can decide whether to verify the timestamp or not. When checked, it indicates that the received data timestamp must be strictly incremented before it can be updated. Otherwise, it will be judged as outdated data and not updated.
2572
2573 **Use the top "d" symbol in the message format:**
2574
2575 This function is only supported when the content format uses [JSON (General)]. When checked, the message format is as follows:
2576
2577 {
2578
2579 "d": {
2580
2581 "addressName1": ...,
2582
2583 "addressName2":...
2584
2585 },
2586
2587 "ts":...
2588
2589 }
2590
2591 When unchecked, the message format is as follows:
2592
2593 {
2594
2595 "addressName1": ..., "addressName2":...,
2596
2597 "ts":...
2598
2599 }
2600
2601 Please select the appropriate settings according to the data source.
2602
2603 **Address setting**
2604
2605 ①Address settings when content formats use [Raw Data] and [JSON (General)].
2606
2607 (% style="text-align:center" %)
2608 [[image:38.jpg]]
2609
2610 **Add:** Establish the address where the data is placed after the topic is subscribed, and the length of each address can be set separately.
2611
2612 **Delete:** Delete the address.
2613
2614 **Settings:** Modify the address and name.
2615
2616 (% style="text-align:center" %)
2617 [[image:39.jpg]]
2618
2619 **Remove JSON array brackets' ['and'] ':**
2620
2621 When using non-array bits or characters, array symbol can manually be removed.
2622
2623 **✎Note: A topic can be configured up to 255 nodes. The name length of a node can be configured up to a maximum of 255 characters and cannot be empty.**
2624
2625 ② Address setting when the content format uses [JSON (Advanced)]. [JSON (Advanced)] supports nested structure, which can use components, arrays and other forms. Timestamps and data names can also be customized, which is a more flexible design method.
2626
2627 (% style="text-align:center" %)
2628 [[image:40.jpg]]
2629
2630 **New component:** Add a new data component. There can be multiple data formats in a component, each with a name and a value. The data of the component is included in braces {}.
2631
2632 **New Array:** Add a new data array. Arrays can have multiple data formats, but only one name. The data of the component is included in brackets [].
2633
2634 **New value:** Add a value, string, or timestamp. When it is a value or a string, data can be read for a fixed value or from a specified address.
2635
2636 **Delete:** Delete the selected field.
2637
2638 **Settings:** Modify the selected field. If the selected fields are components and arrays, only the names can be modified. But components and arrays include values that can modify parameters.
2639
2640 **Template:** Paste the JSON text, and the system will automatically arrange the schema to conform to this JSON format, saving the time of self-definition.
2641
2642 **Preview:** Preview JSON data in an easy-to-read format.
2643
2644 **✎Note: A Topic can be up to 512 nodes (including payload), and a node name can be configured to be up to 255 characters length.**
2645
2646
2647 **Security settings**
2648
2649 The topic is published only when the register status matches the setting. As shown in the following figure, this topic will not be published until the address HDX0.0 is set to ON.
2650
2651 (% style="text-align:center" %)
2652 [[image:41.jpg]]
2653
2654 **MQTT Server Settings (Huawei)**
2655
2656 **General**
2657
2658 (% style="text-align:center" %)
2659 [[image:42.jpg]]
2660
2661 **Description:** Enter a description or comment about the server. Maximum input length: 255 characters, cannot be empty.
2662
2663 **Cloud service description**: (Select Huawei)
2664
2665 ① Common (Common Platform): General MQTT publish-subscribe topic mode.
2666
2667 ② AWS IoT (Amazon): Using "AWS IoT" as the Broker, using Thing to transfer data and support Shadow function.
2668
2669 ③ ALi (Alibaba Cloud): Using "Alibaba Cloud" as Broker.
2670
2671 ④ Huawei (Huawei Cloud): Using "Huawei Cloud" as Broker.
2672
2673 **Communication protocol**: MQTTv3.1, v3.1.1 and v5 are supported.
2674
2675 **Domain name:** Set the domain name of the MQTT server that subscribe message. Maximum input length: 128 characters, cannot be empty, supports letters, numbers, "-", “.”. The symbol cannot be placed at the first character or last character of name.
2676
2677 **Port number:** Set the MQTT server port to subscribe message. Range: 0~~65535, cannot be empty.
2678
2679 **DeviceId:** **Device ID** generated when registering the device in Huawei Cloud. Maximum input length: 128 characters
2680
2681 **DeviceSecret:** Customized **password **when registering devices on Huawei Cloud Maximum input length: 128 characters.
2682
2683 **Timestamp:** LOCAL: Using the HMI time as the timestamp. UTC Time: Using UTC+0.
2684
2685 **Clean message cache when normal connected:** If option is enabled, when the device is disconnected, the message to be published will be cached in the cache area, and then will be published when the device is online again.
2686
2687
2688 **Address**
2689
2690 (% style="text-align:center" %)
2691 [[image:43.jpg]]
2692
2693 **Status address: (Total length: 2 words)**
2694
2695 HDWn: Display [MQTT] connection status.
2696
2697 |Value|Description
2698 |0|Disable MQTT server connection
2699 |1|Disconnected or connecting
2700 |2|Successfully connected the MQTT server
2701
2702 HDWn+1: Error prompt
2703
2704 |Value|Description
2705 |0|No error
2706 |-1|General error code of wrong operation
2707 |-3|Disconnected
2708 |-4|Exceed client data concurrency
2709 |-5|Invalid UTF-8 string
2710 |-6|Null pointer parameter
2711 |-7|Topic name is truncated
2712 |-8|Wrong protocol structure body
2713 |-9|Wrong QOS.  (0, 1, 2) is acceptable.
2714 |-10|Attempt to use a non-SSL library for SSL connection
2715 |-11|Wrong MQTT version
2716 |-14|Wrong protocol type
2717 |-15|Option is not suitable for the current request version
2718 |-16|Call MQTT version that is not applicable to request.
2719 |-17|0 length topic connection
2720
2721 **Buffer usage address: (Total length: 1 word)**
2722
2723 Unsuccessful published message will be stored in memory as cache, with a maximum 100,000 messages or 2M. Value display as unit %, and it is carried unconditionally.
2724
2725 HDWn: Display buffer usage.
2726
2727 **Control address: (Total length: 194 words)**
2728
2729 HDWn: Control the execution or stop of [MQTT Server].
2730
2731 |Value|Description
2732 |0|Ready
2733 |1|Start
2734 |2|Stop
2735 |3|Update
2736
2737 HDWn+1: Port number of the Huawei Cloud.
2738
2739 HDWn+2: Domain name of the Huawei Cloud.
2740
2741 HDWn+66: DeviceSecret of the Huawei Cloud.
2742
2743 HDWn+130: DeviceSecret of the Huawei Cloud.
2744
2745 **TLS/SSL Settings**
2746
2747 (% style="text-align:center" %)
2748 [[image:44.jpg]]
2749
2750 **Enable:** Enable TLS/SSL encryption. User can manually select encrypted versions of TLS 1.0, TLS 1.1, or TLS 1.2.
2751
2752 **Server authentication:**
2753
2754 Enable: Verify whether the server certificate has been certified by a Certificate Authority Certificate (CA). Server certificates are sent by the server when connection is established.
2755
2756 Import: Select CA certificate to import.
2757
2758 More: After the import is successful, clicking it will display the certificate details.
2759
2760 Reset: Reset the import information.
2761
2762 The server name must match the certificate information: Verify whether the server name or IP matches with the information in the certificate. Domain name and IP are recorded in the Subject Alternative Name from certificate.
2763
2764 **Client authentication:** The private key and client certificate are the data required for the server to authenticate the client end.
2765
2766 Certificate:
2767
2768 Import: Select certificate to import.
2769
2770 More: After the import is successful, clicking it will display the certificate details.
2771
2772 Reset: Reset the import information.
2773
2774 Key:
2775
2776 Import: Select the key to import.
2777
2778 More: After the import is successful, clicking it will display key details.
2779
2780 Reset: Reset the import information.
2781
2782 **MQTT Topic**
2783
2784 **MQTT topic publish**
2785
2786 Select [Topic publish], click [Add], enter [Add MQTT topic publish object], and set the general settings and address. The maximum number of MQTT published topics is 255.
2787
2788 (% style="text-align:center" %)
2789 [[image:45.jpg]]
2790
2791 **General properties**
2792
2793 (% style="text-align:center" %)
2794 [[image:46.jpg]]
2795
2796 **Alias:** Set the project name of the MQTT theme. Maximum input length: 255 characters, cannot be empty.
2797
2798 **Topic:** The topic received by the MQTT server when sending message. Maximum input length: 255 characters, cannot be empty.
2799
2800 **Sending mode:** **(AUTO/TRIGGER)**
2801
2802 **① AUTO **value change mode: When any value changes, MQTT message is published.
2803
2804 a. Minimum time interval between messages: The minimum time interval can be set between messages to avoid over-publishing MQTT messages. When the interval of value change is less than the minimum time interval between messages, the message will be put in the cache. The MQTT message will not be published until the minimum interval between messages is met. Range: 0~~3600000ms.
2805
2806 b. Periodic mode: Publish MQTT message by the fixed time. Time interval: Set the time interval for periodic publishing, ranging from 1 to 3600s.
2807
2808 **② TRIGGER**
2809
2810 When the specified bit is triggered, the MQTT message is published. When HDX0.0 changes from OFF to ON, an MQTT message is published, and HDX0.0 is automatically set to OFF after publishing.
2811
2812 **Compression type:** Message is compressed before it is transmitted. The compressed message needs to be decompressed before the MQTT client reads it. Zlib, Gzip, or Deflate algorithm can be chosen to compress or decompress the message.
2813
2814 **QoS:** MQTT provides three levels of reliability called service quality. The service quality of message transmission determines whether the message is guaranteed to be delivered.
2815
2816 0: Messages are sent only once, and delivery is not guaranteed.
2817
2818 1: Message must be delivered at least once.
2819
2820 2: Message is delivered just once.
2821
2822 **Retain message:** When checked, the MQTT server will keep the latest message.
2823
2824 **Content format:**
2825
2826 Raw data: Data composed of BYTE data.
2827
2828 JSON (General): Put all data in JSON format of member "d".
2829
2830 JSON (Advanced): JSON format of flexibly customizable nested structure.
2831
2832 **Include timestamps:** This function is only supported when the content format uses [JSON (General)], and whether to include the timestamp can be decided manually.
2833
2834 **Use the top "d" symbol in the message format:**
2835
2836 This function is only supported when the content format uses [JSON (General)]. When checked, the message format is as follows:
2837
2838 {
2839
2840 "d": {
2841
2842 "addressName1": ...,
2843
2844 "addressName2":...
2845
2846 },
2847
2848 "ts":...
2849
2850 }
2851
2852 When unchecked, the message format is as follows:
2853
2854 {
2855
2856 "addressName1": ...,
2857
2858 "addressName2":...,
2859
2860 "ts":...
2861
2862 }
2863
2864 As shown above, when unchecked, ts and address names are both key at the same level. Therefore, avoid taking the address name as ts.
2865
2866
2867 **Address setting**
2868
2869 ①Address settings when content formats use [Raw Data] and [JSON (General)].
2870
2871 (% style="text-align:center" %)
2872 [[image:47.jpg]]
2873
2874 **Add:** Establish the address source of the topic. The length of each address can be set separately.
2875
2876 **Delete:** Delete the address.
2877
2878 **Settings:** Modify the address and name.
2879
2880 (% style="text-align:center" %)
2881 [[image:48.jpg]]
2882
2883 **Included in all message sent**
2884
2885 Check the options: This topic will include this address every time it publishes a message.
2886
2887 Uncheck the options: When the sending mode is value, message is published only when the value of the address changes.
2888
2889 **Remove JSON array brackets' ['and'] ':**
2890
2891 Check the options: Remove the array symbol name when using non-array bits or characters.
2892
2893 **✎Note: A topic can be configured up to 255 nodes. The name length of a node can be configured up to a maximum of 255 characters and cannot be empty.**
2894
2895 ② Address setting when the content format uses [JSON (Advanced)]. [JSON (Advanced)] supports nested structure, which can use components, arrays and other forms. Timestamps and data names can also be customized, which is a more flexible design method.
2896
2897 (% style="text-align:center" %)
2898 [[image:49.jpg]]
2899
2900 The above figure is an example. If setting like above figure, the subscription side will receive the MQTT message like following format.
2901
2902 {
2903 "object": {
2904 "value": "teststring",
2905 "value (1)": 123,
2906 "value (2)": true,
2907 "value (3)": "",
2908 "value (4)": 0,
2909 "value (5)": true
2910 },
2911 "array": [
2912 10,
2913 20,
2914 30
2915 ],
2916 "value (6)": " 2023-04-27T03: 53: 20.156271 "
2917 }
2918
2919 **New component:** Add a new data component. Components can have multiple data formats; each data format has its own Name and Value. The data of the component is included in braces {}.
2920
2921 **New value:** Add a value, string, or timestamp. When it is a value or a string, data can be read for a fixed value or from a specified address.
2922
2923 **Delete:** Delete the selected field.
2924
2925 **Settings:** Modify the selected field. If the selected fields are components and arrays, only the names can be modified. But components and arrays include values that can modify parameters.
2926
2927 **Template:** Paste the JSON text, and the system will automatically arrange the schema to conform to this JSON format, saving the time of self-definition.
2928
2929 **Preview:** Preview JSON data in an easy-to-read format.
2930
2931 **✎Note: A Topic can be up to 512 nodes (including payload), and a node name can be configured to be up to 255 characters length.**
2932
2933
2934 **Security settings**
2935
2936 The topic is published only when the register status matches the setting. As shown in the following figure, this topic will not be published until the address HDX0.0 is set to ON.
2937
2938 (% style="text-align:center" %)
2939 [[image:50.jpg]]
2940
2941
2942 **MQTT topic subscription**
2943
2944 Select [Topic subscription] and click [Add] to enter general property settings and address settings. The maximum number of MQTT subscription topics is 255.
2945
2946 (% style="text-align:center" %)
2947 [[image:51.jpg]]
2948
2949 **General properties**
2950
2951 (% style="text-align:center" %)
2952 [[image:52.jpg]]
2953
2954 **Alias:** Set the project name of the MQTT theme. Maximum input length: 255 characters, cannot be empty.
2955
2956 **Topic:** Topics subscribed from the MQTT server. Maximum input length: 255 characters, cannot be empty.
2957
2958 **Compression type:** The transport compression type of a subscription topic must be the same as that of a publication topic.
2959
2960 **QoS:** MQTT provides three levels of reliability called service quality. The service quality of message transmission determines whether the message is guaranteed to be delivered.
2961
2962 0: Messages are sent only once, and delivery is not guaranteed.
2963
2964 1: Message must be delivered at least once.
2965
2966 2: Message is delivered just once.
2967
2968 **Content format:**
2969
2970 Raw data: There is no original data in a specific format.
2971
2972 JSON (General): JSON format of single-layer structure.
2973
2974 JSON (Advanced): JSON format of flexibly customizable nested structure.
2975
2976 **Verify timestamp:** The user can decide whether to verify the timestamp or not. When checked, it indicates that the received data timestamp must be strictly incremented before it can be updated. Otherwise, it will be judged as outdated data and not updated.
2977
2978 **Use the top "d" symbol in the message format:**
2979
2980 This function is only supported when the content format uses [JSON (General)]. When checked, the message format is as follows:
2981
2982 {
2983
2984 "d": {
2985
2986 "addressName1": ...,
2987
2988 "addressName2":...
2989
2990 },
2991
2992 "ts":...
2993
2994 }
2995
2996 When unchecked, the message format is as follows:
2997
2998 {
2999
3000 "addressName1": ..., "addressName2":...,
3001
3002 "ts":...
3003
3004 }
3005
3006 Please select the appropriate settings according to the data source.
3007
3008 **Address setting**
3009
3010 ①Address settings when content formats use [Raw Data] and [JSON (General)].
3011
3012 (% style="text-align:center" %)
3013 [[image:53.jpg]]
3014
3015 **Add:** Establish the address where the data is placed after the topic is subscribed. The length of each address can be set separately.
3016
3017 **Delete:** Delete the address.
3018
3019 **Settings:** Modify the address and name.
3020
3021 (% style="text-align:center" %)
3022 [[image:54.jpg]]
3023
3024 **Remove JSON array brackets' ['and'] ':**
3025
3026 When using non-array bits or characters, array symbol can manually be removed.
3027
3028 **✎Note: A topic can be configured up to 255 nodes. The name length of a node can be configured up to a maximum of 255 characters and cannot be empty.**
3029
3030 ② Address setting when the content format uses [JSON (Advanced)]. [JSON (Advanced)] supports nested structure, which can use components, arrays and other forms. Timestamps and data names can also be customized, which is a more flexible design method.
3031
3032 (% style="text-align:center" %)
3033 [[image:HMIEditor_Db5tLtioq7.jpg]]
3034
3035 **New component:** Add a new data component. There can be multiple data formats in a component, each with a name and a value. The data of the component is included in braces {}.
3036
3037 **New Array:** Add a new data array. Arrays can have multiple data formats, but only one name. The data of the component is included in brackets [].
3038
3039 **New value:** Add a value, string, or timestamp. When it is a value or a string, data can be read for a fixed value or from a specified address.
3040
3041 **Delete:** Delete the selected field.
3042
3043 **Settings:** Modify the selected field. If the selected fields are components and arrays, only the names can be modified. But components and arrays include values that can modify parameters.
3044
3045 **Template:** Paste the JSON text, and the system will automatically arrange the schema to conform to this JSON format, saving the time of self-definition.
3046
3047 **Preview:** Preview JSON data in an easy-to-read format.
3048
3049 **✎Note: A Topic can be up to 512 nodes (including payload), and a node name can be configured to be up to 255 characters length.**
3050
3051
3052 **Security settings**
3053
3054 The topic is published only when the register status matches the setting. As shown in the following figure, this topic will not be published until the address HDX0.0 is set to ON.
3055
3056 (% style="text-align:center" %)
3057 [[image:56.jpg]]
3058
3059 = OPCUA Server =
3060
3061 (% class="box infomessage" %)
3062 (((
3063 ✎Note: Only 8000ig Series support OPC UA Server.
3064 )))
3065
3066 1.Open the OPCUA server tool
3067
3068 [Project]→[OPCUA server]→[Enable]
3069
3070 (% style="text-align:center" %)
3071 [[image:QOBzq5f8HF.png]]
3072
3073 2.Set General properties
3074
3075 (% style="text-align:center" %)
3076 [[image:e9rHcIHKsj.png]]
3077
3078 **Description:**Description of OPCUA server, character length 0~~255.** **
3079
3080 **OPC TCP:**Set URL of OPCUA server.
3081
3082 **Port number:**The port used by the client for communication.Default: 4840.
3083
3084 **Server name:**Set the name of Server,character length 0~~255.
3085
3086 **Security:**OPCUA server provides four security policies and three authentication methods, and different encryption methods can be implemented through different combinations.
3087
3088 3.User authentication
3089
3090 (% style="text-align:center" %)
3091 [[image:1733132656389-393.png]]
3092
3093 **Anonymous:**When the client chooses to log in anonymously, the permissions to interact with the server include brows, read and write.
3094
3095 **User name password:**The user name and password here are equivalent to the user name and password set on the [Project Settiing\User Login] page. When the client logs in to the server by using the user name and password, the user password used has the same group level as that configured by the server and has corresponding permissions.
3096
3097 4.Main interface
3098
3099 (% style="text-align:center" %)
3100 [[image:1733133255552-776.png]]
3101
3102 **Enable:**Check to configure the relevant properties of the OPC UA server
3103
3104 **Server\Settings:**Configure OPC UA Server Properties
3105
3106 **List of tags:**Display the defined tags
3107
3108 **New group:**Add a new group to manage tags
3109
3110 **New label:**Add the address label you want to monitor, and the name cannot be empty. The length of the label name ranges from 1 to 255.
3111
3112 **Settings:**When a label is selected, click to jump to the label configuration interface.
3113
3114 When a group is selected, click to configure the group name.
3115
3116 **Cancel:**Able to delete tags or groups
3117
3118 (% class="box infomessage" %)
3119 (((
3120 ✎Note: Setting and cancel options are only for the New label and New group, and do not apply to groups that exist by default
3121 )))
3122
3123 5.Label configuration
3124
3125 (% style="text-align:center" %)
3126 [[image:1733133363652-686.png]]
3127
3128
3129 **Name:**Tag name
3130
3131 **Type:**Indicate the read and write attributes of the label. The read attributes are checked by default** **
3132
3133 **Address:**Configure the address to be monitored by the label
3134
3135 **Data Type:**Represent the data type of this label
3136
3137 **Array length:**When the set length exceeds 1, it means that the label is an array, and the array range is 1 to 255.