17838383235
首页 > 新闻中心 > 湖南西控西门子指定代理商S7-1200系列6ES7232-4HA30-0XB0
新闻中心
湖南西控西门子指定代理商S7-1200系列6ES7232-4HA30-0XB0
发布时间:2024-04-30        浏览次数:2        返回列表
湖南西控西门子指定代理商S7-1200系列6ES7232-4HA30-0XB0

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

PART.1
需求描述





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


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


PART.2
需求分析





在该托盘中,每个穴位在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.3
项目编程





项目编程分为以下几个步骤:新建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.4


经验总结










新闻分类
最新发布
企业新闻
站内搜索
 
联系方式
  • 地址:中国(湖南)自由贸易试验区长沙片区开元东路1306号开阳智能制造产业园(一期)4#栋301
  • 手机:17838383235
  • 联系人:徐嘉泉