西门子S7-200 CPU226型PLC做自由口通讯时,发送和接受指令加不加|P|上升沿触发有什么区别?

如题所述

加上升沿可以使你的数据稳定性和可信度可靠度增加。不加的话因为扫描周期的影响有可能执行一次发送实际却发送了若干次。有上升沿就只在条件满足时只发送一次。区别告诉你了,怎么用就看你的了。追问

为什么我不加|P|时通讯正确,而加上时PLC不回复上位机的指令?关于通讯的设置和接收发送中断都是正确的。“|P|或|N|要想发挥作用,其所在的程序段必须至少执行两次,”师兄这么告诉我,可我没找到相关依据,有些怀疑。求正解?

追答

他应该给你这么说才对:比如: I0.0 的|P|用来做发送, I0.0 的|N|用来做接收。而程序执行两次是叫你将|P|或|N|用来做通讯程序块的调用条件,而不是说某个指令的调用条件。明白了吗?是程序块的调用条件,也就是子程序前面的调用条件。

追问

首先非常感谢您的讲解。可是很抱歉我看了您的解释就更糊涂了。比如对发送指令来说,若不加|P|,可能会造成PLC持续向上位机发送信息,而加上|P|后只发送一次,这样理论上来说达到了我的目的。而实际上我设PLC每接收一条指令就立即回复,我在发送指令的调用条件中都加上了|P|,只有接收第一条有问题,其他的为什么没问题呢?

追答

 

是调用程序块,明白了吗?

追问

非常感谢!但我要用的不是调用程序块功能啊

追答

我想你是教不会了,没办法教你了,编程不是死的,是可以改变程序结构的,你不会把里面不需要的程序段移出去啊,只要通讯程序在里面。我不会再回答你了。

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答