Changes for page 01 Lua Functions
Last modified by Theodore Xu on 2023/10/26 10:51
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1370,10 +1370,15 @@ 1370 1370 ))) 1371 1371 1372 1372 1373 +(% class="box errormessage" %) 1373 1373 ((( 1374 - == **Data storage area(HDW/HDX)** ==1375 + 1375 1375 ))) 1376 1376 1378 +((( 1379 +== **bvData storage area(HDW/HDX)** == 1380 +))) 1381 + 1377 1377 The system storage area (HDW) of the V-BOX is used to store temporary data: 1378 1378 1379 1379 1. Access by word, the number range is: "@W_HDW0"-"@W_HDW299999". ... ... @@ -1381,8 +1381,9 @@ 1381 1381 1382 1382 ((( 1383 1383 == **8.2 Special data area (HSW/HSX)** == 1389 +))) 1384 1384 1385 -(% class="box infomessage" %)1391 +(% class="box errormessage" %) 1386 1386 ((( 1387 1387 **✎Note: ** 1388 1388 ... ... @@ -1389,138 +1389,149 @@ 1389 1389 * //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). 1390 1390 * //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. 1391 1391 ))) 1392 -))) 1393 1393 1394 -The system data area (HSW) of the box is used for system special registers (system reserved). Use //addr_getword// to obtain the following register information: 1395 1395 1400 +1.The system data area (HSW) of the box is used for system special registers (system reserved). Use //addr_getword// to obtain the following register information: 1401 + 1396 1396 (% class="table-bordered" %) 1397 -| =(% style="width: 151px;" %)address|=(% style="width: 169px;" %)function|=(% style="width: 456px;" %)Read and write status: read only, write only, read and write1398 -| (% style="width:151px" %)@W_HSW0|(% style="width:169px" %)restart|(% style="width:456px" %)read and write1399 -| (% style="width:151px" %)@W_HSW1|(% style="width:169px" %)Box time: year|(% style="width:456px" %)read and write1400 -| (% style="width:151px" %)@W_HSW2|(% style="width:169px" %)Box time: month|(% style="width:456px" %)read and write1401 -| (% style="width:151px" %)@W_HSW3|(% style="width:169px" %)Box time: day|(% style="width:456px" %)read and write1402 -| (% style="width:151px" %)@W_HSW4|(% style="width:169px" %)Box time: hour|(% style="width:456px" %)read and write1403 -| (% style="width:151px" %)@W_HSW5|(% style="width:169px" %)Box time: minute|(% style="width:456px" %)read and write1404 -| (% style="width:151px" %)@W_HSW6|(% style="width:169px" %)Box time: second|(% style="width:456px" %)read and write1405 -| (% style="width:151px" %)@W_HSW7|(% style="width:169px" %)Box time: week|(% style="width:456px" %)read and write1406 -| (% style="width:151px" %)@W_HSW8|(% style="width:169px" %)Ethernet IP1|(% style="width:456px" %)read only1407 -| (% style="width:151px" %)@W_HSW9|(% style="width:169px" %)Ethernet IP2|(% style="width:456px" %)read only1408 -| (% style="width:151px" %)@W_HSW10|(% style="width:169px" %)Ethernet IP3|(% style="width:456px" %)read only1409 -| (% style="width:151px" %)@W_HSW11|(% style="width:169px" %)Ethernet IP4|(% style="width:456px" %)read only1410 -| (% style="width:151px" %)@W_HSW12|(% style="width:169px" %)Ethernet Mask 1|(% style="width:456px" %)read only1411 -| (% style="width:151px" %)@W_HSW13|(% style="width:169px" %)Ethernet Mask 2|(% style="width:456px" %)read only1412 -| (% style="width:151px" %)@W_HSW14|(% style="width:169px" %)Ethernet Mask 3|(% style="width:456px" %)read only1413 -| (% style="width:151px" %)@W_HSW15|(% style="width:169px" %)Ethernet Mask 4|(% style="width:456px" %)read only1414 -| (% style="width:151px" %)@W_HSW16|(% style="width:169px" %)Ethernet Gateway 1|(% style="width:456px" %)read only1415 -| (% style="width:151px" %)@W_HSW17|(% style="width:169px" %)Ethernet Gateway 2|(% style="width:456px" %)read only1416 -| (% style="width:151px" %)@W_HSW18|(% style="width:169px" %)Ethernet Gateway 3|(% style="width:456px" %)read only1417 -| (% style="width:151px" %)@W_HSW19|(% style="width:169px" %)Ethernet Gateway 4|(% style="width:456px" %)read only1418 -| (% style="width:151px" %)@W_HSW21|(% style="width:169px" %)Ethernet MAC1|(% style="width:456px" %)read only1419 -| (% style="width:151px" %)@W_HSW22|(% style="width:169px" %)Ethernet MAC2|(% style="width:456px" %)read only1420 -| (% style="width:151px" %)@W_HSW23|(% style="width:169px" %)Ethernet MAC3|(% style="width:456px" %)read only1421 -| (% style="width:151px" %)@W_HSW24|(% style="width:169px" %)Ethernet MAC4|(% style="width:456px" %)read only1422 -| (% style="width:151px" %)@W_HSW25|(% style="width:169px" %)Ethernet MAC3|(% style="width:456px" %)read only1423 -| (% style="width:151px" %)@W_HSW26|(% style="width:169px" %)Ethernet MAC4|(% style="width:456px" %)read only1424 -| (% style="width:151px" %)@W_HSW128|(% style="width:169px" %)WIFI IP1|(% style="width:456px" %)read only1425 -| (% style="width:151px" %)@W_HSW129|(% style="width:169px" %)WIFI IP2|(% style="width:456px" %)read only1426 -| (% style="width:151px" %)@W_HSW130|(% style="width:169px" %)WIFI IP3|(% style="width:456px" %)read only1427 -| (% style="width:151px" %)@W_HSW131|(% style="width:169px" %)WIFI IP4|(% style="width:456px" %)read only1428 -| (% style="width:151px" %)@W_HSW132|(% style="width:169px" %)WIFI Mask 1|(% style="width:456px" %)read only1429 -| (% style="width:151px" %)@W_HSW133|(% style="width:169px" %)WIFI Mask 2|(% style="width:456px" %)read only1430 -| (% style="width:151px" %)@W_HSW134|(% style="width:169px" %)WIFI Mask 3|(% style="width:456px" %)read only1431 -| (% style="width:151px" %)@W_HSW135|(% style="width:169px" %)WIFI Mask 4|(% style="width:456px" %)read only1432 -| (% style="width:151px" %)@W_HSW136|(% style="width:169px" %)WIFI Gateway 1|(% style="width:456px" %)read only1433 -| (% style="width:151px" %)@W_HSW137|(% style="width:169px" %)WIFI Gateway 2|(% style="width:456px" %)read only1434 -| (% style="width:151px" %)@W_HSW138|(% style="width:169px" %)WIFI Gateway 3|(% style="width:456px" %)read only1435 -| (% style="width:151px" %)@W_HSW139|(% style="width:169px" %)WIFI Gateway 4|(% style="width:456px" %)read only1436 -| (% style="width:151px" %)@W_HSW140|(% style="width:169px" %)WIFI MAC1|(% style="width:456px" %)read only1437 -| (% style="width:151px" %)@W_HSW141|(% style="width:169px" %)WIFI MAC2|(% style="width:456px" %)read only1438 -| (% style="width:151px" %)@W_HSW142|(% style="width:169px" %)WIFI MAC3|(% style="width:456px" %)read only1439 -| (% style="width:151px" %)@W_HSW143|(% style="width:169px" %)WIFI MAC4|(% style="width:456px" %)read only1440 -| (% style="width:151px" %)@W_HSW144|(% style="width:169px" %)WIFI MAC5|(% style="width:456px" %)read only1441 -| (% style="width:151px" %)@W_HSW145|(% style="width:169px" %)WIFI MAC6|(% style="width:456px" %)read only1442 -| (% style="width:151px" %)@W_HSW146|(% style="width:169px" %)WIFI Signal value|(% style="width:456px" %)read only1443 -| (% style="width:151px" %)@W_HSW148|(% style="width:169px" %)4G IP1|(% style="width:456px" %)read only1444 -| (% style="width:151px" %)@W_HSW149|(% style="width:169px" %)4G IP2|(% style="width:456px" %)read only1445 -| (% style="width:151px" %)@W_HSW150|(% style="width:169px" %)4G IP3|(% style="width:456px" %)read only1446 -| (% style="width:151px" %)@W_HSW151|(% style="width:169px" %)4G IP4|(% style="width:456px" %)read only1447 -| (% style="width:151px" %)@W_HSW152|(% style="width:169px" %)4G Mask 1|(% style="width:456px" %)read only1448 -| (% style="width:151px" %)@W_HSW153|(% style="width:169px" %)4G Mask 2|(% style="width:456px" %)read only1449 -| (% style="width:151px" %)@W_HSW154|(% style="width:169px" %)4G Mask 3|(% style="width:456px" %)read only1450 -| (% style="width:151px" %)@W_HSW155|(% style="width:169px" %)4G Mask 4|(% style="width:456px" %)read only1451 -| (% style="width:151px" %)@W_HSW156|(% style="width:169px" %)4G Gateway 1|(% style="width:456px" %)read only1452 -| (% style="width:151px" %)@W_HSW157|(% style="width:169px" %)4G Gateway 2|(% style="width:456px" %)read only1453 -| (% style="width:151px" %)@W_HSW158|(% style="width:169px" %)4G Gateway 3|(% style="width:456px" %)read only1454 -| (% style="width:151px" %)@W_HSW159|(% style="width:169px" %)4G Gateway 4|(% style="width:456px" %)read only1455 -| (% style="width:151px" %)@W_HSW160|(% style="width:169px" %)4G MAC1|(% style="width:456px" %)read only1456 -| (% style="width:151px" %)@W_HSW161|(% style="width:169px" %)4G MAC2|(% style="width:456px" %)read only1457 -| (% style="width:151px" %)@W_HSW162|(% style="width:169px" %)4G MAC3|(% style="width:456px" %)read only1458 -| (% style="width:151px" %)@W_HSW163|(% style="width:169px" %)4G MAC4|(% style="width:456px" %)read only1459 -| (% style="width:151px" %)@W_HSW164|(% style="width:169px" %)4G MAC5|(% style="width:456px" %)read only1460 -| (% style="width:151px" %)@W_HSW165|(% style="width:169px" %)4G MAC6|(% style="width:456px" %)read only1461 -| (% style="width:151px" %)@W_HSW166|(% style="width:169px" %)4G Signal value|(% style="width:456px" %)read only1403 +|address|function|Read and write status: read only, write only, read and write 1404 +|@W_HSW0|restart|read and write 1405 +|@W_HSW1|Box time: year|read and write 1406 +|@W_HSW2|Box time: month|read and write 1407 +|@W_HSW3|Box time: day|read and write 1408 +|@W_HSW4|Box time: hour|read and write 1409 +|@W_HSW5|Box time: minute|read and write 1410 +|@W_HSW6|Box time: second|read and write 1411 +|@W_HSW7|Box time: week|read and write 1412 +|@W_HSW8|Ethernet IP1|read only 1413 +|@W_HSW9|Ethernet IP2|read only 1414 +|@W_HSW10|Ethernet IP3|read only 1415 +|@W_HSW11|Ethernet IP4|read only 1416 +|@W_HSW12|Ethernet Mask 1|read only 1417 +|@W_HSW13|Ethernet Mask 2|read only 1418 +|@W_HSW14|Ethernet Mask 3|read only 1419 +|@W_HSW15|Ethernet Mask 4|read only 1420 +|@W_HSW16|Ethernet Gateway 1|read only 1421 +|@W_HSW17|Ethernet Gateway 2|read only 1422 +|@W_HSW18|Ethernet Gateway 3|read only 1423 +|@W_HSW19|Ethernet Gateway 4|read only 1424 +|@W_HSW21|Ethernet MAC1|read only 1425 +|@W_HSW22|Ethernet MAC2|read only 1426 +|@W_HSW23|Ethernet MAC3|read only 1427 +|@W_HSW24|Ethernet MAC4|read only 1428 +|@W_HSW25|Ethernet MAC3|read only 1429 +|@W_HSW26|Ethernet MAC4|read only 1430 +|@W_HSW128|WIFI IP1|read only 1431 +|@W_HSW129|WIFI IP2|read only 1432 +|@W_HSW130|WIFI IP3|read only 1433 +|@W_HSW131|WIFI IP4|read only 1434 +|@W_HSW132|WIFI Mask 1|read only 1435 +|@W_HSW133|WIFI Mask 2|read only 1436 +|@W_HSW134|WIFI Mask 3|read only 1437 +|@W_HSW135|WIFI Mask 4|read only 1438 +|@W_HSW136|WIFI Gateway 1|read only 1439 +|@W_HSW137|WIFI Gateway 2|read only 1440 +|@W_HSW138|WIFI Gateway 3|read only 1441 +|@W_HSW139|WIFI Gateway 4|read only 1442 +|@W_HSW140|WIFI MAC1|read only 1443 +|@W_HSW141|WIFI MAC2|read only 1444 +|@W_HSW142|WIFI MAC3|read only 1445 +|@W_HSW143|WIFI MAC4|read only 1446 +|@W_HSW144|WIFI MAC5|read only 1447 +|@W_HSW145|WIFI MAC6|read only 1448 +|@W_HSW146|WIFI Signal value|read only 1449 +|@W_HSW148|4G IP1|read only 1450 +|@W_HSW149|4G IP2|read only 1451 +|@W_HSW150|4G IP3|read only 1452 +|@W_HSW151|4G IP4|read only 1453 +|@W_HSW152|4G Mask 1|read only 1454 +|@W_HSW153|4G Mask 2|read only 1455 +|@W_HSW154|4G Mask 3|read only 1456 +|@W_HSW155|4G Mask 4|read only 1457 +|@W_HSW156|4G Gateway 1|read only 1458 +|@W_HSW157|4G Gateway 2|read only 1459 +|@W_HSW158|4G Gateway 3|read only 1460 +|@W_HSW159|4G Gateway 4|read only 1461 +|@W_HSW160|4G MAC1|read only 1462 +|@W_HSW161|4G MAC2|read only 1463 +|@W_HSW162|4G MAC3|read only 1464 +|@W_HSW163|4G MAC4|read only 1465 +|@W_HSW164|4G MAC5|read only 1466 +|@W_HSW165|4G MAC6|read only 1467 +|@W_HSW166|4G Signal value|read only 1462 1462 1463 - **Others**1469 +2. Other 1464 1464 1465 -* Access password: addr_getstring("@W_HSW27", 16) 1466 -* Machine code: addr_getstring("@W_HSW60", 64) 1467 -* Positioning method (@W_HSW167): (read only) 1468 -** Latitude and longitude 1469 -*** Longitude: addr_getdouble("@W_HSW168") (read only) 1470 -*** Latitude: addr_getdouble("@W_HSW172") (read only) 1471 -** Base station positioning 1472 -*** LAC: addr_getdword("@W_HSW168") (read only) 1473 -*** CI: addr_getdword("@W_HSW172") (read only) 1474 -* Convert base station to latitude and longitude via API 1475 -** Longitude: addr_getdouble("@W_HSW187") (read only) 1476 -** Latitude: addr_getdouble("@W_HSW183") (read only) 1477 -* Operator information: addr_getdword("@W_HSW181") (read only) 1478 -* Networking mode: addr_getword("@W_HSW177") (read only) 1479 -** 0: Ethernet 1480 -** 1: WIFI 1481 -** 2: 4G 1482 -** 3: 2G 1483 -* Map fence flag: addr_getword("@W_HSW178") (read only) 1484 -** 0: No map fence is drawn 1485 -** 1: Draw a map fence and the box is in the fence 1486 -** 2: Draw a map fence and the box is not in the fence 1487 -* SIM card status addr_getword("@W_HSW179") (read only) 1488 -** 1: No card detected 1489 -** 2: Card insertion detected 1490 -** 3: The card status is abnormal 1491 -* MQTT status addr_getword("@W_HSW180") (read only) 1492 -** 1: online, 2: offline 1493 -* IO interface, X is read only, Y is read and write (H series) 1494 -** addr_getbit(addr1), addr_setbit(addr2) 1495 -** addr1:"@B_Y0" "@B_Y1" "@B_X0" "@B_X1" 1496 -** addr2:"@B_Y0" "@B_Y1" 1497 -* Obtaining IMEI (read only) 1498 -** addr_getstring("@W_HSW191",17) 1499 -* Obtaining ICCID (read only) 1500 -** addr_getstring("@W_HSW225",15) 1471 +2.1 Access password: addr_getstring("@W_HSW27", 16) 1501 1501 1502 -((( 1503 -== **Power-down storage area (HAW/HAX)** == 1473 +2.2 Machine code: addr_getstring("@W_HSW60", 64) 1504 1504 1505 - Thesystem storagearea(HAW)is used forthesystem power-downhold registers:1475 +2.3 Positioning method (@W_HSW167): (read only) 1506 1506 1507 -1. Accessed as a word, numbered in the range: "@W_HAW0"-"@W_HAW199999". 1508 -1. Accessed by bit, the numbering range is: "@B_HAX0.0"-"@B_HAX199999.15". 1477 +~1. Latitude and longitude 1509 1509 1510 -(% class="box infomessage" %) 1511 -((( 1512 -**✎Note:** HAW/HAX is a power-down hold, that is, the registers of this type can retain the data before power-down in case of power-down. 1513 -))) 1479 +Longitude: addr_getdouble("@W_HSW168") (read only) 1514 1514 1481 +Latitude: addr_getdouble("@W_HSW172") (read only) 1482 + 1483 +2. Base station positioning 1484 + 1485 +LAC: addr_getdword("@W_HSW168") (read only) 1486 + 1487 +CI: addr_getdword("@W_HSW172") (read only) 1488 + 1489 +2.4 Convert base station to latitude and longitude via API 1490 + 1491 +Longitude: addr_getdouble("@W_HSW187") (read only) 1492 + 1493 +Latitude: addr_getdouble("@W_HSW183") (read only) 1494 + 1495 +2.5 Operator information: addr_getdword("@W_HSW181") (read only) 1496 + 1497 +2.6 Networking mode: addr_getword("@W_HSW177") (read only) 1498 + 1499 +0: Ethernet, 1: WIFI, 2: 4G, 3: 2G 1500 + 1501 +2.7 Map fence flag: addr_getword("@W_HSW178") (read only) 1502 + 1503 +0: No map fence is drawn 1504 + 1505 +1: Draw a map fence and the box is in the fence 1506 + 1507 +2: Draw a map fence and the box is not in the fence 1508 + 1509 +2.8 SIM card status addr_getword("@W_HSW179") (read only) 1510 + 1511 +1: No card detected 1512 + 1513 +2: Card insertion detected 1514 + 1515 +3: The card status is abnormal 1516 + 1517 +2.9 MQTT status addr_getword("@W_HSW180") (read only) 1518 + 1519 +1: online, 2: offline 1520 + 1521 +2.10 IO interface, X is read only, Y is read and write (H series) 1522 + 1523 +addr_getbit(addr1), addr_setbit(addr2) 1524 + 1525 +addr1:"@B_Y0" "@B_Y1" "@B_X0" "@B_X1" 1526 + 1527 +addr2:"@B_Y0" "@B_Y1" 1528 + 1529 +((( 1515 1515 = **9 General Functions** = 1516 1516 ))) 1517 1517 1518 1518 ((( 1519 -== **send_sms_ira(string number, string message)** == 1534 +== **9.1 send_sms_ira(string number, string message)** == 1520 1520 ))) 1521 1521 1522 -**Function:** Use IRA character set to send English text messages1537 +**Function:** 1523 1523 1539 +Use IRA character set to send English text messages 1540 + 1524 1524 **Parameters:** 1525 1525 1526 1526 //number: //number (up to 32 characters, the excess will be discarded) ... ... @@ -1554,11 +1554,13 @@ 1554 1554 Failed: multi 1555 1555 1556 1556 ((( 1557 -== **sms_get_state(number id)** == 1574 +== **9.3 sms_get_state(number id)** == 1558 1558 ))) 1559 1559 1560 -**Function:** Get the status of the SMS1577 +**Function:** 1561 1561 1579 +Get the status of the SMS 1580 + 1562 1562 **parameter:** 1563 1563 1564 1564 //id~:// SMS corresponding id ... ... @@ -1570,11 +1570,13 @@ 1570 1570 Failed: multi 1571 1571 1572 1572 ((( 1573 -== **jwt_encode(table head, table payload, string aud, number iat, number exp, string key, int jwttype)** == 1592 +== **9.4 jwt_encode(table head, table payload, string aud, number iat, number exp, string key, int jwttype)** == 1574 1574 ))) 1575 1575 1576 -**Function:** Convert data to JWT format1595 +**Function:** 1577 1577 1597 +Convert data to JWT format 1598 + 1578 1578 **parameter:** 1579 1579 1580 1580 //aud: //project name ... ... @@ -1619,20 +1619,19 @@ 1619 1619 1620 1620 //key~:// the private key required for encryption 1621 1621 1622 - **For example:**1643 +For example: 1623 1623 1624 -{{code language="LUA"}} 1625 1625 function jwt.main() 1626 1626 1627 -local PRIVATE_KEY = [[-- Please enter the secret key--]] 1647 +local PRIVATE_KEY = ~[~[~-~- Please enter the secret key~-~-]] 1628 1628 1629 1629 local JWTType=0 1630 1630 1631 -local payload = {{key="test1",value="test1",type="0"}, 1651 +local payload = ~{~{key="test1",value="test1",type="0"}, 1632 1632 1633 1633 {key="test",value="123122131",type="1"}} 1634 1634 1635 -local head = {{ key="name",value="data",type="0"}, 1655 +local head = ~{~{ key="name",value="data",type="0"}, 1636 1636 1637 1637 {key="test2",value="test2",type="0"}} 1638 1638 ... ... @@ -1647,14 +1647,15 @@ 1647 1647 print(en) 1648 1648 1649 1649 End 1650 -{{/code}} 1651 1651 1652 1652 ((( 1653 -== **convertohex(number type, number value)** == 1672 +== **9.5 convertohex(number type, number value)** == 1654 1654 ))) 1655 1655 1656 -**Function:** Convert data into hexadecimal data1675 +**Function:** 1657 1657 1677 +Convert data into hexadecimal data 1678 + 1658 1658 **parameter:** 1659 1659 1660 1660 //type~:// incoming data type 0:word 1:dword 2:float ... ... @@ -1667,35 +1667,14 @@ 1667 1667 1668 1668 Failed: multi 1669 1669 1670 -== **crc.init(table prarm)** == 1671 - 1672 -**Function:** Initialize the CRC 1673 - 1674 -**Parameters:** 1675 - 1676 -prarm is a Lua table and needs to contain the following fields. 1677 - 1678 -* string prarm name, see table 9-1 for details of the parameter model name When this parameter is passed in, the default table parameters are used and the poly,init,xorout,refin,and refout passed in are invalid. 1679 -* number prarm.width: the width, i.e. the number of CRC bits. 1680 -* number [prarm.poly]: short for the generated item in hexadecimal. For example, CRC-32 is 0x04C11DB7, ignoring the highest bit "1", i.e., the complete generation item is 0x104C11DB7. 1681 -* number [prarm.init]: the initialization preset value of the register (crc) at the beginning of the algorithm in hexadecimal. 1682 -* number [prarm.xorout]: the final CRC value obtained after heterodyning the calculation result with this parameter. 1683 -* number [prarm.refin]: whether each byte of the data to be measured is inverted by bit, true or false. 1684 -* number [prarm.refout]: after the calculation or before the heterodyning output, whether the whole data is inverted by bit, true or false. 1685 - 1686 -Return: 1687 - 1688 -Success: crc object 1689 - 1690 -Failure: multi, error code 1691 - 1692 - 1693 1693 ((( 1694 -== **set_network(table config)** == 1692 +== **9.6 set_network(table config)** == 1695 1695 ))) 1696 1696 1697 -**Function:** Set V-BOX network, take effect after restart1695 +**Function:** 1698 1698 1697 +Set V-BOX network, take effect after restart 1698 + 1699 1699 **parameter:** 1700 1700 1701 1701 //config~:// incoming network configuration table