一、適合范圍
本文檔適用于VisualHMI平臺,Lua腳本語言為V5.3版本,配合工程可以完成大部分的內部邏輯處理。
二、概述
2.1 get_uint16(vtype,addr)讀取無符號短整型寄存器,返回無符號短整型數據。
? vtype:變量類型,生成main.lua,自動定義變量的數據類型
? addr:變量地址
2.2 set_uint16(vtype,addr,value)設置無符號短整形寄存器值。
? vtype:變量類型,生成main.lua,自動定義變量的數據類型
? addr:變量地址
? value:寄存器值
2.3 get_int16(vtype,addr)讀取有符號短整型寄存器,返回有符號短整型數據。
? vtype:變量類型,生成main.lua,自動定義變量的數據類型
? addr:變量地址
2.4 set_int16(vtype,addr,value)設置有符號短整形寄存器值。
? vtype:變量類型,生成main.lua,自動定義變量的數據類型
? addr:變量地址
? value:寄存器值
本文本檔通過分別對HMI內部地址LW,modbus協議保持寄存器地址,三菱協議D寄存器讀寫無符號短整型數據對get/set_uint16函數進行說明。
例如:
若要獲取LW地址0x1000無符號短整型數據,則函數如下:get_uint16(VT_LW,0x1000)
若要設置LW地址0x1000的值為無符號短整型數據100,則函數如下:set_uint16(VT_LW,0x1000,100)
若要獲取LW地址0x1000有符號短整型數據,則函數如下:get_int16(VT_LW,0x1000)
若要設置LW地址0x1000的值為有符號短整型數據100,則函數如下:set_int16(VT_LW,0x1000,100)
重點:get/set_int16函數的用法和get/set_uint16函數的用法一樣。只是int16的取值范圍是-32768~32767,uint16的取值范圍是0~65535。
三、教程實現
功能實現
首先建立一個HMI工程以DC80480M070為例。如3-1所示

圖3-1 新建工程
控件配置
1.放置一個數值輸入控件,啟用鍵盤輸入,綁定LW地址0x1000,放置一個數值輸入控件,啟用鍵盤輸入,綁定LW地址0x1001。再放置一個數值輸入控件綁定LW地址0x1002。放置一個按鈕控件綁定LW地址0x1111。如圖3-2所示。(注意:數值輸入控件綁定的數據類型要和腳本數據類型一致。腳本獲取和設置的是uint16,控件數據類型也要選擇uint16;腳本獲取和設置的是int16,控件數據類型也要選擇int16)

圖3-2 控件配置(讀寫LW寄存器地址)
2、新建一個簡單工程,開啟modbus master協議,放置一個數值輸入控件,綁定保持寄存器地址0x0000,放置一個數值輸入控件,綁定保持寄存器地址0x0001。放置一個數值輸入控件綁定保持寄存器地址0x0002。再放置一個字設置按鈕控件綁定LW地址0x1111。如圖3-3所示。(注意事項同上)

圖3-3 控件配置(讀寫modbus保持寄存器地址)
3、新建一個簡單工程,開啟FX2N(三菱)協議,放置一個數值輸入控件,綁定D寄存器地址0,放置一個數值輸入控件,綁定D寄存器地址1。放置一個數值輸入控件綁定D寄存器地址2。再放置一個字設置按鈕控件綁定LW地址0x1111。如圖3-4所示。(注意事項同上)

圖3-4 控件配置(讀寫三菱協議D寄存器地址)
四、Lua腳本預覽

圖4-1讀寫LW寄存器地址

圖4-2讀寫modbus保持寄存器地址

圖4-3讀寫三菱協議D寄存器地址
-
函數
+關注
關注
3文章
4409瀏覽量
66983 -
HMI
+關注
關注
9文章
695瀏覽量
51609
發布評論請先 登錄
c6748 spi驅動設置的數據長度是8位,接收寄存器卻能收到16位數據
LUA腳本的繪圖API函數的使用方法及使用函數的注意事項
LUA如何實現回調函數的觸發使用以及編寫程序的注意事項
大彩講堂:VisualHMI-LUA教程-on_run回調函數使用指南
大彩講堂:VisualHMI軟件如何自定義鍵盤
大彩講堂:VisualHMI-LUA教程-on_press回調函數使用指南
大彩講堂:VisualHMI-LUA教程-獲取設置單精度浮點數函數的應用
大彩講堂:VisualHMI-LUA教程-獲取與設置32位數據函數的應用
大彩講堂:VisualHMI-LUA教程-連續寫多個寄存器函數的應用

大彩講堂:VisualHMI-LUA教程-獲取和設置16位數據函數
評論