编写步进顺序程序
下图显示了一个站,用于将玻璃容器从托盘上移走。传送带再将托盘传送到站。
当载有玻璃容器的托盘到达站时,传送带将停止运动,一个夹持器将从其基准位置 (P0) 移动到托盘上方的位置 (P2)。
当夹持器移动到托盘上方时,夹钳会打开,同时下降夹持器。
传感器将检测夹持器的实际位置和夹钳的状态。
在本示例中,夹持器的运动顺序由一个步进顺序程序进行控制。
当然,也可以编写更多的步骤,拿走这些瓶子,并在另一条传送带上传送。

实施
下表列出了 PLC 变量表中所用操作数的声明:
| 名称 | 数据类型 | 备注 |
|---|---|---|
| NUMBER | INT | 步进编号 |
| Tag_Error | BOOL | 当步进编号大于 3 或其中一个步骤未执行时,将置位该操作数。 |
下表列出了代码块的块接口中所用操作数的声明:
| 名称 | 声明 | 数据类型 | 备注 |
|---|---|---|---|
| POS_0 | Input | BOOL | 夹持器位于基准位置 (P0) |
| POS_1 | Input | BOOL | 夹持器位于位置 1 (P1) |
| POS_2 | Input | BOOL | 夹持器位于位置 2 (P2) |
| GRIPPER_OPEN | Input | BOOL | 夹钳打开 |
| OUT_POS_1 | Output | BOOL | 夹持器移动到位置 1 |
| OUT_POS_2 | Output | BOOL | 夹持器移动到位置 2 |
| OUT_GRIPPER | Output | BOOL | 打开夹钳 |
| OUT_POS_3 | Output | BOOL | 夹持器移动到位置 3 |
以下 STL 程序说明了如何实现此示例:
| STL | 说明 |
|---|---|
| L "NUMBER" | //将步进编号加载到累加器 1 中。 |
| JL END | //跳转列表开始 |
| JU POSITION_0 | //累加器 1 的值为“0”时,将跳转到跳转标签“POSITION_0”处。 |
| JU POSITION_1 | //累加器 1 的值为“1”时,将跳转到跳转标签“POSITION_1”处。 |
| JU POSITION_2 | //累加器 1 的值为“2”时,将跳转到跳转标签“POSITION_2”处。 |
| JU POSITION_3 | //累加器 1 的值为“3”时,将跳转到跳转标签“POSITION_3”处。 |
| END: JU ERROR |
//跳转列表结束 //步进编号大于 3 时,将跳转到跳转标签“ERROR”处。 |
| POSITION_0: A #POS_0 |
//跳转标签“POSITION_0” //扫描检查夹持器是否位于基准位置 (P0)。 |
| = #OUT_POS_1 | //如果是,则置位输出“OUT_POS_1”并将夹持器移动至位置 1 (P1)。 |
| JCN ERROR | //RLO 为“0”时,将跳转到跳转标签“ERROR”处。 |
| JC NEXT | //RLO 为“1”时,将跳转到跳转标签“NEXT”处。 |
| POSITION_1: A #POS_1 |
//跳转标签“POSITION_1” //扫描检查夹持器是否位于位置 1 (P1)。 |
| = #OUT_POS_2 | //如果是,则置位输出“OUT_POS_2”并将夹持器移动至位置 2 (P2)。 |
| JCN ERROR | //RLO 为“0”时,将跳转到跳转标签“ERROR”处。 |
| JC NEXT | //RLO 为“1”时,将跳转到跳转标签“NEXT”处。 |
| POSITION_2: A #POS_2 |
//跳转标签“POSITION_2” //扫描检查夹持器是否位于位置 2 (P2)。 |
| = #OUT_GRIPPER | //如果是,则复位输出“OUT_GRIPPER”并打开夹钳。 |
| JCN ERROR | //RLO 为“0”时,将跳转到跳转标签“ERROR”处。 |
| JC NEXT | //RLO 为“1”时,将跳转到跳转标签“NEXT”处。 |
| POSITION_3: A #POS_2 |
//跳转标签“POSITION_3” //扫描检查夹持器是否位于位置 2 (P2)。 |
| A #GRIPPER_OPEN | //扫描检查夹钳是否打开 |
| = #OUT_POS_3 | //如果是,则置位输出“OUT_POS_3”并将夹持器移动至位置 3 (P3) |
| JCN ERROR | //RLO 为“0”时,将跳转到跳转标签“ERROR”处。 |
| JC NEXT | //RLO 为“1”时,将跳转到跳转标签“NEXT”处。 |
| NEXT: INC 1 |
//跳转标签“NEXT” //将累加器 1 中的步进编号加 1。 |
| T "NUMBER" | //将步进编号传送到操作数“NUMBER”中。 |
| L 3 |
//将当前的步进编号移送到累加器 2 中。 //将值 3 加载到累加器 1 中。 |
| >I | //扫描检查当前的步进编号是否大于 3。 |
| JC RESET_NUMBER | //如果扫描结果为“1”,则跳转至跳转标签“RESET_NUMBER”处并继续进行程序处理 |
| BEU | //块结束 |
| RESET_NUMBER: L 0 |
//跳转标签“RESET_NUMBER” //将值“0”加载到累加器 1 中。 |
| T "NUMBER" | //将值“0”分配给操作数“NUMBER”(步进编号)。 |
| BEU | //块结束 |
| ERROR: NOT | //跳转标签“ERROR” |
| = "Tag_Error" | //将 RLO 取反后分配给操作数“Tag_Error”。 |
| BEU | //块结束 |
审核编辑:刘清
Sensirion和AirTeq合作推出新型室内空气质量...
时间:2026-03-19
可穿戴生物传感器厂商SIBIONICS推出SIBIO K...
时间:2026-03-19
使用RT-Thread和CPK-RA2L1采集DHT11温湿度
时间:2026-03-19
柔性触觉传感阵列+深度学习实现健康监测和纹...
时间:2026-03-19
医疗传感器有哪些_磁传感器在医疗健康领域中...
时间:2026-03-19
液压压力传感器原理及应用场合
时间:2026-03-19
地磁传感器在城市交通中的主要作用
时间:2026-03-19
新型传感器的检测方法
时间:2026-03-19
压电陶瓷传感器的特点及常见用途
时间:2026-03-19
液压传感器的构造及工作原理
时间:2026-03-19
玻璃釉电容器的结构与特点
时间:2026-03-05
碳膜电阻如何识别_金属膜电阻器和碳膜电阻器...
时间:2026-03-05
电阻的标称阻值和允许偏差
时间:2026-03-05
石英灯电子变压器电路原理
时间:2026-03-06
变压器并列运行的条件浅析
时间:2026-03-06
关于STM32WL LSE 添加反馈电阻后无法起振的...
时间:2026-03-05
贴片电阻怎么看阻值
时间:2026-03-05
可调电阻怎么接线
时间:2026-03-05
压敏电阻有正负极吗
时间:2026-03-05
怎样测试三极管的好坏,NPN三极管如何知道是...
时间:2026-03-07