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