广州大彩串口屏论坛_大彩开发者交流论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 4695|回复: 0

大彩讲堂:VisualHMI-LUA教程-连续写多个寄存器函数的应用

[复制链接]

144

主题

185

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
10559
发表于 2025-9-4 15:19:24 | 显示全部楼层 |阅读模式

一、适合范围

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

二、概述
set_uint16_ex(vtype, addr, value1,value2, …, value120)
vtype:数据类型
addr:变量起始地址,最大可以写120个连续寄存器
value1:寄存器1的值
value2:寄存器2的值
……
value120: 寄存器120的值
set_array(vtype, addr, buff)
vtype:数据类型
addr:变量起始地址,最大可以写120个连续寄存器
buff:word(字)数组,最大120个字

三、功能实现
1、Modbus寄存器应用
放置2个位状态指示灯,地址为LW1000对应写单个寄存器值,地址为LW1001对应以数组形式写寄存器值。放置4个数值控件,用以显示modbus协议保持寄存器值,如图3-1所示。
图3‑1  modbus寄存器读写配置

脚本运用函数说明
点击位状态指示灯 0x1000(LW 内存变量),触发on_update回调,set_uint16_ex(vtype, addr, value1,value2, …, value120)以单个寄存器批量设置4x0000—4x0003(保持寄存器的值)。
点击位状态指示灯 0x1001(LW 内存变量),触发on_update回调,set_array(vtype, addr, buff)以数组形式批量设置4x0000—4x0003(保持寄存器的值)。
Lua脚本预览,如图3-2所示
图3‑2  modbus寄存器读写 lua脚本预览


2、FX2N寄存器读写应用
放置2个位状态指示灯,地址为LW1111对应写单个寄存器值,地址为LW2222对应以数组形式写寄存器值。放置4个数值控件,用以显示FX2N协议D寄存器值,如图3-3所示。
图3‑3  FX2N寄存器读写配置

脚本运用函数说明
点击位状态指示灯 0x1111(LW 内存变量),触发on_update回调,set_uint16_ex(vtype, addr, value1,value2, …, value120)以单个寄存器批量设置4x0000—4x0003(D寄存器的值)。
点击位状态指示灯 0x2222(LW 内存变量),触发on_update回调,set_array(vtype, addr, buff)以数组形式批量设置0x0000—0x0003(D寄存器的值)。
注意FX2N地址为10进制!!
Lua脚本预览,如图3-4所示

图3‑4  FX2N寄存器读写 lua预览


广州大彩智能科技有限公司(总部)
广州大彩光电科技有限公司
地址:广州市增城区宁西街新耀北路56号
销售与技术支持:(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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
销售与技术支持:(020)82186683-601
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|广州大彩串口屏论坛_大彩开发者交流论坛

GMT+8, 2025-10-15 19:39 , Processed in 0.059431 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表