此处以PLC基本指令实现所要求之功能:
0000.00 0010.01 0010.00
├──||───※───┬─○─ 此处以※表示常闭触点(指令)
│ 0000.00 0010.00 │
├──※───||───┘
0000: LD 0000.00 0003: AND 0010.00
0001: AND NOT 0010.01 0004: OR LD
0002: LD NOT 0000.00 0005: OUT 0010.00
0000.00 0010.01 0010.01
├──||───||───┬─○─ 此处以※表示常闭触点(指令)
│ 0000.00 0010.00 │
├──※───||───┘
0006: LD 0000.00 0009: AND 0010.00
0007: AND 0010.01 0010: OR LD
0008: LD NOT 0000.00 0011: OUT 0010.00
0000.00/0010.00,0010.01的状态变化:0/00→1/10
↑ ↓
1/01←1/11
其中,0000.00为按钮信号,0010.00响应0000.00的上升沿,0010.01响应0000.00的下降沿,根据输出响应的要求可选择0010.00或0010.01,或者是两者的逻辑组合(此处以布尔表达式表示):
0100.00 = 0010.00 ;按下0000.00即切换输出0100.00的状态
0100.00 = 0010.01 ;按下0000.00后,再松开复位时切换输出0100.00的状态
0100.00 = 0010.00*0010.01 ;无输出时,按下0000.00后,再松开复位时切换输出0100.00为ON
;有输出时,按下0000.00即切换输出0100.00为OFF
!!!:此处因用PLC基本指令实现,表面看来似乎可以直接转换为相应的继电线路以实现同样的逻辑功能;但事实上因PLC是以严格的Scan方式工作,在此处可以实现的功能,当换以继电线路去实现时却会因触点动作时差的存在而出现严重的“竞争冒险”,其动作结果的随机性使该继电线路变得毫无实用价值。有兴趣的话可以很容易地试验一下,因为实验条件是简单得不能再简单了。
或有缪误,恳请指正!
03-10-09 17:36