您现在的位置是:首页 > PLC技术 > PLC技术
三菱FX2N型PLC的多流程状态程序设计
来源:艾特贸易2017-06-05
简介在步进顺控过程中,最简单的是只有一个转移条件并转向一个分支的单流程 SFC ,如图 4. 22 所示。但是,也会碰到具有多个转移条件和多个分支的多流程状态编程。有时需要根据不同的
在步进顺控过程中,最简单的是只有一个转移条件并转向一个分支的单流程SFC,如图4. 22所示。但是,也会碰到具有多个转移条件和多个分支的多流程状态编程。有时需要根据不同的转移条件选择转向不同的分支,执行不同的分支后再根据不同的转移条件汇合到同一分支,这是选择结构的SFC,如图4.23所示。有时需要根据同一转移条件同时转向几个分支,执行不同的分支后再汇合到同一分支,这是并行结构的状态转移图,如图4. 24所示。有时则需要跳过某些状态或重复某些状态,这是跳转与循环的编程,后面将会介绍。 图4.22 单流程SFC 1.选择结构状态的编程 (1)选择结构状态流程的特点 在多个分支结构中,当状态的转移条件在一个以上时,需要根据转移条件来选择转向哪个分支,这就是选择结构状态流程。在图4.23所示选择结构的SFC中,S20称分支状态,其下面有两个分支,根据不同的转移条件X001和X004来选择转向其中的一个分支。此两个分支不能同时被选中,当X001接通时,状态将转移到S21,而当X004接通时,状态将转移到S23,所以要求转移条件X001和X004不能同时闭合,当状态S21或S23接通时,S20就自动复位。S26称为汇合状态,状态S22或S24根据各自的转移条件X003或X006向汇合状态转移。一旦状态S26接通时,前一状态S22或S24就自动复位。
图4.23 选择结构SFC
图4.24 并行结构SFC (2)选择结构状态的编程 选择结构状态的编程与一般状态编程一样,也必须遵循上节中已经指出的规则。无论是从分支状态向各个流程分支散转时,还是从各个分支状态向汇合状态汇合时,都要正确使用这些规则。 例4.3对图4.23所示选择结构SFC编程,写出相应的指令表。 解 对应图4. 23所示选择结构SFC的指令表如图4.25所示。
图4. 25 选择结构SFC的指令表 ①选择性分支的编程 从分支状态S20散转的指令如图4.25中的步序7~13所示,转移条件X001和X004在同一时刻只能一个有效,一旦程序转移,另一转移条件再有效时程序也不会理会。从中可以看到,选择性分支的用户程序仍遵循先负载驱动,后转移处理。步序15~18的指令是先对左边分支的状态S21编程,步序20~23的指令是后对右边分支的状态S23编程。可见仍然是从左至右,逐个编程的。 ②选择性汇合的编程 两个分支至S22和S24时,将向S26汇合。汇合状态的编程,也是先进行汇合前的负载驱动,然后从左至右向汇合状态转移,这是为了自动生成SFC而追加的规则。步序25~32的指令就是先进行汇合前的状态S22、S24和S26的负载驱动,步序34~40的指令则是后对从左至右向汇合状态S26转移的编程。在汇合程序中,每个状态都使用了两次STL指令,第一次是引导状态进行负载驱动,第二次则是为状态转移指示方向。 注意,分支与汇合的处理程序中,不能用MPS、MRD、MPP、ANB、ORB指令。 (3)选择结构SFC与步进梯形图的转换 在进行选择结构SFC与梯形图的转换时,关键是对分支和汇合状态编程的处理。对分支状态的编程处理顺序:先进行分支状态的驱动连接,再依次根据转移条件置位各分支的首转移状态元件,然后按从左至右的顺序对首转移状态进行先负载驱动,后转移处理。对汇合状态的编程处理顺序:先进行汇合前各分支的最后一个状态和汇合状态的驱动连接,然后按从左至右的顺序对汇合状态进行转移连接。可见,每个状态也都两次使用了STL指令。 例4.4 将图4. 23所示选择结构状态转移图转换成相应的步进梯形图。 解对应图4. 23所示选择结构状态转移图的步进梯形图如图4.26所示。
图4. 26 选择结构SFC的步进梯形图 ①选择性分支的梯形图 从分支状态S20散转的梯形图如图4.26中7~12步序间所画,从中可以看到,选择性分支的梯形图仍遵循先负载驱动,后转移处理。左边分支的状态S21和右边分支的状态S23的梯形图如15~22步序间所画,也是从左至右,逐个编程的。 ②选择性汇合的梯形图 两个分支至S22和S24时,将向S26汇合。先进行汇合前的状态S22、S24和汇合状态S26的负载驱动,其梯形图如步序25~31间所画。后从左至右向汇合状态S26转移,其梯形图如步序34~38间所画。在汇合梯形图中状态S22和S24都两次使用了STL接点。第一次是引导状态进行负载驱动,第二次则是为状态转移指示方向。 2.并行结构状态的编程 (1)并行结构状态流程的特点 如果某个状态的转移条件满足,将同时执行两个和两个以上分支,这称为并行结构分支。图4. 24所示即为并行结构的状态流程图,S20称分支状态,其下面有两个分支,当转移条件X001接通时,两个分支将同时被选中,并同时并行运行。当状态S21和S23接通时,S20就自动复位。S26为汇合状态,当两条分支都执行到各自的最后状态,S22和S24会同时接通。此时,若转移条件X003接通,将一起转入汇合状态S26。一旦状态S26接通,前一状态S22和S24就自动复位。用水平双线来表示并行分支,上面一条表示并行分支的开始,下面一条表示并行分支的结束。 (2)并行结构状态的编程 并行结构状态的编程与一般状态编程一样,先进行负载驱动,后进行转移处理,转移处理从左到右依次进行。无论是从分支状态向各个流程分支并行转移时,还是从各个分支状态向汇合状态同时汇合时,都要正确使用这些规则。 例4.5对图4.24所示并行结构状态转移图编程,写出相应的指令表。 解对应图4.24所示并行结构状态转移图的指令表如图4.27所示。 ①并行分支的编程 从分支状态S20并行转移的指令如图4.27中的步序7~12所示,S20有效时只要转移条件X001接通,程序将同时向左右两个分支转移。注意到这里用了两个连续的SET指令,这是并行分支程序的特点。接着,先对左分支S21编程,再对右分支S23编程,如步序14~22所示,从中可以看到,并行分支的用户程序仍遵循先负载驱动,后转移处理。
图4.27 并行结构SFC的指令表 ②并行汇合的编程 两个分支至S22和S24时,将向S26汇合。按从左至右的次序,先进行汇合前的状态S22、S24和汇合状态S26的负载驱动,其指令如步序24~31所示。此后将从左至右向汇合状态S26转移,其指令如步序33~36所示。注意到这里用了两个连续的STL指令,这也是并行分支程序的特点。在汇合程序中,这种连续的STL指令最多能使用8次。 (3)并行结构SFC与步进梯形图的转换 在进行并行结构SFC与梯形图的转换时,关键是对并行分支和并行汇合的编程处理。对并行分支的编程处理顺序:先进行分支状态的驱动连接,再根据转移条件同时置位各分支的首转移状态元件,这是通过连续使用SET指令来实现的;然后按从左至右的次序对首转移状态进行先负载驱动,后转移处理。对并行汇合的编程处理顺序:先进行汇合前各分支的最后一个状态和汇合状态的驱动连接,然后按从左至右的次序对汇合状态进行同时转移连接,这是通过串联的STL接点来实现的。各分支的最后一个状态都两次使用了STL指令。 例4.6 将图4.24所示并行结构状态转移图转换成相应的步进梯形图。 解 对应图4. 24所示并行结构状态转移图的步进梯形图如图4. 28所示。 ①并行分支的梯形图 从分支状态S20并行转移的梯形图如图4.28中7~12步序间所画,S20有效时只要转移条件X001接通,程序将同时向左右两个分支转移。注意这里用了两个连续的SET指令,这是并行分支梯形图的特点。左边分支的状态S21和右边分支的状态S23的梯形图如14~21步序间所画。从中可以看到,并行分支的梯形图程序仍遵循先负载驱动,后转移处理,并且从左至右逐个编程。
图4.28 并行结构SFC的步进梯形图 ②并行汇合的梯形图 两个分支至S22和S24时,将向S26汇合。先进行汇合前的状态S22、S24和汇合状态S26的负载驱动,其梯形图如步序24~30间所画。后从左至右向汇合状态S26转移。图中状态S22和S24都两次使用了STL接点,这是并行汇合梯形图的特点。第一次是引导状态进行负载驱动,第二次STL接点串联则是表示状态转移的特点。只有左右两个分支均运行到最后一个状态S22和S24,且状态转移的条件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,并重复执行其下的一段程序,依次进行循环。从S26到S21的跳转一旦完成,状态S26就自动复位。图4.32(b)所示即为对应的指令表,注意步序25是用OUT指令,而不是SET指令。也就是说,所有跳转,无论是同一分支内的跳转,还是不同分支间的跳转,都必须用OUT指令驱动;而一般的相邻状态间的连续转移则是用SET指令驱动,这是跳转和转移的根本区别。
图4. 32 单循环SFC编程 图4. 33(a)所示为条件循环。程序运行至状态S22时,若转移条件X004接通,则程序将跳转到前面的状态S21,如同单循环一样。从S22到S21的跳转一旦完成,状态S22就自动复位。若转移条件X003接通,则将跳出循环,程序继续向下执行。可见,X003是循环的结束条件,此条件可以使用计数器的接点来控制循环的次数。从S22到S26的转移一旦完成,状态S22就自动复位。 图4. 33(b)所示即为对应的指令表,因为是跳转,步序23也是用OUT指令,而不是用SET指令。
图4. 33 条件循环SFC编程 5.状态复位的编程 在用SFC语言编制用户程序时,可以对其他任何一个状态进行复位,包括某个正在运行RST指令本身所在的状态。其编程方法如图4.34(a)所示。当状态S22有效时,此时若输入X003接通,则状态将从S22转移到S26,一旦转移完成,S22复位,S26置位;若输入X004接通,则将正在运行的状态S22复位,该支路就会停止运行。如果要使该支路重新进入运行,则必须使输入X000接通。
图4. 34 复位处理的SFC编程 6.操作方式与初始状态设定 (1)操作方式 上面讲述了单循环控制程序的编程,在实际生产控制过程中,为了满足生产需要,要求设备设置不同的工作方式,主要有手动和自动两大类。手动方式是用各自的按钮使各个负载单独接通或断开的方式,该方式下按动回原点按钮时,被控制的机械自动向原点回归。自动方式又分为全自动、半自动和单步三种方式。单步运行为按动一次启动按钮,完成一个工步操作。半自动又称单周期运行,在原点位置按动启动按钮后,设备就自动运行一个循环,并在原点停止;若在中途按动停止按钮设备就中断运行,再按启动按钮,则将从断点处继续运行,回到原点自动停止。全自动就是连续运行,只要在原点位置按启动按钮,设备就连续循环运行;若中途按停止按钮,动作将继续到原点为止。 在实际设备中往往是设置操作面板来实现工作方式的选择,如图4. 35(a)所示。若将图4. 35(a)的操作面板用于例3.2动力头工作方式的选择,应将选择开关SA与PLC的输入端相连,如图4. 35(b)所示,并按此进行各种方式下的编程。图4.35(b)中为了保证X010~X014总是只有一个被选中,SA使用了旋转开关;另外,输出驱动的负载大时,也可通过中间继电器(KA1~KA3)去接通驱动接触器。
图4. 35 操作面板示意图及与PLC的连接 (2)初始状态设定 对于有多种运行方式的控制系统,应能自动进入所设置的运行方式,所以要求系统能自动设定与各个运行方式相应的初始状态。功能指令FNC60 IST就能担当此任,但为了使用此指令,必须指定具有连续编号的输入点,这在图4. 35(b)中也可以看到。各指定的输入点含义如表4.5所示。 表4.5 具有连续编号的输入点
FNC60 IST功能指令格式如图4.36所示。
图4.36 功能指令IST格式 此指令的含义是,X010是操作方式输入的首元件号,S20是自动方式的最小状态号,S29是自动方式的最大状态号。 从首元件号X010开始的连续8个输入点的功能是固定的,它们正如表4.5所示。当功能指令FNC60满足条件时,下面的初始状态自动被指定如下功能: S0 手动操作初始状态 S1 回原点初始状态 S2 自动操作初始状态 M8048 禁止转移 M8041 开始转移 M8042 启动脉冲 M8047 STL监控有效 一般情况下,配合初始状态指令的编程,必须指定具有连续编号的输入点。如果无法指定连续编号,则要使用辅助继电器M作为IST指令的输入首元件号,这时仅要求8个M是连续的,然后用不连续的输入X去控制M的接通与否就可以了。 各正在动作的状态按编号从小到大的次序保存在D8040~D8047中,最多8个。 IST指令必须写在第一个STL指令出现之前,且该指令在一个程序中只能使用一次。
点击排行
