您的位置:首页   >  关于我们  >  新闻动态

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

发布人:大彩科技发布日期:2025-08-12

一、适合范围



本文档适用于VisualHMI平台,Lua脚本语言为V5.3版本,配合工程可以完成大部分的位寄存器逻辑处理。


二、概述



set_bit(vtype,addr, value)

设置位寄存器:如Modbus的线圈、Fx2NXYSM寄存器


vtype:数据类型

addr:变量地址

value:写入的值


get_bit(vtype,addr)

读取位寄存器:如Modbus的线圈、Fx2NXYSM寄存器,返回数值


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脚本预览









联系我们

广州大彩光电科技有限公司(总部)

地址:广州市黄埔区科学城玉树工业园富康西街8号C栋
销售与技术支持:(020)82186683-601
大彩深圳办事处

地址:深圳市龙岗区坂田街道深汇大厦1栋1108

邮箱:fujq@gz-dc.com
销售与技术支持:付先生 13828461018

大彩成都办事处

地址:四川省成都市高新区天府大道中段500号东方希望天祥广场C座39楼3910号
邮箱:niesl@gz-dc.com
销售与技术支持:聂经理 18180927176
大彩上海办事处

地 址:上海市浦东新区长清路1200弄森宏旗臻商务楼39号813
邮箱:sales103@gz-dc.com
销售与技术支持刘经理 13671882080