顺序功能表图编程语言把一个过程循环分解成若干个清晰连续的阶段,称为“步”(Step)。步与步之间由“转换”分隔。当两步之间的转换条件得到满足时,转换得以实现,即上一步的活动结束而下一步的活动开始,因此,不会出现步的重叠。一个步可以是动作的开始、持续或结束。一个过程循环分解的步越多,过程的描述也越精确。
1.步的表示
过程控制仅接收前一级的过程信息,这些信息产生过程控制的稳定状态。为了描述各种稳定状态,在顺序功能表图中采用“步”的概念。
(1)步的图形符号
用一个带步名的矩形框表示步,见表4-2。在逻辑图上,步的图形符号用存储元件图形符号描述。采用矩形框图形符号表示步时,框内应有标识符表示的步名。
表4-2 步的图形描述和文本描述
(2)步的文本表示
用STEP...END_STEP结构表示步。步的结构文本格式如下:
其中,XXX是步名,例如,STEP_1、COOLING等。步本体是与该步连接的动作控制功能块。
(3)初始步
控制过程开始阶段的活动步与初始状态相对应,称为“初始步”,它表征施控系统的初始动作。在顺序功能表图中,初始步用带步编号的双线矩形框表示。
每个功能表图至少应有一个初始步。为了说明某步是初始步,在文本结构说明中,用INITIAL_STEP…END_STEP结构表示初始步。初始步的结构文本格式如下:
END_STEP
2.步状态和步消逝时间
(1)步状态
步有两种状态:活动状态和非活动状态。控制过程进展某一给定时刻,一个步可以处于活动状态也可以处于非活动状态。当步处于活动状态时,该步称为活动步;当步处于非活动状态时,该步称为非活动步。
用布尔结构元素***.X的逻辑值表示步名为***步的状态,也称为步标志(Step flag)。因此,当步名为***的步是活动步时,其布尔值为1,即***.X=BOOL#1。步标志可用布尔变量***.X直接连接到***步的右面,如图4-3所示,即在步的右边图形连接该变量的状态。
图4-3 步标志(www.xing528.com)
从网络角度看,活动步是取得令牌(Token)的步,它可以执行相应的命令或动作。非活动步是未取得令牌的步,它不能执行相应的命令或动作。因此,某一步处于活动状态意味着与该步相连接的命令或动作被执行。
为便于分析,当某步是活动步时,可在表示步的图形符号中添加一个小圆或一个星号表示该步处于活动状态。
(2)步消逝时间
步从开始成为活动步到成为非活动步的时间称为步消逝时间(Elapsed time),或称步运行时间、步时间等,用***.T表示,它有TIME数据类型的数值。
当步成为非活动步时,步消逝时间的值保持在步失活时所具有的值。当步激活(成为活动步)时,步消逝时间的值被复位到T#0s,并开始计时。
系统初始化时,步约定的持续时间是T#0s,各原始步约定的步初始状态是BOOL#0,而初始步的约定状态是BOOL#1。因此,系统从初始步开始演变。
当一个功能块实例程序被声明具有保持(RETAIN)属性时,在程序或功能块中的所有步状态和消逝时间应保持系统的初始化值。
每个SFC的步的最大步数和步消逝时间的精度由实施者规定。
(3)应用步时的注意事项
应用步时的注意事项如下:
1)程序组织单元的状态由活动步的置位和它的内部和输出变量的值定义。
2)步所出现的程序组织单元中,步名、步标志和步消逝时间是局部变量。它们是写保护的,因此,用户不能直接改变步名、步标志和步消逝时间。
3)程序组织单元的初始状态用它的内部变量和输出变量的初始值,以及初始步的设置(即初始为活动的步)表示。程序组织单元的行为特性相对于其输入和输出遵守一套由步的相关动作定义的规则。
4)每个SFC网络都有一个初始步。整个网络从初始步开始进行演变。
5)实际应用时,一些软件系统并未提供步消逝时间,这时,可在该步对应的动作功能块中设置定时器,其输入IN是该步的激活条件或步标志,其输出ET是该步的消逝时间。
3.步与动作的连接
在活动步阶段,与活动步相连接的命令或动作被执行。在顺序功能表图中,命令或动作用矩形框内的文字或符号语句表示,该矩形框与相连接的步图形符号连接。
施控系统输出一个或数个命令,被控系统执行一个或数个动作。表4-3表示命令或动作与步之间的关系。
每个步都会与一个或多个动作或命令有联系。一个步如果没有连接动作或命令称为空步。它表示该步处于等待状态,即等待后级转换条件成为真。
表4-3 命令或动作与步的关系
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。