西门子济宁授权代理商
许多PLC的指令系统中都配备了步进类指令,例如,欧姆龙PLC的步定义指令STEP和步启动指令SNXT;三菱PLC的步进梯形指令STL和步进复位指令RET;西门子PLC的顺控继电器指令SCR、顺控继电器转换指令SCRT和顺控继电器结束指令SCRE,等等。所谓步进顺控设计法就是利用步进类指令借鉴类似于顺控图法设计程序,由于使用了**指令,所以该设计法更加容易掌握,可以方便、快捷地设计出复杂控制程序。下面以欧姆龙PLC为例简要介绍步进顺控设计法。
欧姆龙CJ1系列PLC的步进类指令主要有步定义指令STEP和步启动指令SNXT,它们用于在大型程序中设置程序段的连接点,特别适合于顺序控制,一般是将大型程序划分为一系列的程序段,每个程序段对应一个工艺过程。用步指令可以按*的顺序去执行各个步程序段。
1.步定义指令STEP与步启动指令SNXT使用方法
①步启动指令SNXT置于STEP指令之前,它的功能是将控制某一步程序段运行的控制位置“1”,从而使该步程序段运行。当在SNXT之前已存在某一步程序时,它会将当前步程序的控制位置“0”,终止该步程序执行,转而置下一步程序的控制位为“1”,执行下一步程序。其梯形图符号如下:
操作数区域:W0.00~W511.15
注意:操作数不在W区或SNXT用于中断程序中时,错误标志位P_ER置位。
②步定义指令STEP置于SNXT指令之后而在步程序之前,它是定义某一步程序的起点并*该步程序的控制位。当它置于步程序结束的最后一个SNXT指令之后时,表示这一系列步程序块终止,此时STEP指令不带任何控制位。其梯形图符号如下:
操作数区域:W0.00--W511.15
注意:
· 数据不在W区或STEP用于中断程序中时,错误标志位P_ER置位。
· 当STEP启动某一步程序段时,单步启动标志位A200.12置位一个扫描周期。A200.12
常被用做复位定时器、计数器或其他程序段。
每个步程序段必须由“SNXT B”指令开头,且紧跟一条“STEP B”指令,其中控制位B相同。这两条指令后面是该步程序段,由于SNXT和STEP指令不能置于子程序、中断程序或块程序段中,因此诸如IL、ILC、JMP、JME、CJP、CJPN、JMP0、JMEO、SBN、RET和END等指令均不能在步程序段中使用。
在一系列的步程序段都编写完毕后,须再加一条“SNXT X”指令(该X位无特定意义,可用任何未被系统使用过的W区工作位号),并在其后紧跟一条不带控制位的“STEP”指令,标志着这一系列步程序段的结束。
CPU执行到每个步程序段开头的“SNXT B”指令时,先复位程序使用过的定时器,并对程序使用过的数据区清零。“STEP B”则标志着以B为开头的程序段的开始。如果步指令所用过的位号在程序的其他地方调用过,则会产生重复错误。步指令的使用示例见例5-4。
【例5-4】 步指令梯形图及助记符示例如图5-16所示。
图5-16 步指令梯形图及助记符示例
在图5-16中,当0.00为ON时,执行W0.00程序段;当0.01为ON时,执行W0.01程序段,而被W0.00程序段使用过的数据区的状态见表5-5。
表5-5 复位状态表
由于CPU在执行“STEP W0.00”指令时,单步启动标志位A200.12在一个扫描周期内置“1”,可以利用此位来复位计数器,如图5-17所示。
图5-17 标志位A200.12使用示例
2.步指令应用实例
(1)顺序控制实例
【例5-5】 某零件的装配过程按上料、组装和分检三个工序顺序实施,如图5-18所示。各工序由传送带旁的传感器(SW1--SW4)发出信号,驱动对应机构动作,机构每完成一次操作都要回复原位,等待下一个信号。
图5-18 顺序装配过程示意图
分析此顺序装配过程并绘制顺控图,如图5-19所示。梯形图程序中使用了步指令,如图5-20所示,每个不同的SNXT指令与步程序一一对应,而来自现场的传感器信号将启动对应的步程序。
图5-19 装配过程顺控图
图5-20 步指令梯形图示例
(2)选择控制实例
【例5-6】 某产品按重量分选后打印标签,如图5-21所示。产品经称重后按轻重分别被传送带A或B输送,传感器SW A1或SW B1感应到产品后发出信号驱动传送带A或B运行,较终经打印机打印标签。
图5-21 分选过程示意图
此选择过程的顺控图如图5-22所示。此选择过程的控制梯形图采用了两个SNXT指令分别执行工序A和B,如图5-23所示,由于SNXT的执行条件0.01( SW Al)和0.02( SW B1)互锁,因此只能执行工序A或B的其中之一。当工序A或B执行完毕时,由另一个SNXT指令执行工序C。
弄通有关三菱PLC程序设计理论是重要的。没有这方面的理论准备或指导,仅靠在实践中摸索,简单的问题还好办。复杂的就不好办了。不仅无从下手,而且花了很多时间与精力,也难编出效率较高、质量也较高的程序,常常是事倍功半。但是,三菱PLC编程的具体实践,以及在这个实践中得来的知识或技能,即经验,也是重要的。没有经验,仅有理论,既无法深刻理解理论,又无法灵活应用理论。这正如学数学,如仅了解一些定理或记住一些公式,没有作相应的练习,肯定是学不好的。更不用说,三菱PLC任何理论也都只是经验的总结,归根到底也都有是来自实践。
1、 经验积累经验有别人的,也有自己的,都很重要。前者要靠细心学习,后者要靠用心积累,都要在一定的时间与必要的精力。别人的经验有上了书的或登载在杂志上的。有的是细心学习别人的,但多数是我自己的经验。所有的例子都经我测试过,都经实践证明是可行的。我想,别的书本或杂志上介绍的也会是这样的。所以学习这样杨功的经验是必要的。还有就是你同事的经验,也是值得学习。这种经验离你很“近”,很易借鉴。自己的经验则是较重要的。要在自己的实践中,积累自己的经验。同时,较好在学别人的三菱PLC经验时,也能亲自作些测试,能使自己也有类似的经历,进而把这些经验变成自己的。这也是自己经验的重要积累。还有一些失败的经验,这往往是不会公开的,但这些经验也要学习,也要积累。经验的积累要用自己的脑记,更要用电脑记。较好作些分类,建立一个自用的程序库,以便于随时引用。
2、 经验升华经验还有待升华。升华有三个层次:较低的层次就是建立一个典型的程序库,供今后再用。若程序复杂,还可建一些功能块,或子程序,以便以后引用。其次,要总结出有效算法。如单按钮起停程序库等。较高层次的升华是把经验上升到理论的高度,为丰富三菱PLC程序设计理论作贡献。我想,随着三菱PLC使用的普及与提高,是会有越来越多从经验中升华出来的,而又能用以指导实践的三菱PLC编程理论的。
3、 经验应用经验积累、三菱PLC经验升华都是为了应用。经验应用有三方面:1) 用作工程设计模板。设计 新系统时,选用一个或几个与现设计工程类似的,已取得成功的工程,作样板进行设计。这既可减轻设计的工作量,又增加设计的成功率。这也是信息可重用的一大好处。2) 用作程序设计参考。在无成功的工程可作样板时,在新设计的逻辑中,仍有相当一部分控制逻辑,可采用或借用已有典型逻辑,这也可减少设计的工作量,增加PLC设计的成功率.