MCGS触摸屏在运行过程中设置Modbus通讯地址及串口参数的方法

MCGS触摸屏在运行过程中设置Modbus通讯地址及串口参数的方法

一、准备工作

昆仑通态官方提供的原版Modbus驱动不支持在程序运行过程中动态修改Modbus的设备地址(支持动态修改父设备的串口通讯参数),但是通过第三方定制版驱动可以做到。我用的是上海汉步定制版驱动(该驱动版权所属未知,不建议商用)。
1.准备好上海汉步定制版驱动安装包点击下载 提取码:knkc

二、操作步骤

  1. 下载安装上海汉步定制版驱动(目前版本是5.002)
    《MCGS触摸屏在运行过程中设置Modbus通讯地址及串口参数的方法》

  2. 打开昆仑通态组态环境添加刚刚安装好的驱动(以嵌入版7.7为例)
    《MCGS触摸屏在运行过程中设置Modbus通讯地址及串口参数的方法》

  3. 在实时数据库添加相应变量
    新建11个数值变量分别为nAddr、nBaudrate、nDatabit、nStopbit、nParity、nReturn和rAddr、rBaudrate、rDatabit、rStopbit、rParity。
    《MCGS触摸屏在运行过程中设置Modbus通讯地址及串口参数的方法》

  4. 新建窗口
    《MCGS触摸屏在运行过程中设置Modbus通讯地址及串口参数的方法》

  5. 绑定实时数据库变量
    将组态画面左侧文本框依次关联nAddr、nBaudrate、nDatabit、nStopbit、nParity这几个变量,右侧文本框依次关联rAddr、rBaudrate、rDatabit、rStopbit、rParity,左边按钮绑定“设置ModbusRTU通讯参数策略”右边按钮绑定“获取ModbusRTU通讯参数策略”。

  6. 新建策略(不是非要使用策略去做)
    新建两个用户策略,分别为:设置ModbusRTU通讯参数策略、获取ModbusRTU通讯参数策略。
    《MCGS触摸屏在运行过程中设置Modbus通讯地址及串口参数的方法》

  7. 把两个策略的执行条件都置1
    《MCGS触摸屏在运行过程中设置Modbus通讯地址及串口参数的方法》

  8. 在策略里写功能脚本

'**在设置ModbusRTU通讯参数策略里写如下脚本** '''''''''''''''''''''''''''''''''''''''''''''''''''''''' '设置设备1的设备地址,设置地址值为nAddr的值,nAddr为数值型变量。
''''''''''''''''''''''''''''''''''''''''''''''''''''''''
!SetDevice(设备0,6,"SetAddress(nAddr)")
 
''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '设定设备1所在的父设备的串口参数,
'nBaudrate为波特率,取值为(9600、14400、19200、38400等常见波特率的值) 'nDatabit为数据位,取值为(7-七位,8-八位)
'nStopbit为停止位,取值为(1-一位,2-两位) 'nParity为校验位,取值为(0-无校验,1-奇校验,2-偶校验)
'nReturn为返回值,取值为(0-设置成功,1-设置失败) 'nBaudrate,nDatabit,nStopbit,nParity,nReturn均为数值型变量。
''''''''''''''''''''''''''''''''''''''''''''''''''''''''' !SetDevice(设备0,6, "SetCommPara(nBaudrate,nDatabit,nStopbit,nParity,nReturn)") '''''''''''''''''''''''''''''''''''''''''''''''' '**在获取ModbusRTU通讯参数策略写如下脚本**
'获取设备1的设备地址,将值赋值给rAddr,rAddr为数值型变量。 '''''''''''''''''''''''''''''''''''''''''''''''' !SetDevice(设备0,6,"GetAddress(rAddr)") '''''''''''''''''''''''''''''''''''''''''''''''''
'获取设备1所在的父设备的串口参数, 'rBaudrate为波特率,
'rDatabit为数据位, 'rStopbit为停止位,
'rParity为校验位; 'rBaudrate,rDatabit,rStopbit,rParity均为数值型变量。
''''''''''''''''''''''''''''''''''''''''''''''''''
!SetDevice(设备0,6, "GetCommPara(rBaudrate,rDatabit,rStopbit,rParity)")

测试验证

完整工程下载 提取码:5rfk
测试方法与过程省略,请各位童鞋们自行想辙。

    原文作者:Coder_Shenshen
    原文地址: https://blog.csdn.net/qq_25814147/article/details/107728571
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞