一、底层本质完全不同(根源区别)
1)Q/R/L 大型 PLC:IEC 标准 SFC(图形原生架构)
SFC 是独立编程语言,不是梯形图 / LD 的附属,有独立的程序块、步、分支、子 SFC 结构。
每一个步是独立执行单元,自带局部母线;
编辑器里的嵌套是图形层级嵌套:一个活动步内部可以挂载完整子 SFC 流程(子序列、子分支、子 SFC 块);
转换条件、分支汇合由 SFC 内核调度,PLC 系统固件专门做 SFC 流程管理。
2)FX 全系列(FX3U/FX5U):SFC 只是 STL 指令的图形视图
FX 没有独立 SFC 解释内核,SFC 编辑器只是把 STL、SET S、RET 这些步进指令自动转换成梯形图指令,本质还是 LD 梯形图 + 状态继电器 S 实现步进:
STL 指令语法规则硬性规定:一条 STL 激活步进母线后,不能再次出现第二层 STL;
STL 自带步进母线独占机制,内层无法再开辟第二条独立步进母线,语法层面就禁止直接嵌套。
二、嵌套能力详细对比
1. 直接步内嵌套(核心差异点)
Q/R/L SFC:✅ 原生多层嵌套
主步激活后,自动切入内嵌子 SFC 流程;
子顺序、选择性分支、并行分支都可以多层往里嵌套;
子 SFC 执行全部结束,自动回到上级主步,继续执行后续转换;
支持把子 SFC 封装成独立块,多处重复调用。
FX STL-SFC:❌ 禁止 STL 指令直接嵌套
stl
STL S20 STL S30 // 编译报错,语法非法 OUT Y0 RET
FX 同一级步进母线里不能再写 STL,图形 SFC 里也画不出内嵌子步进块,只能曲线实现等效嵌套。
2. FX 替代嵌套的两种合法方案(等效≠原生嵌套)
CALL 子程序调用子 STL 流程主 STL 步里用 CALL 调用子程序,子程序内部独立写一套 STL 步进;子程序 RET 返回上级步。限制:有调用层数上限(FX 最多嵌套 5 层子程序),层级是程序块隔离,不是 SFC 图形内嵌。
选择性分支模拟层级流程用 SFC 多条分支分流,一条分支走完细分工序再汇合回主流程,只是逻辑上分层,图形上不是嵌套结构。
三、分支结构处理差异
Q/R/L SFC
选择性分支、并行分支任意多层嵌套;
分支内还能继续嵌套子分支、子 SFC 块;
分支汇合点编辑器自动校验,不会出现多步同时激活、输出冲突。
FX STL
仅支持单层选择性 / 并行分支,分支内部不能再嵌套二级分支;
并行分支必须所有分支全部汇合才能往下走,不能内嵌子流程;
手动规划 S 状态编号,一旦重复 S 元件编号,会出现多步同时激活,输出错乱,软件无自动校验。
四、编程界面与层级展示
Q/R/L
工程树:主 SFC 块→子 SFC 块→孙级子块,树形层级一目了然;
内嵌子 SFC 可以折叠 / 展开,单独编辑子流程,模块化极强;
子 SFC 可封装为库块,多个工位重复调用。
FX SFC 图形界面
只是 STL 指令的可视化画图工具,没有层级树:
所有步平铺在同一层级,不存在折叠子块;
分支只是横向分叉,不能向内缩进嵌套;
每画一步,后台等价生成一条 SET S + STL 指令,没有独立块概念。
五、母线与执行机制区别
Q/R/L SFC
每个独立步、子 SFC 拥有独立逻辑母线,互不干扰;流程调度由系统操作系统管理,激活哪个步就只执行该步动作,其余步冻结。
FX STL 步进母线机制
STL 接通时,开辟专属步进母线,该母线内所有线圈、触点生效;
一条母线只能归属一个 S 状态,无法同时存在两级步进母线;
多个 S 同时置位会多条母线并行输出,极易出现动作叠加故障,这也是三菱语法禁止 STL 嵌套的核心原因。
六、局部变量、封装性差异
Q/R/L
内嵌子 SFC 可以使用局部标签、局部变量,内部元件不会和主流程冲突;子块内部 I、M、S 可以局部复用,封装性强,适合大型设备多工位编程。
FX STL
所有 S、M、T、C 都是全局软元件,主、子步进必须手动划分 S 编号段(主 S20~S29,子 S30~S39);无法局部复用元件,只能靠人为规划编号,容易写错冲突。
七、汇总对比总表
表格
| 对比项目 | Q/R/L 大型 PLC 原生 SFC 图形嵌套 | FX 系列 STL 指令型 SFC |
|---|---|---|
| 底层内核 | 独立 IEC SFC 编程语言,固件原生支持 | 梯形图 LD+STL 指令,SFC 只是可视化视图 |
| 同一步内直接嵌套子 SFC | ✅ 支持多层任意嵌套 | ❌ 语法禁止,不能直接嵌套 |
| 分支嵌套 | 并行 / 选择性分支可多层内嵌 | 仅单层分支,无法二级嵌套 |
| 实现层级 | 图形缩进嵌套,层级可视化折叠 | 只能 CALL 子程序 / 分支分流等效模拟 |
| 步进母线 | 各级子 SFC 独立母线,互不干涉 | 单条 STL 独占母线,无法双层共存 |
| 程序封装 | 子 SFC 块可封装、重复调用 | 无独立块,只能复制代码或调用子程序 |
| 软元件作用域 | 支持局部变量,元件隔离 | 全部全局元件,必须人工分区规划 S 编号 |
| 子程序嵌套层数 | 无严格限制 | CALL 子程序最多嵌套 5 层 |
八、工程选型总结
做流水线、多工位复杂设备(多嵌套工序):优先 Q/R 系列原生 SFC,嵌套直观、不易出错,模块化极强;
FX 小型机:放弃 “图形嵌套” 想法,统一用「主 STL + CALL 调用子 STL 子程序」做分层工序,虽然不是原生嵌套,但现场完全够用,是行业标准写法;
关键误区:FX 软件里能打开 SFC 画图,不代表是 IEC 标准 SFC,只是 STL 的画图工具,嵌套能力天生受限,不能照搬 Q 系列 SFC 编程思路。


