施耐德LXM32伺服驱动器与西门子PLC的Profibus通信

1、硬件连接

① 需要用到西门子的Profibus通信连接头,通信电缆。需要注意,两端的接线口均为A1B1输入口,两端的DP头开关置为ON,打开终端匹配电阻;中间所有的连接头开关置为OFF,连接完成后,用万用表检查,两端的3和3针脚可以导通,针脚8和8之间也能导通。两端的同一个连接头,针脚3和针脚8之间的电阻为220欧姆。
②用schneider伺服调试软件SOMOVE,连接伺服驱动器,设定通讯参数及其伺服电机各种性能的参数
用调试线连接SOMOVE时需要注意,选择communicationàEdit Connect/scanàModbus Serialà右边高级设置;如下图,COM port要和所选端口一致,波特率选择19200
在这里插入图片描述

③DEVcmdinterf参数选择Fieldbus Control Mode,PBaddress和PLC中组态要对应
在这里插入图片描述

2、PLC硬件组态

①在西门子300cpu的硬件组态上,组态好施耐德伺服驱动器。首先就是安装它的GSD文件,配置profibus的通讯参数和DP地址。
在这里插入图片描述
②在硬件组态画面,profibus-Additional Field Decives-驱动器-schneider-选择需要控制的报文。此处选择的报文为第一种。注意I和Q的地址。
在这里插入图片描述

3、PLC程序编写

①选项—>全局库—>恢复库(导入LXM32库文件,没有的关注施耐德公众好,找人工服务要,版本要与所使用的PORTAL软件一致,此处选择SE_Motion_LXM32_V1005)。
②在左侧的设备视图中,PLC数据类型—>添加数据类型。在SE_Motion_LXM32_V1005_V14中选择Axis_Ref_LXM32以及DataSet_LXM32两种数据结构,导入后需要编译。

在这里插入图片描述

③添加数据块DB1,数据类型选择Axis_Ref_LXM32
添加数据块DB2,数据类型选择Array[1,2200]of Word(目前还不知道有什么用)
添加数据块DB3,名称添加dataRead,dataWrit,数据类型均选择DataSet_LXM32。

④添加OB100,在该OB快中进行初始化。DPAddress为DP地址,和组态时的PBaddress对应;InputAdrModul为输入起始地址,和组态时的I地址对应;OutputAdrModul为输出起始地址,和组态时的Q地址对应。
在这里插入图片描述

4、驱动器各模块的使用

①有个英文参考手册可以参考,购买的时候施耐德一般都会给的
在这里插入图片描述
注意,Init在在数据块DB1中,选择Init后选择其中的一位即可,各功能块不要重复。

②然而施耐德的大多数功能块都是需要脉冲驱动的,当程序比较复杂的时候,一般就需要把和硬件接口相关联的代码放到时间中断循环中(如OB35),这样使用梯形图编程就比较困难,下面就说一下怎样使用和C语言比较接近的SCL语句来对伺服电机进行控制,速度控制如下
在这里插入图片描述

其中,Low_m_move为控制电机启动的变量,Low_m_busy为电机是否在运行的变量,#volecity_on为临时变量
在其它的FC块中,我们可以这样控制电机运动
在这里插入图片描述

按向上的按钮电机正转,按向下的按钮电机反转,Low_m_move取反说明:如果只发一次脉冲的话,中断程序可能检测不到,所以如果电机没有动作的话,就多发几个吧

5、相对位置运动模块

循环中断中的程序
在这里插入图片描述

在FC块中的程序
在这里插入图片描述

这段代码实现正转10圈,10圈结束后反转15圈,达到一个开机后模块自检的功能

6、总结

由于本人也是第一次使用PLC,第一次使用施耐德LXM32系列伺服电机,网上资料比较少,所以自己慢慢摸索出来的。可能会有缺陷,但能用。人又比较懒,既不想做,也不想做的很好。。。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值