为什么我不加|P|时通讯正确,而加上时PLC不回复上位机的指令?关于通讯的设置和接收发送中断都是正确的。“|P|或|N|要想发挥作用,其所在的程序段必须至少执行两次,”师兄这么告诉我,可我没找到相关依据,有些怀疑。求正解?
追答他应该给你这么说才对:比如: I0.0 的|P|用来做发送, I0.0 的|N|用来做接收。而程序执行两次是叫你将|P|或|N|用来做通讯程序块的调用条件,而不是说某个指令的调用条件。明白了吗?是程序块的调用条件,也就是子程序前面的调用条件。
追问首先非常感谢您的讲解。可是很抱歉我看了您的解释就更糊涂了。比如对发送指令来说,若不加|P|,可能会造成PLC持续向上位机发送信息,而加上|P|后只发送一次,这样理论上来说达到了我的目的。而实际上我设PLC每接收一条指令就立即回复,我在发送指令的调用条件中都加上了|P|,只有接收第一条有问题,其他的为什么没问题呢?
追答
是调用程序块,明白了吗?
非常感谢!但我要用的不是调用程序块功能啊
追答我想你是教不会了,没办法教你了,编程不是死的,是可以改变程序结构的,你不会把里面不需要的程序段移出去啊,只要通讯程序在里面。我不会再回答你了。