西门子机器人库系列教程——离线编程下篇(SCL编程)
发布时间:2024-11-27
西门子机器人库V1.1.0.1版本正式对外发布,大家可以通过文末链接随时申请试用!!!
往期介绍中,大家借助一套搬运程序实现了在博途中对机器人进行离线编程并在MCD里进行仿真,本期内容会指导大家用另一种常用的编程方式—SCL,来进行机器人程序的编写。
首先对SCL语言进行一个简单的介绍:不同于梯形图方式的编程风格,SCL语言是用类似高级语言的方式对PLC进行编程。梯形图和SCL两种方式各有特点,适用于不同的程序种类。
梯形图:编程结构简单,易于调试,适用于产线层级对于各设备的总控程序的编辑
SCL:编程界面更自由,更易实现特殊算法的编辑,所以适用于逻辑复杂的设备层级的程序编辑基于西门子标准化编程风格的程序,可以对偏向于机器人本身的逻辑程序使用SCL进行编程,而机器人与其他设备的交互控制程序使用梯形图进行编程。
针对标准化编程,西门子除了提供了一些规则建议以外,还提供了非常好用的编程模板,如下图。这个模板就是个编程框架,有了框架只需往里面增加工艺逻辑内容。
西门子提供的符合PLCopen标准的基于SCL编程语言的模板是通用函数库(LGF—Library of general functions)。基于LGF,可以很轻松地编写出风格统一,易于阅读的FC、FB程序。通用函数库(LGF)的更多内容和下载可参考见往期内容:标准化编程之库的介绍(LGF、LBC、LBP)
首先添加一些控制机器人需要的输入接口,如启动,停止,运动速度,复位等等,同时机器人的目标位置以及抓手的状态也可以通过输入接口导入到程序中。(注意:这里需要注意数据类型要与调用的机器人库模块相适应。)
输出接口除了各种状态位,还需要添加一个控制夹爪的变量,用来与外部的夹爪设备进行交互。
在InOut必须要定义一个AxesGroup接口,用来与机械臂进行数据交互。
在静态变量参数中定义了一些储存目标位置的静态变量,如此设计方便后期对目标位置进行一些逻辑修改,实现一些复杂逻辑。除此之外就是一些SRL指令调用后的多重实例,这些多重实例不需要自己创建,而是调用指令块后自动生成的。
在临时变量部分定义了一些控制变量,临时储存外部的控制信号。由于具体的逻辑是通过状态机进行跳转的,所以在常量的部分需要定义一些常量参数,帮助我们进行步骤逻辑的编辑。
下拉进入到程序编辑的界面,主体分为三大部分,首先是对程序的初始化逻辑进行编辑,例如复位背景数据块的调用以及将一些输入参数赋值给静态变量。
接下来进行主控制逻辑的编写,通过状态步骤静态变量的跳转实现机器人运动指令的顺序触发,例如以下截取片段表示机器人从预抓取位到后抓取位的动作顺序逻辑。
这样一个基于SCL标准编程模板的机器人搬运程序就编写完毕了,同样可以采用在线仿真的方式验证程序及查看对应仿真效果。
展开全文
其他新闻
- 博途V19 运动控制更新一览 2024-11-27
- S7-1500如何选?西门子选型工具的正确打开方式 2024-11-27
- SiOME助力实现通讯接口标准化 2024-11-27
- 西门子产品用31万年都不会坏?!——MTBF平均无故障工作时间 2024-11-27
- 博途多人编程调试又添新场景——Project Server V1.2 2024-11-27
- 博途新成员!西门子Zui经济型IO正式发布 2024-11-27
- 实用短篇!西门子PLC如何直接连接EtherNet/IP 设备? 2024-11-27
- TIA V19软PLC性能更新及Zui新资源下载 2024-11-27
- 【故障安全步步来】认识故障安全输入和钝化的概念 2024-11-27
- 【从SIMOTION到SIMATIC T-CPU】之执行系统 2024-11-27