一、说明
MCGS(昆仑通态)组态软件原版Modbus驱动是无法通过画面组态调用宏来设置Modbus通信相关参数的,如:站号,波特率,数据位,停止位,校验位这些参数的。但是可以通过第三方定制版驱动来实现该功能,亲测有效。
二、屏幕做Mdobus主站时相关设置
通过新建一个简单测试工程来讲解如何使用该驱动程序提供的功能
- 下载安装第三方定制驱动程序。(点击下载)
- 新建测试工程,并新建一个画面,画面布局如下
- 然后在实时数据库里新建11个数值变量分别为nAddr、nBaudrate、nDatabit、nStopbit、nParity、nReturn和rAddr、rBaudrate、rDatabit、rStopbit、rParity。将组态画面左侧文本框依次关联nAddr、nBaudrate、nDatabit、nStopbit、nParity这几个变量,右侧标签依次关联rAddr、rBaudrate、rDatabit、rStopbit、rParity。
- 组态左侧设置按钮的按下脚本写入以下代码
'''''''''''''''''''''''''''''''''''''''''''''''''''''''' '设置设备1的设备地址,设置地址值为nAddr的值,nAddr为数值型变量。 '''''''''''''''''''''''''''''''''''''''''''''''''''''''' !SetDevice(设备1,6,"SetAddress(nAddr)") ''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 'nBaudrate为波特率,取值为(9600、14400、19200、38400等常见波特率的值) 'nDatabit为数据位,取值为(7-七位,8-八位) 'nStopbit为停止位,取值为(1-一位,2-两位) 'nParity为校验位,取值为(0-无校验,1-奇校验,2-偶校验) 'nReturn为返回值,取值为(0-设置成功,1-设置失败) 'nBaudrate,nDatabit,nStopbit,nParity,nReturn均为数值型变量。 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''' !SetDevice(设备1,6, "SetCommPara(nBaudrate,nDatabit,nStopbit,nParity,nReturn)")
'''''''''''''''''''''''''''''''''''''''''''''''' '获取设备1的设备地址,将值赋值给rAddr,rAddr为数值型变量。 '''''''''''''''''''''''''''''''''''''''''''''''' !SetDevice(设备1,6,"GetAddress(rAddr)") ''''''''''''''''''''''''''''''''''''''''''''''''' 'rBaudrate,rDatabit,rStopbit,rParity均为数值型变量。 '''''''''''''''''''''''''''''''''''''''''''''''''' !SetDevice(设备1,6, "GetCommPara(rBaudrate,rDatabit,rStopbit,rParity)")
'''''''''''''''''''''''''''''''''''''''''''''''''''''''' '设置设备2的设备地址,设置地址值为nAddr的值,nAddr为数值型变量。 '''''''''''''''''''''''''''''''''''''''''''''''''''''''' !SetDevice(设备2,6,"SetAddress(nAddr)") ''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 'nBaudrate为波特率,取值为(9600、14400、19200、38400等常见波特率的值) 'nDatabit为数据位,取值为(7-七位,8-八位) 'nStopbit为停止位,取值为(1-一位,2-两位) 'nParity为校验位,取值为(0-无校验,1-奇校验,2-偶校验) 'nReturn为返回值,取值为(0-设置成功,1-设置失败) 'nBaudrate,nDatabit,nStopbit,nParity,nReturn均为数值型变量。 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''' !SetDevice(设备1,6, "SetCommPara(nBaudrate,nDatabit,nStopbit,nParity,nReturn)")
- .将上边工程的获取 按钮的脚本改写为以下内容(由于设备1和设备2的父设备相同所以只需修改设置设备2的站号即可)
'''''''''''''''''''''''''''''''''''''''''''''''' '获取设备2的设备地址,将值赋值给rAddr,rAddr为数值型变量。 '''''''''''''''''''''''''''''''''''''''''''''''' !SetDevice(设备2,6,"GetAddress(rAddr)") ''''''''''''''''''''''''''''''''''''''''''''''''' 'rBaudrate,rDatabit,rStopbit,rParity均为数值型变量。 '''''''''''''''''''''''''''''''''''''''''''''''''' !SetDevice(设备1,6, "GetCommPara(rBaudrate,rDatabit,rStopbit,rParity)")
- 从站设置原理是:定制设备和从站设备在同一串口父设备下,通过定制驱动设置父串口设备的串口参数(波特率、数据位、停止位、校验位),从而实现从站所在串口的参数。
四、总结
本文只是简单介绍了如何通过用户定制设备驱动来实现通过触摸屏画面组态来设置MCGS触摸屏Modbus通讯相关参数,希望对您有帮助!
|