欢迎光临散文网 会员登陆 & 注册

SCL语言FOR指令进阶应用:位置批量赋值

2023-06-12 14:39 作者:电气小百科  | 我要投稿

PART.需求描述


在一个锂电池的企业中,有一个自动上下料的设备。该设备需要将生产好的锂电池,一个一个摆放到托盘当中。


该托盘为5*4的矩阵,其每个穴位的位置由X轴和Y轴的坐标确定。由于该产线会生成不同型号的产品,不同的产品会使用不同的托盘。要求通过位置1的坐标,快速得到2~20的坐标值。


PART.需求分析


在该托盘中,每个穴位在X方向和Y方向的间隔一致,X方向每个穴位间隔10mm,Y方向每个穴位间隔5mm。X方向的位置1~位置5的坐标为5、15、25、35、45,其规律为{X基准坐标+X间距*穴位间隔数}。Y方向的位置1、6、11、16的坐标为5、10、15、20,其规律为{Y基准坐标+Y间距*间隔层数}。


穴位的间隔数,可使用序号的余数可得,而层数的间隔,可使用序号的商可得。具体实现的思路,可以使用SCL语言的FOR循环指令进行位置批量赋值实现。


PART.项目编程


项目编程分为以下几个步骤:新建FB块、在FB添加变量、编写FB程序、调用FB程序。


(1)新建FB块

在博图的新建项目中,项目树下选择“添加新块”,选择“函数块”,在命名为“位置批量赋值”,选择语言为“SCL”,点击“确定”则实现了FB的SCL块的添加。如图1所示。

图1新建FB块



(2)在FB中添加变量

在“Static(静态变量)”中添加一个Real数据类型的二维数组,其中“0…19”表示的是1-20的位置,其中“0…1”表示的是X轴和Y轴的坐标。在“Temp(运行变量)”中添加一个Int数据。如图2所示。

图2在FB中添加变量



(3)编写FB程序

在SCL的编程区中,编写控制程序。如图3所示。

图3编写FB程序



(4)调用FB程序

将编写好的FB1块拖动到OB1中,会自动生成一个背景数据块。如图4所示。

图4调用FB程序



(5)调试仿真

仿真调试后,监控背景数据块,数组的状态如图5所示。

图5状态监控



PART.经验总结


本文通过SCL的FOR循环指令,实现了位置的批量赋值。使用FOR循环指令,可以实现批量性的、有规律的数据处理。


文章来源:技成培训网原创,作者:刘郴;未经授权禁止转载,违者必究!


粉丝福利

微信扫码领西门子全套PLC电子资料包

微信扫码免费领



SCL语言FOR指令进阶应用:位置批量赋值的评论 (共 条)

分享到微博请遵守国家法律