控制器编程语言
IEC 61131-3 是可编程控制器标准的第三部分。它规定编写逻辑的语言和程序结构:有哪些程序组织单元、数据类型、如何调用功能块。
对客户来说只意味着一件事:按标准编写的程序,熟悉任何支持该标准环境的工程师都能阅读和修改。逻辑不会被锁定在某一家供应商的语言里。
在 SyncTwin 中,该标准是单元逻辑的唯一语言:原来的自有单元语言已停用,生产程序已迁移到 ST 和 SFC。单元不执行 G 代码——它用功能块调用切削程序。
- SFC——顺序步骤、按条件转换、步骤中的动作:单元循环读起来像一张图。
- ST——结构化文本计算和条件——用类似常见编程语言的文本表达。
- 功能块带输入输出的可复用功能块;PLCopen 增加了轴运动功能块。
- 程序交换PLCopen XML 是在不同环境之间迁移程序的格式。
语言和程序组织单元
| 标准要素 | 是什么 | 在我们这里 |
|---|---|---|
| SFC | 顺序功能图:步、转换、动作 | 可用 ——单元逻辑和单元格流程,实验室中的播放器 |
| ST | 结构化文本 | 可用 ——单元逻辑、转换条件 |
| LD, FBD | 梯形图和功能块图 | 程序以 ST 或 SFC 带入 |
| 程序 | 由控制器任务执行的最上层单元 | 单元程序;语言是其属性 |
| 功能块 | 带存储、输入和输出的单元 | PLCopen 运动功能块、运动技巧 |
| 带范围的变量 | 程序输入变量 | 单元调节旋钮:范围和单位,数值保存在单元中 |
文本由编译器按标准整体检查,然后检查与单元的绑定。错误原样显示,并标出在文本中的位置。
单元与单元格逻辑使用同一语言
- 单元逻辑——SFC 或 ST单元格流程同样是 SFC:单元格的一步即一个单元、一个阶段命令和一个完成条件。
- 运动——PLCopen 功能块轴移动、复位、错误读取——使用标准功能块。
- 编译器检查按标准完整检查文本;错误会标出在文本中的位置。
- 导入.st 和 PLCopen XML 文件;文件中有多个程序时可选择所需的一个。
- 在试验台上运行单元程序作为 IEC 61131-3 程序在试验台上运行。
逻辑在 SFC 中,运动在功能块中
定时器、等待、信号条件、联锁、计数和 PackML 状态都在 SFC 中。运动在功能块中:程序说“搬运”,路径由功能块计算。
| PLCopen 功能块 | 用途 |
|---|---|
| MC_Power | 轴使能;与单元电源“与”;关闭——轴失能 |
| MC_MoveAbsolute 等 | 轴运动;功能块有 Active、加速和减速 |
| MC_Reset | 复位轴故障 |
| MC_ReadAxisError | 读取轴错误 |
| MC_SetPosition | 不运动地偏移坐标 |
动作也是功能块
搬运、翻转和放置以功能块形式提供给单元程序。机床切削程序用启动块调用。
与 PLCopen 一致的接口
平台的目标是每个运动动作都具有“Execute → Busy → Done 或 Error”接口,输入即动作参数。
程序不知道执行者
功能块名称只有一个;由哪台设备执行在启动时决定。没有匹配——带原因拒绝。
标准在单元程序中是什么样子
| SFC 步 | 动作 | 转换 |
|---|---|---|
| 初始 | 变位机两轴回到 0°——各自用 MC_MoveAbsolute | 两个功能块都 Done |
| 倾斜 | 工作台倾斜到 45° | Done |
| 旋转一圈 | 花盘旋转 360° | Done |
| 回倾 | 两轴同时回到 0° | 两个功能块都 Done |
| 暂停 | 定时器延时 | 定时器 → “初始” |
SFC 的最终步即单元的 PackML Complete 状态。示例解析和故障阈值—— “PLC 程序”.
轴运动前的四个环节
- 编译器按标准检查全文,然后检查与单元的绑定:轴、角色、输入输出名称。
- 实验室输入表 %IX 和输出表 %QX、输入强制、SFC 播放器、PackML 状态。
- 虚拟轴步骤、时间和转换——在试验台上,驱动器静止。
- 驱动器跟随误差和负载——只在真实轴上。
强制是遵循控制器编程环境规则的调试工具:急停时解除,不会进入生产。
关于语言的问题
能把我们环境中的现成程序带进来吗?
可以,以 ST 文本或 PLCopen XML 文件形式。若文件中有多个程序组织单元,平台会询问取哪一个;编译器会显示未通过的内容及其在文本中的位置。
我们的调试工程师能否在没有你们的情况下修改程序?
程序用标准语言编写,SFC 的步和转换像图一样易读。移交给您团队的内容写入实施技术任务书。
在哪里能看到程序当前在做什么?
实验室中的 SFC 播放器高亮当前步,“单元”面板显示输入、输出和 PackML 状态,运行日志显示启动结果。
梯形图呢?
单元逻辑用 SFC 或 ST 编写。您用标准中其他语言编写的程序在实施中迁移到它们。
速度和延时保存在哪里?
在单元调节旋钮中——带范围和单位的输入变量。“可视化”视图对任何语言都显示它们;数值保存在单元中,而不是文本中。
哪些可用、哪些在准备中
- 运行ST 和 SFC、导入 .st 和 PLCopen XML、编译器、实验室、在试验台的虚拟轴和驱动器上执行。
- 准备中以表格给点的搬运功能块、输出确认看门狗。
- 规范与目标所有运动动作都作为带 PLCopen 接口的功能块。