Changes for page 01 Lua Functions

Last modified by Theodore Xu on 2023/10/26 10:51

From version 2.2
edited by Leo Wei
on 2022/06/16 16:07
Change comment: Update document after refactoring.
To version 5.10
edited by Stone Wu
on 2022/07/12 09:30
Change comment: (Autosaved)

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -01 Lua script function
1 +01 Lua Functions
Parent
... ... @@ -1,1 +1,1 @@
1 -V-BOX.V-Net.1\.User Manual.04 Lua script.WebHome
1 +V-BOX.V-Net.1\.User Manual.04 Lua Script.WebHome
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.admin
1 +XWiki.Stone
Content
... ... @@ -1,70 +1,66 @@
1 -= **1 Interface Description** =
1 += **1 Interface description** =
2 2  
3 -== **1.1 Data type definition** ==
3 +== **Data type definition** ==
4 4  
5 -(% class="table-bordered" style="width:749.989px" %)
6 -|(% style="width:375px" %)**Type**|(% style="width:372px" %)**Description**
7 -|(% style="width:375px" %)nil|(% style="width:372px" %)Null
8 -|(% style="width:375px" %)boolean|(% style="width:372px" %)Boolean, the value is true or false
9 -|(% style="width:375px" %)number|(% style="width:372px" %)Integer or floating point, signed or unsigned
10 -|(% style="width:375px" %)string|(% style="width:372px" %)String
11 -|(% style="width:375px" %)table|(% style="width:372px" %)Table
12 -|(% style="width:375px" %)function|(% style="width:372px" %)Functions
5 +|=**Type**|=**Description**
6 +|=nil|Null
7 +|=boolean|Boolean (the value is true or false)
8 +|=number|Integer or floating point (signed or unsigned)
9 +|=string|String
10 +|=table|Table
11 +|=function|Functions
13 13  
14 -== **1.2 Built-in function library clipping** ==
13 +== **Built-in function library clipping** ==
15 15  
16 16  Full features supported: coroutine/debug/ math/ package/ string/ table/ utf8
17 17  
18 -//,,Some features supported (available in []):** **os[clock/ date/ difftime/ time],,//
17 +//Some features supported (available in []):** **os[clock/ date/ difftime/ time]//
19 19  
20 -//,,Not supported: io/ file,,//
19 +//Not supported: io/ file//
21 21  
22 -== **1.3 Return value description** ==
21 +== **Return value description** ==
23 23  
24 24  The function return type multi means multiple return values (at least 2), usually:
25 25  
26 -//,,1st: nil;,,//
25 +//1st: nil//
27 27  
28 -//,,2nd: the error message;,,//
27 +//2nd: the error message//
29 29  
30 30  (((
31 -== **1.4 Function parameter description** ==
30 +== **Function parameter description** ==
32 32  )))
33 33  
34 -**Assume the function prototype:**
33 +Suppose a function prototype is defined:
35 35  
36 -|(((
37 -//student(string name, number age[, number class])//
35 +{{code language="LUA"}}
36 +student(string name, number age[, number class])
38 38  
39 -**Function:**
38 +Function:
40 40  
41 41  Register a student
42 42  
43 -**Parameters:**
42 +Parameters:
44 44  
45 -//name//: student name
44 +name: student name
46 46  
47 -//age//: student age
46 +age: student age
48 48  
49 -//[class=1]//: Student class
48 +[class=1]: Student class
50 50  
51 -**Return:**
50 +Return:
52 52  
53 53  Succeed: true
54 54  
55 55  Failed: multi
56 -)))
55 +{{/code}}
57 57  
58 -**Comment**
57 +**Explanation**
59 59  
60 -1.string name indicates that the first parameter name is a string
59 +1. string name indicates that the first parameter name is a string
60 +1. number age indicates that the second parameter age is numeric
61 +1. [, number class] indicates that the third parameter class is a numeric value, and it is optional. Specify the default class in class 1 in the parameter description.
62 +1. **Any parameter in the [] is considered to be an optional parameter, and may not be transmitted when called. The default value will be given in the parameter description.**
61 61  
62 -2.number age indicates that the second parameter age is numeric
63 -
64 -3. [, number class] indicates that the third parameter class is a numeric value, and it is optional. Specify the default class in class 1 in the parameter description.
65 -
66 -{{id name="OLE_LINK4"/}}{{id name="OLE_LINK5"/}}4. Any parameter in the brackets of [] is considered to be an optional parameter, and may not be transmitted when called. The default value will be given in the parameter description.
67 -
68 68  **Call example**
69 69  
70 70  |(((
... ... @@ -93,75 +93,66 @@
93 93  
94 94  **Comment**
95 95  
96 -1.From the print result, the second line of the first line is successfully called and returns true; the third line fails the call, the error message is translated as: the bar student has been registered, and there is indeed an error in the code.
92 +1. From the print result, the first line and the second line are successfully called and returns true; the third line fails the call, the error message is translated as: the bar student has been registered, and there is indeed an error in the code.
93 +1. The fourth line of code uses two variables to receive the return value. The call failed, the first variable stat is nil, and the second variable err stores the error message. Then print it out using print, which is the output of the third line. This example shows how to capture and view the error message.
97 97  
98 -2.The fourth line of code uses two variables to receive the return value. The call failed, the first variable stat is nil, and the second variable err stores the error message. Then print it out using print, which is the output of the third line. This example shows how to capture and view the error message.
95 +== **Modification of print function** ==
99 99  
100 -== **1.5 Modification of the Print Function** ==
97 +For the convenience of remote development, the print data is sent to the front end (web page) by means of network transmission, and the user can see the result of the debug output, because it consumes certain data and occupies the bandwidth of the server (or occupies server resources). So the following restrictions are made.
101 101  
102 -For the convenience of remote development, the print data is sent to the front end (web page) by means of network transmission, and the user can see the result of the debug output, because it consumes certain data and occupies the bandwidth of the server (or occupies server resources). So make the following restrictions:
99 +1. **Interval limit: **When debugging, transfer once every 2~~3 seconds;
100 +1. **Data limit: **The transfer data cannot be larger than 1.5KB in a single transmission, otherwise the extra part will be ignored;
101 +1. **Transmission limit: **The data transmission will be stopped automatically after the debugging windows is not closed normally. Only when it is in the debugging window and the switch is on, there is data transmission;
103 103  
104 -**1.Interval limit: **When debugging, transfer once every 2~~3 seconds;
105 -
106 -**2.Data limit: **The transfer data cannot be larger than 1.5KB, and the extra part will be ignored;
107 -
108 -**3.Transmission limit: **The data transmission will be stopped automatically after the debugging windows is not closed normally. Only when it is in the debugging window and the switch is on, there is data transmission;
109 -
110 110  Users should pay attention to avoid printing a lot of useless information, should minimize the debug output
111 111  
112 112  In addition, please refer to the front-end documentation for how to use view debugging.
113 113  
114 114  (((
115 -= **2 Address Operation** =
116 -
117 -**~ Form 2.1**
108 += **2 Address operation** =
118 118  )))
119 119  
120 -(% class="table-bordered" style="width:982px" %)
121 -|(% style="width:167px" %) 16-bit data formal|(% style="width:142px" %) HLword|(% style="width:194px" %) 32-bit data formal|(% style="width:177px" %) HLword|(% style="width:147px" %) 64-bit data formal|(% style="width:152px" %) HLword
122 -|(% style="width:167px" %) 12(Default)|(% style="width:142px" %) 0|(% style="width:194px" %) 1234(Default)|(% style="width:177px" %) 0|(% style="width:147px" %)(((
123 - 12345678(Default)
124 -)))|(% style="width:152px" %)(((
125 - 0
111 +|=16-bit data formal|=HLword|=32-bit data formal|=HLword|= 64-bit data formal|=HLword
112 +|12(Default)|0|1234(Default)|0|(((
113 +12345678(Default)
114 +)))|(((
115 +0
126 126  )))
127 -|(% style="width:167px" %) 21|(% style="width:142px" %) 6|(% style="width:194px" %)(((
128 - 3412(High and low word conversion)
129 -)))|(% style="width:177px" %) 2|(% style="width:147px" %)(((
130 - 34127856  (High and low word conversion)
131 -)))|(% style="width:152px" %) 2
132 -|(% style="width:167px" %) |(% style="width:142px" %) |(% style="width:194px" %) 2143|(% style="width:177px" %) 3|(% style="width:147px" %)(((
133 - 21436587
134 -)))|(% style="width:152px" %) 3
135 -|(% style="width:167px" %) |(% style="width:142px" %) |(% style="width:194px" %) 4321|(% style="width:177px" %) 6|(% style="width:147px" %)(((
136 - 87654321
137 -)))|(% style="width:152px" %) 6
138 -|(% style="width:167px" %) |(% style="width:142px" %) |(% style="width:194px" %) |(% style="width:177px" %) |(% style="width:147px" %)(((
139 - 78563412
140 -)))|(% style="width:152px" %) 7
141 -|(% style="width:167px" %) |(% style="width:142px" %) |(% style="width:194px" %) |(% style="width:177px" %) |(% style="width:147px" %)(((
142 - 56781234
143 -)))|(% style="width:152px" %) 8
144 -|(% style="width:167px" %) |(% style="width:142px" %) |(% style="width:194px" %) |(% style="width:177px" %) |(% style="width:147px" %)(((
145 - 65872143
146 -)))|(% style="width:152px" %) 9
147 -|(% style="width:167px" %) |(% style="width:142px" %) |(% style="width:194px" %) |(% style="width:177px" %) |(% style="width:147px" %)(((
148 - 43218765
149 -)))|(% style="width:152px" %) 10
117 +|21|6|(((
118 +3412(High and low word conversion)
119 +)))|2|(((
120 +34127856  (High and low word conversion)
121 +)))|2
122 +| | |2143|3|(((
123 +21436587
124 +)))|3
125 +| | |4321|6|(((
126 +87654321
127 +)))|6
128 +| | | | |(((
129 +78563412
130 +)))|7
131 +| | | | |(((
132 +56781234
133 +)))|8
134 +| | | | |(((
135 +65872143
136 +)))|9
137 +| | | | |(((
138 +43218765
139 +)))|10
150 150  
151 -* If HLword enters any other value, it will be treated as invalid.
141 + Table 2-1
152 152  
153 - Demo:  Reads a 32-bit floating-point number at position D0 of PLC
143 +(% class="box errormessage" %)
144 +(((
145 +**✎Note: **If HLword enters any other value, it will be treated as invalid.
146 +)))
154 154  
148 +== **addr_getshort(string addr[, number type, number hlword])** ==
155 155  
156 -(% style="text-align:center" %)
157 -[[image:企业微信截图_20210506180640.png||class="img-thumbnail" height="301" width="600"]]
150 +**Function:** Read 16-bit signed decimal address
158 158  
159 -== **2.1 addr_getshort(string addr[, number type, number hlword])** ==
160 -
161 -**Function:**
162 -
163 -Read 16-bit signed decimal address
164 -
165 165  **Parameters:**
166 166  
167 167  //addr//: address
... ... @@ -179,13 +179,11 @@
179 179  Failed: multi
180 180  
181 181  (((
182 -== **2.2 addr_setshort(string addr, number num[, number type, number hlword])** ==
169 +== **addr_setshort(string addr, number num[, number type, number hlword])** ==
183 183  )))
184 184  
185 -**Function:**
172 +**Function:** Write 16-bit signed decimal address
186 186  
187 -Write 16-bit signed decimal address
188 -
189 189  **Parameters:**
190 190  
191 191  //addr//: address
... ... @@ -203,13 +203,11 @@
203 203  Failed: multi
204 204  
205 205  (((
206 -== **2.3 addr_getword(string addr[, number type, number hlword])** ==
191 +== **addr_getword(string addr[, number type, number hlword])** ==
207 207  )))
208 208  
209 -**Function:**
194 +**Function:** Read 16-bit unsigned decimal address
210 210  
211 -{{id name="OLE_LINK6"/}}Read 16-bit unsigned decimal address
212 -
213 213  **Parameters:**
214 214  
215 215  //addr//: address
... ... @@ -225,13 +225,11 @@
225 225  Failed: multi
226 226  
227 227  (((
228 -== **2.4 addr_setword(string addr, number num[, number type, number hlword])** ==
211 +== **addr_setword(string addr, number num[, number type, number hlword])** ==
229 229  )))
230 230  
231 -**Function:**
214 +**Function:**Write 16-bit unsigned decimal address
232 232  
233 -Write 16-bit unsigned decimal address
234 -
235 235  **Parameters:**
236 236  
237 237  //addr//: address
... ... @@ -249,13 +249,11 @@
249 249  Failed: multi
250 250  
251 251  (((
252 -== **2.5 addr_getint(string addr[, number type, number hlword])** ==
233 +== **addr_getint(string addr[, number type, number hlword])** ==
253 253  )))
254 254  
255 -**Function:**
236 +**Function:** Read 32-bit signed decimal address
256 256  
257 -Read 32-bit signed decimal address
258 -
259 259  **Parameters:**
260 260  
261 261  //addr//: address
... ... @@ -271,13 +271,11 @@
271 271  Failed: multi
272 272  
273 273  (((
274 -== **2.6 addr_setint(string addr, number num[, number type, number hlword])** ==
253 +== **addr_setint(string addr, number num[, number type, number hlword])** ==
275 275  )))
276 276  
277 -**Function:**
256 +**Function:** Write 32-bit signed decimal address
278 278  
279 -Write 32-bit signed decimal address
280 -
281 281  **Parameters:**
282 282  
283 283  //addr//: address
... ... @@ -295,13 +295,11 @@
295 295  Failed: multi
296 296  
297 297  (((
298 -== **2.7 addr_getdword(string addr[, number type, number hlword])** ==
275 +== **addr_getdword(string addr[, number type, number hlword])** ==
299 299  )))
300 300  
301 -**Function:**
278 +**Function:** Read 32-bit unsigned decimal address
302 302  
303 -{{id name="OLE_LINK7"/}}Read 32-bit unsigned decimal address
304 -
305 305  **Parameters:**
306 306  
307 307  //addr//: address
... ... @@ -317,13 +317,11 @@
317 317  Failed: multi
318 318  
319 319  (((
320 -== **2.8 addr_setdword(string addr, number num[, number type, number hlword])** ==
295 +== **addr_setdword(string addr, number num[, number type, number hlword])** ==
321 321  )))
322 322  
323 -**Function:**
298 +**Function:** Write 32-bit unsigned decimal address
324 324  
325 -Write 32-bit unsigned decimal address
326 -
327 327  **Parameters:**
328 328  
329 329  //addr//: address
... ... @@ -341,13 +341,11 @@
341 341  Failed: multi
342 342  
343 343  (((
344 -== **2.9 addr_getbit(string addr[, number type])** ==
317 +== **addr_getbit(string addr[, number type])** ==
345 345  )))
346 346  
347 -**Function:**
320 +**Function:** Read a bit of the register address
348 348  
349 -Read a bit of the register address
350 -
351 351  **Parameters:**
352 352  
353 353  //addr//: address
... ... @@ -363,13 +363,11 @@
363 363  Failed: multi
364 364  
365 365  (((
366 -== **2.10 addr_setbit(string addr, number num[, number type])** ==
337 +== **addr_setbit(string addr, number num[, number type])** ==
367 367  )))
368 368  
369 -**Function:**
340 +**Function:** Write a bit of the register address
370 370  
371 -Write a bit of the register address
372 -
373 373  **Parameters:**
374 374  
375 375  //addr//: address
... ... @@ -376,7 +376,7 @@
376 376  
377 377  //num//: value
378 378  
379 -{{id name="OLE_LINK8"/}}[type = 0]not read through 1: read through
348 +[type = 0]not read through 1: read through
380 380  
381 381  [hlword = 0]  Don't convert,See Form 2.1
382 382  
... ... @@ -387,13 +387,11 @@
387 387  Failed: multi
388 388  
389 389  (((
390 -== **2.11 addr_getfloat(string addr[, number type, number hlword])** ==
359 +== **addr_getfloat(string addr[, number type, number hlword])** ==
391 391  )))
392 392  
393 -**Function:**
362 +**Function:** Read 32-bit floating address
394 394  
395 -Read 32-bit floating address
396 -
397 397  **Parameters:**
398 398  
399 399  //addr//: address
... ... @@ -409,13 +409,11 @@
409 409  Failed: multi
410 410  
411 411  (((
412 -== **2.12 addr_setfloat(string addr, number num[, number type, number hlword])** ==
379 +== **addr_setfloat(string addr, number num[, number type, number hlword])** ==
413 413  )))
414 414  
415 -**Function:**
382 +**Function:** Write 32-bit floating address
416 416  
417 -Write 32-bit floating address
418 -
419 419  **Parameters:**
420 420  
421 421  //addr//: address
... ... @@ -433,13 +433,11 @@
433 433  Failed: multi
434 434  
435 435  (((
436 -== **2.13 addr_getdouble(string addr[, number type, number hlword])** ==
401 +== **addr_getdouble(string addr[, number type, number hlword])** ==
437 437  )))
438 438  
439 -**Function:**
404 +**Function:** Read 64-bit floating address
440 440  
441 -Read 64-bit floating address
442 -
443 443  **Parameters:**
444 444  
445 445  //addr//: address
... ... @@ -455,13 +455,11 @@
455 455  Failed: multi
456 456  
457 457  (((
458 -== **2.14 addr_setdouble(string addr, number num[, number type, number hlword])** ==
421 +== **addr_setdouble(string addr, number num[, number type, number hlword])** ==
459 459  )))
460 460  
461 -**Function:**
424 +**Function:** Write 64-bit floating address
462 462  
463 -Write 64-bit floating address
464 -
465 465  **Parameters:**
466 466  
467 467  addr: address
... ... @@ -479,13 +479,11 @@
479 479  Failed: multi
480 480  
481 481  (((
482 -== **2.15 addr_getstring(string addr, number length[, number type, number hlbyte])** ==
443 +== **addr_getstring(string addr, number length[, number type, number hlbyte])** ==
483 483  )))
484 484  
485 -**Function:**
446 +**Function:** Read the specified length string from address
486 486  
487 -Read the specified length string from address
488 -
489 489  **Parameters:**
490 490  
491 491  //addr//: address
... ... @@ -503,13 +503,11 @@
503 503  Failed: multi
504 504  
505 505  (((
506 -== **2.16 addr_setstring(string addr, string str[, number type, number hlbyte])** ==
465 +== **addr_setstring(string addr, string str[, number type, number hlbyte])** ==
507 507  )))
508 508  
509 -**Function:**
468 +**Function:** Write the specified length string to address
510 510  
511 -Write the specified length string to address
512 -
513 513  **Parameters:**
514 514  
515 515  //addr//: address
... ... @@ -527,13 +527,11 @@
527 527  Failed: multi
528 528  
529 529  (((
530 -== **2.17 addr_bmov(string dst, string src, number length)** ==
487 +== **addr_bmov(string dst, string src, number length)** ==
531 531  )))
532 532  
533 -**Function:**
490 +**Function:** Copy data from source address to destination address
534 534  
535 -Copy data from source address to destination address
536 -
537 537  **Parameters:**
538 538  
539 539  //dst//: destination address
... ... @@ -549,13 +549,11 @@
549 549  **Failed: multi**
550 550  
551 551  (((
552 -== **2.18 addr_fill(string addr, number num, number length)** ==
507 +== **addr_fill(string addr, number num, number length)** ==
553 553  )))
554 554  
555 -**Function:**
510 +**Function:** Write the same value to consecutive addresses
556 556  
557 -Write the same value to consecutive addresses
558 -
559 559  **Parameters:**
560 560  
561 561  //addr//: address
... ... @@ -571,13 +571,11 @@
571 571  Failed: multi
572 572  
573 573  (((
574 -== **2.19 addr_newnoaddr(string addr, number offset)** ==
527 +== **addr_newnoaddr(string addr, number offset)** ==
575 575  )))
576 576  
577 -**Function:**
530 +**Function:** Offset address value relative to //addr//
578 578  
579 -Offset address value relative to //addr//
580 -
581 581  **Parameters:**
582 582  
583 583  //addr//: address
... ... @@ -591,13 +591,11 @@
591 591  Failed: multi
592 592  
593 593  (((
594 -== **2.20 addr_newstataddr(string addr, number offset)** ==
545 +== **addr_newstataddr(string addr, number offset)** ==
595 595  )))
596 596  
597 -**Function:**
548 +**Function:** Offset station number relative to //addr //station number
598 598  
599 -Offset station number relative to //addr //station number
600 -
601 601  **Parameters:**
602 602  
603 603  //addr//: address
... ... @@ -610,12 +610,10 @@
610 610  
611 611  Failed: multi
612 612  
613 -== **2.21 addr_gethex64(string addr[, number type, number hlword])** ==
562 +== **addr_gethex64(string addr[, number type, number hlword])** ==
614 614  
615 -**Function:**
564 +**Function:** Read 64-bit hexadecimal numbers
616 616  
617 -Read 64-bit hexadecimal numbers
618 -
619 619  **Parameters:**
620 620  
621 621  //addr//: address
... ... @@ -630,12 +630,10 @@
630 630  
631 631  Failed: multi
632 632  
633 -== **2.22 addr_sethex64(string addr, number num[, number type, number hlword])** ==
580 +== **addr_sethex64(string addr, number num[, number type, number hlword])** ==
634 634  
635 -**Function:**
582 +**Function:** Write 64-bit hexadecimal addresses
636 636  
637 -Write 64-bit hexadecimal addresses
638 -
639 639  **Parameters:**
640 640  
641 641  //addr//: address
... ... @@ -656,11 +656,11 @@
656 656  
657 657  Operations on the serial port such as read, write, etc. must use ':' for full mode calls, ie operations on an open serial object.
658 658  
659 -**Serial port name and mode:**
604 +**Serial port name and mode**
660 660  
661 661  The serial port configured in the communication configuration window cannot be configured again using the script. RS232 and RS458 (or RS422) can be used simultaneously, but RS422 and RS485 are mutually exclusive.For example, when the communication port is configured with COM1-485, the script can only open COM1-232, but not COM1-485/422. Similarly, when the communication port is configured with COM2-485, the script can only open COM2-232, but not COM2-485.
662 662  
663 -Attempting to use a script to open a serial port in an unsupported mode will result in an error directly, as below
608 +Attempting to use a script to open a serial port in an unsupported mode will result in an error directly, as below.
664 664  
665 665  |(((
666 666  local setup = {
... ... @@ -682,13 +682,11 @@
682 682  1. When the data bit is 8, the maximum value of data transmission is 255 (0xFF), which supports the transmission of any character.
683 683  
684 684  (((
685 -== **3.1 serial.open(table setup)** ==
630 +== **serial.open(table setup)** ==
686 686  )))
687 687  
688 -**Function:**
633 +**Function:** Enable one serial port
689 689  
690 -Enable one serial port
691 -
692 692  **Parameters:**
693 693  
694 694  //Setup// is a Lua table; it needs to contain the following fields
... ... @@ -722,17 +722,13 @@
722 722  Failed: multi
723 723  
724 724  (((
725 -== **3.2 serial.close(serial obj)** ==
668 +== **serial.close(serial obj)** ==
726 726  )))
727 727  
728 -**Function:**
671 +**Function:** Disable the serial port
729 729  
730 -Disable the serial port
673 +**Parameters: **//Obj //is the object returned by serial.open
731 731  
732 -**Parameters:**
733 -
734 -//Obj //is the object returned by serial.open
735 -
736 736  **Return:**
737 737  
738 738  Succeed: true
... ... @@ -740,13 +740,11 @@
740 740  Failed: multi
741 741  
742 742  (((
743 -== **3.3 serial:read(number bytes[, number timeout])** ==
682 +== **serial:read(number bytes[, number timeout])** ==
744 744  )))
745 745  
746 -**Function:**
685 +**Function:** Read the specified byte length serial port data
747 747  
748 -Read the specified byte length serial port data
749 -
750 750  **Parameters:**
751 751  
752 752  //bytes//: number of bytes
... ... @@ -760,15 +760,13 @@
760 760  Failed: multi
761 761  
762 762  (((
763 -== **3.4 serial:write(string data)** ==
700 +== **serial:write(string data)** ==
764 764  )))
765 765  
766 -**Function:**
703 +**Function:** Write the specified byte length to serial port data
767 767  
768 -Write the specified byte length to serial port data
705 +**Parameters: **
769 769  
770 -**Parameters:**
771 -
772 772  //data//: serial port data
773 773  
774 774  **Return:**
... ... @@ -778,13 +778,11 @@
778 778  Failed: multi
779 779  
780 780  (((
781 -== **3.5 serial:flush([number flag])** ==
716 +== **serial:flush([number flag])** ==
782 782  )))
783 783  
784 -**Function:**
719 +**Function:** Clear the serial port buffer
785 785  
786 -Clear the serial port buffer
787 -
788 788  **Parameters:**
789 789  
790 790  //[flag=2]// clear option: 0: read, 1: write, 2: read-write
... ... @@ -796,17 +796,13 @@
796 796  Failed: multi
797 797  
798 798  (((
799 -== **3.6 serial:close()** ==
732 +== **serial:close()** ==
800 800  )))
801 801  
802 -**Function:**
735 +**Function:** Close the serial port object
803 803  
804 -Close the serial port object
737 +**Parameters:** None
805 805  
806 -**Parameters:**
807 -
808 -None
809 -
810 810  **Return:**
811 811  
812 812  Succeed: true
... ... @@ -823,12 +823,10 @@
823 823  
824 824  **QoS value:**
825 825  
826 -0: Only push messages once, messages may be lost or duplicated. It can be used for environmental sensor data, it doesn't matter if lose a record, because there will be a second push message soon. This method is mainly used for normal APP push, but if the user smart device is not connected when the message is pushed, the message will be discarded, and the smart device will not be received when it is networked again.
755 +* 0: Only push messages once, messages may be lost or duplicated. It can be used for environmental sensor data, it doesn't matter if lose a record, because there will be a second push message soon. This method is mainly used for normal APP push, but if the user smart device is not connected when the message is pushed, the message will be discarded, and the smart device will not be received when it is networked again.
756 +* 1: The message is delivered at least once, but the message may be delivered repeatedly.
757 +* 2: The message was delivered exactly once. This level can be used in a billing system. In a billing system, repeated or missing messages can lead to incorrect results. This highest quality message push service can also be used for instant messaging APP pushes, ensuring that users only receive messages once.
827 827  
828 -1: The message is delivered at least once, but the message may be delivered repeatedly.
829 -
830 -2: The message was delivered exactly once. This level can be used in a billing system. In a billing system, repeated or missing messages can lead to incorrect results. This highest quality message push service can also be used for instant messaging APP pushes, ensuring that users only receive messages once.
831 -
832 832  **Retain flag:**
833 833  
834 834  0: not reserved;
... ... @@ -836,13 +836,11 @@
836 836  1: reserved
837 837  
838 838  (((
839 -== **4.1 mqtt.create(string serverurl, string clientid)** ==
766 +== **mqtt.create(string serverurl, string clientid)** ==
840 840  )))
841 841  
842 -**Function:**
769 +**Function:** Create an MQTT object
843 843  
844 -Create an MQTT object
845 -
846 846  **Parameters:**
847 847  
848 848  //serverurl //Server url
... ... @@ -864,17 +864,13 @@
864 864  Failed: multi
865 865  
866 866  (((
867 -== **4.2 mqtt.close(mqtt obj)** ==
792 +== **mqtt.close(mqtt obj)** ==
868 868  )))
869 869  
870 -**Function:**
795 +**Function:** Close the specified MQTT object (if the connected server will be disconnected automatically)
871 871  
872 -Close the specified MQTT object (if the connected server will be disconnected automatically)
797 +**Parameters: **//Obj //ithe objeced returned by mqtt.create
873 873  
874 -**Parameters:**
875 -
876 -//Obj //is the objeced returned by mqtt.create
877 -
878 878  **Return:**
879 879  
880 880  Succeed: true
... ... @@ -882,32 +882,25 @@
882 882  Failed: multi
883 883  
884 884  (((
885 -== **4.3 mqtt:connect(table conn[, table lwt, table cart])** ==
806 +== **mqtt:connect(table conn[, table lwt, table cart])** ==
886 886  )))
887 887  
888 -**Function:**
809 +**Function:**Establish a connection to the server
889 889  
890 -Establish a connection to the server
891 -
892 892  **Parameters:**
893 893  
894 894  //conn //is a Lua table and needs to contain the following fields
895 895  
896 -//string conn.username//, user name
815 +* //string conn.username//, user name
816 +* //string conn.password//, password
817 +* //number [conn.netway=0]//, networking method, if set error number will use Ethernet method
818 +** 0: Ethernet
819 +** 1: WIFI
820 +** 2: 4G
821 +** 3: 2G
822 +* //number [conn.keepalive=60]//, keep connected heartbeat interval, in seconds
823 +* //number [conn.cleansession=1]//, empty the session as described below:
897 897  
898 -//string conn.password//, password
899 -
900 -//number [conn.netway=0]//, networking method, if set error number will use Ethernet method
901 -
902 -* 0: Ethernet
903 -* 1: WIFI
904 -* 2: 4G
905 -* 3: 2G
906 -
907 -//number [conn.keepalive=60]//, keep connected heartbeat interval, in seconds
908 -
909 -//number [conn.cleansession=1]//, empty the session as described below:
910 -
911 911  This function is used to control the behavior when connecting and disconnecting, and the client and server will retain the session information. This information is used to guarantee "at least once" and "accurately once" delivery, as well as the subject of the client subscription, the user can choose to keep or ignore the session message, set as follows:
912 912  
913 913  * 1 (Empty): If a session exists and is 1, the previous session messages on the client and server are emptied.
... ... @@ -915,14 +915,11 @@
915 915  
916 916  //lwt// (Last Will and Testament) is a Lua table and needs to contain the following fields
917 917  
918 -//string lwt.topic//, topic
832 +* //string lwt.topic//, topic
833 +* //string lwt.message//, message
834 +* //number [lwt.qos=0]//, qos value
835 +* //number [lwt.retain=0]//, retain flag
919 919  
920 -//string lwt.message//, message
921 -
922 -//number [lwt.qos=0]//, qos value
923 -
924 -//number [lwt.retain=0]//, retain flag
925 -
926 926  **Return:**
927 927  
928 928  Succeed: true
... ... @@ -930,17 +930,13 @@
930 930  Failed: multi
931 931  
932 932  (((
933 -== **4.4 mqtt:disconnect([number timeout])** ==
844 +== **mqtt:disconnect([number timeout])** ==
934 934  )))
935 935  
936 -**Function:**
847 +**Function:** Disconnect from the MQTT server
937 937  
938 -Disconnect from the MQTT server
849 +**Parameters: **//[timeout=10000] //Disconnect waiting timeout, in milliseconds
939 939  
940 -**Parameters:**
941 -
942 -//[timeout=10000] //Disconnect waiting timeout, in milliseconds
943 -
944 944  **Return:**
945 945  
946 946  Succeed: true
... ... @@ -948,17 +948,13 @@
948 948  Failed: multi
949 949  
950 950  (((
951 -== **4.5 mqtt:isconnected()** ==
858 +== **mqtt:isconnected()** ==
952 952  )))
953 953  
954 -**Function:**
861 +**Function:** Test whether or not a client is currently connected to the MQTT server
955 955  
956 -Test whether or not a client is currently connected to the MQTT server
863 +**Parameters:** None
957 957  
958 -**Parameters:**
959 -
960 -None
961 -
962 962  **Return:**
963 963  
964 964  Succeed: true ~-~-Connected
... ... @@ -966,13 +966,11 @@
966 966  Failed: false ~-~- Unconnected and other unknowns
967 967  
968 968  (((
969 -== **4.6 mqtt:subscribe(string topic, number qos)** ==
872 +== **mqtt:subscribe(string topic, number qos)** ==
970 970  )))
971 971  
972 -**Function:**
875 +**Function: **Subscribe to the topic (before the subscription, the user must first call the connect method to connect to the server)
973 973  
974 -Subscribe to the topic (before the subscription, the user must first call the connect method to connect to the server)
975 -
976 976  **Parameters:**
977 977  
978 978  //topic//, topic name
... ... @@ -986,13 +986,11 @@
986 986  Failed: multi
987 987  
988 988  (((
989 -== **4.7 mqtt:unsubscribe(string topic)** ==
890 +== **mqtt:unsubscribe(string topic)** ==
990 990  )))
991 991  
992 -**Function:**
893 +**Function:** Unsubscribe topic
993 993  
994 -Unsubscribe topic
995 -
996 996  **Parameters:**
997 997  
998 998  //topic//, topic name
... ... @@ -1004,13 +1004,11 @@
1004 1004  Failed: multi
1005 1005  
1006 1006  (((
1007 -== **4.8 mqtt:publish(string topic, string message, number qos, number retain[, number timeout])** ==
906 +== **mqtt:publish(string topic, string message, number qos, number retain[, number timeout])** ==
1008 1008  )))
1009 1009  
1010 -**Function:**
909 +**Function:** Publish message
1011 1011  
1012 -Publish message
1013 -
1014 1014  **Parameters:**
1015 1015  
1016 1016  //topic//, topic name
... ... @@ -1030,17 +1030,13 @@
1030 1030  Failed: multi
1031 1031  
1032 1032  (((
1033 -== **4.9 mqtt:close()** ==
930 +== **mqtt:close()** ==
1034 1034  )))
1035 1035  
1036 -**Function:**
933 +**Function:** Close the mqtt object (the connection to the server will be automatically disconnected)
1037 1037  
1038 -Close the mqtt object (the connection to the server will be automatically disconnected)
935 +**Parameters:** None
1039 1039  
1040 -**Parameters:**
1041 -
1042 -None
1043 -
1044 1044  **Return:**
1045 1045  
1046 1046  Succeed: true
... ... @@ -1048,13 +1048,11 @@
1048 1048  Failed: multi
1049 1049  
1050 1050  (((
1051 -== **4.10 mqtt:on(string method, function callback)** ==
944 +== **mqtt:on(string method, function callback)** ==
1052 1052  )))
1053 1053  
1054 -**Function:**
947 +**Function:** Register event callback function
1055 1055  
1056 -Register event callback function
1057 -
1058 1058  **Parameters:**
1059 1059  
1060 1060  //method//, It can be message/arrived/offline, these 3 types of events
... ... @@ -1500,7 +1500,7 @@
1500 1500  
1501 1501  **✎Note: **
1502 1502  
1503 -//{{id name="OLE_LINK1"/}}HSW// is a system special register, so please refer to the system special register table during use. Do not use addresses that are not mentioned in the table, and use the addresses stated in the table with caution (example: restart ("@W_HSW0") Writing a value of 1 will cause V-BOX to restart).
1394 +//HSW// is a system special register, so please refer to the system special register table during use. Do not use addresses that are not mentioned in the table, and use the addresses stated in the table with caution (example: restart ("@W_HSW0") Writing a value of 1 will cause V-BOX to restart).
1504 1504  
1505 1505  //Without any conditions. Direct use ("@W_HSW0") will cause the V-BOX to restart continuously.// When using ("@W_HSW0") address, please add judgment conditions, such as: connection to MQTT fails, there is no network, the value of a PLC address meets the condition or counts to a certain value.
1506 1506  
... ... @@ -1843,7 +1843,7 @@
1843 1843  Faied: multi
1844 1844  
1845 1845  (((
1846 -== **9.7 {{id name="_Toc22969"/}}remote_com_start(string config)** ==
1737 +== **9.7 remote_com_start(string config)** ==
1847 1847  )))
1848 1848  
1849 1849  **Function:**
... ... @@ -1883,7 +1883,7 @@
1883 1883  Failed: multi
1884 1884  
1885 1885  (((
1886 -== **9.9{{id name="_Toc22824"/}} remote_com_state()** ==
1777 +== **9.9 remote_com_state()** ==
1887 1887  )))
1888 1888  
1889 1889  **Function:**
... ... @@ -1897,4 +1897,4 @@
1897 1897  1. number, current pass-through status: 0-none 1,2-starting pass-through 3-penetrating 4,5-finishing pass-through 6-pass-through error
1898 1898  1. string, pass-through server domain name and port number, xxxx (domain name): xxx (port number)
1899 1899  
1900 -{{id name="OLE_LINK9"/}}Failed: multi
1791 +Failed: multi