在GX Developer中编写三菱SFC程序时,无法直接设置多个初始状态,因为SFC程序规定每个程序有且仅有一个初始状态。但可通过并行分支、跳转指令或创建多个SFC块的方式,间接实现类似多个初始状态的功能,具体方法如下:
并行分支方式
原理:在SFC程序中,使用并行分支可以同时激活多个状态。可以先设置一个初始状态S0,在S0激活后,通过并行分支的方式同时激活S1和其他需要的状态。
操作步骤:
在编辑SFC块时,将光标移到需要添加并行分支的位置,通常是在初始状态S0之后的转移条件处。
单击工具栏中的并行分支写入按钮,或者按ALT+F8快捷键,使并行分支写入按钮处于按下状态。
在光标处按住鼠标左键横向拖动,直到出现一条细蓝线,放开鼠标,这样一条并行分支线就被输入。
在并行分支的两个分支中,分别设置S1和其他需要的状态及其转移条件等。
跳转指令方式
原理:使用跳转指令,先设置一个初始状态S0,在S0执行完相应的动作后,通过跳转指令跳转到状态S1。
操作步骤:
在S0对应的梯形图程序中,当满足一定条件时,使用JUMP指令并指定目标状态为S1。例如,在S0的梯形图中,当某个条件满足时,输入“JUMP S1”。
这样当程序运行到此处时,就会跳转到S1状态继续执行。
创建多个SFC块方式
原理:可以创建多个SFC块,在第一个SFC块中设置初始状态为S0,在S0执行完后,通过某种方式触发第二个SFC块的执行,在第二个SFC块中设置初始状态为S1。
操作步骤:
在第一个SFC块的最后一个状态中,使用一个特殊的标志位或条件。
当该条件满足时,在主程序中调用第二个SFC块并使其初始状态S1激活。


