200smart modbus-tcp通讯速率问题

现在项目需要上位机和200smartPLC之间做modbus-tcp通讯,定义了5段功能码对应地址,都是之前的电气人员定义好的,上位机程序也已经固化改不了

现在问题是,plc作为客户端,5个功能码只能轮训,通讯速率太慢,上位机接收的采集数据有40-60ms的延时,之前电气写的程序是做计时器加数轮询,我改成了完成位轮询,程序见附件

各位大侠有什么好的办法可以减少通讯的延时吗?

我是建议更换通讯协议为tcp开放式通讯,或者将数据都合在一个功能码地址里,但是上位机程序固化了,编程人员不愿意改。

问题补充:
程序附件:http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1640472&b_id=64&s_id=0&pno=#1640472

钻石用户推荐最佳答案

按你所说,上位机与PLC做modbus 通讯,你的PLC该是做服务器来使用啊,怎么会做客户端,若是客户端,上位机那边应该是叫下位机才对。
如果做服务器,其通信的轮询和你的程序基本没啥关系了,直接一个库就可以,这个PLC(服务器)的响应时间只与其硬件系统相关了。
如果做客户端,需要读写下位机的状态或参数。一般是用完成位来激活下一个读写操作并复位本次操作,这样速度会比脉冲定时轮询快一些。
MODBUS 通讯基本都是这样做的,你如果有通讯时效的要求建议更换通讯协议,更改为PN通讯,这种看你硬件,硬件网卡好的话,通讯可以μs级别,是一个实时通讯方式。

提问者对于答案的评价:

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc279492.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月30日 下午5:59
下一篇 2020年10月30日 下午5:59

相关推荐

发表回复

登录后才能评论