首页 理论教育 自由口通信常见问题解决方案

自由口通信常见问题解决方案

时间:2023-07-01 理论教育 版权反馈
【摘要】:表9-14 LENGTH和BUFFER参数3.S7-1200 PLC作为自由口通信接收端,如何获取接收到的数据长度和“Receive_P2P”指令的错误信息?答:有以下三种方法能清除S7-1200PLC串口通信的接收缓冲区:方法1.上升沿触发“Receive_Reset”指令输入引脚REQ,如图9-43所示。参考第6.2.3章节,显示和改变PLC工作模式。

自由口通信常见问题解决方案

1.在指令选项卡通信>通信处理器”下,“PtP Communication”和“点到点”指令有什么区别?

答:“点到点”指令只能用于S7-1200 PLC中央机架的CM1241和CB1241;“PtPCommunication”指令既可以用于S7-1200PLC中央机架的CM1241和CB1241(但要求CM1241

V2.1和S7-1200CPUV4.1以上),也可以用于分布式I/OPROFINET或PROFIBUS的ET200SP/ET200MP串口模块。

2.当“Send_P2P”指令发送缓冲区BUFFER长度和LENGTH定义不一致时,发送数据长度是多少?

答:如果LENGTH=0,“Send_P2P”发送BUFFER参数中定义的全部数据;如果LENGTH>0,则发送BUFFER参数中的部分数据结构,长度由LENGTH决定,见表9-14。

另外,“Send_P2P”指令可以传送的最小数据单位是一个字节,BUFFER参数不能传送Bool数据类型或Bool数组

9-14 LENGTHBUFFER参数

978-7-111-58391-2-Chapter09-56.jpg

3.S7-1200 PLC作为自由口通信接收端,如何获取接收到的数据长度和“Receive_P2P”指令的错误信息?

答:“Receive_P2P”指令上一请求因错误而终止后,接收完成位NDR,错误位ERROR和长度LENGTH信息仅保持一个周期,并且STATUS参数中的错误代码值仅在ERROR=TRUE的一个扫描周期内有效,因此无法通过程序或监控表查看到,可采用编程方式获取接收到的数据长度,并将ERROR和STATUS参数读出,参考图9-41。

4.有哪些方法能清除S7-1200 PLC串口通信的接收缓冲区,恢复数据接收?

答:有以下三种方法能清除S7-1200PLC串口通信的接收缓冲区:(www.xing528.com)

方法1.上升沿触发“Receive_Reset”指令输入引脚REQ,如图9-43所示。

方法2.CPU在线执行“RUN>STOP>RUN”的操作。参考第6.2.3章节,显示和改变PLC工作模式。

方法3.激活“启动时清空接收缓冲区”,CPU断电再上电,如图9-35所示。

978-7-111-58391-2-Chapter09-57.jpg

图9-43 复位接收缓冲区

5.以“通过线路空闲识别消息开始”作为消息开始条件,线路空闲时间设置为多少位时间合适?

答:空闲线时间应总是大于指定波特率下传输一个字符(包括起始位、数据位、校验位和停止位)的时间。空闲线时间设置不能太短,也不能设置过长,如下所述:

•线路空闲时间短:如空闲线时间设置小于1个字符时间,则相当于没有空闲线检测功能。检测到字符就接收。

•线路空闲时间长:如发送端发送频率很快,接收端设置的空闲线时间长,则接收消息功能会忽略发送端发送的字符,按照设置时间重新启动空闲线定时器,接收端收不到数据。

6.以“通过字符序列识别消息开始”作为消息开始条件,有哪些情况会导致S7-1200 PLC接收不到数据?

答:如下三种情况都会导致S7-1200PLC接收不到数据:序列中字符先后顺序不对,序列中字符不连续,序列中字符少于定义的字符个数。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈