当前位置:自动化网>智慧工厂门户>应用案例>数组变量在somachine编程中的应用

数组变量在somachine编程中的应用

发布时间:2020-01-15 16:15   类型:应用案例   人浏览



1 引言——关于codesys编程软件


codesys是德国3s-software公司PLC开发软件平台,codesys beckhoffABB、施耐德等主流自动化装备制造商提供严格符合PLCOPEN标准化组织IEC61131-3标准编程。

Somachine(施耐德)软件基于Codesys平台,支持M218M238M258M241M262等系列产品,支持6IEC编程语言,分别为:

Somachine支持IEC61131-3所描述的所有语言:

文本化的语言:

指令表(IL

结构化文本(ST

图形化的语言:

梯形图(LD

功能模块图(FBD

顺序功能流程图(SFC

连续功能图(CFC

支持一维, 二维, 三维数组,属于基本数据类型, 可以直接在 POU GVL 中定义。

数组定义的语法规则:

<数组名>: ARRAY[<I1>. . <U1>, <I1>. . <U2>, <I3>. . <U3>]OF<基本数据类型>

其中, I1, I2, I3 为下限, U1, U2, U3 为上限;

例如定义二维3×3整数数组: ARRAY1 : ARRAY[0. . 2, 0. . 2] OF INT;

数组初始化:

示例: ARRAY1 :={1, 2, 3, 1, 2, 3, 1, 2, 3} ;


2 与多组变频器通讯及控制变轨式步进驱动器中的具体应用

 

2.1 控制功能的介绍


        某机械设备电气控制原理图1所示                                          

 

控制原理图

包含1个步进驱动器以及5个变频器,步进电机采用PTO脉冲输出形式,变频器采用Modbus通讯方式。


2.2 ABB ACS550系列变频器通讯简介


Modbus协议是Modicon公司开发的应用于电子控制器的一种通用语言,。在modbus通讯数据信息中,寄存器4****地址为****-1,例如40002地址对应0001M218/M241 控制器内可配置2RS485 串口。


设置参数

参数名

参数序号

参数值

参数含义

通讯初始化       

9802

1

标准modbus

站号

5302

变频器站号

1,2,3,45

波特率

5303

96K

 

奇偶校验

5304

2

8位,偶校验,停止位1位。

给定值信号源选择现场总线

1103

8

 


变量声明设置如下:

地址: STRING(INT#4);//定义地址字符型,数量为4(somachine软件支持中文字符编程工程/工程设置/编译选项/allow unicode characters for identifiers

 新地址: ARRAY [1..5] OF STRING(INT#4):= ['2.1','2.2','2.3','2.4','2.5'];//定义新地址站号数组15类型为字符

站号:word;//定义站号类型为字与变频器通讯ST语句程序如下:  

B1(Enable:=true,   //B1500毫秒周期脉冲, 输出start触发Addm_1通讯功能块

Timelow:=t#500ms,

Timehigh:=t#500ms,

Out:=start)

Addm_1(Execute:=start,

Addr:=‘地址’,

AddrTable:=addm1000, //addm1000为管理通讯地址表

Done:=>,

Error:=>

CommError:=>

);

W1_var(Execute:=Addm_1_Done, //通讯功能块完成Done标志触发W1_Var读功能块

Addr:=add1000,

Timeout:=5,

ObjType:=objecttype.mw, //类型为%MW 整型

FirstObj:=1; //寄存器40002为给定值fer1,故起始值firstObj1

Quantity:=1;// 寄存器数量为1

Buffer:=ADR(fer1)// 缓存地址为fer1

Done:=>,

Busy;=>,

Aborted:=>,

Error:=>,

CommError:=>,

OperError:=>,

结束:=NOT BUSY;

)

//读完成或错误标志结束置位后,将站号1,大于6后则置零,实现循环。如图2所示。


 

                             2 站号循环程序截图


给点值fer1最大值(参数1105)对应为数值20000,触摸屏上对应地址应乘以整数40。触摸屏上变频器设置频率(最大值50.0)。变频器接线及参数设置完成后,可以观察参数5309EFB状态)查看是否通讯成功,参数5319为设置的频率。


2.3 步进驱动的实现


SH-2404是数字式步进电机驱动器,采用最新32DSP 技术, 能够满足大多数场合应用需要。 由于采用内置微细分技术, 即使在低细分的条件下, 也能够达到高细分的效果, 低中高速运行都很平稳, 噪音超小。适用于 394257 两相步进电机。信号接口 PUL+和 PUL-为控制脉冲信号正端和负端; DIR+和 DIR-为方向信号正端和负端; ENA+和 ENA-为使能信号的正端和负端。电机接口 A+和 A-接步进电机 A 相绕组的正负端; B+和 B-接步进电机 B 相绕组的正负端。 当 AB 两相绕组调换时,可使电机方向反向。


电源接口 采用直流电源供电, 工作电压范围建议为2050VDC, 电源功率大于100W。设置参数如下:

   

额定电流RMS 1.36A   SW1/SW2/SW3     设为ON/OFF/ON

空载半流:           SW4=OFF

细分数8             SW5/SW6/SW7/SW8 1600 设为OFF/OFF/ON/ON

电气接线如图3所示。

 

3 步进电机驱动器接线图


2.4 步进动功能实现说明


1运行前步进电机先向原点方向运行,PLC检测到原点接近开关上升沿停止,作为运行曲线的原点。输出模式选为脉冲/方向方式,寻原点类型选为短凸轮方式。如图4所示。

 

步进运动功能实现


(2)设计运行曲线相对定位轨迹参见2所示。


2 相对定位运行轨迹

1

-7000

2

4000

3

-8000

4

5000

5

-9000

6

5000

7

-9000

8

5000

9

-9000

10

10000

11

-8000

12

12000

13

-9000

14

13000

15

-17000

16

20000

17

-18000

18

12000

19

-9000

20

13000

21

-8000

22

11000

23

-15000

24

16000

 

 

以上正负号表示与上次运动方向相同(正),相反(负)。


为此建立位移数组变量:


位移: ARRAY [1..24] OF DINT:= [-7000,4000,-8000,5000,-9000,5000,-9000,5000,-9000,10000,-8000,12000,-9000,13000,-17000,20000,-18000,12000,-9000,13000,-8000,11000,-15000,16000];//当每次位移结束时,将变量地址加1。程序截图如图5所示。

 

 

 步进运行程序截图

 

3 结束语


利用数组编写的程序简洁、清晰,可读性强,减轻了编程难度,减少了设计量,给设计人员提供了全新的思路。


参考文献


1叶胜前王镜程沈勇基于S7-1200实现数组某一列上下循环移动的方法研究[J].电工技术,201810

2曹旗,乐立文.数组变量在 UniPro 编程中的应用[J].科技创新与应用,201622

3时文飞.数组式编程方法在PLC编程中的应用[J].电气传动,2014年第1

4周大志,樊石.数组式编程方法在PLC编程中的应用[J].自动化技术与应用,20096


作者简介


潘旭峰(1976-  高级技师 助理工程师 研究方向为工业自动化装备管理工程



本文地址:http://ca800.com/apply/d_1o245ipqhb0k1_1.html

拷贝地址

版权声明:版权归中国自动化网所有,转载请注明出处!

留言反馈
  • 评价:

  • 关于:

  • 联系人:

  • 联系电话:

  • 联系邮箱:

  • 需求意向:

  • 验证码:

    看不清楚?

  • 在线咨询