Modbus读写
网络不通导致连接失败
使用 telnet 指令,用法:telnet ip端口。ping 命令只能保证 ip 可以连接,不能保证端口是否可用
Telnet协议是 TCP/IP 协议族中的一员,是 Internet 远程登录服务的标准协议和主要方式。在这里使用 telnet 目的是为了确定通过 ip和端口能和对应的服务取得连接、通话。
Windows 安装 telnet 指令:
- 打开 windows 的控制面板;
- 在控制面板页面,选择程序选项;
- 在程序页面,选择启用或关闭 windows功能;
- 在弹出的窗口中,找到 telnet 客户端并选中,然后点击确定。系统会自动安装 telnet 服务;
- 安装完成后,就可以使用 telnet 命令。运行(win+R)键。输入 cmd,在弹出的黑色框中输入telnet ip 端口(例如:telnet www.baidu.com 80) 然后回车,出现黑框或者没有提示连接失败信息就可认为端口和 ip 可用。
连接被重置
确认现场使用的 PLC针对同一个端口最多支持多少个主站连接即最大连接数。
读写类型错误
需要区分地址位类型,地址位确实是可写或可读的类型。针对于读 Modbus 来说,可读的地址位类型有:读线圈、读离散量输入、读输入寄存器 、读保持寄存器;针对写 Modbus来说,可写的地址位有:写线圈、写保持寄存器。
地址位错误
常见用工具连接PLC时,偏移量是1,填写地址位的时候没有考虑的此偏移量。
PLC值提前被清空
RDS经常会遇到与设备对接,其中最经典流程莫过于,机器人请求设备可离开,设备给出离开信号,机器人读取离开信号后清空写入PLC的所有信号,少数情况下机器人读取不到离开信号,原因可能是,PLC对离开信号保持很短时间后自动清空了,RDS在这很短时间内没法获取到这个离开信号,RDS读取块执行时间是2S每次,若plc离开信号保持时间极短,很可能会出现这种问题。可以增加plc对此信号的保持时间,或者增加一些业务逻辑,确保RDS业务能百分百读到。
Modbus连接超时
RDS连接超时时间是5s。
最近更新 2022/11/28
有帮助
没帮助