Wiki source code of 06 Data Tool

Version 46.1 by Mora Zhou on 2023/10/27 16:28

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 )))
36
37 **Alarm Condition:** It sets alarm trigger condition, there are two types: alarm when ON and alarm when OFF.
38
39 **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.
40
41 **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.
42
43 **Content: **It is used for setting alarm content (command).
44
45 **Alarm Screen: **Pop-up alarm screen (it need to be sub-screen);
46
47 * **Position: **The location of the screen alarm display.
48 * **Pop-up Interval: **The time of reopen the alarm screen when alarm screen closed.
49 * **Pop-up once: **Pop up alarm screen once, and the screen would not pop up again
50 * **Close window when alarm off: **Automatically close the alarm screen when alarm off.
51
52 **✎Note:**
53
54 * 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.
55 * 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.
56
57 **Operating Procedures of Adding One Alarm**
58
59 * Click "Project"→"Bit Alarm" as below shows.
60
61 (% style="text-align:center" %)
62 [[image:8.Basic Function_html_5f8da20315334bac.png||data-xwiki-image-style-alignment="center" height="144" width="539" class="img-thumbnail"]]
63
64 * Click "Add" button to open "Bit Alarm" setting window.
65
66 (% style="text-align:center" %)
67 [[image:8.Basic Function_html_94a019683b506e15.png||data-xwiki-image-style-alignment="center" height="307" width="554" class="img-thumbnail"]]
68
69 * Set "Bit Address".
70 * Set "Alarm Condition".
71 * Set "Content".
72 * Other settings can be set according to the actual situation".
73 * Click "OK" button to complete settings.
74
75 == Word alarm ==
76
77 Word alarm is to monitor the word address of a device. If the data meets the set conditions, an alarm will be generated.
78
79 Click "Project"→"Word alarm", it is displayed as the following figure.
80
81 (% style="text-align:center" %)
82 [[image:字报警 1.png||class="img-thumbnail"]]
83
84 **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.
85
86 **Alarm Address: **It is used for setting word address for word alarm, such as HDW0.
87
88 **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.
89
90 **Group No.: **Group number of word alarm. The name is unique and cannot be duplicated.
91
92 **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)
93
94 (% class="box infomessage" %)
95 (((
96 **✎Note:**
97
98 * 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.
99 * 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.
100
101 (% style="margin-left:auto; margin-right:auto; width:358px" %)
102 |=(% style="width: 79px;" %)Series|=(% style="width: 276px;" %)Number of Alarm upload to Cloud
103 |(% style="width:79px" %)8000-R|(% style="text-align:center; width:276px" %)200
104 |(% style="width:79px" %)9000-R|(% style="text-align:center; width:276px" %)200
105 |(% style="width:79px" %)3000ig|(% style="text-align:center; width:276px" %)20
106 |(% style="width:79px" %)8000ig|(% style="text-align:center; width:276px" %)200
107 )))
108
109 **Record alarm:**  Whether to record the alarm history data of word alarm, if checked, it will be saved in the designated storage location.
110
111 **Not save alarm OFF:** If checked, after the alarm is dismissed, the corresponding alarm records will be deleted from the log file.
112
113 **Alarm Condition**: Alarm is triggered when designated address meets the alarm condition, it provides four conditions;
114
115 1. **High alarm:** Alarm is triggered when it reaches high limit. It can be a constant or a variable
116 1. **Low alarm:** Alarm is triggered when it reaches low limit. It can be a constant or a variable
117 1. **Range alarm:** Alarm is triggered when it exceeds the range. It can be a constant or a variable
118 1. **Equivalent alarm: **Alarm is triggered when the value equals to the given data. It can be a constant or a variable
119
120 **Alarm Info: **It is used for setting alarm content (command);
121
122 **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.
123
124 **Alarm Screen: **Pop-up alarm screen (it need to be sub-screen);
125
126 1. **Position: **The location of the screen alarm display.
127 1. **Pop-up Interval: **The time of reopen the alarm screen when alarm screen closed.
128 1. **Pop-up once: **Pop up alarm screen once.
129 1. **Close window when alarm off: **Automatically close the alarm screen when alarm off.
130
131 **Beep when alarm ON: **beep works when the alarm is triggered, in the default mode, the beep works until the alarm is released.
132
133 **Beep once:** Beep works once, when alarm is triggered.
134
135 **Alarm List**
136
137 It displays all the word alarm lists; it will show the alarm information;
138
139 **Operating Procedures of Adding One Alarm**
140
141 * Click "Project"→ "Word Alarm" as below shows.
142
143 (% style="text-align:center" %)
144 [[image:8.Basic Function_html_1b59522c984cd7c2.png||height="144" width="492" class="img-thumbnail"]]
145
146 * Click "AddClick" button to open "Word Alarm" setting window.
147
148 (% style="text-align:center" %)
149 [[image:8.Basic Function_html_942107c81fc6901c.png||height="307" width="554" class="img-thumbnail"]]
150
151 * Set Basic information of word alarm.
152 * Set "Content".
153 * Other settings can be set according to the actual situation.
154 * Click "OK" button to complete settings.
155
156 **HMI Alarm Demo Download Link**
157
158 [[https:~~/~~/drive.google.com/open?id=1Llq03CMISM_1mMIfU308hxFbs4rGdQGP>>url:https://drive.google.com/open?id=1Llq03CMISM_1mMIfU308hxFbs4rGdQGP]]
159
160 = **Recipe** =
161
162 == Overview of recipe ==
163
164 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.
165
166 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].
167
168 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.
169
170 (% class="wikigeneratedid" id="HExample" %)
171 **Example**
172
173 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.
174
175 Table 1 Example recipe
176
177 |Part|Red (Kg)|Green (Kg)|Blue (Kg)|Spraying time (Seconds)
178 |Top|2|2|1|30
179 |Bottom|3|1|2|40
180 |Outside|2|3|3|20
181
182 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**
183
184 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:
185
186 (% style="text-align:center" %)
187 [[image:1.png]]
188
189 Click [Add] to pop up the recipe setting interface, as shown in the following figure:
190
191 (% style="text-align:center" %)
192 [[image:2.png]]
193
194 |Recipe configuration options|Description|Notice
195 |Recipe name|Name the current recipe|Note: Recipe name can only consist of (0~~9), (a~~z), (A~~Z), ('_'), ('') and other non-English characters.
196 |Group number|Configure the group number of the current recipe, ranging from 0 to 1000|
197 |Number of ingredients|Configure the number of the current ingredient, ranging from 0 to 1500|
198
199 |Data configuration options|Description|Notice
200 |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.|
201 |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.|
202 |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" %)**✎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.
203 |Decimal point position|Configure the selection of integer and decimal places of data.
204 |Enable discontinuous addresses|If checked, the address of the recipe list can be modified.|
205 |Language|Recipe display language is selectable.|
206 |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.|
207 |Insert group|Click [Insert group], enter the number of groups to insert, and the corresponding row will be added to the recipe list.|
208 |Delete group.|Click [Delete group] to select the group to delete|
209 |Insert ingredient|Click [Insert group], enter the number of groups to insert, and the corresponding row will be added to the recipe list.|
210 |Delete ingredient|Click [Delete ingredient] to select the ingredient to delete.|
211 |Data import|Import existing data files, supporting .xlsx .xls .csv format.|
212 |Data export|Export configured recipe data|
213
214
215 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.
216
217 Data operation
218
219 1. **Read:** Read a group of data from the recipe file and assign the group of data to the set address.
220 1. **Write: **Read a group of data from the set address and assign the group of data to the corresponding recipe file.
221
222 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.
223
224 The maximum number of group in recipe is 1000, and the maximum number of member in each group is 1500.
225
226 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.
227
228 1. **Simple: **Only support the data operation of one recipe file, including read and write.
229 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".
230
231 Recipe function settings will be display in "[[Recipe display>>http://docs.we-con.com.cn/wiki/pistudio/view/Helps/06.Objects/#HRecipedisplay]]" object.
232
233 **Description**
234
235 (% style="text-align:center" %)
236 [[image:8-1Recipe.png]]
237
238 **Basic**
239
240 * **Recipe Folder:** Give Recipe folder name (It can be used, when setting Recipe display object);
241 ** (% class="box infomessage" %)
242 (((
243 **✎Note: **Recipe Folder name can only consist of (0~~9), (a~~z), (A~~Z), ('_'), (' ') and other non-English characters;
244 )))
245 * **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.
246 * **Elements:** It sets members' initial number of each group;
247 * **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;
248 * **Decimal: **It sets integer and scale digits;
249
250 **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.
251
252 Function address: all operations are done through function addresses, different operating value is as follows:
253
254 * = 0: no operation;
255 * = 1: trigger read data;
256 * = 2: new trigger or update (If there is group number, it updates.)
257 * = 4: insert (only valid in advanced mode)
258 * = 8: delete (Delete according to the writing group number. If write and read address are consistent, refer to the reading group number);
259 * = 16: delete and sorted ((Delete according to the writing group number. If write and read address are consistent, refer to the reading group number)
260 * = 64: import CSV recipe file.
261
262 **Use Multiple File**
263
264 Check it to use more than one recipe file in HMI, but this option only valid in [Advanced mode];
265
266 **Select language**
267
268 The text in HMI can be in 8 languages, user can set language in here;
269
270 **Address**
271
272 1. **Group:** This address is for selecting group number;
273 1. **Start: **This is starting address is for reading and writing in recipe, PIStudio will automatically assigns addresses for each members;
274 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.
275
276 **Use Index**
277
278 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.
279
280 **Query by Element**
281
282 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;
283
284 (% class="box infomessage" %)
285 (((
286 **✎Note: **When this option is enabled, Group address will be invalid.
287 )))
288
289 **Use Independent Write Address**
290
291 To separate Recipe read address and write address.
292
293 **Use Insert**
294
295 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.
296
297 **Discontinuous Address**
298
299 Whether enable the non-consecutive recipe operation addresses or not. If disabled, the recipe address will recover as the continuous addresses.
300
301 (% class="box infomessage" %)
302 (((
303 **✎Note: **This function only supported in HMI+, i series, ie series, ig series.
304 )))
305
306 **Description of adcanced mode**
307
308 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.
309
310 [[image:image-20220806111333-1.jpeg]]
311
312 **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.
313
314 **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).
315
316 **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.
317
318 [[image:image-20220806111355-2.jpeg]]
319
320 **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.
321
322 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.
323
324 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.
325
326 **Recipe Demo Download Link: **[[Download>>url:https://drive.google.com/open?id=1Cjbq_tW-NIirHFBpxt47g7IKvoYaWqUR]]
327
328 == Calling CSV recipe file ==
329
330 **Overview**
331
332 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.
333
334 **Operations**
335
336 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.
337
338 (% style="text-align:center" %)
339 (((
340 (% style="display:inline-block" %)
341 [[Figure 1>>image:image-20220806100702-2.jpeg]]
342 )))
343
344 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.
345
346 (% style="text-align:center" %)
347 [[image:image-20220806100753-3.jpeg]]
348
349 By configuring the address in the table and combining the recipe function, the CSV recipe files of regular series are imported.
350
351 |=Address range|=Object type|=Address function
352 |HSW1050 to 1065|Text input object|Enter the CSV recipe file name to import
353 |HSW1066|Numerical input object|Import CSV file type:(((
354 * = 0: Custom CSV file (all data in the file is valid)
355 * = 1: Normal recipe file for regular series HMI (the data in line 1 of the file is invalid)
356 * = 2: Special recipe file for regular series HMI (the data in line 1 and 2 and column 1 of the file are invalid)
357 )))
358 |HSW1067|Numerical input object|(((
359 Where the CSV file is saved:
360
361 * = 0: In the CsvFile directory of U disk
362 * = 1: In the CsvFile directory of the SD card
363
364 **The path for offline simulation is: C:\ HMIEmulation\ CustomFileDir\ CsvFile**
365 )))
366 |HSW242|Numerical input object|Returns the results of the csv import:(((
367 * = 37: CSV file imported successfully
368 * = 38: CSV file import failed
369 )))
370
371 **Select CSV recipe file (take U disk as an example):**
372
373 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.
374
375 Use the special address of the above table to configure the path of the CSV file: HSW106, configure recipe file name: HSW1050 to1065
376
377 Use HSW1066 address to select the corresponding CSV recipe file type.
378
379 * HSW1066 = 0: Import a user-defined CSV recipe file (all data in the custom CSV file must be valid);
380
381 (% style="text-align:center" %)
382 [[image:image-20220806101129-5.jpeg]]
383
384 * HSW1066=1: Import the normal recipe file of regular series HMI (the data in line 1 of the file is invalid);
385
386 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.**
387
388 (% style="text-align:center" %)
389 [[image:image-20220806101520-6.jpeg]]
390
391 * 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);
392
393 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.**
394
395 (% style="text-align:center" %)
396 [[image:image-20220806102610-7.jpeg]]
397
398 **Perform import**
399
400 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:
401
402 * Configure the DB recipe file name by text input object: HDW500 = 3 (recipe file configured in Figure 1),
403 * Set the recipe function address to: HDW1000 = 64 (the function address configured in Figure 1),
404 * Transform the CSV recipe file in U disk into DB recipe file with file name “3.rcp2”.
405
406 **DB recipe file for storing CSV data:**
407
408 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.
409
410 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).
411
412 **Import results:**
413
414 * HSW242 = 37: Import succeeded;
415 * HSW242 = 38: Import failed.
416
417 **Precautions:**
418
419 * 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);
420 * 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;
421 * 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.
422
423 == **Recipe Record Function** ==
424
425 **Basic setting**
426
427 (% style="text-align:center" %)
428 [[image:3.png]]
429
430 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].
431
432 Recipe shortcut key setting:
433
434 Add data: Used to add groups.
435
436 Delete data: Used to delete the selected configuration
437
438 Upload recipe: Used to upload the address data of the selected group to the corresponding group in recipe records.
439
440 Download recipe: Used to download the address data of the selected group to the corresponding group in recipe records.
441
442 Import recipe: Used to import the existing recipe files.
443
444 Export recipe: Used to export the current recipe as a file.
445
446 **Graphic**
447
448 (% style="text-align:center" %)
449 [[image:4.png]]
450
451 Style selection: Styles can be switched or customized.
452
453 Background configuration: Set the recipe background, including background color and transparency.
454
455 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.
456
457 **Expansion**
458
459 (% style="text-align:center" %)
460 [[image:5.png]]
461
462 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".
463
464 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.
465
466 Gray level display: When the object is locked, the text message will be grayed out.
467
468 = (% style="color:inherit; font-family:inherit; font-size:29px" %)**Traditional recipe**(%%) =
469
470 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.
471
472 Traditional recipe function is valid only when the LEVI project is converted to the PI project, and the original project uses the traditional recipe.
473
474 (% class="box infomessage" %)
475 (((
476 **✎Note**: Currently, only HMI+, i series, ie series, and ig series support the traditional recipe.
477 )))
478
479 == Simple recipe mode ==
480
481 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:
482
483 (% style="text-align:center" %)
484 [[image:8-3TraditionalRecipeConfigScreen.png||class="img-thumbnail"]]
485
486 **✎Note**:
487
488 * The recipe folder name can only consist of (0~~9), (a~~z), (A~~Z), ('_'), ('').
489 * The element name of the recipe cannot include following 5 special characters: " **,** " , " **|** " , " **<** " , " **>** " , " **&** " .
490
491 == Recipe display ==
492
493 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.
494
495 (% class="box infomessage" %)
496 (((
497 **✎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:
498 )))
499
500 (% style="text-align:center" %)
501 [[image:8-4TraditionalRecipeDisplayConfigScreen.png||class="img-thumbnail"]]
502
503 == Recipe transmission address ==
504
505 The special addresses used in the Recipe are shown in the following table:
506
507 (% class="table-bordered" %)
508 |=Address|=Description|=Function
509 |HSW1611|Traditional Recipe transfer operation.|(((
510 ~=1: Recipe download.
511
512 ~=2: Recipe upload.
513 )))
514 |HSW1612|Traditional Recipe group number.|Traditional Recipe group number.
515 |(((
516 HSW242
517 )))|(((
518 Recipe operation result prompt:
519
520 Upload: Data is written to recipe file from address.
521
522 Download: Data is written to the address from recipe file.
523 )))|(((
524 ~=1: Recipe download, start.
525
526 ~=2: Recipe download, execution error.
527
528 ~=6: Recipe download, successful.
529
530 ~=7: Recipe upload, start.
531
532 ~=8: Recipe upload, execution error.
533
534 ~=11: Recipe group name does not exist.
535
536 ~=12: Recipe upload, successful.
537 )))
538
539 == **Recipe index** ==
540
541 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".
542
543 The recipe index area (RPW)'s instruction as follows:
544
545 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.
546 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.
547
548 * **✎Note**: As long as RPW~*~*~#~#~#~# exists, any object "writes" to HPW~*~*~#~#~#~# will be saved to the recipe file. 
549
550 (% start="3" %)
551 1. The RPW register only supports word address access.
552 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.
553
554 == Recipe example ==
555
556 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".
557
558 Edit the recipe configuration, create three groups of recipes, 4 elements for per group: Red, green, blue, spraying time, as following shown:
559
560 (% style="text-align:center" %)
561 [[image:8-5TraditionalRecipeCaseConfig.png]]
562
563 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:
564
565 (% style="text-align:center" %)
566 [[image:8-7TraditionalRecipeCaseShowNoOpera.png]]
567
568 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.
569
570 (% style="text-align:center" %)
571 [[image:8-6TraditionalRecipeCaseShow.png]]
572
573 = **Trend chart** =
574
575 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.
576
577 Click "Project" → "Trend chart", it will pop up the following screen. Click "Add" to creat new curve record.
578
579 (% style="text-align:center" %)
580 [[image:趋势图配置 001.png||class="img-thumbnail"]]
581
582 **Settings**
583
584 (% style="text-align:center" %)
585 [[image:趋势图设置 2.png||height="507" width="866"]]
586
587 **(1) Basic settings**
588
589 1. **Curve NO.: **It is for setting curve number,
590 1. **Curve Name:** It is for setting curve name. The length limitation is 31 bytes.
591 1. **Curve (1~~8):** It is for setting the number of curves. The default is 3.
592 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.
593
594 **(2) Sample Type**
595
596 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.
597 1. **Sample unit:** 100ms.
598
599 **(3) Quick Setting**
600
601 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.
602
603 (% style="text-align:center" %)
604 [[image:趋势图设置 3.png||class="img-thumbnail"]]
605
606 (% start="2" %)
607 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.
608
609 **(4) Curve Table:** The sample address you have set would display on it. Click the corresponding box to modify the content.
610
611 (% class="box infomessage" %)
612 (((
613 **✎Note: **Curve names can only consist of Chinese characters, (0~~9), (a~~z), (A~~Z), ('_') (' '), and other non-English characters.
614 )))
615
616 **Trend Chart Demo Download Link**
617
618 [[https:~~/~~/drive.google.com/open?id=1smnaAvSxOWC0WQK4_uvqHXWn4vUZxGJC>>url:https://drive.google.com/open?id=1smnaAvSxOWC0WQK4_uvqHXWn4vUZxGJC]]
619
620 = **History XY plot** =
621
622 Different from TrendChart, uses need to set history XY curve items in project. Please click "Project"-> "History XY Plot" to open the setting screen.
623
624 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.
625
626 (% style="text-align:center" %)
627 [[image:历史XY 2.png||class="img-thumbnail"]]
628
629 (% style="text-align:center" %)
630 [[image:历史XY 3.png||class="img-thumbnail"]]
631
632 **(1) Basic settings**
633
634 1. **Curve NO.: **It is for setting curve number,
635 1. **Curve Name:** It is for setting curve name. The length limitation is 31 bytes.
636 1. **Curve (1~~8):** It is for setting the number of curves. The default is 3.
637 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.
638
639 **(2) Sample Type**
640
641 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.
642 1. **Sample unit:** 100ms.
643
644 **(3) Quick Setting**
645
646 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.
647
648 (% style="text-align:center" %)
649 [[image:image-20220616145435-1.png]]
650
651 (% start="2" %)
652 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.
653
654 **(4) Curve Table:** The sample address you have set would display on it. Click the corresponding box to modify the content.
655
656 (% class="box infomessage" %)
657 (((
658 **✎Note: **Curve names can only consist of Chinese characters, (0~~9), (a~~z), (A~~Z), ('_') (' '), and other non-English characters.
659 )))
660
661 **Operating Procedure**
662
663 * Click "Project" → "History XY Plot" to open the function selecting windows.
664
665 (% style="text-align:center" %)
666 [[image:8.Basic Function_html_5da6ca44bd28acbe.png||height="144" width="533" class="img-thumbnail"]]
667
668 * Click "Add" button to open "History XY Plot” setting windows.
669
670 (% style="text-align:center" %)
671 [[image:8.Basic Function_html_6345b50ea55168fa.png||height="307" width="554" class="img-thumbnail"]]
672
673 * Setting the function of History XY Plot.
674 * Click "OK" to save the setting.
675
676 **Download Link**
677
678 [[https:~~/~~/drive.google.com/open?id=1t4_HuRmIJJ-B5ryA2kVMadD9FywKhZ4r>>url:https://drive.google.com/open?id=1t4_HuRmIJJ-B5ryA2kVMadD9FywKhZ4r]]
679
680 = (% style="color:inherit; font-family:inherit; font-size:29px" %)**Data record**(%%) =
681
682 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.
683
684 The topology is shown in the following figure.
685
686 (% style="text-align:center" %)
687 [[image:8.Basic Function_html_1b4bd09dafa7e049.png||height="332" width="554" class="img-thumbnail"]]
688
689 The data record stored in SD card is also organized according to the above figure.
690
691 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.
692
693 **Sampling interval: **The interval between two consecutive samples was recorded.
694
695 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.
696
697 For the file storage of data, see the file size configuration during data record configuration.
698
699 ✎**Note: **
700
701 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.
702
703 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:
704
705 (% style="margin-left:auto; margin-right:auto; width:513px" %)
706 |=(% style="width: 70px;" %)Series|=(% style="width: 442px;" %)Number of Data Record upload to Cloud
707 |(% style="width:70px" %)8000-R|(% style="text-align:center; width:442px" %)100
708 |(% style="width:70px" %)9000-R|(% style="text-align:center; width:442px" %)100
709 |(% style="width:70px" %)3000ig|(% style="text-align:center; width:442px" %)50
710 |(% style="width:70px" %)8000ig|(% style="text-align:center; width:442px" %)100
711
712 The record group name can only be composed of Chinese characters, (0~~9), (a~~z), (A~~Z), ('_'), ('') and other non-English characters.
713
714 Channel name cannot incloud following symbols: :" , ", " | ", " < ", " > ", " & ".
715
716 (% class="wikigeneratedid" id="HSettings" %)
717 **Settings**
718
719 (% style="text-align:center" %)
720 [[image:数据记录设置 1.png||height="533" width="848" class="img-thumbnail"]]
721
722 **Operating Procedures**
723
724 1. Click "Project"->"Data record" as below shows.
725 1. Click "Add" button to open "Data record" setting window.
726 1. Enter group name, the default is "GroupName0"
727 1. Select "Trigger function" mode, such as "No trigger".
728 1. Set "Total channels", such as 3.
729 1. Click "Apply" button.
730 1. Set Sample cycle, such as 15.
731 1. Set "Start channel" in "Quick settings", such as 4 0.
732 1. Check group information in "Channel list" as below.
733 1. Click "Save" button to complete settings.
734
735 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.
736
737 ✎**Note: **
738
739 * For HMI series 8000 and above, the size of a single file cannot exceed 300M and the total file capacity cannot exceed 1000M.
740 * For HMI series 3000, the size of a single file cannot exceed 4M and the total file capacity cannot exceed 10M.
741 * If the total amount exceeds the range, an alarm will be given during project compilation.
742
743 (% style="text-align:center" %)
744 [[image:数据记录设置 2.png||height="572" width="850" class="img-thumbnail"]]
745
746 **(1) Group name:** Set group name, and he name should be unique.
747
748 **(2) Trigger function:** There are four modes to trigger record.
749
750 1. **No trigger: **Data will be recorded in every sample time.
751 1. **Trigger to record by sample cycle: **Data will be recorded in every same time, when trigger control bit set ON.
752 1. **Trigger to record once and reset: **Data will be recorded when trigger control bit set ON, and the bit will be reset automatically.
753 1. **Trigger to record once: **Data will be recorded when trigger control bit set ON, and the bit need to be reset manually.
754 1. **Trigger address: **It is only valid when the trigger condition is selected. The monitoring cycle for trigger sampling address is 1s.
755
756 **(3) Total channels (1~~100): **Set the numbers of channels. Click "apply" to view the channel lists on the right record channel.
757
758 **(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.
759
760 **Timing address:** It sets address to change sample time when HMI is running;
761
762 **(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.
763
764 **Abnormal value:** It sets a value, when communication fails, data record will record this value;
765
766 **(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.
767
768 **(7) Quick Settings**
769
770 1. **Start Channel:** It sets the continuous addresses for channels.
771 1. **Data Format: **It sets the same data format for channels.
772 1. **Number of Digits:** It sets the digits’ number for channels.
773 1. **Language Settings**: The text in HMI can be in 8 languages, user can set language in here.
774
775 **(8) Channel List**: Besides quick settings, user can set channel name, address, data format, and so on one by one according to real situation.
776
777 **✎Note:**
778
779 * 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.
780 * 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.
781 * The channel name can only be composed of English characters, (0~~9), (a~~z), (A~~Z), ('_'), ('').
782 * The channel name does not include these 5 special characters: ", ", "| "," <", "> "," & ".
783 * 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.
784
785 You could click here to jump to object "[[Data Record Display>>https://docs.we-con.com.cn/bin/view/PIStudio/06.Objects/#HDatarecorddisplay]]"
786
787 = **User permission** =
788
789 **Introduction**
790
791 1. User permission is one of expansion function in PI Series HMI; it provides multi-level of permission for control HMI operations.
792 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.
793 1. Operating record: it records user operations information, the records files are saved in HMI flash; its path is [~\~\flash~\~\UserOperationLogs.db].
794 1. When it is on simulator mode, the files are saved in C disk, its path is [C:~\~\WECON\UserMgrFile\UserOperationLogs.db].
795
796 (% class="box infomessage" %)
797 (((
798 ✎**Note: **
799
800 * The user name and password must be unique. Username can be up to 32 characters, and password can be up to 8 characters.
801 * The multi language function of User permission only supported on HMI system version V2.0 or above
802 )))
803
804 == Settings ==
805
806 Open PIStudio software, then operate as the following figure.
807
808 (% style="text-align:center" %)
809 [[image:用户权限 1.png||class="img-thumbnail"]]
810
811 Click on the cell from UserName and Desc, which can support the multi language.
812
813 (% style="text-align:center" %)
814 [[image:UserPermissionMultilan.png]]
815
816 1. Click "User Permission" in "Data Tool" toolbar.
817 1. Edit user name, click "User0" cell under "UserName", and then enter the user name, one project allows maximum 20 users.
818 1. Edit password, click "User0" cell under "PassWord", and then enter the user name.
819 1. Edit description, click "User0" cell under "Desc", and then enter, description is not necessary。
820 1. Check the groups for each user, there are 11 groups beside admin.
821 1. Editing groups' description, but it is not necessary.
822 1. {{id name="OLE_LINK7"/}}{{id name="OLE_LINK6"/}}Click "Save and Exit" button to complete all settings.
823
824 (% class="box infomessage" %)
825 (((
826 ✎**Note:**
827
828 * 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.
829 * When the configured file does not have the administrator account, a new user can be added  through "Funtion address" and set as the administrator.
830 * 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.
831 * (((
832 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.
833 )))
834 )))
835
836 (((
837
838 )))
839
840 == Object permission configuration ==
841
842 (% style="text-align:center" %)
843 [[image:用户权限 2.png||class="img-thumbnail"]]
844
845 User operation logs support multi languages configuration. Click on the Log Message, the text editor of multi language will be pop up:
846
847 (% style="text-align:center" %)
848 [[image:LogMessagesMultilan.png]]
849
850 **Operation Procedure of Object Permission**
851
852 1. Open the object setting windows;
853 1. Select "Security" windows;
854 1. Check the "User Permission";
855 1. Select "Level" to set permission level;
856 1. Enter "Log Message", it is for operation records, if it was empty, the operation for this object would be not be recorded;
857 1. Select the "Access Denied Setting" mode;
858
859 **Log information description**
860
861 A combination of Chinese characters, numbers, and uppercase and lowercase letters can be entered, and the number does not exceed 63.
862
863 The format of insert variable:{variable address, data format}. e.g., {HDW100,UW2.1}.
864
865 The data format are as follows.
866
867 (% class="table-bordered" %)
868 |=Letter|=Meaning
869 |B|Binary
870 |O|Octonary
871 |U|Unsigned decimal
872 |H|Hexadecimal
873 |b|BCD
874 |F|32-bit float
875 |S|Signed decimal
876 |C|Character
877 |W|Single word
878 |D|Double word
879
880 Examples.
881
882 * Unsigned decimal, BCD, 32-bit float and Signed decimal are as follows.
883
884 {HDW100,UW2.1}:  Indicates the variable address is HDW100. The data format are: unsigned decimal, single word, two integer bits, one decimal place.
885
886 * (((
887 Binary, Octonary and Hexadecimal are as follows.
888 )))
889
890 {HDW100,HD8}: Indicates the variable address is HDW100. The data format are: hexadecimal, double word, eight integer bits.
891
892 * (((
893 Character is as follows.
894 )))
895
896 {HDW100,C32}: Indicates the variable address is HDW100. The data format are: 32 characters.
897
898 When a record is generated, the contents of this variable are replaced by the value of your corresponding address.
899
900 == **Function address** ==
901
902 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.
903
904 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).
905
906 Functions and addresses are as follows.
907
908 (% class="table-bordered" %)
909 |=**Function**|=**Address**|=**Object type**|=**Address function**
910 |(% rowspan="3" %)Sign in|HUW1158~~1335|Drop down list|User name
911 |HUW1002|Character input object|Password
912 |HUW1000|Word Switch (Input 1)|OK (sign in)
913 |(% rowspan="5" %)Change password|HUW1158~~1335|Drop down list|User name
914 |HUW1002|Character input object|Old password
915 |HUW1006|Character input object|New password
916 |HUW1010|Character input object|Confirm password
917 |HUW1000|Word Switch (Input 2)|OK(change password)
918 |Sign out|HUW1000|Word Switch (Input 3) |Sign out
919 |(% rowspan="7" %)(((
920 New user ***1**
921 )))|HUW1014|Character input object|User name
922 |HUW1006|Character input object|password
923 |HUW1010|Character input object|Confirm password
924 |HUW1000|Word Switch (Input 4) |OK(add new user)
925 |HUW1336~~1345|Character input object|User description
926 |HUX1347.0|Bit switch|(((
927 ~=1: User hidden
928
929 ~=0: Visible (Defaults)
930 )))
931 |HUW1000|Word Switch (Input 8) |Save(add Hide features)
932 |(% rowspan="2" %)(((
933 Delete user ***2**
934 )))|HUW1158~~1335|Drop down list|User name
935 |HUW1000|Word Switch (Input 5)|OK (delete user)
936 |Delete Profile|HUW1000|Word Switch (Input 9)|OK(delete)
937 |Export Profile|HUW1000|Word Switch (Input 10)|OK(export)
938 |Import profile|HUW1000|Word Switch (Input 11)|OK(import)
939 |Export log file|HUW1000|Word Switch (Input 12)|OK(export)
940 |Delete log file|HUW1000|Word Switch (Input 13)|OK (delete)
941 |Current user name|HUW1349|Character object|32 Word
942 |System state information|HUW1030|Character input object|System state information
943 |(% rowspan="3" %)Permission settings|HUW1014|Character input object|User name
944 |HUW1348|Bit switch|(((
945 Set the user group:
946
947 HUX1348.0 = 1 administrator;
948
949 HUX1348.1 = 1 group 0 permission;
950
951 HUX1348.2 = 1 group 1 permission;
952
953 (Total group 0 - group 10)
954 )))
955 |HUW1000|Word Switch (Input 6)|Add user rights (set according to HUW1348)
956 |User login mode setting|HUW1382|Word Switch/Numeric input object|(((
957 0: Select a user name from the drop-down list
958
959 1: Use character input object (address HUW1014) to log in with a user name
960 )))
961
962 When the user performs a function operation, the operation result is displayed in the HUW1001.
963
964 (% class="table-bordered" %)
965 |=**Value (HUW1001)**|=**Meaning**
966 |1|Insufficient permissions.
967 |2|Username does not exist.
968 |3|Username already exists.
969 |4|Wrong username or password.
970 |5|Login successfully.
971 |6|Passwords are inconsistent in twice time.
972 |7|Password changed successfully.
973 |8|User added successfully.
974 |9|User deleted successfully.
975 |10|Maximum number of users exceeded.
976 |11|Admin user already exists.
977 |12|User permission modified successfully.
978 |13|File imported successfully.
979 |14|File imported failed.
980 |15|File exported successfully.
981 |16|File exported failed.
982 |17|Logout successfully.
983 |18|Profile deleted successfully.
984 |19|Log file deleted successfully.
985 |20|Hide settings modified successfully.
986 |21|Hide settings modified failed.
987 |22|(((
988 Password already occupied, please reset.
989
990 (For both username and password, it can not repetition)
991 )))
992
993 (% class="box infomessage" %)
994 (((
995 **✎Note:**
996
997 * *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.
998 * *1: When adding new user, the password could not be duplicated with other users.
999 * *2: When deleting user, it is forbidden to delete the admin user.
1000 )))
1001
1002 **User Permission Demo Download**
1003
1004 [[https:~~/~~/drive.google.com/open?id=1qOiEDvo_1H1YqpoLDpS77dGaAFm8nrGq>>url:https://drive.google.com/open?id=1qOiEDvo_1H1YqpoLDpS77dGaAFm8nrGq]]
1005
1006 = Message prompt =
1007
1008 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.
1009
1010 (% style="text-align:center" %)
1011 [[image:消息提示 2.png||class="img-thumbnail"]]
1012
1013 (% style="text-align:center" %)
1014 [[image:8.Basic Function_html_5ce2091d6f7cd732.png||height="515" width="704" class="img-thumbnail"]]
1015
1016 **(1) Message**
1017
1018 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).
1019
1020 **(2) Control**
1021
1022 1. **Current item: **It shows selected message information.
1023 1. **Use trigger address: **When the message is triggered, the trigger address would be set ON.
1024
1025 **For Example:**
1026
1027 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.
1028
1029 1. **Show message: **Check it to display message when HMI is running. It is checked by default.
1030 1. **Show on web: **Check it to display message when remote access HMI screen, it is unchecked by default.
1031
1032 **(3) Message Content**
1033
1034 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.
1035
1036 **(4) Reload Text: **It means discard changes.
1037
1038 **For Example**
1039
1040 User deletes default content or modifies default content, but he wants to give up modification back to original, just click "Reload text".
1041
1042 (% class="box infomessage" %)
1043 (((
1044 **✎Note:**
1045
1046 * If you do not want this prompt during the running of HMI, please uncheck "Show message".
1047 * "Reload text" function would be invalid after clicking "save".
1048 * These 5 special characters are not supported in the header Multi language settings: ",", "|", "<", ">", "&".
1049 )))
1050
1051 = **Cloud** =
1052
1053 **Introduction**
1054
1055 Cloud function is available for following models: the ig series and 8000/9000 series with -R after system upgrade
1056
1057 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.)
1058
1059 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.
1060
1061 (% style="text-align:center" %)
1062 [[image:云配置1.png||height="494" width="750" class="img-thumbnail"]]
1063
1064 **(1) Enable**
1065
1066 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:
1067
1068 |=Series|=Monitoring Tags|=Alarm Record|=Data Record|=OpenCloud Data
1069 |8000-R|300|200|100|1000
1070 |9000-R|300|200|100|1000
1071 |3000ig|100|20|50|500
1072 |8000ig|300|200|100|1000
1073
1074 For example:
1075
1076 * In 3000ig's Cloud, the monitoring tags upload to the Cloud in real time is limited to 100.
1077 * 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).
1078 * 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]]).
1079
1080 **(2) Server Selection**
1081
1082 **Server**: China, ASEAN, and Europe.
1083
1084 **Password**:
1085
1086 1. If the HMI is not bound, this access password will be updated and downloaded into the HMI screen simultaneously.
1087 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.
1088
1089 **(3) Upload Selection**: 
1090
1091 To upload the data collected by HMI to the cloud or a to the third-party server, only one upload method can be selected.
1092
1093 1. **to Cloud**: All the configured tags, data records, and alarm records would be pushed to V-NET.
1094 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]]".
1095
1096 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.
1097
1098 **4) Low Data Mode setting**
1099
1100 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.
1101 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.
1102
1103 = MQTT =
1104
1105 String table[[~[~[image:1.png~]~]>>path:mk:@MSITStore:D:\WV%20Studio20230801\HmiHelp.chm::/leviⅡ/4/4.7.htm]]: A collection entered by the user in advance, contents of table can be referenced by text object.
1106
1107 MQTT[[image:2.png]]: Configurable type MQTT. Users can publish message to the MQTT server or subscribe topics from the MQTT server.
1108
1109 **String table[[image:1.png]]**
1110
1111
1112 A collection entered by the user in advance, contents of table can be referenced by text object. The string table support eight languages at max
1113
1114 Click on the “String table” in "Library" on the upper left corner of the software, as shown in the following figure:
1115
1116 (% style="text-align:center" %)
1117 [[image:String table.jpg||height="513" width="857"]]
1118
1119 (% style="text-align:center" %)
1120 [[image:1.jpg]]
1121
1122 **String table size:**
1123
1124 ① i series, ie series, 3000ig series, General series 3000: The total number of text cannot exceed 8000, or the total size of all string tables does not exceed 1M.
1125
1126 ② General series 8000, General series 9000 and 8000ig series: The total number of texts cannot exceed 10000, or the total size of all string tables does not exceed 5M.
1127
1128 **MQTT Configuration (Common Settings/AWS IOT Settings/ALi Settings/Huawei Settings)[[image:2.png]]**
1129
1130 This chapter explains how to use configurable type MQTT. Users can publish message to the MQTT server or subscribe topics from the MQTT server.
1131
1132 Click “MQTT” in “Data Tool" in the upper side bar of the software.[[image:2.png]]After checking "Enable", the settings window will pop up and select different cloud services for MQTT configuration, as shown in the following figure:
1133
1134 (% style="text-align:center" %)
1135 [[image:MQTT.jpg||height="673" width="929"]]
1136
1137 (% style="text-align:center" %)
1138 [[image:2.jpg]]
1139
1140 **MQTT Server Settings (Common)**
1141
1142 **General**
1143
1144 (% style="text-align:center" %)
1145 [[image:3.jpg]]
1146
1147 **Description:** Enter a description or comment about the server. Maximum input length: 255 characters, cannot be empty.
1148
1149 **Cloud Service**: (Select Common)
1150
1151 ① Common (Common Platform): General MQTT publish-subscribe topic mode.
1152
1153 ② AWS IoT (Amazon): Using "AWS IoT" as the Broker, using Thing to transfer data and support Shadow function.
1154
1155 ③ ALi (Alibaba Cloud): Using "Alibaba Cloud" as Broker.
1156
1157 ④ Huawei (Huawei Cloud): Using "Huawei Cloud" as Broker.
1158
1159 **Communication protocol**: MQTTv3.1, v3.1.1 and v5 are supported.
1160
1161 **Custom Client ID length:** User can customize the length of the Client ID (optional), length range: 20 ~~128.
1162
1163 **Custom username/password length:** Customize the length of user name/password length (optional), length range: 16 ~~ 256.
1164
1165 **IP:** Set the MQTT server IP to subscribe message.
1166
1167 **Use domain name:** Support using domain name to the specify server.
1168
1169 **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.
1170
1171 **Port number:** Set the MQTT server port to subscribe message. Range: 0~~65535, cannot be empty.
1172
1173 **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.
1174
1175 **Verification:** Choose whether to connect to the MQTT server using [User Name] and [Password].
1176
1177 **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.
1178
1179 **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.
1180
1181 **Timestamp:** LOCAL: Using the HMI time as the timestamp. UTC Time: Using UTC+0.
1182
1183 **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.
1184
1185
1186 **Address**
1187
1188 (% style="text-align:center" %)
1189 [[image:4.jpg]]
1190
1191 **Status address: (Total length: 2 words)**
1192
1193 HDWn: Display [MQTT] connection status.
1194
1195 |Value|Description
1196 |0|Disable MQTT server connection
1197 |1|Disconnected or connecting
1198 |2|Successfully connected the MQTT server
1199
1200 HDWn+1: Error prompt
1201
1202 |Value|Description
1203 |0|No error
1204 |-1|General error code of wrong operation
1205 |-3|Disconnected
1206 |-4|Exceed client data concurrency
1207 |-5|Invalid UTF-8 string
1208 |-6|Null pointer parameter
1209 |-7|Topic name is truncated
1210 |-8|Wrong protocol structure body
1211 |-9|Bad QoS, acceptable range is (0, 1, 2)
1212 |-10|Try to use a non-SSL version library for SSL connection
1213 |-11|Wrong MQTT version
1214 |-14|Wrong protocol type
1215 |-15|Option is not suitable for the current request version
1216 |-16|Call MQTT version that is not applicable to request.
1217 |-17|0 length connects topics
1218
1219 **Buffer usage address: (Total length: 1 word)**
1220
1221 Unsuccessful published message will be stored in memory as cache, with a maximum 100,000 messages. Value display as unit %, and it is carried unconditionally.
1222
1223 HDWn: Display buffer usage.
1224
1225 **Control address: (Total length: 123 words; If the domain name is not enabled, it will take up 59 words)**
1226
1227 HDWn: Control the execution or stop of [MQTT Server].
1228
1229 |Value|Description
1230 |0|Ready
1231 |1|Start
1232 |2|Stop
1233 |3|Update
1234
1235 HDWn+1: IP address of the MQTT server. (✎**Note: This address is only valid when IP is used.**)
1236
1237 HDWn+5: Port number of the MQTT server.
1238
1239 HDWn+6: Client ID of the MQTT server connection.
1240
1241 HDWn+26: Authentication is enabled or not. = 0, disabled; = 1, enabled.
1242
1243 HDWn+27: User name of MQTT server connection.
1244
1245 HDWn+43: Password of MQTT server connection.
1246
1247 HDWn+59: Domain name of the MQTT server. (**✎Note: This address is only valid if the domain name is used.**)
1248
1249
1250 **TLS/SSL Settings**
1251
1252 (% style="text-align:center" %)
1253 [[image:5.jpg]]
1254
1255 **Enable:** Enable TLS/SSL encryption. User can manually select encrypted versions of TLS 1.0, TLS 1.1, or TLS 1.2.
1256
1257 **Server authentication:**
1258
1259 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.
1260
1261 Import: Select CA certificate to import.
1262
1263 More: After the import is successful, clicking it will display the certificate details.
1264
1265 Reset: Reset the import information.
1266
1267 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.
1268
1269 **Client authentication:** The private key and client certificate are the data required for the server to authenticate the client end.
1270
1271 Certificate:
1272
1273 Import: Select certificate to import.
1274
1275 More: After the import is successful, clicking it will display the certificate details.
1276
1277 Reset: Reset the import information.
1278
1279 Key:
1280
1281 Import: Select the key to import.
1282
1283 More: After the import is successful, clicking it will display key details.
1284
1285 Reset: Reset the import information.
1286
1287
1288 **System topics**
1289
1290 (% style="text-align:center" %)
1291 [[image:6.jpg]]
1292
1293 **Birth Topic: **The message that HMI will publish when it is connected to server.
1294
1295 **Close Topic:** The last send message before HMI actively disconnects from server connection
1296
1297 **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.
1298
1299 **Topic List:** A list of topics in the HMI that is sent to the server after the HMI is connected to the server.
1300
1301 **Topic:** The actual topic name of the system topic. Maximum input length: 255 characters, cannot be empty.
1302
1303 **Retain message: **The MQTT server keeps the latest message.
1304
1305 **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.
1306
1307 QoS 0: Messages are sent only once, and delivery is not guaranteed.
1308
1309 QoS 1: Message must be delivered at least once.
1310
1311 QoS 2: Message is delivered just once.
1312
1313 **Content format:**
1314
1315 **JSON (Default):** Use default values, default values for each system topic (**The bold is represented as the current actual value**)
1316
1317 **Birth Topic:** 
1318 {
1319 "d": {
1320 "connected": true
1321 },
1322 "ts": " **Current time**"
1323 }**Close Topic: **
1324 {
1325 "d": {
1326 "connected": false
1327 },
1328 "ts": " **Current time**"
1329 }**Last Will: **
1330 {
1331 "d": {
1332 "connected": false
1333 }
1334 }**Topic list:** 
1335 {
1336 "d": {
1337 "topics": [
1338 {
1339 "compression": "
1340
1341
1342 ",
1343
1344 "nickname": "**Subject name**",
1345
1346 "topic": "**Theme**"
1347 },
1348 {
1349 "compression": "**Compression type**",
1350
1351 "nickname": "**Subject nam**e",
1352
1353 "topic": "**Theme**"
1354 }
1355 ]
1356 },
1357 "ts": "**Current time**"
1358 }
1359
1360 Messages within topics vary depending on the actual topic settings. The above is an example of two topics.
1361
1362 **JSON (Customized):** Use custom content.
1363
1364 **Choose the connection network card**
1365
1366 (% style="text-align:center" %)
1367 [[image:7.jpg]]
1368
1369 **Default:** According to the priority order of network adapters set in the HMI background to connect server.
1370
1371 **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.
1372
1373 **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.
1374
1375 **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.
1376
1377 **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.
1378
1379
1380 **MQTT Topic**
1381
1382 **MQTT topic publish**
1383
1384 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.
1385
1386 (% style="text-align:center" %)
1387 [[image:8.jpg]]
1388
1389 **General properties**
1390
1391 (% style="text-align:center" %)
1392 [[image:9.jpg]]
1393
1394 **Alias:** Set the project name of the MQTT topic. Maximum input length: 255 characters, cannot be empty.
1395
1396 **Topic:** The topic received by the MQTT server when sending message. Maximum input length: 255 characters, cannot be empty.
1397
1398 Sending mode: (AUTO/TRIGGER)
1399
1400 **① AUTO **value change mode: When any value changes, MQTT message is published.
1401
1402 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.
1403
1404 b. Periodic mode: Publish MQTT message by the fixed time. Time interval: Set the time interval for periodic publishing. The range is 1~~3600s.
1405
1406 **② TRIGGER**
1407
1408 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.
1409
1410 **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.
1411
1412 **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.
1413
1414 0: Messages are sent only once, and delivery is not guaranteed.
1415
1416 1: Message must be delivered at least once.
1417
1418 2: Message is delivered just once.
1419
1420 **Retain message: **When checked, the MQTT server keeps the latest message.
1421
1422 **Content format:**
1423
1424 Raw data: Data composed of BYTE data.
1425
1426 JSON (General): Put all data in JSON format of member "d".
1427
1428 JSON (Advanced): JSON format of flexibly customizable nested structure.
1429
1430 **Include timestamps:** This function is only supported when the content format uses [JSON (General)], and whether to include the timestamp can be decided manually.
1431
1432 **Use the top "d" symbol in the message format:**
1433
1434 This function is only supported when the content format uses [JSON (General)]. When checked, the message format is as follows:
1435
1436 {
1437
1438 "d": {
1439
1440 "addressName1": ...,
1441
1442 "addressName2":...
1443
1444 },
1445
1446 "ts":...
1447
1448 }
1449
1450 When unchecked, the message format is as follows:
1451
1452 {
1453
1454 "addressName1": ...,
1455
1456 "addressName2":...,
1457
1458 "ts":...
1459
1460 }
1461
1462 As shown above, when unchecked, ts and address names are both key at the same level. Therefore, avoid taking the address name as ts.
1463
1464 **Address setting**
1465
1466 ①Address settings when content formats use [Raw Data] and [JSON (General)].
1467
1468 (% style="text-align:center" %)
1469 [[image:10.jpg]]
1470
1471 **Add:** Establish the address source of the topic. The length of each address can be set separately.
1472
1473 **Delete:** Delete the address.
1474
1475 **Settings:** Modify the address and name.
1476
1477 (% style="text-align:center" %)
1478 [[image:11.jpg]]
1479
1480 **Included in all message sent**
1481
1482 Check the options: This topic will include this address every time it publishes a message.
1483
1484 Uncheck the options: When the sending mode is value, message is published only when the value of the address changes.
1485
1486 **Remove JSON array brackets' ['and'] ':**
1487
1488 Check the options: Remove the array symbol name when using non-array bits or characters.
1489
1490 **✎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.**
1491
1492 ② 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.
1493
1494 (% style="text-align:center" %)
1495 [[image:12.jpg]]
1496
1497 The above figure is an example. If setting like above figure, the subscription side will receive the MQTT message like following format.
1498
1499 {
1500 "object": {
1501 "value": "teststring",
1502 "value (1)": 123,
1503 "value (2)": true,
1504 "value (3)": "",
1505 "value (4)": 0,
1506 "value (5)": true
1507 },
1508 "array": [
1509 10,
1510 20,
1511 30
1512 ],
1513 "value (6)": " 2023-04-27T03: 53: 20.156271 "
1514 }
1515
1516 **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 {}.
1517
1518 **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.
1519
1520 **Delete:** Delete the selected field.
1521
1522 **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.
1523
1524 **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.
1525
1526 **Preview:** Preview JSON data in an easy-to-read format.
1527
1528 **✎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.**
1529
1530 **Security settings**
1531
1532 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.
1533
1534 (% style="text-align:center" %)
1535 [[image:13.jpg]]
1536
1537 **MQTT topic subscription**
1538
1539 Select [Topic subscription] and click [Add] to enter general property settings and address settings. The maximum number of MQTT subscription topics is 255.
1540
1541 (% style="text-align:center" %)
1542 [[image:14.jpg]]
1543
1544 **General properties**
1545
1546 (% style="text-align:center" %)
1547 [[image:15.jpg]]
1548
1549 **Alias:** Set the project name of the MQTT topic. Maximum input length: 255 characters, cannot be empty.
1550
1551 **Topic:** Topics subscribed from the MQTT server. Maximum input length: 255 characters, cannot be empty.
1552
1553 **Compression type:** The transport compression type of a subscription topic must be the same as that of a publication topic.
1554
1555 **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.
1556
1557 0: Messages are sent only once, and delivery is not guaranteed.
1558
1559 1: Message must be delivered at least once.
1560
1561 2: Message is delivered just once.
1562
1563 **Content format:**
1564
1565 Raw data: There is no original data in a specific format.
1566
1567 JSON (General): JSON format of single-layer structure.
1568
1569 JSON (Advanced): JSON format of flexibly customizable nested structure.
1570
1571 **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.
1572
1573 **Use the top "d" symbol in the message format:**
1574
1575 This function is only supported when the content format uses [JSON (General)]. When checked, the message format is as follows:
1576
1577 {
1578
1579 "d": {
1580
1581 "addressName1": ...,
1582
1583 "addressName2":...
1584
1585 },
1586
1587 "ts":...
1588
1589 }
1590
1591 When unchecked, the message format is as follows:
1592
1593 {
1594
1595 "addressName1": ..., "addressName2":...,
1596
1597 "ts":...
1598
1599 }
1600
1601 Please select the appropriate settings according to the data source.
1602
1603 **Address settings**
1604
1605 ①Address settings when content formats use [Raw Data] and [JSON (General)].
1606
1607 (% style="text-align:center" %)
1608 [[image:16.jpg]]
1609
1610 **Add:** Establish the address where the data is stored after the topic is subscribed, and the length of each address can be set separately.
1611
1612 **Delete:** Delete the address.
1613
1614 **Settings:** Modify the address and name.
1615
1616 (% style="text-align:center" %)
1617 [[image:17.jpg]]
1618
1619 **Remove JSON array brackets' ['and'] ':**
1620
1621 When using non-array bits or characters, array symbol can manually be removed.
1622
1623 **✎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.**
1624
1625 ② 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.
1626
1627 (% style="text-align:center" %)
1628 [[image:18.jpg]]
1629
1630 **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 {}.
1631
1632 **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 [].
1633
1634 **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.
1635
1636 **Delete:** Delete the selected field.
1637
1638 **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.
1639
1640 **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.
1641
1642 **Preview:** Preview JSON data in an easy-to-read format.
1643
1644 **✎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.**
1645
1646 **(3) Security settings**
1647
1648 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.
1649
1650 (% style="text-align:center" %)
1651 [[image:19.jpg]]
1652
1653 **MQTT Server Settings (AWS IOT)**
1654
1655 **General**
1656
1657 (% style="text-align:center" %)
1658 [[image:20.jpg]]
1659
1660 **Description:** Enter a description or comment about the server. Maximum input length: 255 characters, cannot be empty.
1661
1662 **Cloud service description**: (Select AWS IOT)
1663
1664 ① Common (Common Platform): General MQTT publish-subscribe topic mode.
1665
1666 ② AWS IoT (Amazon): Using "AWS IoT" as the Broker, using Thing to transfer data and support Shadow function.
1667
1668 ③ ALi (Alibaba Cloud): Using "Alibaba Cloud" as Broker.
1669
1670 ④ Huawei (Huawei Cloud): Using "Huawei Cloud" as Broker.
1671
1672 **Communication protocol**: MQTT v3.1.1 is supported.
1673
1674 **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.
1675
1676 **Port number:** Set the MQTT server port to receive message. Range: 0~~65535, cannot be empty. (AWS IOT platform is generally 8883).
1677
1678 **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.
1679
1680 **Timestamp:** LOCAL: Using the HMI time as the timestamp. UTC Time: Using UTC+0.
1681
1682
1683 **Address**
1684
1685 (% style="text-align:center" %)
1686 [[image:21.jpg]]
1687
1688 **Status address: (Total length: 2 words)**
1689
1690 HDWn: Display [MQTT] connection status.
1691
1692 |Value|Description
1693 |0|Disable MQTT server connection
1694 |1|Disconnected or connecting
1695 |2|Successfully connected the MQTT server
1696
1697 HDWn+1: Error prompt
1698
1699 |Value|Description
1700 |0|No error
1701 |-1|General error code of wrong operation
1702 |-3|Disconnected
1703 |-4|Exceed client data concurrency
1704 |-5|Invalid UTF-8 string
1705 |-6|Null pointer parameter
1706 |-7|Topic name is truncated
1707 |-8|Wrong protocol structure body
1708 |-9|Wrong QOS.  (0, 1, 2) is acceptable.
1709 |-10|Attempt to use a non-SSL library for SSL connection
1710 |-11|Wrong MQTT version
1711 |-14|Wrong protocol type
1712 |-15|Option is not suitable for the current request version
1713 |-16|Call MQTT version that is not applicable to request.
1714 |-17|0 length topic connection
1715
1716 **Buffer usage address:** Not available.
1717
1718 **Control address: (Total length: 90 words)**
1719
1720 HDWn: Control the execution or stop of [MQTT Server].
1721
1722 |Value|Description
1723 |0|Ready
1724 |1|Start
1725 |2|Stop
1726 |3|Update
1727
1728 HDWn+1: Reserved for use.
1729
1730 HDWn+5: Port number of the AWS IOT connection.
1731
1732 HDWn+6: Client ID of the AWS IOT connection.
1733
1734 HDWn+26: Domain name of the AWS IOT connection. 
1735
1736 **TLS/SSL Settings**
1737
1738 (% style="text-align:center" %)
1739 [[image:22.jpg]]
1740
1741 **Enable:**
1742
1743 Enabled by default. The default is TLS V1.2.
1744
1745 **Server authentication:**
1746
1747 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.
1748
1749 Import: Select CA certificate to import.
1750
1751 More: After the import is successful, clicking it will display the certificate details.
1752
1753 Reset: Reset the import information.
1754
1755 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.
1756
1757 **(3) Client authentication:** The private key and client certificate are the data required for the server to authenticate the client end.
1758
1759 Certificate:
1760
1761 Import: Select certificate to import.
1762
1763 More: After the import is successful, clicking it will display the certificate details.
1764
1765 Reset: Reset the import information.
1766
1767 Key:
1768
1769 Import: Select the key to import.
1770
1771 More: After the import is successful, clicking it will display key details.
1772
1773 Reset: Reset the import information.
1774
1775
1776 **Device setting**
1777
1778 Select [Add] to enter [General property settings and address settings]. To delete a device, select the device and click Delete.
1779
1780 (% style="text-align:center" %)
1781 [[image:23.jpg]]
1782
1783 **General**
1784
1785 (% style="text-align:center" %)
1786 [[image:24.jpg]]
1787
1788 **Device name:** It is consistent with the item name on AWS IOT. Maximum input length: 128 characters, cannot be empty, supports letters, numbers, "-", "_".
1789
1790 **Description:** For distinguish purpose. Maximum input length: 255 characters.
1791
1792 **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.
1793
1794 **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.
1795
1796 0: Messages are sent only once, and delivery is not guaranteed.
1797
1798 1: Message must be delivered at least once.
1799
1800 2: Message is delivered just once.
1801
1802 **Content format:** Not configurable. All data is in JSON format.
1803
1804 **Include timestamps:** Whether to include the timestamp can be decided manually.
1805
1806 **Use the top "d" symbol in the message format:**
1807
1808 This function is only supported when the content format uses [JSON (General)]. When checked, the message format is as follows:
1809
1810 {
1811
1812 "d": {
1813
1814 "addressName1": ...,
1815
1816 "addressName2":...
1817
1818 },
1819
1820 "ts":...
1821
1822 }
1823
1824 When unchecked, the message format is as follows:
1825
1826 {
1827
1828 "addressName1": ...,
1829
1830 "addressName2":...,
1831
1832 "ts":...
1833
1834 }
1835
1836 As shown above, when unchecked, ts and address names are both key at the same level. Therefore, avoid taking the address name as ts.
1837
1838 **Address**
1839
1840 (% style="text-align:center" %)
1841 [[image:25.jpg]]
1842
1843 **Add:** Establish the address source of the topic. The length of each address can be set separately.
1844
1845 **Delete:** Delete the address.
1846
1847 **Settings:** Modify the address and name.
1848
1849 (% style="text-align:center" %)
1850 [[image:26.jpg]]
1851
1852 **Advanced Mode:**
1853
1854 Check the options: Check to configure four “Settings/Status".
1855
1856 Uncheck the options: Check to configure two "Settings/Status".
1857
1858 **Name:** Correspond to the key value in JSON.
1859
1860 **Type:** “Bit" and “Word” are optional. “Word” configuration can choose system of numeration.
1861
1862 **Length:**
1863
1864 Length 1: General JSON format.
1865
1866 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.
1867
1868 For example, configure as the following figure:
1869
1870 (% style="text-align:center" %)
1871 [[image:27.jpg]]
1872
1873 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.
1874
1875 {
1876
1877 "state": {
1878
1879 "desired": {
1880
1881 "welcome": [1, 2, 3]
1882
1883 },
1884
1885 "reported": {
1886
1887 "welcome": [4, 5, 6]
1888
1889 }
1890
1891 }
1892
1893 }
1894
1895 **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".
1896
1897 **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".
1898
1899 **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".
1900
1901 **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".
1902
1903 **Remove JSON array brackets' ['and'] ':** Check to remove array symbols when using non-array bits or characters. (Configurable when length is 1).
1904
1905 **MQTT Server Settings (ALi)**
1906
1907 **General**
1908
1909 (% style="text-align:center" %)
1910 [[image:28.jpg]]
1911
1912 **Description:** Enter a description or comment about the server. Maximum input length: 255 characters, cannot be empty.
1913
1914 **Cloud service description**: (Select Ali)
1915
1916 ① Common (Common Platform): General MQTT publish-subscribe topic mode.
1917
1918 ② AWS IoT (Amazon): Using "AWS IoT" as the Broker, using Thing to transfer data and support Shadow function.
1919
1920 ③ ALi (Alibaba Cloud): Using "Alibaba Cloud" as Broker.
1921
1922 ④ Huawei (Huawei Cloud): Using "Huawei Cloud" as Broker.
1923
1924 **Communication protocol**: MQTTv3.1, v3.1.1 and v5 are supported.
1925
1926 **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.
1927
1928 **Port number:** Set the MQTT server port to subscribe message. Range: 0~~65535, cannot be empty.
1929
1930 **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.
1931
1932 **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.
1933
1934 **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.
1935
1936 **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.
1937
1938 **Encryption algorithm:** Alibaba Cloud's signature algorithm type supports hmacmd5 and hmacsha1.
1939
1940 **Timestamp:** LOCAL: Using the HMI time as the timestamp. UTC Time: Use UTC+0 time.
1941
1942 **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.
1943
1944
1945 **Address**
1946
1947 (% style="text-align:center" %)
1948 [[image:29.jpg]]
1949
1950 **Status address: (Total length: 2 words)**
1951
1952 HDWn: Display [MQTT] connection status.
1953
1954 |Value|Description
1955 |0|Disable MQTT server connection
1956 |1|Disconnected or connecting
1957 |2|Successfully connected the MQTT server
1958
1959 HDWn+1: Error prompt
1960
1961 |Value|Description
1962 |0|No error
1963 |-1|General error code of wrong operation
1964 |-3|Disconnected
1965 |-4|Exceed client data concurrency
1966 |-5|Invalid UTF-8 string
1967 |-6|Null pointer parameter
1968 |-7|Topic name is truncated
1969 |-8|Wrong protocol structure body
1970 |-9|Wrong QOS.  (0, 1, 2) is acceptable.
1971 |-10|Attempt to use a non-SSL library for SSL connection
1972 |-11|Wrong MQTT version
1973 |-14|Wrong protocol type
1974 |-15|Option is not suitable for the current request version
1975 |-16|Call MQTT version that is not applicable to request.
1976 |-17|0 length topic connection
1977
1978 **Buffer usage address: (Total length: 1 word)**
1979
1980 Unsuccessful published message will be stored in memory as cache, with a maximum 100,000 messages. Value display as unit %, and it is carried unconditionally.
1981
1982 HDWn: Display buffer usage.
1983
1984 **Control address: (Total length: 258 words)**
1985
1986 HDWn: Control the execution or stop of [MQTT Server].
1987
1988 |Value|Description
1989 |0|Ready
1990 |1|Start
1991 |2|Stop
1992 |3|Update
1993
1994 HDWn+1: Port number of the Alibaba Cloud connection.
1995
1996 HDWn+2: Domain name title of the Alibaba Cloud connection.
1997
1998 HDWn+66: Client ID of the Alibaba Cloud connection.
1999
2000 HDWn+98: ProductId of the Alibaba Cloud connection.
2001
2002 HDWn+162: DeviceId of the Alibaba Cloud connection.
2003
2004 HDWn+194: DeviceSecret of the Alibaba Cloud connection.
2005
2006 **TLS/SSL Settings**
2007
2008 (% style="text-align:center" %)
2009 [[image:30.jpg]]
2010
2011 **Enable:** Enable TLS/SSL encryption. User can manually select encrypted versions of TLS 1.0, TLS 1.1, or TLS 1.2.
2012
2013 **Server authentication:**
2014
2015 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.
2016
2017 Import: Select CA certificate to import.
2018
2019 More: After the import is successful, clicking it will display the certificate details.
2020
2021 Reset: Reset the import information.
2022
2023 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.
2024
2025 **(3) Client authentication:** The private key and client certificate are the data required for the server to authenticate the client end.
2026
2027 Certificate:
2028
2029 Import: Select certificate to import.
2030
2031 More: After the import is successful, clicking it will display the certificate details.
2032
2033 Reset: Reset the import information.
2034
2035 Key:
2036
2037 Import: Select the key to import.
2038
2039 More: After the import is successful, clicking it will display key details.
2040
2041 Reset: Reset the import information.
2042
2043
2044 **MQTT Topic**
2045
2046 (% class="wikigeneratedid" id="H1.MQTTtopicpublish" %)
2047 **MQTT topic publish**
2048
2049 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.
2050
2051 (% style="text-align:center" %)
2052 [[image:31.jpg]]
2053
2054 **General properties**
2055
2056 (% style="text-align:center" %)
2057 [[image:32.jpg]]
2058
2059
2060 **Alias:** Set the project name of the MQTT theme. Maximum input length: 255 characters, cannot be empty.
2061
2062 **Topic:** The topic received by the MQTT server when sending message. Maximum input length: 255 characters, cannot be empty.
2063
2064 **Sending mode:** **(AUTO/TRIGGER)**
2065
2066 **① AUTO **value change mode: When any value changes, MQTT message is published.
2067
2068 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.
2069
2070 b. Periodic mode: Publish MQTT message by the fixed time. Time interval: Set the time interval for periodic publishing, ranging from 1 to 3600s.
2071
2072 **② TRIGGER**
2073
2074 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.
2075
2076 **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.
2077
2078 **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.
2079
2080 0: Messages are sent only once, and delivery is not guaranteed.
2081
2082 1: Message must be delivered at least once.
2083
2084 2: Message is delivered just once.
2085
2086 **Retain message:** When checked, the MQTT server will keep the latest message.
2087
2088 **Content format:**
2089
2090 Raw data: Data composed of BYTE data.
2091
2092 JSON (General): Put all data in JSON format of member "d".
2093
2094 JSON (Advanced): JSON format of flexibly customizable nested structure.
2095
2096 **Include timestamps:** This function is only supported when the content format uses [JSON (General)], and whether to include the timestamp can be decided manually.
2097
2098 **Use the top "d" symbol in the message format:**
2099
2100 This function is only supported when the content format uses [JSON (General)]. When checked, the message format is as follows:
2101
2102 {
2103
2104 "d": {
2105
2106 "addressName1": ...,
2107
2108 "addressName2":...
2109
2110 },
2111
2112 "ts":...
2113
2114 }
2115
2116 When unchecked, the message format is as follows:
2117
2118 {
2119
2120 "addressName1": ...,
2121
2122 "addressName2":...,
2123
2124 "ts":...
2125
2126 }
2127
2128 As shown above, when unchecked, ts and address names are both key at the same level. Therefore, avoid taking the address name as ts.
2129
2130
2131 **Address setting**
2132
2133 ①Address settings when content formats use [Raw Data] and [JSON (General)].
2134
2135 (% style="text-align:center" %)
2136 [[image:33.jpg]]
2137
2138 **Add:** Establish the address source of the topic. The length of each address can be set separately.
2139
2140 **Delete:** Delete the address.
2141
2142 **Settings:** Modify the address and name.
2143
2144 (% style="text-align:center" %)
2145 [[image:34.jpg]]
2146
2147 **Included in all message sent**
2148
2149 Check the options: This topic will include this address every time it publishes a message.
2150
2151 Uncheck the options: When the sending mode is value, message is published only when the value of the address changes.
2152
2153 **Remove JSON array brackets' ['and'] ':**
2154
2155 Check the options: Remove the array symbol name when using non-array bits or characters.
2156
2157 **✎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.**
2158
2159 ② 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.
2160
2161 (% style="text-align:center" %)
2162 [[image:HMIEditor_Db5tLtioq7.jpg]]
2163
2164 The above figure is an example. If setting like above figure, the subscription side will receive the MQTT message like following format.
2165
2166 {
2167 "object": {
2168 "value": "teststring",
2169 "value (1)": 123,
2170 "value (2)": true,
2171 "value (3)": "",
2172 "value (4)": 0,
2173 "value (5)": true
2174 },
2175 "array": [
2176 10,
2177 20,
2178 30
2179 ],
2180 "value (6)": " 2023-04-27T03: 53: 20.156271 "
2181 }
2182
2183 **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 {}.
2184
2185 **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.
2186
2187 **Delete:** Delete the selected field.
2188
2189 **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.
2190
2191 **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.
2192
2193 **Preview:** Preview JSON data in an easy-to-read format.
2194
2195 **✎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.**
2196
2197
2198 **Security settings**
2199
2200 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.
2201
2202 (% style="text-align:center" %)
2203 [[image:35.jpg]]
2204
2205 **MQTT topic subscription**
2206
2207 Select [Topic subscription] and click [Add] to enter general property settings and address settings. The maximum number of MQTT subscription topics is 255.
2208
2209 (% style="text-align:center" %)
2210 [[image:36.jpg]]
2211
2212 **General properties**
2213
2214 (% style="text-align:center" %)
2215 [[image:37.jpg]]
2216
2217 **Alias:** Set the project name of the MQTT theme. Maximum input length: 255 characters, cannot be empty.
2218
2219 **Topic:** Topics subscribed from the MQTT server. Maximum input length: 255 characters, cannot be empty.
2220
2221 **Compression type:** The transport compression type of a subscription topic must be the same as that of a publication topic.
2222
2223 **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.
2224
2225 0: Messages are sent only once, and delivery is not guaranteed.
2226
2227 1: Message must be delivered at least once.
2228
2229 2: Message is delivered just once.
2230
2231 **Content format:**
2232
2233 Raw data: There is no original data in a specific format.
2234
2235 JSON (General): JSON format of single-layer structure.
2236
2237 JSON (Advanced): JSON format of flexibly customizable nested structure.
2238
2239 **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.
2240
2241 **Use the top "d" symbol in the message format:**
2242
2243 This function is only supported when the content format uses [JSON (General)]. When checked, the message format is as follows:
2244
2245 {
2246
2247 "d": {
2248
2249 "addressName1": ...,
2250
2251 "addressName2":...
2252
2253 },
2254
2255 "ts":...
2256
2257 }
2258
2259 When unchecked, the message format is as follows:
2260
2261 {
2262
2263 "addressName1": ..., "addressName2":...,
2264
2265 "ts":...
2266
2267 }
2268
2269 Please select the appropriate settings according to the data source.
2270
2271 **Address setting**
2272
2273 ①Address settings when content formats use [Raw Data] and [JSON (General)].
2274
2275 (% style="text-align:center" %)
2276 [[image:38.jpg]]
2277
2278 **Add:** Establish the address where the data is placed after the topic is subscribed, and the length of each address can be set separately.
2279
2280 **Delete:** Delete the address.
2281
2282 **Settings:** Modify the address and name.
2283
2284 (% style="text-align:center" %)
2285 [[image:39.jpg]]
2286
2287 **Remove JSON array brackets' ['and'] ':**
2288
2289 When using non-array bits or characters, array symbol can manually be removed.
2290
2291 **✎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.**
2292
2293 ② 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.
2294
2295 (% style="text-align:center" %)
2296 [[image:40.jpg]]
2297
2298 **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 {}.
2299
2300 **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 [].
2301
2302 **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.
2303
2304 **Delete:** Delete the selected field.
2305
2306 **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.
2307
2308 **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.
2309
2310 **Preview:** Preview JSON data in an easy-to-read format.
2311
2312 **✎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.**
2313
2314
2315 **Security settings**
2316
2317 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.
2318
2319 (% style="text-align:center" %)
2320 [[image:41.jpg]]
2321
2322 **MQTT Server Settings (Huawei)**
2323
2324 **General**
2325
2326 (% style="text-align:center" %)
2327 [[image:42.jpg]]
2328
2329 **Description:** Enter a description or comment about the server. Maximum input length: 255 characters, cannot be empty.
2330
2331 **Cloud service description**: (Select Huawei)
2332
2333 ① Common (Common Platform): General MQTT publish-subscribe topic mode.
2334
2335 ② AWS IoT (Amazon): Using "AWS IoT" as the Broker, using Thing to transfer data and support Shadow function.
2336
2337 ③ ALi (Alibaba Cloud): Using "Alibaba Cloud" as Broker.
2338
2339 ④ Huawei (Huawei Cloud): Using "Huawei Cloud" as Broker.
2340
2341 **Communication protocol**: MQTTv3.1, v3.1.1 and v5 are supported.
2342
2343 **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.
2344
2345 **Port number:** Set the MQTT server port to subscribe message. Range: 0~~65535, cannot be empty.
2346
2347 **DeviceId:** **Device ID** generated when registering the device in Huawei Cloud. Maximum input length: 128 characters
2348
2349 **DeviceSecret:** Customized **password **when registering devices on Huawei Cloud Maximum input length: 128 characters.
2350
2351 **Timestamp:** LOCAL: Using the HMI time as the timestamp. UTC Time: Using UTC+0.
2352
2353 **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.
2354
2355
2356 **Address**
2357
2358 (% style="text-align:center" %)
2359 [[image:43.jpg]]
2360
2361 **Status address: (Total length: 2 words)**
2362
2363 HDWn: Display [MQTT] connection status.
2364
2365 |Value|Description
2366 |0|Disable MQTT server connection
2367 |1|Disconnected or connecting
2368 |2|Successfully connected the MQTT server
2369
2370 HDWn+1: Error prompt
2371
2372 |Value|Description
2373 |0|No error
2374 |-1|General error code of wrong operation
2375 |-3|Disconnected
2376 |-4|Exceed client data concurrency
2377 |-5|Invalid UTF-8 string
2378 |-6|Null pointer parameter
2379 |-7|Topic name is truncated
2380 |-8|Wrong protocol structure body
2381 |-9|Wrong QOS.  (0, 1, 2) is acceptable.
2382 |-10|Attempt to use a non-SSL library for SSL connection
2383 |-11|Wrong MQTT version
2384 |-14|Wrong protocol type
2385 |-15|Option is not suitable for the current request version
2386 |-16|Call MQTT version that is not applicable to request.
2387 |-17|0 length topic connection
2388
2389 **Buffer usage address: (Total length: 1 word)**
2390
2391 Unsuccessful published message will be stored in memory as cache, with a maximum 100,000 messages. Value display as unit %, and it is carried unconditionally.
2392
2393 HDWn: Display buffer usage.
2394
2395 **Control address: (Total length: 194 words)**
2396
2397 HDWn: Control the execution or stop of [MQTT Server].
2398
2399 |Value|Description
2400 |0|Ready
2401 |1|Start
2402 |2|Stop
2403 |3|Update
2404
2405 HDWn+1: Port number of the Huawei Cloud.
2406
2407 HDWn+2: Domain name of the Huawei Cloud.
2408
2409 HDWn+66: DeviceSecret of the Huawei Cloud.
2410
2411 HDWn+130: DeviceSecret of the Huawei Cloud.
2412
2413 **TLS/SSL Settings**
2414
2415 (% style="text-align:center" %)
2416 [[image:44.jpg]]
2417
2418 **Enable:** Enable TLS/SSL encryption. User can manually select encrypted versions of TLS 1.0, TLS 1.1, or TLS 1.2.
2419
2420 **Server authentication:**
2421
2422 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.
2423
2424 Import: Select CA certificate to import.
2425
2426 More: After the import is successful, clicking it will display the certificate details.
2427
2428 Reset: Reset the import information.
2429
2430 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.
2431
2432 **Client authentication:** The private key and client certificate are the data required for the server to authenticate the client end.
2433
2434 Certificate:
2435
2436 Import: Select certificate to import.
2437
2438 More: After the import is successful, clicking it will display the certificate details.
2439
2440 Reset: Reset the import information.
2441
2442 Key:
2443
2444 Import: Select the key to import.
2445
2446 More: After the import is successful, clicking it will display key details.
2447
2448 Reset: Reset the import information.
2449
2450 **MQTT Topic**
2451
2452 **MQTT topic publish**
2453
2454 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.
2455
2456 (% style="text-align:center" %)
2457 [[image:45.jpg]]
2458
2459 **General properties**
2460
2461 (% style="text-align:center" %)
2462 [[image:46.jpg]]
2463
2464 **Alias:** Set the project name of the MQTT theme. Maximum input length: 255 characters, cannot be empty.
2465
2466 **Topic:** The topic received by the MQTT server when sending message. Maximum input length: 255 characters, cannot be empty.
2467
2468 **Sending mode:** **(AUTO/TRIGGER)**
2469
2470 **① AUTO **value change mode: When any value changes, MQTT message is published.
2471
2472 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.
2473
2474 b. Periodic mode: Publish MQTT message by the fixed time. Time interval: Set the time interval for periodic publishing, ranging from 1 to 3600s.
2475
2476 **② TRIGGER**
2477
2478 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.
2479
2480 **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.
2481
2482 **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.
2483
2484 0: Messages are sent only once, and delivery is not guaranteed.
2485
2486 1: Message must be delivered at least once.
2487
2488 2: Message is delivered just once.
2489
2490 **Retain message:** When checked, the MQTT server will keep the latest message.
2491
2492 **Content format:**
2493
2494 Raw data: Data composed of BYTE data.
2495
2496 JSON (General): Put all data in JSON format of member "d".
2497
2498 JSON (Advanced): JSON format of flexibly customizable nested structure.
2499
2500 **Include timestamps:** This function is only supported when the content format uses [JSON (General)], and whether to include the timestamp can be decided manually.
2501
2502 **Use the top "d" symbol in the message format:**
2503
2504 This function is only supported when the content format uses [JSON (General)]. When checked, the message format is as follows:
2505
2506 {
2507
2508 "d": {
2509
2510 "addressName1": ...,
2511
2512 "addressName2":...
2513
2514 },
2515
2516 "ts":...
2517
2518 }
2519
2520 When unchecked, the message format is as follows:
2521
2522 {
2523
2524 "addressName1": ...,
2525
2526 "addressName2":...,
2527
2528 "ts":...
2529
2530 }
2531
2532 As shown above, when unchecked, ts and address names are both key at the same level. Therefore, avoid taking the address name as ts.
2533
2534
2535 **Address setting**
2536
2537 ①Address settings when content formats use [Raw Data] and [JSON (General)].
2538
2539 (% style="text-align:center" %)
2540 [[image:47.jpg]]
2541
2542 **Add:** Establish the address source of the topic. The length of each address can be set separately.
2543
2544 **Delete:** Delete the address.
2545
2546 **Settings:** Modify the address and name.
2547
2548 (% style="text-align:center" %)
2549 [[image:48.jpg]]
2550
2551 **Included in all message sent**
2552
2553 Check the options: This topic will include this address every time it publishes a message.
2554
2555 Uncheck the options: When the sending mode is value, message is published only when the value of the address changes.
2556
2557 **Remove JSON array brackets' ['and'] ':**
2558
2559 Check the options: Remove the array symbol name when using non-array bits or characters.
2560
2561 **✎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.**
2562
2563 ② 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.
2564
2565 (% style="text-align:center" %)
2566 [[image:49.jpg]]
2567
2568 The above figure is an example. If setting like above figure, the subscription side will receive the MQTT message like following format.
2569
2570 {
2571 "object": {
2572 "value": "teststring",
2573 "value (1)": 123,
2574 "value (2)": true,
2575 "value (3)": "",
2576 "value (4)": 0,
2577 "value (5)": true
2578 },
2579 "array": [
2580 10,
2581 20,
2582 30
2583 ],
2584 "value (6)": " 2023-04-27T03: 53: 20.156271 "
2585 }
2586
2587 **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 {}.
2588
2589 **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.
2590
2591 **Delete:** Delete the selected field.
2592
2593 **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.
2594
2595 **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.
2596
2597 **Preview:** Preview JSON data in an easy-to-read format.
2598
2599 **✎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.**
2600
2601
2602 **Security settings**
2603
2604 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.
2605
2606 (% style="text-align:center" %)
2607 [[image:50.jpg]]
2608
2609
2610 **MQTT topic subscription**
2611
2612 Select [Topic subscription] and click [Add] to enter general property settings and address settings. The maximum number of MQTT subscription topics is 255.
2613
2614 (% style="text-align:center" %)
2615 [[image:51.jpg]]
2616
2617 **General properties**
2618
2619 (% style="text-align:center" %)
2620 [[image:52.jpg]]
2621
2622 **Alias:** Set the project name of the MQTT theme. Maximum input length: 255 characters, cannot be empty.
2623
2624 **Topic:** Topics subscribed from the MQTT server. Maximum input length: 255 characters, cannot be empty.
2625
2626 **Compression type:** The transport compression type of a subscription topic must be the same as that of a publication topic.
2627
2628 **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.
2629
2630 0: Messages are sent only once, and delivery is not guaranteed.
2631
2632 1: Message must be delivered at least once.
2633
2634 2: Message is delivered just once.
2635
2636 **Content format:**
2637
2638 Raw data: There is no original data in a specific format.
2639
2640 JSON (General): JSON format of single-layer structure.
2641
2642 JSON (Advanced): JSON format of flexibly customizable nested structure.
2643
2644 **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.
2645
2646 **Use the top "d" symbol in the message format:**
2647
2648 This function is only supported when the content format uses [JSON (General)]. When checked, the message format is as follows:
2649
2650 {
2651
2652 "d": {
2653
2654 "addressName1": ...,
2655
2656 "addressName2":...
2657
2658 },
2659
2660 "ts":...
2661
2662 }
2663
2664 When unchecked, the message format is as follows:
2665
2666 {
2667
2668 "addressName1": ..., "addressName2":...,
2669
2670 "ts":...
2671
2672 }
2673
2674 Please select the appropriate settings according to the data source.
2675
2676 **Address setting**
2677
2678 ①Address settings when content formats use [Raw Data] and [JSON (General)].
2679
2680 (% style="text-align:center" %)
2681 [[image:53.jpg]]
2682
2683 **Add:** Establish the address where the data is placed after the topic is subscribed. The length of each address can be set separately.
2684
2685 **Delete:** Delete the address.
2686
2687 **Settings:** Modify the address and name.
2688
2689 (% style="text-align:center" %)
2690 [[image:54.jpg]]
2691
2692 **Remove JSON array brackets' ['and'] ':**
2693
2694 When using non-array bits or characters, array symbol can manually be removed.
2695
2696 **✎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.**
2697
2698 ② 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.
2699
2700 (% style="text-align:center" %)
2701 [[image:HMIEditor_Db5tLtioq7.jpg]]
2702
2703 **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 {}.
2704
2705 **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 [].
2706
2707 **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.
2708
2709 **Delete:** Delete the selected field.
2710
2711 **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.
2712
2713 **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.
2714
2715 **Preview:** Preview JSON data in an easy-to-read format.
2716
2717 **✎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.**
2718
2719
2720 **Security settings**
2721
2722 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.
2723
2724 (% style="text-align:center" %)
2725 [[image:56.jpg]]