Changes for page 01 Lua Functions

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

From version 5.29
edited by Stone Wu
on 2022/07/12 10:40
Change comment: (Autosaved)
To version 20.1
edited by Theodore Xu
on 2023/08/25 09:49
Change comment: There is no comment for this version

Summary

Details

Page properties
Parent
... ... @@ -1,1 +1,1 @@
1 -V-BOX.V-Net.1\.User Manual.04 Lua Script.WebHome
1 +V-BOX.V-Net.Manual.04 Lua Script.WebHome
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Stone
1 +XWiki.AiXia
Content
... ... @@ -140,7 +140,7 @@
140 140  
141 141   Table 2-1
142 142  
143 -(% class="box errormessage" %)
143 +(% class="box infomessage" %)
144 144  (((
145 145  **✎Note: **If HLword enters any other value, it will be treated as invalid.
146 146  )))
... ... @@ -608,11 +608,12 @@
608 608  Attempting to use a script to open a serial port in an unsupported mode will result in an error directly, as below.
609 609  
610 610  |(((
611 +{{code language="LUA"}}
611 611  local setup = {
612 612  
613 613  name = "COM2",
614 614  
615 -mode = 422, ~-~- COM2 does not support RS422
616 +mode = 422, -- COM2 does not support RS422
616 616  
617 617  ...
618 618  
... ... @@ -619,6 +619,7 @@
619 619  }
620 620  
621 621  serial.open(setup)
623 +{{/code}}
622 622  )))
623 623  
624 624  **Data bit:**
... ... @@ -1063,8 +1063,9 @@
1063 1063  
1064 1064  If there is no custom configuration, return an empty table, otherwise, return with "field name/field content"
1065 1065  
1066 -E.g:
1068 +**For example:**
1067 1067  
1070 +{{code language="LUA"}}
1068 1068  {
1069 1069  
1070 1070  [1]= {[1]=1234, [2]=1, [3]='temp', [4]='23.5', [5]={"fruit"="apple"}},
... ... @@ -1077,7 +1077,8 @@
1077 1077  
1078 1078  }
1079 1079  
1080 -Failed: //table// empty table
1083 +Failed: table empty table
1084 +{{/code}}
1081 1081  
1082 1082  (((
1083 1083  == **bns_get_config(string from)** ==
... ... @@ -1157,13 +1157,15 @@
1157 1157  
1158 1158  Type (1: switch, 2: number, 3: string)
1159 1159  
1160 -E.g:
1161 - {
1164 +**For example:**
1162 1162  
1163 -[1]={~-~-The first communication port
1166 +{{code language="LUA"}}
1167 +{
1164 1164  
1165 -[1]={~-~-monitoring point array of the first communication port
1169 +[1]={--The first communication port
1166 1166  
1171 +[1]={--monitoring point array of the first communication port
1172 +
1167 1167  [1]={[1]=11,[2]='data1',[3]=3,[4]=2},
1168 1168  
1169 1169  [2]={[1]=12,[2]='data2',[3]=3,[4]=2},
... ... @@ -1170,23 +1170,23 @@
1170 1170  
1171 1171  ...
1172 1172  
1173 -[n]={[1]=xx,[2]='datan',[3]=x,[4]=x},~-~-n monitoring points
1179 +[n]={[1]=xx,[2]='datan',[3]=x,[4]=x},--n monitoring points
1174 1174  
1175 1175  },
1176 1176  
1177 -[2]=14, ~-~-ID
1183 +[2]=14, --ID
1178 1178  
1179 -[3]='Modbus TCP' ~-~-n monitoring points
1185 +[3]='Modbus TCP' --n monitoring points
1180 1180  
1181 1181  },
1182 1182  
1183 -[2]={~-~-The second communication port
1189 +[2]={--The second communication port
1184 1184  
1185 -[1]={},~-~-The monitoring point of the second communication port is not configured and is empty
1191 +[1]={},--The monitoring point of the second communication port is not configured and is empty
1186 1186  
1187 -[2]=15, ~-~-ID
1193 +[2]=15, --ID
1188 1188  
1189 -[3]='WECON' ~-~-communication protocol name
1195 +[3]='WECON' --communication protocol name
1190 1190  
1191 1191  },
1192 1192  
... ... @@ -1193,6 +1193,7 @@
1193 1193  ...n communication ports and so on
1194 1194  
1195 1195  }
1202 +{{/code}}
1196 1196  
1197 1197  Failed~:// table// empty table
1198 1198  
... ... @@ -1272,8 +1272,9 @@
1272 1272  
1273 1273  Succeed: //table// one-dimensional array
1274 1274  
1275 -E.g:
1282 +**For example:**
1276 1276  
1284 +{{code language="LUA"}}
1277 1277  {
1278 1278  
1279 1279  [1]="This is the oldest message", - the first is the oldest message
... ... @@ -1285,6 +1285,7 @@
1285 1285  [n]="This is the latest message", - the last is the latest message
1286 1286  
1287 1287  }
1296 +{{/code}}
1288 1288  
1289 1289  Failede: nil
1290 1290  
... ... @@ -1302,7 +1302,7 @@
1302 1302  
1303 1303  == **https request** ==
1304 1304  
1305 -Example
1314 +**For example:**
1306 1306  
1307 1307  {{code language="LUA"}}
1308 1308  local json = require("json")
... ... @@ -1358,7 +1358,7 @@
1358 1358  
1359 1359  **Access in bit mode, the prefix is @B_HDX, the number in front of "." indicates the number of the word, and the number behind is the bit number of the word.**
1360 1360  
1361 -For example: @B_HDX1020.12, its meaning is to access the system data area in bit mode, the specific location is the 13th bit of the 1020th word.
1370 +**For example:** @B_HDX1020.12, its meaning is to access the system data area in bit mode, the specific location is the 13th bit of the 1020th word.
1362 1362  
1363 1363  (% class="box infomessage" %)
1364 1364  (((
... ... @@ -1380,7 +1380,7 @@
1380 1380  1. Access in bit mode, the number range is: "@B_HDX0.0"-"@B_HDX299999.15".
1381 1381  
1382 1382  (((
1383 -== **8.2 Special data area (HSW/HSX)** ==
1392 +== **Special data area (HSW/HSX)** ==
1384 1384  
1385 1385  (% class="box infomessage" %)
1386 1386  (((
... ... @@ -1498,8 +1498,19 @@
1498 1498  ** addr_getstring("@W_HSW191",17)
1499 1499  * Obtaining ICCID (read only)
1500 1500  ** addr_getstring("@W_HSW225",15)
1510 +* (((
1511 +TSAP settings of Siemens LOGO PLC*
1501 1501  
1502 1502  (((
1514 +addr_setword("@W_0#HSW1200",8192) means set the Local TSAP as 20.00
1515 +)))
1516 +
1517 +* (((
1518 +addr_setword("@W_0#HSW1201",4096) means set the Remote TSAP as 10.00
1519 +)))
1520 +)))
1521 +
1522 +(((
1503 1503  == **Power-down storage area (HAW/HAX)** ==
1504 1504  
1505 1505  The system storage area (HAW) is used for the system power-down hold registers:
... ... @@ -1534,7 +1534,7 @@
1534 1534  Failed: multi
1535 1535  
1536 1536  (((
1537 -== **9.2 send_sms_ucs2(string number, string message)** ==
1557 +== **send_sms_ucs2(string number, string message)** ==
1538 1538  )))
1539 1539  
1540 1540  **Function:**
... ... @@ -1683,7 +1683,7 @@
1683 1683  * number [prarm.refin]: whether each byte of the data to be measured is inverted by bit, true or false.
1684 1684  * number [prarm.refout]: after the calculation or before the heterodyning output, whether the whole data is inverted by bit, true or false.
1685 1685  
1686 -Return:
1706 +**Return:**
1687 1687  
1688 1688  Success: crc object
1689 1689  
... ... @@ -1742,7 +1742,7 @@
1742 1742  Failed: multi, error code
1743 1743  )))
1744 1744  
1745 -Example:
1765 +**For example:**
1746 1746  
1747 1747  {{code language="LUA"}}
1748 1748  function crcTest.main()
... ... @@ -1781,9 +1781,9 @@
1781 1781  end
1782 1782  {{/code}}
1783 1783  
1784 -= **11 Special function for V-NET** =
1804 += **10 Special function for V-NET** =
1785 1785  
1786 -**normal_get_alldata()**
1806 +== **normal_get_alldata()** ==
1787 1787  
1788 1788  **Function: **Obtain the data of all the monitoring points
1789 1789  
... ... @@ -1793,7 +1793,141 @@
1793 1793  
1794 1794  Succeed: table two-dimensional arrays, as follows:
1795 1795  
1796 -* Each item is a monitoring point and contains 4 attributes: ID, status, tag name, value)
1797 -* Status contains 3 enumerated values (0: offline, 1: online, 2: timeout) Customization returns an empty table if there is no configuration, and vice versa, with "field name/field content"
1816 +* Each item is a monitoring point and contains 4 attributes:
1817 +** 1: ID
1818 +** 2: status
1819 +** 3: tag name
1820 +** 4: value
1821 +* Status contains 3 enumerated values
1822 +** 0: offline
1823 +** 1: online
1824 +** 2: timeout
1825 +* Customization returns an empty table if there is no configuration, otherwise returns "field name/field content"
1798 1798  
1799 -Failed: multi, error code
1827 +**For example:**
1828 +
1829 +{{code language="LUA"}}
1830 +{
1831 +
1832 +[1]= {[1]=1234, [2]=1, [3]='temp', [4]='23.5'},
1833 +
1834 +[2]= {[1]=1235, [2]=1, [3]='humi', [4]='67'},
1835 +
1836 +...
1837 +
1838 +[n]= {[1]=xxxx, [2]=x, [3]='xxxx', [4]='xx.x'},
1839 +
1840 +}
1841 +
1842 +Failed: table, empty table
1843 +{{/code}}
1844 +
1845 +== **normal_setdata_byname(string name, string data)** ==
1846 +
1847 +**Function:** Write data to the monitoring point name
1848 +
1849 +**Parameter:**
1850 +
1851 +name: the name of monitoring point
1852 +
1853 +data: the data to be written
1854 +
1855 +**Return:**
1856 +
1857 +Succeed: string: The value of the monitor point before it is written
1858 +
1859 +Failed: nil
1860 +
1861 +== **normal_getdata_byname(string name)** ==
1862 +
1863 +**Function:** Read the data of the monitoring point name
1864 +
1865 +**Parameter:**
1866 +
1867 +name: the name of monitoring point
1868 +
1869 +**Return:**
1870 +
1871 +Succeed: string
1872 +
1873 +Failed: nil
1874 +
1875 += **11 Message summary algorithm** =
1876 +
1877 +== **hmac(string hash_func, string key, string message)** ==
1878 +
1879 +**Function:** HMAC calculate
1880 +
1881 +**Function name**
1882 +
1883 +hash_func:
1884 +
1885 +* [md5, sha1, sha224, sha256, sha384, sha512]
1886 +* [sha512_224, sha512_256, sha3_224, sha3_256]
1887 +* [sha3_384, sha3_512]
1888 +
1889 +**Parameter:**
1890 +
1891 +key: the key
1892 +
1893 +message: message content
1894 +
1895 +**Return:**
1896 +
1897 +Succeed: string, calculation result
1898 +
1899 +Failed: nil
1900 +
1901 +**For example:**
1902 +
1903 +{{code language="LUA"}}
1904 +local sha = require"sha2"
1905 +
1906 +function hmac_test.main()
1907 +
1908 +local hmac = sha.hmac
1909 +
1910 +print(hmac(sha.sha1,
1911 +
1912 +"your key", "your message"))
1913 +
1914 +end
1915 +{{/code}}
1916 +
1917 +== **sha(string message** ==
1918 +
1919 +**Function:** SHA calculate
1920 +
1921 +**Function name:**
1922 +
1923 +sha:
1924 +
1925 +* sha1, sha224, sha256, sha384, sha512]
1926 +* [sha512_224, sha512_256, sha3_224, sha3_256]
1927 +* [sha3_384, sha3_512]
1928 +
1929 +**Parameter:**
1930 +
1931 +key: the key
1932 +
1933 +message: message content
1934 +
1935 +**Return:**
1936 +
1937 +Succeed: string, calculation result
1938 +
1939 +Failed: nil
1940 +
1941 +For example:
1942 +
1943 +{{code language="LUA"}}
1944 +local sha = require"sha2"
1945 +
1946 +function sha_test.main()
1947 +
1948 +local sha256 = sha.sha256
1949 +
1950 +print(sha256("your message"))
1951 +
1952 +end
1953 +{{/code}}