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

描述

 

一、适合范围

本文档适用于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循环变化。

HMI

图3-1 modbus线圈地址配置


 

Lua脚本预览
 

脚本运用函数说明

对地址0x0000线圈寄存器写入位值为1时函数格式为 set_bit(VT_0x,0x0000,1)

对地址0x0000线圈寄存器读取的函数格式为 get_bit(VT_0x,0x0000)

对地址0x0000离散输入寄存器读取的函数格式为 get_bit(VT_1x,0x0000)

HMI

modbus线圈地址 lua脚本预览


 

2.FX2N位寄存器应用

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

HMI

图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)

HMI

FX2N位状态寄存器 lua脚本预览

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分