PLC

施耐德电气PLC通过CANopen的SDO报文控制SD388B

2025China.cn   2015年03月19日

  引言:本文通过使用施耐德电气PLC TW238LFDC24DT使用CANopen通信的方式来控制MOTEC SD388B智能步进驱动器来控制电机的速度模式控制和位置模式控制。

 

  CANopen是一种架构在CAN(控制局域网路)上的高层通讯协定,包括通讯子协定及设备子协定常在嵌入式系统中使用,也是工业控制常用到的一种现场总线。

  MOTEC 智能步进驱动器集成了CANopen协议,方便用户通过各种上位机(PLC、HMI或其它运动控制器)通讯。MOTEC 智能步进驱动器采用集成CAN芯片进行CANopen通讯,使用此功能可驱动MOTEC 智能步进驱动器、变更参数以及监视MOTEC 智能步进驱动器状态等多项功能。

  本例中,使用的是集成了CANopen的施耐德电气PLC TW238LFDC24DT来控制MOTEC SD388B步进驱动器,由于对于施耐德PLC来说,没有集成对于非施耐德电气品牌的通用伺服驱动器和步进驱动器的DS402协议的控制,所以我们通过DS301内规范的SDO来实现对驱动器的通信。

  1、创建工程

  本例中使用逻辑梯形图的方式编程

  创建完成的界面如下

  2、添加SD388B的EDS文件

  点击菜单栏的工具—>设备库来添加SD388B的EDS文件,安装后的EDS文件可以在

  里面找到。

  3、添加CANopen主站和SD388B的从站,如下图

  4、设置SD388B的PDO映射,本例使用的是SDO来控制,因此将RPDO的映射去掉。如图

  5、设置好波特率和同步报文等参数后,编写程序,使用CIA405库集成的SDO通信来读写驱动器内的内容,如图

  编写完成的程序如下

  用户可以在上下载到相关的程序。

  6、程序调试

  本例中,使用在线调试的方式,用来调试速度控制和位置控制,

  A、速度模式控制:

  通过CANopen使用速度模式控制,需要至少两个功能块:

  1)、将当前的控制模式设置成速度控制方式,即将6060h索引,00h子索引中的内容改成3;

  2)、设置匀速运动的转速,即向60FFh索引,00h子索引中写入当前运行的转速。

  如图中,设置velocity_Mode_Change为3,设置velocity_value为5*256,即1280rpm;

  使用在线调试给velocity_ModeEN一个上升沿,那么电机会匀速转动,转速为60FFh内设定转速。如下图

  电机启动以后如图

  3)、可以通过将目标速度设置成0或者将控制字6040h的第8位写1,

  4)、用户如果需要设定其余参数,例如加速度,减速度,电机电流等参数,请参见用户手册和EDS文件里面定义的内容。

  B、位置模式控制:

  通过CANopen使用速度模式控制,需要至少三个功能块:

  1)、将当前的控制模式设置成位置控制方式,即将6060h索引索引中的内容改成1;

  2)、设置位置控制的运动距离,即将运行距离写入607Ah索引中;

  3)、向控制字6040h中写入启动位置控制的指令,本例中做相对运动位置控制,即向6040h中写入0x005F;

  4)、本例中,添加了做位置控制时最大转速的设定,即向索引6081h中写入设定的位置控制的最大转速。

  整个数据写入值如下

  设置position_Mode_Change(6060h)为1,设置position_value(607Ah)为0x000A0000,设置position_max_velocity_value(6081h)为0x00500,设定position_GO_Start(6040h)为0x005F;

  给position_ModeEN一个上升沿,直接启动程序,如图

  5)、如果需要停止当前运行,只需要将6040h的第八位设置成1,如图

  6)、用户如果需要设定其余参数,例如加速度,减速度,电机电流等参数,请参见用户手册和EDS文件里面定义的内容。

  注意:为了方便用户监控调试,本例中使用在线模拟的方式,仿真监控PLC的动作和设定参数,用户可以使用赋值语句来对相关的变量进行操作。

  注意:由于本例使用SDO操作,如需使用PDO操作,请详见《MOTEC网络步进驱动器CANopen操作手册》的 附录B MOTEC驱动器CANopen操作流程示例一节。

(转载)

标签:施耐德电气 CANopen 智能步进驱动器 机械 我要反馈 
什么是新一代机器人界面(HMI)?
ABB协作机器人,自动化从未如此简单
优傲机器人下载中心
即刻点击并下载ABB资料,好礼赢不停~
西克
专题报道