一、适合范围
本文档适用于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个位状态指示灯分别绑定modbus线圈地址0x0000/0x0001/0x0002,如图3-1。通过脚本实现初始化对0x0000线圈地址置1,通过on_updata回调函数将0x01线圈地址同步更新到0x0线圈地址上,实现位状态相同。通过定时器将0x02线圈地址实现01循环变化。

图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个位状态指示灯分别绑定X/Y/S/M位状态寄存器如图3-2所示,脚本初始化将位寄存器地址全部置1。搭配定时器将位寄存器实现01循环变化。

图3-2 FX2N位状态寄存器配置
Lua脚本预览
脚本运用函数说明
对地址0x0000输入位X寄存器只读取函数格式为get_bit(VT_X,0x0000)
对地址0x0000输出位Y寄存器只写入位值为1的函数格式为set_bit(VT_Y,0x0000,1)
对地址0x0000状态位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位状态寄存器lua脚本预览
-
函数
+关注
关注
3文章
4406浏览量
66838 -
HMI
+关注
关注
9文章
687浏览量
51535 -
串口屏技术
+关注
关注
0文章
19浏览量
1024
发布评论请先 登录
LUA脚本的绘图API函数的使用方法及使用函数的注意事项
LUA如何实现回调函数的触发使用以及编写程序的注意事项
32bit MCU 与 16bit MCU 的 区别
大彩讲堂:VisualHMI-LUA教程-on_run回调函数使用指南
大彩讲堂:VisualHMI软件如何自定义键盘
大彩讲堂:VisualHMI-LUA教程-on_press回调函数使用指南
大彩讲堂:VisualHMI-LUA教程-获取和设置16位数据函数
大彩讲堂:VisualHMI-LUA教程-获取设置单精度浮点数函数的应用
大彩讲堂:VisualHMI-LUA教程-获取与设置32位数据函数的应用
大彩讲堂:VisualHMI-LUA教程-连续写多个寄存器函数的应用

大彩讲堂:VisualHMI-LUA教程-set_bit/get_bit函数应用
评论