SCL 语法速查:块、变量、控制流与常用指令
一页掌握 TIA Portal SCL 的块结构、接口声明、运算符、IF/CASE/FOR、定时器/计数器/边沿、数组/结构、字符串和类型转换。
scl_run_scenario 执行。更新:
9 个可仿真示例均已在本地 SCL 仿真与 PLC 云仿真中逐扫描跑通;全部 12 个示例已在 TIA Portal V19 + TiaLink 1.4.0.0 上导入编译 0 错误 / 0 警告(其中 3 个 TIA-only 示例不做云仿真)。每页顶部显示验证状态和日期。
用一个 Word 管理 16 路报警:快照比较找出新报警,确认按钮取上升沿,输出 Error / NewError / State。
SCL 先进先出缓冲站:8 槽位结构体数组、进料/出料、停留时间与占用率;含完整源码和云仿真场景。
SCL 节拍发生器:用累加器和半周期常量生成 10Hz/2Hz/1Hz 方波与单周期上升沿;含完整源码和云仿真场景。
不用 TON 实例,自己维护一个 0/1/2/3 状态机:启动、暂停、恢复、到点、复位,适合做多定时器库。
用一阶惯性环节模拟加热/冷却:输入加热功率,按扫描周期逼近目标温度,并做上下限幅。
两个 FC 完成 8 个罐 ID 的查表、源/目标有效性检查和罐↔装车台路径许可,非法 ID 用 IN_OUT 清 0。
三位置使能开关的释放锁存、4 位 BCD 工位号、左右点动边沿与互锁、16 路工位输出和 LED 指示。
单/双电控阀门的状态机:开阀、关阀、开/关到位反馈、三个超时定时器和 7 种错误码。
TIA-only:用标准访问 DB + UDT 存 5 条配方,一个 FB 管理 CSV 导出、导入、Busy/Done/Error 和状态码。
TIA-only:用 DB 定义日志表头和数据列,一个 FB 管理创建、写入、关闭和错误状态,不依赖云仿真。
TIA-only:用主计数器 + 每块头管理多个 DB 的备份/恢复,WRIT_DBL 写入负载内存,READ_DBL 读回,含 RET_VAL 和忙标志。
不需要。所有示例都能在页面上直接阅读,并给出 Agent 提示词和回归基线;让已连接 sim MCP 的 Agent 自己写场景并执行。只有在要把程序导入自己的工程时,才需要 Windows + TIA Portal(V19/V20)+ TiaLink。
不提供 zip 或 .scl 文件下载。代码在页面上完整展示,导入通过 TiaLink 把 SCL 作为外部源直接写进正在打开的 TIA Portal 项目;页面不产出下载文件。
Learn-LAD 讲梯形图程序和逐网络逻辑;Learn-SCL 讲 SCL 源码、块接口、控制流和工程模式。两边示例可以互相跳转,同一套 TiaLink / 云仿真入口。
可仿真示例先在本地 SCL 仿真引擎里逐扫描跑通场景,再在 PLC 云仿真里复现;依赖 TIA 系统库的 TIA-only 示例只做 TIA 导入编译验证。本库示例已在 TIA Portal V19 + TiaLink 1.4.0.0 上导入 PLC_2,编译 0 错误 / 0 警告并保存。页面顶部会显示验证状态和日期。
SCL(Structured Control Language,结构化控制语言)是西门子 TIA Portal 里的高级文本编程语言,适合状态机、数组/循环、字符串和数学运算;LAD 是图形化梯形图,两者可以在同一个 PLC 项目里混用。
示例只用标准 SCL(FB/FC、IF/CASE/FOR、TON_TIME、T_ADD 等),理论上 V15 及以上都能编译;但本库只在 V19 的本地 SCL 仿真引擎里逐扫描验证过,TiaLink 导入也只支持 V19/V20。用低版本导入前先在测试项目里编译一遍。
可以。示例都能在页面上读;逻辑用 PLC 云仿真逐扫描跑,不需要博途或硬件;只有要把块导入自己的工程时,才需要 Windows + TIA Portal(V19/V20)+ TiaLink。
示例源码来自 MIT 许可的开源工程,可以改用在项目里;但它们是教学片段,不是经过现场验证的交付代码。上机前要按你的 CPU、I/O 地址、扫描周期和联锁重测。