第12章利用顺序流程图(SFC)编写程序12-1第12章利用顺序流程图(SFC)编写程序FPWINPro导入12-212-1概要在顺序流程图(SFC)中,可以将复杂的程序表达成为易于理解的形式。12-1-1顺序流程图的构成要素动作(Action)结束步步初始步顺序流程(SFC)是利用步迁移·分支等、表示程序步的一系列流程的结构。迁移■步以下利用上图对控制的流程进行说明。所谓步,是指在上图中用长方形框[Step1],[Step2]所表示的部分任务(Task)。初始步(Initial)作为为最初的一步开始执行,迁移条件Trans_0变为ON时,Step1被启动,同时初始步停止执行。随后当迁移条件Trans_1变为ON时,Step2被启动,同时Step1停止。然后当迁移条件Trans_2变为ON时,到结束步为止的内容被执行,再次从初始步开始执行一系列顺序处理。在每个步中,可以有多个动作(步内的程序)相关联。(在上图中,Step2中登录有Action1和Action2两个动作。)当某步在被激活(已启动)时,该步内的一系列动作将被执行。没有被分配动作的步,在紧随其后的迁移条件成立之前,将处于等待的状态。利用IL、FBD、LD、ST等作成的动作,在工程文件引导器的动作场(ActionPool)中登录。同一个动作可以在多个步中使用。布尔型变量也可以作为动作使用。在这种情况下,在该步正在执行的期间,该布尔型变量为ON状态。■注意在作为动作登录的程序中,不能使用标号。第12章利用顺序流程图(SFC)编写程序12-3■步标志仅在特定的步正处于启动的期间为ON的标志,被称为步标志。步标志是以[步名称.X]的形式表示,可以在程序中使用。■宏步可以将多个步汇集到1个宏步中、以易于察看的方式表示处理流程。宏步的表示如下图所示添加双重横线标记。■迁移所谓迁移,是带有条件的跳转。一旦迁移的条件成立,就会启动下一步。迁移是由以下所示符号表示的:布尔型变量或者利用IL、FBD、LD、ST作成的程序,可以对应分配到迁移。在布尔型变量的情况下,当分配的变量值变为TRUE时,就被认为迁移的条件成立。在程序的情况下,当与迁移名称相同的变量的值变为TRUE时,就认为迁移条件成立。与迁移名称相同的变量,在ControlFPWINPro中是被自动登录的。●注意在将程序分配到迁移的情况下,有以下的限制:・在迁移体中能够作成的程序只能是1个程序块。・不能使用带有[EN/END]的功能。FPWINPro导入12-412-1-2分支与并列分支■分支分支的符号是一条横粗线。如果2个迁移中的某个的条件(Trans_A或Trans_B)成立,就会执行对应的一个。如果双方迁移的条件同时满足,则左侧的要必右侧的优先执行。例在下图的分支结构中,当Trans_A与Trans_B同时为真时,必然是只执行Trans_A侧的步(Step_X)。第12章利用顺序流程图(SFC)编写程序12-5■并列分支并列分支的符号是双重粗横线。当并列分支前迁移条件成立时,(同时地)执行2个以上的并列处理。例由并列分支构成的全部分支,在处理结束后,通过并列结合並列在迁移(Trans_XY)处再次结合。●注意在其之前的、与其相连的所有步(Step_X,Step_Y)在执行过程中,并且当迁移(Trans_XY)成立时,并列结合会合并成一个步。FPWINPro导入12-612-2编辑在SFC编辑器中,利用工具栏上的图标,可以进行插入、显示、打开各种元素或目标的编辑操作。也可以拆分编辑窗口或程序,从用户编制的程序中提取各种对象目标并在画面中显示。12-2-1工具栏中的图标和按钮打开SFC程序体后,工具栏中将显示以下的图标。■新插入对象图标通过[编辑]菜单→[插入]也可以选择同样的功能。・:将带迁移的步插入到当前位置之前・:将步插入到当前位置之前・:将迁移插入到当前位置之前・:将向左的分支/并列分支插入到当前位置之前・:将向右的分支/并列分支插入到当前位置之前・:将来自左侧的结合/并列结合插入到当前位置之前・:将来自右侧的结合/并列结合插入到当前位置之前・:在步之前插入标号・:在迁移的后侧插入跳转■显示或打开对象图标在工具菜单栏中的项目也具有同样的功能。・:打开变量的选择对话框(仅在迁移处于编辑状态时有效)・:打开宏构成列表・:编辑步的注释・:打开被选择的对象・:关闭被打开的对象・:查找下一个同类型的错误第12章利用顺序流程图(SFC)编写程序12-712-2-2打开步/迁移以下对对象的表示方法和打开方法进行说明。■操作步骤1.打开步对于已经分配到程序中的步,都可以利用以下的某个方法打开动作关联列表等。・[工具]菜单→点击[打开对象]・双击被选择的步・在当前状态下直接按Enter键在进行上述操作之后,默认的设置是打开动作关联列表,但是在[扩展功能]菜单→[选项]→[程序选项]→[SFC编辑器]中打开的对话框中的、[在SFC的程序体内打开步]栏中也可以进行修改。打开动作列表动作关联列表打开动作列表的起始动作在动作关联列表内登录的动作之内,起始动作的程序体2.打开迁移对于已经分配到程序中的迁移,都可以利用以下的某个方法打开程序。・点击[工具]菜单→[打开对象]・双击被选择的步・在当前状态下直接按Enter键如果对尚未分配到程序的迁移进行上述操作,画面将打开迁移的新创建对话框,可以在其中生成对应于迁移的的程序。(在将PLC的内部存储器R0等作为迁移进行了设定的情况下,即使进行上述操作,也没有任何动作。)3.打开宏步对于已经分配到程序中的宏步,都可以利用以下的某个方法打开。・点击[工具]菜单→[打开对象]・双击被选择的步・在当前状态下直接按Enter键FPWINPro导入12-812-2-3修改SFC符号的属性单击[编辑]菜单→[修改]后,可以对光标位置的SFC符号的属性进行修改。对于迁移,可以只修改名称。第12章利用顺序流程图(SFC)编写程序12-9一般的步可以修改为初始步、宏步、结束步中的某一个。以下说明将[步]修改为[结束步]的方法。■操作步骤1.点击任意的步。2.点击[编辑]菜单→[修改]→[结束步]SFC的最后的步,被作为结束步使用。在1个SFC中可以配置多个结束步。当顺序处理执行到结束步时,会返回到初始步初期重复执行。FPWINPro导入12-1012-2-4拆分编辑窗口利用位于编辑窗口的滚动栏与标题栏之间的黑色小条,可以编辑窗口分割成上下两部分。这样可以将一个程序的内容分别显示在2个画面中,便于进行画面滚动、监控等操作。■操作步骤1.将光标放置到位于编辑窗口的滚动栏与标题栏之间的黑色小条处。光标的两端变成箭头的形状。2.在按住鼠标左键的状态下,将小条拖拽到任意位置。3.释放鼠标按键。编辑窗口在拖拽的位置被分割成两部分,程序在两个窗口中显示。可以分别在各窗口中滚动。如果有必要,请拖拽分割线以调整窗口的分割位置。第12章利用顺序流程图(SFC)编写程序12-1112-3程序示例现在利用下图的示例,实际介绍利用SFC进行编程的表述方法。打开SFC程序体。在SFC程序体内显示有名为initial的初始步、迁移、TRUE、结束步。■操作步骤3.双击SFC程序体。2.在工程文件引导器中,双击新创建的POU(PRG)。1.生成新的POU。(POU类型:PRG,程序语言:SFC)・针对在PLC中执行程序的并列处理的情况,或者为了有效地充分运用编译器、将大规模的SFC程序分割为小规模的程序的情况,可以在工程文件中保有多个SFC程序(POU)。但是,必须在Task中连续登录多个SFC程序。・操作步骤中,虽然主要使用工具栏的图标和菜单项,但是也可以利用键盘进行操作。初始步●注意结束步迁移FPWINPro导入12-12■步/迁移的插入生成新创建的步和新创建的迁移。步初始步4.点击结束步。迁移7.点击第2次的步,输入名称“Temp_measuring”,按Enter键。6.执行4次步骤5。5.点击或[编辑]菜单→[插入]→[步/迁移]。注意)Step名称中不能使用中文或日语。请使用半角的英语字母数字以及‘_’(下划线)。■插入注释8.点击或[编辑]菜单→[插入]→[步/迁移]。打开[注释步名称]输入区。9.输入注释。按Enter键后换行。10.点击位于标题栏右端的×按钮,关闭输入区。可以根据需要,对各步输入注释。在[扩展功能]菜单→[选项]→[SFC编辑器]中将“显示步注释”设置为有效后,已经输入的注释会在步名称之下显示出来。第12章利用顺序流程图(SFC)编写程序12-13■分支13.点击位于右侧的已分支的迁移之后的的矩形区域内部。11.点击Temp_measuring步之后紧随的迁移。12.点击或[编辑]菜单→[插入]→[右分支]。在Temp_measuring步与迁移之间插入右分支。14.点击或[编辑]→[插入]→[步/迁移]。15.输入名称“Heating”,按Enter键。16.点击Heating步左侧相临的步。17.输入名称“Cooling”,按Enter键。18.点击Cooling步之后紧随的步。19.点击或[编辑]菜单→[插入]→[右结合]。FPWINPro导入12-1420.点击分支之后紧随的步。21.输入名称“Stirring”,按Enter键。■宏步22.点击[编辑]菜单→[修改]→[宏步]。通过选择多个步、执行[编辑]菜单→[宏],可以生成宏步。23.点击。宏开始步迁移宏结束步即使在宏的内部,也可以进行相同的编辑。第12章利用顺序流程图(SFC)编写程序12-15■并列分支在此步的横向插入并列分支。25.输入名称“Suction”,按Enter键。24.点击Stirring之后紧随的步。27.点击位于Suction的横侧的步。28.输入名称“Pumping_over”,按Enter键。26.点击或[编辑]菜单→[插入]→[右分支]。29.点击Sunction之后紧随的迁移。30.点击或[编辑]菜单→[插入]→[右结合]。FPWINPro导入12-16■编辑动作31.点击Temp_measuring步。32.点击。按Enter键,或点击[工具]菜单→[动作关联编辑]。打开[动作列表]对话框。33.输入动作名称(例:Temp_measureing),点击。34.点击任意的程序语言。将已经编辑完的动作、或者已经定义的变量分配到步时,在[动作关联列表]中按F2键,打开[动作名称列表]。在POU的动作场中允许使用的动作、以及POUHeader中已经登录的、可以分配到步的布尔型变量被显示。其中的1个被选择之后,就会被登录到[动作关联列表]。35.点击[OK]按钮。打开动作程序体的编辑窗口。利用所选择的编程语言对动作进行编辑。编辑结束后,保存并关闭动作窗口。在位于工程文件引导器中的POU动作场中,新的动作将被显示出来。・在将程序作为动作使用的情况下,在该POU程序体中不能使用标号。36.返回SFC编辑窗口。步变化为指定的颜色。改变颜色时,请点击[扩展功能]菜单→[选项]→[程序选项]→[编辑器]→[SFC编辑器]→[格式]。第12章利用顺序流程图(SFC)编写程序12-17■迁移37.点击initializing步之后紧随的迁移。在SFC程序中最初的迁移的缺省值被选择为TRUE。38.点击被选择的矩形的内部。将BOOL型变量分配到迁移时,按F2键打开[变量的选择],选择已在POU中定义完的变量,也可以新定义变量并分配。39.输入文字“init_OK”,点击。40.点击任意的程序语言。41.点击[OK]按钮。迁移的名称显示在迁移的旁边,打开编辑窗口,显示迁移程序体内容。利用所选择的编程语言,可以编写对应到迁移的程序。迁移的处理结果,需要写入迁移名称(按F2键可以分配)。迁移名称中写入真值TRUE,则迁移条件一直保持成立。42.点击[对象]菜单→保存。将程序分配到迁移中时,请注意以下限制。・在迁移程序体中可以作成的程序只能是一个程序块。・不能使用带[EN/ENO