西门子PROFINET报文111伺服EPOS控制


标题长度有限,没法描述的很完全。内容简单来说是用西门子PLC通过ProfiNet控制伺服。这里用的是CPU 1511-1 PN,和一套国产品牌的伺服电机。通讯采用报文111做EPos点位控制,用SinaPos块,也就是FB284。

准备工作:需要一块西门子1500PLC,一套支持PN通讯的伺服电机,一台装有博途和伺服调试软件的电脑,驱动器的调试线和网线。下面开始鼓捣。

组态过程

首先将硬件连接好,给设备上电。驱动器在出厂时参数应该是厂家调试好的,可以用软件点动测试一下。正常之后开始组态。

1. 打开博途,新建一个项目,添加PLC,我这里为了测试方便,还加了一块触摸屏。

第 1 步

2. 添加伺服驱动器的GSD文件,可以向伺服厂家索取。进入项目视图,在选项中找到管理通用站描述文件,添加GSD文件。

第 2 步

3. 在项目树双击设备与网络,点击拓扑视图,在右侧硬件目录,其他现场设备中找到添加的伺服,将其拖拽至视图中。
注意:不要在拓扑视图中将PLC与伺服驱动器的网口(小绿框)连接起来,若实际接线没有按照拓扑图接线,PLC会报下位组件错误。

第 3 步

4. 在项目树-在线访问处为所有设备分配IP,点击网卡,双击更新可访问的设备,点击对应设备下的在线和诊断,打开的窗口中选择功能-分配 IP 地址,为每个设备分配在同一网段的不同IP。

第 4 步

5. 回到设备与网络,点击网络视图。点击PLC里的绿框,在属性-以太网地址处新建子网,设置刚才分配好的IP,勾选上自动生成 PROFINET 设备名称。当然也可以自己设置,切记不能重复。为其他设备也设置好IP和名称。

第 5 步

6. 点击伺服驱动器左下角显示的未分配,选择PLC_1。

第 6 步

7. 双击伺服驱动器空白处,会跳转到设备视图。右侧硬件目录中模块下找到“PROFIdrive Module”,将其拖入表格中。在其下可能会自动添加了3号报文“Standard Telegram 3”,右键将其删除,从右侧子模块中找到报文111“Standard Telegram 111”放入表格。

第 7 步

8. 点击刚才添加的报文111,下面属性-系统常数中可以看到报文的硬件标识符,将其记下,后续将作为硬件ID在SinaPos中使用。

第 8 步

这样组态就完成了。

编写程序

打开程序块开始编写程序。

9. 在右侧指令列表的最下面,选件包SINAMICS中可以找到FB284:SinaPos块,将其放入程序。

第 9 步

10. 没错,并找不到!因为博途不自带FB284,需要安装DriveLib库,需要在西门子工业支持中心下载。下载解压后,在选项-全局库中打开库,选择解压好的zal16文件,如果没有看到,将打开窗口下面文件类型更改为已压缩的库,就可以了。目前西门子最新只提供了博途V16的库,更高版本的博途在打开时升级一下即可。如果是博途V14、V15.1,解压后是一个DriveLib安装文件,安装即可,V16之前也可以通过安装Startdrive来找到FB284。

第 10 步

11. 为了方便修改参数,新建一个数据块,为SinaPos块的每一个输入都创建一个对应的变量,变量类型可以选中SinaPos块,按F1,在打开的信息系统点SinaPos的输入接口,其中表格里有详细信息。创建好后将所有变量绑定到SinaPos块的输入管脚上。上一步的图就是弄好的状态。

第 11 步

向PLC下载程序之后,伺服可能需要复位才能切换报文,详见伺服驱动器手册。

使用说明

信息系统里的说明就不复制了,写一些需要注意的吧。

ExecuteMode

在此位输入一个上升沿开始指令。除了点动外,在其他管脚设置好参数之后,比如相对定位,回参考点之类。由此位的上升沿触发,开始执行指令。

ModePos

范围0-8,默认值0
1:相对定位,Position管脚的正负决定运动方向,值决定运动距离,Velocity管脚决定速度;
2:绝对定位,由去往目标点的最短路径决定运动方向,其他同相对定位;
3:连续运动,向指定方向以Velocity设定的速度持续运行,方向由Positive与Negative管脚决定;
4:回参考点,方向由Positive与Negative管脚决定;
5:设参考点,轴静止时,ExecuteMode触发,在当前位置设参考点;
6:运行程序段,运行创建的自动程序;
7:点动模式,Jog1管脚为1时正向点动,Jog2管脚为1时反向点动;
8:增量点动,按指定距离进行点动。

EnableAxis

使能,为1时该块可用。

CancelTraversing

为0时取消当前任务,正常运行时需设为1。

IntermediateStop

为0时暂停当前任务,正常运行时需设为1。

Positive与Negative

正方向与反方向运行,模式3与模式4使用。

Jog1与Jog2

点动模式信号源。

FlyRef

0:被动回原点,1:主动回原点。

Position

相对定位与绝对定位的位置指令,单位为LU,计算方法见后文。

Velocity

运行的速度指令,单位为LU/min,计算方法见后文。

OverV

速度倍率,单位%,范围0-199。

OverAcc与OverDec

加速度与减速度倍率,单位%,范围0-100。

ConfigEPos

控制字,功能很多,设为16#0003(2#11)即可。该管脚转成2进制最低两位必须是1。

HWIDSTW与HWIDZSW

硬件ID,填报文111的硬件标识符第8步记下来那个

注意事项

1. CancelTraversing与IntermediateStop在点动模式以外都生效,正常运行时必须为1。

2. Jog1与Jog2在点动模式外都无效,但必须保持为0。

3. Positive与Negative如需使用,要注意不允许同时为1。

4. Jog模式下加减速度的修改不会生效。

5. 模式切换不需要停使能,模式123间可以随时切换,模式45678切换时必须在轴静止时进行。

6. 123模式下,ExecuteMode的上升沿可以打断进行中的指令开始新指令。

7. 位置指令Position的计算方法:Position[LU] = 想要设定的圈数[r] × 编码器每圈的脉冲数 × 电子齿轮比的分母 ÷ 电子齿轮比的分子

8. 速度指令Velocity的计算方法:Velocity[LU/min] = 想要设定的转速[rpm] × 编码器每圈的脉冲数 × 电子齿轮比的分母 ÷ 电子齿轮比的分子 ÷ 1000 ÷ OverV%

Powered by WordPress. Theme by Alx.