我的建议就是当你检测到这地址的值有变化时就去执行对这个地址的读写。你用比较法去比较,比较原则是将比较指令放在这些通讯的后面,当检测到这个地址的数据有变化时,就轮训中要去轮训这个地址位,当下一个扫描周期执行完后再去停止这个位置的读写。以前也经常看到有人提到这样的问题,一般都是用比较法去做法处理。这个做法好,但是对编程序的逻辑要求高,如果程序逻辑不合理就出现你这样的情况。
这就要充分利用扫描周期的原理去做,当你第一触发时在通讯指令的下面,当再次扫面到这个读写地址时就轮训执行读写后,再在下一个周期不去执行对这个地址读写。
编写方式如下:要是用的是测速电机的话,得用电压变换模块通过AD模块输入PLC,得测一下实际转速和测速电机的电压对应关系,然后根据测量的电压计算出电机转速。如用编码器,根据编码器一转的脉冲数,单位时间内(如1秒做为一个测量周期)测量所得的脉冲数计算出实际每分钟的转速。再用比较指令判定输出即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)