Changes for page 01 Lua Functions

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

From version 2.3
edited by Leo
on 2022/06/16 16:09
Change comment: There is no comment for this version
To version 5.7
edited by Stone Wu
on 2022/07/12 09:20
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.Leo
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 -
6 6  |=**Type**|=**Description**
7 7  |=nil|Null
8 -|=boolean|Boolean, the value is true or false
9 -|=number|Integer or floating point, signed or unsigned
7 +|=boolean|Boolean (the value is true or false)
8 +|=number|Integer or floating point (signed or unsigned)
10 10  |=string|String
11 11  |=table|Table
12 12  |=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,60 +93,56 @@
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** =
108 += **2 Address operation** =
116 116  
117 -**~ Form 2.1**
110 +
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
113 +|=16-bit data formal|=HLword|=32-bit data formal|=HLword|= 64-bit data formal|=HLword
114 +|12(Default)|0|1234(Default)|0|(((
115 +12345678(Default)
116 +)))|(((
117 +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
119 +|21|6|(((
120 +3412(High and low word conversion)
121 +)))|2|(((
122 +34127856  (High and low word conversion)
123 +)))|2
124 +| | |2143|3|(((
125 +21436587
126 +)))|3
127 +| | |4321|6|(((
128 +87654321
129 +)))|6
130 +| | | | |(((
131 +78563412
132 +)))|7
133 +| | | | |(((
134 +56781234
135 +)))|8
136 +| | | | |(((
137 +65872143
138 +)))|9
139 +| | | | |(((
140 +43218765
141 +)))|10
150 150  
151 151  * If HLword enters any other value, it will be treated as invalid.
152 152  
... ... @@ -153,9 +153,9 @@
153 153   Demo:  Reads a 32-bit floating-point number at position D0 of PLC
154 154  
155 155  
156 -(% style="text-align:center" %)
157 -[[image:企业微信截图_20210506180640.png||class="img-thumbnail" height="301" width="600"]]
158 158  
149 +[[image:企业微信截图_20210506180640.png||height="301" width="600" class="img-thumbnail"]]
150 +
159 159  == **2.1 addr_getshort(string addr[, number type, number hlword])** ==
160 160  
161 161  **Function:**
... ... @@ -208,7 +208,7 @@
208 208  
209 209  **Function:**
210 210  
211 -{{id name="OLE_LINK6"/}}Read 16-bit unsigned decimal address
203 +Read 16-bit unsigned decimal address
212 212  
213 213  **Parameters:**
214 214  
... ... @@ -300,7 +300,7 @@
300 300  
301 301  **Function:**
302 302  
303 -{{id name="OLE_LINK7"/}}Read 32-bit unsigned decimal address
295 +Read 32-bit unsigned decimal address
304 304  
305 305  **Parameters:**
306 306  
... ... @@ -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
371 +[type = 0]not read through 1: read through
380 380  
381 381  [hlword = 0]  Don't convert,See Form 2.1
382 382  
... ... @@ -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).
1495 +//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)** ==
1838 +== **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()** ==
1878 +== **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
1892 +Failed: multi