文章目录
标题长度有限,没法描述的很完全。内容简单来说是用西门子PLC通过ProfiNet控制伺服。这里用的是CPU 1511-1 PN,和一套国产品牌的伺服电机。通讯采用报文111做EPos点位控制,用SinaPos块,也就是FB284。
准备工作:需要一块西门子1500PLC,一套支持PN通讯的伺服电机,一台装有博途和伺服调试软件的电脑,驱动器的调试线和网线。下面开始鼓捣。
组态过程
首先将硬件连接好,给设备上电。驱动器在出厂时参数应该是厂家调试好的,可以用软件点动测试一下。正常之后开始组态。
1. 打开博途,新建一个项目,添加PLC,我这里为了测试方便,还加了一块触摸屏。
2. 添加伺服驱动器的GSD文件,可以向伺服厂家索取。进入项目视图,在选项中找到管理通用站描述文件,添加GSD文件。
3. 在项目树双击设备与网络,点击拓扑视图,在右侧硬件目录,其他现场设备中找到添加的伺服,将其拖拽至视图中。
注意:不要在拓扑视图中将PLC与伺服驱动器的网口(小绿框)连接起来,若实际接线没有按照拓扑图接线,PLC会报下位组件错误。
4. 在项目树-在线访问处为所有设备分配IP,点击网卡,双击更新可访问的设备,点击对应设备下的在线和诊断,打开的窗口中选择功能-分配 IP 地址,为每个设备分配在同一网段的不同IP。
5. 回到设备与网络,点击网络视图。点击PLC里的绿框,在属性-以太网地址处新建子网,设置刚才分配好的IP,勾选上自动生成 PROFINET 设备名称。当然也可以自己设置,切记不能重复。为其他设备也设置好IP和名称。
6. 点击伺服驱动器左下角显示的未分配,选择PLC_1。
7. 双击伺服驱动器空白处,会跳转到设备视图。右侧硬件目录中模块下找到“PROFIdrive Module”,将其拖入表格中。在其下可能会自动添加了3号报文“Standard Telegram 3”,右键将其删除,从右侧子模块中找到报文111“Standard Telegram 111”放入表格。
8. 点击刚才添加的报文111,下面属性-系统常数中可以看到报文的硬件标识符,将其记下,后续将作为硬件ID在SinaPos中使用。
这样组态就完成了。
编写程序
打开程序块开始编写程序。
9. 在右侧指令列表的最下面,选件包SINAMICS中可以找到FB284:SinaPos块,将其放入程序。
10. 没错,并找不到!因为博途不自带FB284,需要安装DriveLib库,需要在西门子工业支持中心下载。下载解压后,在选项-全局库中打开库,选择解压好的zal16文件,如果没有看到,将打开窗口下面文件类型更改为已压缩的库,就可以了。目前西门子最新只提供了博途V16的库,更高版本的博途在打开时升级一下即可。如果是博途V14、V15.1,解压后是一个DriveLib安装文件,安装即可,V16之前也可以通过安装Startdrive来找到FB284。
11. 为了方便修改参数,新建一个数据块,为SinaPos块的每一个输入都创建一个对应的变量,变量类型可以选中SinaPos块,按F1,在打开的信息系统点SinaPos的输入接口,其中表格里有详细信息。创建好后将所有变量绑定到SinaPos块的输入管脚上。上一步的图就是弄好的状态。
向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%
。
学习了 谢谢博主