广东湘恒智能科技有限公司
主营产品: 西门子PLC,西门子模块,西门子触摸屏,西门子变频器,西门子伺服电机驱动,电缆,西门子全系列
西门子机器人库系列教程——离线编程下篇(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标准编程模板的机器人搬运程序就编写完毕了,同样可以采用在线仿真的方式验证程序及查看对应仿真效果。


展开全文
拨打电话 微信咨询 发送询价