woshimowww 发表于 2010-5-26 09:43

PLC上升沿检测问题,程序太长会不会检测不到,谢谢参与!

想讨论一个问题,就是PLC的程序扫描问题:假设一个程序有10K步,我在第10步时候写了个检测上升沿的指令,如三菱的LDP X0,如果在程序执行到第100步的时候X0产生了上升沿信号,而这个信号非常短,如一些汽缸磁感应器的信号,那程序扫描完10K步再回头重新扫描会不会这个上升沿信号已经丢失,然后无法执行LDP X0后面的指令。请各位高手不吝赐教,谢谢!!!!

woshimowww 发表于 2010-5-26 10:21

怎么都没人来讨论一下的,自己顶一下:)

huangbb 发表于 2010-5-26 10:22

那是肯定会丢失的,解决途径有两个:1是选用专用的高速DI口(或高速di模块);2是有些PLC具有硬件中断编程能力,上升沿检测放在中断程序里处理。

woshimowww 发表于 2010-5-26 10:23

这样啊,跟我考虑的一样,谢谢啊!

woshimowww 发表于 2010-5-26 10:37

那如果程序太长,那这种LDP LDF不是差不多没用了?

huangbb 发表于 2010-5-26 10:44

实时性要求高的步骤在中断程序里做处理,实时性要求不高的步骤在一般程序中处理。保证中断程序的短小精悍就行啊。日系的plc我好长时间没用了(十年),你说的指令我估计可以放在中断程序里。

woshimowww 发表于 2010-5-26 10:54

在一些比较短的程序里面,程序的扫描周期应该比上升沿或者下降沿的跳变时间短很多,这样就可以检测出来了,很多小程序比如几百步的也可以用这种指令,但是几K步的我就不怎么敢用了,等下设备撞机了。

huangbb 发表于 2010-5-26 11:02

任务分解的概念lz是否理解?比如你所举例的汽缸位置信号到来时需要马上处理的动作放在中断程序里,比如立即输出,立即写状态位,立即计数等等。其它时间要求低的部分放在一般程序里处理,比如报警,慢速的联锁,人机交互(显示,指示),消息记录等等。

xuyiyi 发表于 2010-5-26 11:27

huangbb 分析的有道理,对PLC方面有很深的功力。

peigang 发表于 2010-5-26 15:57

感觉还是中断处理比较好

zdhly0401 发表于 2010-5-27 09:11

我是做单片机的,单片机里面也是两种,一:要每隔几步检测一次,二:中断处理

花花牛 发表于 2010-5-27 20:46

同意LS说的,像单片机的数码管扫描,没隔一段程序就调用一下显示子程序,而红外解码就得用中断。

Gavin_Chen 发表于 2010-5-31 14:20

不错不错!!!!!!!!!
页: [1]
查看完整版本: PLC上升沿检测问题,程序太长会不会检测不到,谢谢参与!