发布于 2011-07-22 22:18:29
9楼
看这篇 http://www.davidrobot.com/2011/03/sps-visu_step7_s7_pingpang.html
我们以设计一个乒乓电路(即单按钮起停)为例。一个输入按钮 I 0.0 ,一个输出指示灯 Q 4.0 ,按动一次按钮,灯泡亮,再按一次按钮,灯泡灭,如此反复。这个例子在《西门子PLC编程技术及工程应用》一书第79页可以找到(注* 这本书是 LT 买的第一本关于PLC工程应用的书,虽然此书内容上有些许错漏的地方,但是经过 LT 读后感受,书本的后几章偏重于PLC编程思路的介绍,与实际应用是很接近的。这本书,总体说了,值得一读),不过原书只是给出了梯形图 ( LAD ) 的表达方式,并且原书并没有解释设计思路,而仅仅分析了给出的梯形图所完成的功能。梯形图虽然逻辑上不易理解,但是表达清楚,在某些工业元素如电机、阀门等处,易于监控,与好友雪野苍狼交流时,他告诉我这样子。不过,现在让 LT 用 STL 语句表的思路来考虑如何设计这个电路:如果要满足按钮按一下一种状态,需要使用边沿检测并将之存储,然后设置两个中间状态,并将之异或( XOR 即相同出0不同出1),间断改变两个中间的状态,就可以实现一合一开的输出效果。
STL 语句实现如下:
A I0.0 //输入按钮
FP M0.0 //正跳沿检测
= M0.1
X M0.1 //异或中间状态
X M0.2 //两者不同输出1
= M0.2
A M0.2
= Q4.0