modbus从站(串口)驱动帮助文档
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、概述
Modbus从站通信驱动程序模式实现了易控(INSPEC)和多种Modbus协议设备通过串口进行通信的协议。
二、通信准备
1、设备配置
保证仪表设备及通信电缆的完好。
参数设置如下:
波特率:19200
数据位: 8
停止位:1
校验方式:无校验
通信协议:RS232/RS485
上述参数需要与仪表上的相应参数保持一致。
2、通信电缆和连接
使用RS232/RS485串口模块与设备连接,详细信息请参考设备使用手册或向厂家咨询。
3、设备的软件配置
请参考具体设备进行软件配置。
三、易控配置步骤
1、在工程窗口中选择‘IO通信’节点的右键菜单中的“新建”,选择‘串口’,点击[下一步]。
2、配置波特率、数据位、停止位及校验方式,点击[下一步]。
3、选择[其它]-[通用协议]-[Modbus从站]。
点击“配置”按钮,弹出设备配置窗口:
✧协议格式:RTU模式,ASCII模式,TCP模式.
✧地址:为设备地址,默认为1。
✧通信超时:默认为500毫秒。
✧整型SWAP方式:默认值为SWAP1(3412)。
✧实型SWAP方式:默认值为SWAP3(2143)。
点击[确定]按钮,完成设备配置。
4、双击‘新建设备’或选择右键菜单中的[打开]命令,打开设备变量配置工作区。通过[新建]按钮添加寄存器,并设置数据类型、查询周期、读写方式等。
四、通信测试和问题处理
通信正常:点击按钮,‘运行’按钮切换到状态,此时当前值单元格中显示数据与仪表数据一致。
通信不正常,请检查:
1、设备是否上电,线路是否完好。
2、串口参数,波特率,数据位,停止位,奇偶校验的设置是否正确。
3、地址是否与PLC地址一致。
附录一:设备的用户程序控制
配置完成的设备通信驱动是易控工程的对象,对象的名称是新建设备通信驱动时的命名,在用户程序中可以直接访问和控制这个对象的属性和方法。
✧设备共有的属性和方法:请参见[IO通信基础]-[设备]。
✧特有属性:
附录二:设备的可读写寄存器列表
1、从站寄存器列表
2、主站从站寄存器对照表
附录三:用户自定义方法
(1)public bool ReadEx(byte code,int startAddr, int length, out byte[] buff,int fileNumber) 含义:读取数据
参数:code,功能码,支持01、02、03、04、14H;
startAddr,起始地址,最小值为1;
length,读取数据长度;
buff,返回16进制数组;
fileNumber,扩展内存文件号,当功能码为14H的时候使用,范围为1-10;
例子:
byte[] buff=new byte[]{};
DeviceIoManager.串口1.Modbus从站.ReadEx(0x14,1,4,out buff,1);
foreach(byte u in buff)
{
Debug.Write(u.ToString("X2"));
}
Debug.WriteLine("数据:");
(2)public bool WriteEx(byte code, int startAddr, byte[] buff, int fileNumber)
含义:写数据
参数:code,功能码,支持05、10H、15H;
startAddr,起始地址,最小值为1;
buff,写入16进制数组;
fileNumber,扩展内存文件号,当功能码为15H的时候使用,范围为1-10;例子:
byte[] buff=new byte[]{0x00,0x10,0x11,0x01};
DeviceIoManager.串口1.Modbus从站.WriteEx(0x15,4,buff,1);