您现在的位置是:首页 > PLC技术 > PLC技术

三菱FX2N型PLC的多流程状态程序设计

来源:艾特贸易2017-06-05

简介在步进顺控过程中,最简单的是只有一个转移条件并转向一个分支的单流程 SFC ,如图 4. 22 所示。但是,也会碰到具有多个转移条件和多个分支的多流程状态编程。有时需要根据不同的

    在步进顺控过程中,最简单的是只有一个转移条件并转向一个分支的单流程SFC,如图4. 22所示。但是,也会碰到具有多个转移条件和多个分支的多流程状态编程。有时需要根据不同的转移条件选择转向不同的分支,执行不同的分支后再根据不同的转移条件汇合到同一分支,这是选择结构的SFC,如图4.23所示。有时需要根据同一转移条件同时转向几个分支,执行不同的分支后再汇合到同一分支,这是并行结构的状态转移图,如图4. 24所示。有时则需要跳过某些状态或重复某些状态,这是跳转与循环的编程,后面将会介绍。
 单流程SFC
    4.22    单流程SFC    1.选择结构状态的编程    (1)选择结构状态流程的特点    在多个分支结构中,当状态的转移条件在一个以上时,需要根据转移条件来选择转向哪个分支,这就是选择结构状态流程。在图4.23所示选择结构的SFC中,S20称分支状态,其下面有两个分支,根据不同的转移条件X001X004来选择转向其中的一个分支。此两个分支不能同时被选中,当X001接通时,状态将转移到S21,而当X004接通时,状态将转移到S23,所以要求转移条件X001X004不能同时闭合,当状态S21S23接通时,S20就自动复位。S26称为汇合状态,状态S22S24根据各自的转移条件X003X006向汇合状态转移。一旦状态S26接通时,前一状态S22S24就自动复位。
选择结构SFC
    4.23    选择结构SFC
 并行结构SFC    4.24    并行结构SFC    (2)选择结构状态的编程    选择结构状态的编程与一般状态编程一样,也必须遵循上节中已经指出的规则。无论是从分支状态向各个流程分支散转时,还是从各个分支状态向汇合状态汇合时,都要正确使用这些规则。    4.3对图4.23所示选择结构SFC编程,写出相应的指令表。      对应图4. 23所示选择结构SFC的指令表如图4.25所示。
选择结构SFC的指令表
    4. 25    选择结构SFC的指令表    ①选择性分支的编程    从分支状态S20散转的指令如图4.25中的步序713所示,转移条件X001X004在同一时刻只能一个有效,一旦程序转移,另一转移条件再有效时程序也不会理会。从中可以看到,选择性分支的用户程序仍遵循先负载驱动,后转移处理。步序1518的指令是先对左边分支的状态S21编程,步序2023的指令是后对右边分支的状态S23编程。可见仍然是从左至右,逐个编程的。    ②选择性汇合的编程    两个分支至S22S24时,将向S26汇合。汇合状态的编程,也是先进行汇合前的负载驱动,然后从左至右向汇合状态转移,这是为了自动生成SFC而追加的规则。步序2532的指令就是先进行汇合前的状态S22S24S26的负载驱动,步序3440的指令则是后对从左至右向汇合状态S26转移的编程。在汇合程序中,每个状态都使用了两次STL指令,第一次是引导状态进行负载驱动,第二次则是为状态转移指示方向。    注意,分支与汇合的处理程序中,不能用MPSMRDMPPANBORB指令。    (3)选择结构SFC与步进梯形图的转换    在进行选择结构SFC与梯形图的转换时,关键是对分支和汇合状态编程的处理。对分支状态的编程处理顺序:先进行分支状态的驱动连接,再依次根据转移条件置位各分支的首转移状态元件,然后按从左至右的顺序对首转移状态进行先负载驱动,后转移处理。对汇合状态的编程处理顺序:先进行汇合前各分支的最后一个状态和汇合状态的驱动连接,然后按从左至右的顺序对汇合状态进行转移连接。可见,每个状态也都两次使用了STL指令。    4.4 将图4. 23所示选择结构状态转移图转换成相应的步进梯形图。    解对应图4. 23所示选择结构状态转移图的步进梯形图如图4.26所示。
选择结构SFC的步进梯形图
    4. 26    选择结构SFC的步进梯形图    ①选择性分支的梯形图    从分支状态S20散转的梯形图如图4.26712步序间所画,从中可以看到,选择性分支的梯形图仍遵循先负载驱动,后转移处理。左边分支的状态S21和右边分支的状态S23的梯形图如1522步序间所画,也是从左至右,逐个编程的。    ②选择性汇合的梯形图    两个分支至S22S24时,将向S26汇合。先进行汇合前的状态S22S24和汇合状态S26的负载驱动,其梯形图如步序2531间所画。后从左至右向汇合状态S26转移,其梯形图如步序3438间所画。在汇合梯形图中状态S22S24都两次使用了STL接点。第一次是引导状态进行负载驱动,第二次则是为状态转移指示方向。    2.并行结构状态的编程    (1)并行结构状态流程的特点    如果某个状态的转移条件满足,将同时执行两个和两个以上分支,这称为并行结构分支。图4. 24所示即为并行结构的状态流程图,S20称分支状态,其下面有两个分支,当转移条件X001接通时,两个分支将同时被选中,并同时并行运行。当状态S21S23接通时,S20就自动复位。S26为汇合状态,当两条分支都执行到各自的最后状态,S22S24会同时接通。此时,若转移条件X003接通,将一起转入汇合状态S26。一旦状态S26接通,前一状态S22S24就自动复位。用水平双线来表示并行分支,上面一条表示并行分支的开始,下面一条表示并行分支的结束。    (2)并行结构状态的编程    并行结构状态的编程与一般状态编程一样,先进行负载驱动,后进行转移处理,转移处理从左到右依次进行。无论是从分支状态向各个流程分支并行转移时,还是从各个分支状态向汇合状态同时汇合时,都要正确使用这些规则。    4.5对图4.24所示并行结构状态转移图编程,写出相应的指令表。    解对应图4.24所示并行结构状态转移图的指令表如图4.27所示。    ①并行分支的编程    从分支状态S20并行转移的指令如图4.27中的步序712所示,S20有效时只要转移条件X001接通,程序将同时向左右两个分支转移。注意到这里用了两个连续的SET指令,这是并行分支程序的特点。接着,先对左分支S21编程,再对右分支S23编程,如步序1422所示,从中可以看到,并行分支的用户程序仍遵循先负载驱动,后转移处理。
并行结构SFC的指令表
    4.27    并行结构SFC的指令表    ②并行汇合的编程    两个分支至S22S24时,将向S26汇合。按从左至右的次序,先进行汇合前的状态S22S24和汇合状态S26的负载驱动,其指令如步序2431所示。此后将从左至右向汇合状态S26转移,其指令如步序3336所示。注意到这里用了两个连续的STL指令,这也是并行分支程序的特点。在汇合程序中,这种连续的STL指令最多能使用8次。    (3)并行结构SFC与步进梯形图的转换    在进行并行结构SFC与梯形图的转换时,关键是对并行分支和并行汇合的编程处理。对并行分支的编程处理顺序:先进行分支状态的驱动连接,再根据转移条件同时置位各分支的首转移状态元件,这是通过连续使用SET指令来实现的;然后按从左至右的次序对首转移状态进行先负载驱动,后转移处理。对并行汇合的编程处理顺序:先进行汇合前各分支的最后一个状态和汇合状态的驱动连接,然后按从左至右的次序对汇合状态进行同时转移连接,这是通过串联的STL接点来实现的。各分支的最后一个状态都两次使用了STL指令。    4.6 将图4.24所示并行结构状态转移图转换成相应的步进梯形图。      对应图4. 24所示并行结构状态转移图的步进梯形图如图4. 28所示。    ①并行分支的梯形图    从分支状态S20并行转移的梯形图如图4.28712步序间所画,S20有效时只要转移条件X001接通,程序将同时向左右两个分支转移。注意这里用了两个连续的SET指令,这是并行分支梯形图的特点。左边分支的状态S21和右边分支的状态S23的梯形图如1421步序间所画。从中可以看到,并行分支的梯形图程序仍遵循先负载驱动,后转移处理,并且从左至右逐个编程。
并行结构SFC的步进梯形图
    4.28    并行结构SFC的步进梯形图    ②并行汇合的梯形图    两个分支至S22S24时,将向S26汇合。先进行汇合前的状态S22S24和汇合状态S26的负载驱动,其梯形图如步序2430间所画。后从左至右向汇合状态S26转移。图中状态S22S24都两次使用了STL接点,这是并行汇合梯形图的特点。第一次是引导状态进行负载驱动,第二次STL接点串联则是表示状态转移的特点。只有左右两个分支均运行到最后一个状态S22S24,且状态转移的条件X003接通,才能转移至汇合状态S26    3.分支与汇合组合编程    在状态转移图中已经介绍了三种基本结构流程:单流程结构、选择性分支与并行分支结构。实际的PLC的状态转移图中常常用到上述基本结构的组合,只要将其拆分成基本结构,就能对其编程了。但是也有不能拆分成基本结构的组合。在分支与汇合流程中,各种汇合的汇合线或汇合线前的状态都不能直接进行状态的跳转。但是,按实际需要而设计的SFC中可能会碰到这种不能严格拆分成基本结构的情况,如图4.30(a)和图4. 31(a)SFC所示。这样的分支与汇合的组合流程是不能直接编程,在FXGP软件中对它们转换时将会提示SFC出错,出错提示框如图4.29所示。
出错提示
    4.29    出错提示
选择后的并行分支的虚状态法
    4.30    选择后的并行分支的虚状态法    为了使状态可以跳转,这时可以对它们进行相应的等效变换,使其变为基本结构。常用的是虚状态法,即在汇合线到分支线之间插入一个假想的中间状态,以改变直接从汇合线到下一个分支线的状态转移。这种假想的中间状态又称为虚状态,加入虚状态之后的状态转移图就可以进行编程了。如图4. 30(b)和图4.31(b)中的S55即为引入的虚状态。    4.7 将图4. 30(a)所示不可编程的SFC变换成可编程的流程结构。      4.30(a)所示SFC是一个选择性汇合后的并行分支,汇合线后没有中间状态,是不可编程的。可在汇合线到平行分支线之间插入一个假想的中间状态S55,如图4. 30(b)所示,以改变直接从汇合线到下一个分支线的状态转移,使之变换成可编程的基本结构流程。
并行后选择分支的虚状态法
    4.31    并行后选择分支的虚状态法    4.8 将图4. 31(a)所示不可编程的SFC变换成可编程的流程结构。    解图4. 31(a)所示SFC是一个并行汇合后的选择性分支,并行线后没有中间状态,是不可编程的。可在并行线后插入一个假想的中间状态S55,如图4.31(b)所示,以改变直接从并行线到下一个分支线的状态转移,使之变换成可编程的基本结构流程。    4.循环结构状态编程    SFC语言编制用户程序时,按照实际工艺的需要,有时状态之间的转移并非连续的,而是要向非相邻的状态转移,称为状态的跳转。利用跳转返回某个状态重复执行一段程序称为循环。循环又可以分为单循环、条件循环和多重循环等。    4. 32(a)所示为单循环。程序运行至状态S26时,若转移条件X004接通,则程序将跳转到上面的状态S21,并重复执行其下的一段程序,依次进行循环。从S26S21的跳转一旦完成,状态S26就自动复位。图4.32(b)所示即为对应的指令表,注意步序25是用OUT指令,而不是SET指令。也就是说,所有跳转,无论是同一分支内的跳转,还是不同分支间的跳转,都必须用OUT指令驱动;而一般的相邻状态间的连续转移则是用SET指令驱动,这是跳转和转移的根本区别。
单循环SFC编程
    4. 32    单循环SFC编程    4. 33(a)所示为条件循环。程序运行至状态S22时,若转移条件X004接通,则程序将跳转到前面的状态S21,如同单循环一样。从S22S21的跳转一旦完成,状态S22就自动复位。若转移条件X003接通,则将跳出循环,程序继续向下执行。可见,X003是循环的结束条件,此条件可以使用计数器的接点来控制循环的次数。从S22S26的转移一旦完成,状态S22就自动复位。    4. 33(b)所示即为对应的指令表,因为是跳转,步序23也是用OUT指令,而不是用SET指令。
条件循环SFC编程
    4. 33    条件循环SFC编程    5.状态复位的编程    在用SFC语言编制用户程序时,可以对其他任何一个状态进行复位,包括某个正在运行RST指令本身所在的状态。其编程方法如图4.34(a)所示。当状态S22有效时,此时若输入X003接通,则状态将从S22转移到S26,一旦转移完成,S22复位,S26置位;若输入X004接通,则将正在运行的状态S22复位,该支路就会停止运行。如果要使该支路重新进入运行,则必须使输入X000接通。
复位处理的SFC编程
    4. 34    复位处理的SFC编程    6.操作方式与初始状态设定    (1)操作方式    上面讲述了单循环控制程序的编程,在实际生产控制过程中,为了满足生产需要,要求设备设置不同的工作方式,主要有手动和自动两大类。手动方式是用各自的按钮使各个负载单独接通或断开的方式,该方式下按动回原点按钮时,被控制的机械自动向原点回归。自动方式又分为全自动、半自动和单步三种方式。单步运行为按动一次启动按钮,完成一个工步操作。半自动又称单周期运行,在原点位置按动启动按钮后,设备就自动运行一个循环,并在原点停止;若在中途按动停止按钮设备就中断运行,再按启动按钮,则将从断点处继续运行,回到原点自动停止。全自动就是连续运行,只要在原点位置按启动按钮,设备就连续循环运行;若中途按停止按钮,动作将继续到原点为止。    在实际设备中往往是设置操作面板来实现工作方式的选择,如图4. 35(a)所示。若将图4. 35(a)的操作面板用于例3.2动力头工作方式的选择,应将选择开关SAPLC的输入端相连,如图4. 35(b)所示,并按此进行各种方式下的编程。图4.35(b)中为了保证X010X014总是只有一个被选中,SA使用了旋转开关;另外,输出驱动的负载大时,也可通过中间继电器(KA1KA3)去接通驱动接触器。
操作面板示意图及与PLC的连接
    4. 35    操作面板示意图及与PLC的连接    (2)初始状态设定    对于有多种运行方式的控制系统,应能自动进入所设置的运行方式,所以要求系统能自动设定与各个运行方式相应的初始状态。功能指令FNC60 IST就能担当此任,但为了使用此指令,必须指定具有连续编号的输入点,这在图4. 35(b)中也可以看到。各指定的输入点含义如表4.5所示。    4.5    具有连续编号的输入点
具有连续编号的输入点
    FNC60 IST功能指令格式如图4.36所示。
功能指令IST格式
    4.36    功能指令IST格式    此指令的含义是,X010是操作方式输入的首元件号,S20是自动方式的最小状态号,S29是自动方式的最大状态号。   从首元件号X010开始的连续8个输入点的功能是固定的,它们正如表4.5所示。当功能指令FNC60满足条件时,下面的初始状态自动被指定如下功能:    S0 手动操作初始状态    S1 回原点初始状态    S2 自动操作初始状态    M8048 禁止转移    M8041 开始转移    M8042 启动脉冲    M8047 STL监控有效    一般情况下,配合初始状态指令的编程,必须指定具有连续编号的输入点。如果无法指定连续编号,则要使用辅助继电器M作为IST指令的输入首元件号,这时仅要求8M是连续的,然后用不连续的输入X去控制M的接通与否就可以了。    各正在动作的状态按编号从小到大的次序保存在D8040~D8047中,最多8个。    IST指令必须写在第一个STL指令出现之前,且该指令在一个程序中只能使用一次。