Quantum PLC 使用Modbus 通讯调试
硬件注意事项:
1, Modbus 为PLC上的RJ45端口。其中1和6脚针需短接,2和3脚针需短接,即使用
直通网线时,白橙和绿线短接,作为RS485 B端;橙线和白绿短接,作为RS485 A端。 2, 准备一个USB转RS485的转换器,将线连接起来。以方便使用模拟从站或读取报文使
用。
软件设置:
1, 要清楚CPU里Modbus Port的设置是将CPU作为从站时使用,作为主站时不用设置。 2,使用XXMIT功能块读写参数,建立通讯连接。如下图所示
弄清楚每个参数的含义是调试能否成功的关键。
1) START:触发功能块。当调试时,可以给定一个常通信号,作为调试用。当读取多个从站时,可以给定一个一定周期的脉冲信号作为触发功能块信号。 2) COMMAND:功能命令,此命令用于选择XXMIT的各种功能,如选择通讯方式是RS485还是RS232,RTU还是ASCII方式。具体需查询XXMIT参数功能表。本列中使用16#2100,转换成二进制,数据的第8位和13位为1,即选择RS485 的RTU通讯方式。 4) MSGOUT:此数据类型为word类型的一个9个数字的数组,如图所示:
1
迪斯美巴拉斯特(上海)贸易有限公司 自动化部
MSGOUT[1]:功能命令,选择读/写线圈/寄存器。如3为读多个寄存器状态。 MSGOUT[2]:要读或者写的变量的个数,本列中输入16#A即读取10个变量 MSGOUT[3]:从站地址。要读取的从站设备的地址,需和从站的设置地址一致。 MSGOUT[4]:从站寄存器的起始地址。注意,寄存器的最小地址为1,不能为0; MSGOUT[5]:主站将要映射的变量的起始地址。如输入5,则起始地址为%MW5。 其他参数不考虑。 5), MSGLEN:5或6.一般是5。想了解具体含义,查找相关手册。 6),PORT:端口号一般为0或者1。根据主站而定。 7),关于波特率、停止位、数据位、奇偶校验,需和从站上的设置完全一致。否则无法建立通讯连接。
8)关于RESPTOUT/RETRYLMT/STARTDLY/ENDDLY等参数决定重试次数、发送报文间隔等,可自行进行测试。
关于输出:
DONE:当成功完成一次通讯的过程,会有一个输出脉冲。
ERROR:当尝试通讯的失败次数达到设定值,即RETRYLNT的设定值,即会有一个脉冲输出。 MSGIN:必须创建一个和MSGOUT同样的数组。 STATUS:返回错误状态 RETRY:重试次数计数
完成功能块的编写,即可将程序下载到PLC进行测试。
本列的从站使用ModSim软件进行从站的模拟,使用USB转RS485线连接到PLC。 调试过程中如遇到问题,可借助其他工具,如串口工具,USB转RS485线等。 测试结果如下图所示:
2
迪斯美巴拉斯特(上海)贸易有限公司 自动化部
从站的起始地址为40001,对应主站的起始变量%MW1350。其它数据依次一一对应。
调试注意事项:
1, RS485通讯线的A、B不能反,且在Quantum PLC需将相应的脚针短接,否则无法发出
正确的报文命令。
2, 当程序正常时,PLC作为主站,会向外发送报文。本列中PLC和模拟器连接。在PLC发
送报文时,USB转RS485转接线的灯会闪烁。当模拟器回应时,转接线的另一个灯会闪烁。在保证接线正确的情况下,利用灯的闪烁情况,可检查通讯是否正常。 3, 可利用串口工具,读取主站/从站发送的报文。以判断通讯情况。如下图所示:
其中:01是从站地址,03是读寄存器功能码,00 00是读取的起始地址(16进制),00 14(16进制)是读取数据的长度,最后两位是校验码。
3
施耐德Quantum PLC使用Modbus RS485通讯



