许多PLC厂家都设计了专门用于编制顺序控制程序的指令和编程元件,如美国GE公司和GOULD公司的鼓形控制器、日本东芝公司的步进顺序指令、三菱公司的步进梯形指令等。
步进梯形指令(Step
Ladder Instruction)简称为STL指令。FX系列就有STL指令及RET复位指令。利用这两条指令,可以很方便地编制顺序控制梯形图程序。
FX2N系列PLC的状态器S0~S9用于初始步,S10~S19用于返回原点,S20~S499为通用状态,S500~S899有断电保持功能,S900~S999用于报警。用它们编制顺序控制程序时,应与步进梯形指令一起使用。FX系列还有许多用于步进顺控编程的特殊辅助继电器以及使状态初始化的功能指令IST,使STL指令用于设计顺序控制程序更加方便。
使用STL指令的状态器的常开触点称为STL触点,它们在梯形图中的元件符号如图5-31所示。图中可以看出功能表图与梯形图之间的对应关系,STL触点驱动的电路块具有三个功能:对负载的驱动处理、指定转换条件和指定转换目标。
图5-31
STL指令与功能表图
除了后面要介绍的并行序列的合并对应的梯形图外,STL触点是与左侧母线相连的常开触点,当某一步为活动步时,对应的STL触点接通,该步的负载被驱动。当该步后面的转换条件满足时,转换实现,即后续步对应的状态器被SET指令置位,后续步变为活动步,同时与前级步对应的状态器被系统程序自动复位,前级步对应的STL触点断开。
使用STL指令时应该注意以下一些问题:
1)与STL触点相连的触点应使用LD或LDI指令,即LD点移到STL触点的右侧,直到出现下一条STL指令或出现RET指令,RET指令使LD点返回左侧母线。各个STL触点驱动的电路一般放在一起,最后一个电路结束时—定要使用RET指令。
2)STL触点可以直接驱动或通过别的触点驱动Y、M、S、T等元件的线圈,STL触点也可以使Y、M、S等元件置位或复位。
3)STL触点断开时,CPU不执行它驱动的电路块,即CPU只执行活动步对应的程序。在没有并行序列时,任何时候只有一个活动步,因此大大缩短了扫描周期。
4)由于CPU只执行活动步对应的电路块,使用STL指令时允许双线圈输出,即同一元件的几个线圈可以分别被不同的STL触点驱动。实际上在一个扫描周期内,同一元件的几条OUT指令中只有一条被执行。
5)STL指令只能用于状态寄存器,在没有并行序列时,一个状态寄存器的STL触点在梯形图中只能出现一次。
6)STL触点驱动的电路块中不能使用MC和MCR指令,但是可以使用CJP和EJP指令。当执行CJP指令跳人某一STL触点驱动的电路块时,不管该STL触点是否为“1”状态,均执行对应的EJP指令之后的电路。
7)与普通的辅助继电器一样,可以对状态寄存器使用LD、LDI、AND、ANI、OR、ORI、SET、RST、OUT等指令,这时状态器触点的画法与普通触点的画法相同。
8)使状态器置位的指令如果不在STL触点驱动的电路块内,执行置位指令时系统程序不会自动将前级步对应的状态器复位。
如图5-32所示小车一个周期内的运动路线由4段组成,它们分别对应于S31~S34所代表的4步,S0代表初始步。
图5-32
小车控制系统功能表图与梯形图
假设小车位于原点(最左端),系统处于初始步,S0为“1”状态。按下起动按钮X4,系统由初始步S0转换到步S31。S31的STL触点接通,Y0的线圈“通电”,小车右行,行至最右端时,限位开关X3接通,使S32置位,S31被系统程序自动置为“0”状态,小车变为左行,小车将这样一步一步地顺序工作下去,最后返回起始点,并停留在初始步。图5-32中的梯形图对应的指令表程序如表5-3所示.。
表5-3
小车控制系统指令表
LD
SET
STL
LD
SET
STL |
M8002
S0
S0
X4
S31
S31 |
OUT
LD
SET
STL
OUT
LD |
Y0
X3
S32
S32
Y1
X1 |
SET
STL
OUT
LD
SET
STL |
S33
S33
Y0
X2
S34
S34 |
OUT
LD
SET
RET |
Y1
X0
S0 |
|