S7 300 CP341 串口接收问题

采用CP341,无狗, 自己写的收发程序。 现要实现只要串口有数据接收不管是不是我需要的,我就复位30s计时器,否则串口30S都没收到任何数据就停机,请问该怎么实现,想了好久没想出来,请大家帮帮忙。是否可用中断来实现。

问题补充:
我调用的接收函数是FB7,但是不知道怎么才能判断长度为不为1. 是在FB7里判断,还是在这里调用完之后判断#LEN_R, 因为现在我有一帧数据是超过250个字节的, 我需要判断,只要有数据在接收,不管多长,都复位M125.0 ,    另外问一下,因为CP341的Buffered receive message只能最大设置250, 那么 如果接收超过250个字节的一帧数据,回来的#LEN_R 会是多少呢?

麻烦各位帮帮忙。最好能把图贴一下,万分感谢!

最佳答案

利用FB8接收数据函数来判断。
只要收到数据的长度大于1,就认为有数据,复位计时器。
如果大于30秒,没有数据,将某一位Q置为0即可。

提问者对于答案的评价:
谢谢了

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日 下午3:03
下一篇 2018年12月1日 下午3:03

相关推荐