技术论坛

与上位机数据交互的问题

作者 主题
新手

经验值: 28
发帖数: 6
精华帖: 0
主题:【求助】与上位机数据交互的问题
推荐帖


只看楼主 楼主 2022-01-18 17:21:06

最近有个项目做MES,和上位机交换数据,用SMART200做下位机,采用232通讯,自由通讯协议。

波特率9600   8N1    

现在发送40个字节的时候,上位机只能收到一半,其它接收不了,客户指定是我们的问题,但是我看了西门子的发送指令,没有地方可以调节发送速度,请大侠指点

后:我用串口通讯软件和下位机调试,我发现,如果把串口助手中的接收超时改为5MS,那就和客户所表达的现象一致,接收到的数据分为二段或3段接收完,如果我把超时时间设置为50或100MS,那接收的数据就全了,  我想问下,这个是我的PLC程序问题还是上位机的问题,

如果客户不松口,我要怎样才能说服客户?  因为我算过用9600  40个字节需要41.5MS的时间,如果客户上位机接收数据小于这个时间,肯定是无法接收完整的, 本来数据信息都有头缀和尾缀,按道理不会这样呀,盼指点。

另:客户不同意修改波特率,我从侧面了解到客户设置的超时为5MS。



 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1744788&b_id=64&s_id=0&num=14

至圣

经验值: 16421
发帖数: 2400
精华帖: 0
回复:与上位机数据交互的问题


只看楼主 1楼 2022-01-18 17:50:08

说明情况,做好沟通工作。


开心每一天,懂得包容、感恩!
以下网友喜欢您的帖子:

  
版主

经验值: 25993
发帖数: 11808
精华帖: 43
回复:与上位机数据交互的问题
推荐帖


只看楼主 2楼 2022-01-18 18:26:29

有两类超时:

1、信息超时,指整帧信息从第1个字符至最后一个字符的时间;

2、字符间的超时,指两个字符之间的空闲时间。

你所谓的超时,是指哪一类的?


 
以下网友喜欢您的帖子:

  
侠圣

经验值: 3816
发帖数: 730
精华帖: 3
回复:与上位机数据交互的问题


只看楼主 3楼 2022-01-18 20:12:48

这个上位机没有其他协议吗5MS的速度太快了,你smart在程序两不多的情况下扫描时间也有一两毫秒。现在串口通信问题本来就会有各种小问题,还是建议使用网络协议,比如MODBUS TCPIP,S7等标准协议。


 
以下网友喜欢您的帖子:

  
侠士

经验值: 1579
发帖数: 678
精华帖: 1
回复:与上位机数据交互的问题
推荐帖


只看楼主 4楼 2022-01-18 21:45:34
9600的波特率不考虑校验位的情况下 最大速率9600位/(数据位8位+停止位1位)=1066.7字符/秒=1.0667字符/毫秒,你现在的情况是5毫秒传输40个字符=8字符/毫秒,显然是速度不够。所以按照计算公式最接近标准波特率是115200.经验总结:在这种情况下PLC频繁调用发送完成中断的话,PLC容易死机。

短暂的激情是不值钱的!!
以下网友喜欢您的帖子:

  
至圣

经验值: 19284
发帖数: 3867
精华帖: 1
回复:与上位机数据交互的问题


只看楼主 5楼 2022-01-18 23:42:50

百分百是PLC的串口设置问题,你可以设置115200的频率(RS232串口支持115.2K的频率),延时最低50MS以上才能把数据全部接收完成。

你的问题在于:延时太短;通信频率太低。


弘扬中华传统美德,无私奉献为根本,助人为乐为根源。
以下网友喜欢您的帖子:

  
奇侠

经验值: 5379
发帖数: 557
精华帖: 0
回复:与上位机数据交互的问题


只看楼主 6楼 2022-01-19 23:10:25

上位机的问题  上位机做不了 5ms

上位机也判断 不了 5ms  (除非只做和你通讯,别的不做了)

客户指定接口和协议 


 
以下网友喜欢您的帖子:

  
至圣

经验值: 76198
发帖数: 19143
精华帖: 378
回复:与上位机数据交互的问题


只看楼主 7楼 2022-01-20 00:27:17

真的很无语,楼主和用户都是不懂通信啊,居然双方都会接受9600的波特率,在已知这么严苛的通信条件下,即使是以太网也不见得做得到呀。

我不知道,即使楼主说服了用户用了115200的波特率,就能彻底解决问题了吗?


Zane 注册自动化系统工程师 Always save before download
以下网友喜欢您的帖子:

  
新手

经验值: 28
发帖数: 6
精华帖: 0
回复:与上位机数据交互的问题


只看楼主 楼主 8楼 2022-01-20 10:45:55


超时是指我箭头所示的地方,这里设置为100MS就可以了,重复快速的发也可以接收完全,


 
以下网友喜欢您的帖子:

  
新手

经验值: 28
发帖数: 6
精华帖: 0
回复:与上位机数据交互的问题


只看楼主 楼主 9楼 2022-01-20 11:04:59

感谢各位前辈的指点,我基本上有数了,本身波特率低了,发送数据的速度不够,上位机应修改接收方式,因为有前缀和尾缀, 应等 到接收到最后的尾缀再进行判断,   

建议客户修改波特率或更改接收方式,。

因为这个小机台是人工取放料的,一个周期为8-10秒,当初自己用串口助手测试都没有问题,现在客户的工程师不愿意修改,拿他一点办法也没有,只能向上级反应了。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 12573
发帖数: 2503
精华帖: 31
回复:与上位机数据交互的问题


只看楼主 10楼 2022-01-20 12:01:01

1、你是主站,很多时候只能迁就从站的协议,如果数据刷新时间效果不理想可以反映给你的上司裁决。

2、你是主站,别人是从站,你就得按别人的通讯协议写程序,没道理人家的通讯周期是10秒,你想10毫秒完成?别做梦。

3、如果上位机是PC,那么超时必须>100ms,因为三大主流操作系统很难做到1ms的串口中断接收数据也很难实现5ms以内的响应时间,那样北桥就不用干其它事了;如果上位机是PLC且写程序的是高手用中断通讯,超时必须>20ms,因为PLC的数据处理也要时间;如果上位机是单片机,超时会非常不确定,不同的人写的程序不一样(用的单片机规格、是否用OS、是中断通讯还是查询通讯、写程序的人的水平及RP都会有很大的影响)。

4、作为主站时,我们写程序时超时时间基本上都会>100ms,个别的奇葩从站还要更奇葩的超时时间。



 
以下网友喜欢您的帖子:

  
新手

经验值: 28
发帖数: 6
精华帖: 0
回复:与上位机数据交互的问题


只看楼主 楼主 11楼 2022-01-20 14:07:15

非常感谢! 您的发言可以直接发给客户工程了,


 
以下网友喜欢您的帖子:

  
WCN
游侠

经验值: 486
发帖数: 70
精华帖: 1
回复:与上位机数据交互的问题


只看楼主 12楼 2022-01-20 16:34:16

5ms确实太短了


 
以下网友喜欢您的帖子:

  
至圣

经验值: 67543
发帖数: 14782
精华帖: 100
回复:与上位机数据交互的问题


只看楼主 13楼 2022-01-20 21:28:52

一句话,交出通讯协议。按协议编程。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 15532
发帖数: 1735
精华帖: 0
回复:与上位机数据交互的问题


只看楼主 14楼 2022-01-21 09:41:04

 支持楼上意见!


海纳百川,厚德务实!
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
与上位机数据交互的问题
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。