顺序步骤程序设计,是将一长串流程分解为一个个步骤,每个步骤单独完成一项逻辑运算和动作。在每个步骤上,都设置一个人为的标志位,用以明确表示当前运行的步骤,并通过此标志位限定设备的输出,达到使整个系统按照步骤严格运行的目的;并使得整个程序的条理清晰,各步骤逻辑简洁明确,有利于日后的维护和修改。
如下图2为生产线上“左一”单向移载传送带的编程示例:
如图2中所示,“左一”单向移载传送带的流程划分为五个步骤,分别以标志位M100、M101、M102、M103、M106来表示。在运行中,M100~M106顺序地被置位,在每个步骤中,相应的操作运算由相应的标志位来开通,使得设备运行得以按顺序进行,程序脉络十分清晰。
例如第1行,当X47置位,表明工装台进入了图1中“左一”的B2位置,当A2处无工装板积压,则M100就被置位并自保持,“左一”开始进行这块工装台的移载操作(步骤M100)。到了第2行,Y21会因为M100置位而复位,使该Y21对应的阻板气缸下降,将这块工装台放行,随B传送带进入“左一”传送带上。第3、4行,当工装台进入“左一”完毕(此时触动了X44行程开关),延时1秒(T1时间继电器),然后就根据条件将M101置位并自保持,程序进入步骤M101。可见,程序将会按顺序进行,直到工装板被准确送出“左一”传送带为止。
到了步骤M106,M106短暂地置位后,将在下一个扫描周期内复位M100和T0,使得M100~103全部步骤都复位,系统就开始等待下一次移载操作。
(2)状态标志替代方法
在“左二”和“右二”双向移载传送带的操作时,有可能会出现A线和B线两块工装台同时到达的现象。在这种情况下,“左二”、“右二”如何处理这个矛盾?哪个工装台会先运行?这里,就有个优先状态标志的设置和判断。如果两边各用一个行程开关来置位相应标志位,程序并不好写,因为置位后的标志位没有“优先”的特征,都是“1”,还是会造成混乱。如果用“输入端中断”来编程,则会因为各种原因(如输入误动作)导致系统的错误操作——在这种生产线上是很容易出现输入的误动作的。
在这里,程序设计者用了一个状态标志替代方法,用两个累加数的大小来代表工装台,如下图3所示。
如图3所示,程序中采用了D100和D102两个32位长整型寄存器用来做累加比较。当工装台同时进入时图1中的A3、B3时(这个“同时”还是有些微差别的),如图3所示的程序,M200和M250都置位,A和B两边都进入了移载程序的第一步,第4、5行就是对D100和D102进行累加,则当运行到第6行时,D100和D102的差别比较就会出来了。在D100大于和等于D102时,M120被置位;在D100小于D102时,M121被置位。这样,通过累加和比较,会得出一个优先的判断并固定用两个标志位M120及M121来表示(实际上,这样编程就能得到“先到者优先”的结果,现场所谓工装台“同时”达到对PLC来说还是非同时的)。随后的编程则将两边的步骤可以分开来写,并且还能相互添加一些联锁,保证两边的步骤不互相干扰。
- 下一篇:自动化流水线PLC及输入输出设备配置
- 上一篇:自动化流水线程序设计用到的指令