一、适合范围
本文档适用于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:数据类型
三、教程实现
功能实现
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脚本预览
地址:深圳市龙岗区坂田街道深汇大厦1栋1108
邮箱:fujq@gz-dc.com
销售与技术支持:付先生 13828461018