展开查看
以下是引用用以致学在2015-01-19 17:36:33的发言 >6楼:上面那段程序,怎么觉得有问题呢?时间周期上升和下降都会发出一个脉冲,发一个改进型的程序
L MB 28
L MB 29 //PLC时钟设置地址
T MB28
XOW
L MB29
AW
T MB 27
这位坛友,你写的程序是得不到上升沿或下降沿信号的,MB28是(8位)信号源,MB29是(8位)中间变量,MB27是(8位)上升沿信号,
即MB29用于保存信号源(MB28)前一个周期的状态,因此,你写的程序脱离了上升沿或下降沿的原理,无法得到上升沿或下降沿信号。
将楼主的程序分解,例如: M28.0, 按西门子标准指令为:
上升沿
A M 28.0 //源信号
FP M 29.0 //中间变量
= M 27.0 //源信号的上升沿
下降沿
A M 28.0 //源信号
FN M 29.0 //中间变量
= M 27.0 //源信号的下降沿
如果不用西门子的标准指令,也可以得到上升沿和下降沿 信号:
上升沿
A M 28.0 //源信号
AN M 29.0 //中间变量
= M 27.0 //源信号的上升沿
A M 28.0 //源信号
= M 29.0 //中间变量(保存前一周期源信号)
下降沿
AN M 28.0 //源信号
A M 29.0 //中间变量
= M 27.0 //源信号的下降沿
A M 28.0 //源信号
= M 29.0 //中间变量(保存前一周期源信号)