一、適合范圍
本文檔適用于VisualHMI平臺,Lua腳本語言為V5.3版本,配合工程可以完成大部分的位寄存器邏輯處理。
二、概述
set_bit(vtype,addr, value)
設置位寄存器:如Modbus的線圈、Fx2N的X、Y、S、M寄存器
vtype:數據類型
addr:變量地址
value:寫入的值
get_bit(vtype,addr)
讀取位寄存器:如Modbus的線圈、Fx2N的X、Y、S、M寄存器,返回數值
vtype:數據類型
addr:變量地址
三、教程實現
功能實現
1.Modbus線圈應用
放置3個位狀態(tài)指示燈分別綁定modbus線圈地址0x0000/0x0001/0x0002,如圖3-1。通過腳本實現初始化對0x0000線圈地址置1,通過on_updata回調函數將0x01線圈地址同步更新到0x0線圈地址上,實現位狀態(tài)相同。通過定時器將0x02線圈地址實現01循環(huán)變化。

圖3-1 modbus線圈地址配置
Lua腳本預覽
腳本運用函數說明
對地址0x0000線圈寄存器寫入位值為1時函數格式為set_bit(VT_0x,0x0000,1)
對地址0x0000線圈寄存器讀取的函數格式為get_bit(VT_0x,0x0000)
對地址0x0000離散輸入寄存器讀取的函數格式為get_bit(VT_1x,0x0000)

modbus線圈地址lua腳本預覽
2.FX2N位寄存器應用
放置8個位狀態(tài)指示燈分別綁定X/Y/S/M位狀態(tài)寄存器如圖3-2所示,腳本初始化將位寄存器地址全部置1。搭配定時器將位寄存器實現01循環(huán)變化。

圖3-2 FX2N位狀態(tài)寄存器配置
Lua腳本預覽
腳本運用函數說明
對地址0x0000輸入位X寄存器只讀取函數格式為get_bit(VT_X,0x0000)
對地址0x0000輸出位Y寄存器只寫入位值為1的函數格式為set_bit(VT_Y,0x0000,1)
對地址0x0000狀態(tài)位S寄存器可讀寫位值為1的函數格式為set_bit(VT_S,0x0000,1)和get_bit(VT_S,0x0000)
對地址0x0000輔助位M寄存器可讀寫位值為1的函數格式為set_bit(VT_M,0x0000,1)和get_bit(VT_M,0x0000)

FX2N位狀態(tài)寄存器lua腳本預覽
-
函數
+關注
關注
3文章
4401瀏覽量
66539 -
HMI
+關注
關注
9文章
674瀏覽量
51223 -
串口屏技術
+關注
關注
0文章
19瀏覽量
1021
發(fā)布評論請先 登錄
ADS1118采用電壓返回數據恒為0,采樣溫度返回值固定為29700,為什么?
LUA腳本的繪圖API函數的使用方法及使用函數的注意事項
LUA如何實現回調函數的觸發(fā)使用以及編寫程序的注意事項
32bit MCU 與 16bit MCU 的 區(qū)別
過設置單個bit來實現事件組的功能
大彩講堂:VisualHMI-LUA教程-on_run回調函數使用指南
大彩講堂:VisualHMI軟件如何自定義鍵盤
大彩講堂:VisualHMI-LUA教程-on_press回調函數使用指南
大彩講堂:VisualHMI-LUA教程-獲取和設置16位數據函數
大彩講堂:VisualHMI-LUA教程-獲取設置單精度浮點數函數的應用
大彩講堂:VisualHMI-LUA教程-獲取與設置32位數據函數的應用
大彩講堂:VisualHMI-LUA教程-連續(xù)寫多個寄存器函數的應用

大彩講堂:VisualHMI-LUA教程-set_bit/get_bit函數應用
評論