AM600 SFC隐含变量:

SFC标志用来控制顺序功能图中的程序流。要使用这些标志,必须声明激活这些标志。对于一个SFC程序,声明激活这些标志通过【右键SFC程序】-【属性】-【SFC设置】-【标志】或者选中SFC程序后通过菜单【视图】-【属性】-【SFC设置】-【标志】命令设置。如图

图:声明激活SFC标志

“使用默认值”选项表示使用菜单【工程】-【工程设置】-【SFC】-【标志】中的设置。

SFC标志变量只有在SFC在线视图中显示,SFC编辑视图步显示。编程系统主要包含下面的SFC标志。

SFCEnableLimit:BOOL型变量,控制SFCError,如果声明了此变量并且变量值不是TRUE,则SFCError不会工作。如果没有声明此变量SFCError会自动工作。

SFCInit:BOOL型变量,变量值是TRUE时,顺序功能图返回到初始化步,同时其它的SFC标志重置。只要变量有TRUE值,初始步保持活跃,但不被执行。只有当SFCInit被重新设置为FALSE,功能块才恢复正常执行。

SFCReset:BOOL型变量,功能和SFCInit相似,只是SFCInit变量在SFC回到初始步后不再执行,而SFCReset会执行初始步。

SFCQuitError:BOOL型变量,变量值是TRUE时,SFC停止执行,并且SFCError变量重置。当变量变为FALSE时,活动步中的激活时间重置。

SFCPause:BOOL型变量,变量值是TRUE时,SFC图停止执行。

SFCError:BOOL型变量,当步发生超时,该变量置位。

SFCTrans:BOOL型变量。当执行转换时,变量值为TRUE。

SFCErrorStep:STRING型变量,存储一个导致超时发生的步名。

SFCErrorPOU:STRING型变量,包含一个发生了超时的POU名。

SFCCurrentStep:STRING型变量,存储活动的步名。如果并行分支下的步同时激活时,存储的是最右侧的分支对应的步。

SFCTip, SFCTipMode:BOOL型变量,两者同时使用控制SFC“单步执行”,微调模式。当SFCTipMode=TRUE,打开微调模式,当SFCTip=TRUE(上升沿)时,SFC从当前活动步跳到下一步。如果SFCTipMode=FALSE,关闭微调模式,按照正常转换判断条件执行。

访问隐含变量可以在SFC POU中访问,也可以在定义隐含变量的POU外部访问。

在SFC POU内部访问语法:

<stepname>.<flag> 或者 _<actionname>.<flag>

例如:

status:=step1._x;

checkerror:=SFCerror;

在SFC POU外部访问语法:

<SFC POU>.<stepname>.<flag> 或者<SFC POU>._<actionname>.<flag>

例如:

status:=SFC_prog.step1._x;

checkerror:=SFC_prog.SFCerror;

但是对于隐含变量写权限,特别是SFC标志,需要特殊处理,因为SFC标志不是输入变量,不能在外部写,所以如果在外部可写功能,需要在SFC POU中把SFC标志定义为输入类型变量。比如在SFC POU中SFCpause暂停,此时步、动作都暂停, SFC POU内部已经不能控制SFCpause,需要外部复位SFCpause才能重新激活SFC步

例如:

PROGRAM SFC_prog

VAR_INPUT

SFCinit:BOOL;

END_VAR

PROGRAM PLC_PRG

VAR

setinit: BOOL;

END_VAR

SFC_prog.SFCinit:=setinit; //SFCinit标志写权限

PS:帮助文档和编程手册有更详细介绍

Copyright © www.yanjuntech.cn 2018-2025 all right reserved,powered by Gitbook该文件修订时间: 2018-10-21 13:18:14

results matching ""

    No results matching ""