企业项目管理、ORK、研发管理与敏捷开发工具平台

网站首页 > 精选文章 正文

CANopen模块实现S7-1200 PLC同LXM28A伺服驱动器的通讯

wudianyun 2025-05-08 07:04:26 精选文章 13 ℃

一、线缆连接

包括PLC与PC之间的网线,及CANopem模块与驱动器之间的通讯线。

二、导入EDS文件

运行CM CANopen Configuration Studio 2.0 软件,在“Tools”菜单栏下点击“Manage

Catalog”选项,在弹出的对话框中选中“Import a device”图标,导入所要连接设备的 EDS

文件 (本实例中导入LXM28A伺服驱动器的EDS文件)。

备注:导入后查看左下角 Error List 列表,如果显示 0 Errors,则证明EDS文件导入成功;如果显示有Errors,则需要根据Error信息对应修改EDS文件重新导入。

三、配置CANopen网络

1. 添加主站(CM CANopen模块): ①点击“File”“New”新建一个工程;②设定项目的

存储路径、CANopen Manager Device类型以及CANopen主站的Node ID;③点击OK确定。


2. 添加从站(LXM28A伺服驱动器):①点击 CiA402-Driver and Motion Control;②左键拖住“Schneider Electric ”下方的“LXM28DU01M3X”到Slaves下;③在弹出的窗口中输入从

站名称、选择从站Node-ID和Group;④点击“OK”确定。


3. 网络管理设定:在Network Management Configuration界面下将从站的Bit7勾选项去掉,其他设置保持默认:

4. 错误控制设定: 在Error Control Configuration界面下可以通过Heartbeat和Node Guarding两种方式来实现CANopen网络的错误控制,两种方式同时只能使用一种,而且首选Heartbeat。

4.1当从站设备支持Heartbeat功能时,如下图所示可以设定主从站Heartbeat报文的发送

周期和主从站间的监听方式,此时Node Guarding中各项参数均为0。

4.2 当连接的从站设备只支持Node Guarding时,如下图所示设置节点保护报文的发送周期

和主从站之间的监听方式(目前CM只支持主从站相互保护的方式)。

5. 添加PDO传输参数:在Application objects界面下展开从站节点的对象列表,根据实际应用勾选需要通过PDO传输的参数对象。


6. 在Process Image界面下看到所有勾选的参数对象,当存在多个从站时,需要对各个从站的传输参数进行分组:①点击“Add new group”图标;②以小写的英文字母分别命名创建

的Group;③选中同一Node-ID下的所有对象;④在Group下拉列表中选择分配给该Node-ID

的组名;⑤点击“Assign group to selected objects”图标完成分组。

7. 配置PDO映射参数属性:

①点击左侧Slaves下的从站节点,对应PDO Parameters窗口会在右侧呈现;②右键选中

TPDO和RPDO下的对象,选择Remove Object,将所有TPDO和RPDO下的对象清空;

③清空后的RPDO和TPDO如图所示,右键点击相应的PDO,选择Add Object;④在弹出的窗口中添加Process Image界面中显示的参数对象,将这些对象分别添加到不同的PDO中。

提示:常规的CANopen从站提供4个RPDO和4个TPDO,用于传输实时数据。每个PDO能够

传输的最大数据长度为8bytes,根据实际需要传输的数据长度选择使用的PDO个数。

本实例中使用RPDO1和RPDO2接收数据,TPDO1和TPDO2发送数据。参考以上步骤TPDO和RPDO的映射参数分配如下图所示:

8. 配置PDO通信参数:①点击需要设定的PDO;②勾选Enabled前的选项栏,表示使能PDO;③设定CAN-ID(参考PDO默认COB-ID分配表);④ 选择PDO的传输类型,默认为EventDriven(Profile Specific); ⑤对于使用的PDO,勾选Lock PDO前的选项栏进行锁定。

参考以上步骤本实例中RPDO1和TPDO1的通信参数配置如图所示:

4.3. 参数预设功能

该功能主要应用于对一些不需要实时传输而且一旦设定后无需改变的对象进行预设,在

网络初始化过程中(主从站上电或重启)由主站写入从站,从而减少网络运行中实时传输的

数据量,减轻网络的通讯负载。

设定步骤:①在左侧Slaves下选中对应的节点;②点击右下角 Device Parameters Node-ID

图标展开节点的对象列表;③在需要进行设定的对象的 Value 栏中写入数值。

(本实例预设Profile Acceleration 、Profile Deceleration、Quickly Stop Deceleration 等对象)

利用CAN网络监测工具可以看到上电初始化过程中CM模块自动将预设值写入LXM28A伺

服驱动器对应参数中。

4.4. 计算并生成配置文件

在计算配置前建议用户在同一路径下进行文件的另存备份:①点击“计算配置”图标;

② 确认左下方Error List中显示Calculation Succeeded,而且Process Image界面下所有参数对象

的背景色变为白色(如果计算失败请参考下图中文字说明进行相应操作);③点击“生成配

置”图标生成配置文件。

计算完成后在Process Image界面下可以显示从站对象参数在CM模块内存区中的地址分

配,图中的Address和Size两项决定了TIA软件中对CM进行硬件组态时的输入输出数据大小:

CANopen 输入数据大小(bytes)=最后一个IN参数对应的Address(十进制) + size(bit)/8

CANopen 输入数据大小(bytes)=最后一个OUT参数对应的Address(十进制) + size(bit)/8

本实例中 CANopen输入数据大小:0x0000000C(12) + 32/8=16 bytes;

CANopen输出数据大小:0x00000008(8) + 32/8=12 bytes

4.5. 下载配置

提示:对于新的CM模块,在Studio软件中进行下载配置之前需要先在TIA软件中进行CM

模块的硬件组态(参考5.1部分硬件组态的说明)。

具体的下载步骤如下:①点击菜单栏中的“下载”图标;②在弹出的对话框中选择下载

接口(CM CANopen USB)和下载文件(CMCDC格式);③点击Download进行下载;④ 成功下载后会弹出“Download successfully finished”对话框,点击“确定”完成下载。

备注:1. 如果配置未能成功下载,请对应本文档FAQ部分的下载错误提示进行处理。

2. 成功下载并对CM模块重新上电,正常通讯时RUN灯常绿,ERR灯不亮。

5. PLC配置

HMS旗下IXXAT品牌的官网上提供了CM模块的HSP硬件支持包和SDO功能库文件,可以通过以下链接下载:
http://www.ixxat.com/support/file-and-documents-download/demos/cm-canopen-downloads

5.1. 硬件组态

1. 添加控制器CPU:①在TIA Portal V13软件中新建一个项目,进入“项目视图”;②双击

“添加新设备”选项;③在控制器列表中选则使用的PLC型号与版本;④点击“确定”。

2设定IP:双击以太网口,在“以太网地址”属性中添加新子网,输入IP地址和子网掩码:

3. 添加CM模块的硬件支持包:①点击“选项” “支持包”;② 选择“从文件系统添

加”,浏览计算机找到CM 模块的HSP文件并打开;③勾选添加的HSP文件;④ 点击“安

装”;⑤ 在弹出的对话框中点击“继续”,成功完成安装后点击“完成”。

4. 添加CM模块:HSP硬件支持包安装完成以后,可以在“目录”下的“通信模块”分组中

找到CM模块,将其拖拽到CPU左侧的通信模块槽中:

5. 配置CM模块参数:双击CANopen接口,在“Module parameters”属性中编辑节点号、操作

模式、波特率、CANopen输入输出数据大小。

5.2. PDO数据读写

1. 创建用于进行PDO数据读写的FC功能块:①在“程序块”中添加FC100功能块并命名为

“PDO读写”;② 在“扩展指令”下展开“分布式IO”找到RDREC和WRREC指令;③分别

将RDREC和WRREC指令拖入程序段1和程序段2中。

2. 创建PDO读写指令块变量:打开“PLC变量”下的“默认变量表”,分别添加PDO读写指

令块需要用到的参数变量:

3. PDO读取数据指令块的参数具体分配如下图所示:

1) 读取的数据存放于M区中起始地址为100,长度为100Bytes(需大于或者等于MLEN)

的地址区间。MLEN表明了该区间的有效数据长度,即CANopen输入数据大小

2) 可以创建DB数据块(例如DB3),RECORD定义为P#DB3.DBX100.0 BYTE 100,读取的数据存入DB3块中起始地址100,长度100Bytes 的地址区间。注意DB块属性中的“优化

的块访问”不要勾选。

4. PDO写入数据指令块的参数具体分配如下图所示:

1) 写入的数据来源于M区中起始地址为200,长度为100Bytes(需大于或者等于LEN)的

地址区间。LEN表明了该区间中的有效数据长度,即CANopen输出数据大小

2) 可以创建DB数据块(例如DB3),RECORD定义为P#DB3.DBX200.0 BYTE 100,写入的数据来源于DB3块中起始地址200,长度100Bytes 的地址区间。注意DB块属性中的“优

化的块访问”不要勾选。

5. 根据以上配置可以确认PDO传输参数的地址映射如下表所示:

6. 数据转换:由于CANopen和PLC分别使用的不同的数据格式,所以需要将PDO传输的原始数据转换为可以直接进行读取和设定的用户数据:

1) 创建用户数据块:创建全局数据块DB100,并在DB100中分别添加需要对伺服进行读

取的反馈参数和需要对伺服进行写入的设定参数。

2) 创建PDO读取数据转换功能块FC101:①在“程序块”中添加FC101功能块并命名为

“PDO读_Swap”;② 利用Swap指令和Move指令将PDO读取的数据转换为用户数据。

3) 创建PDO写入数据转换功能块FC102:①在“程序块”中添加FC102功能块并命名为

“PDO写_Swap”;② 利用Swap指令和Move指令将用户数据转换为PDO写入的数据。

4) 在PDO读写功能块中调用FC101和FC102: 打开FC100功能块,在程序段1(RDREC)和

程序段2(WRREC)之间插入新的程序段,在新的程序段中分别调用FC101和FC102如

图所示:

7. 在OB1中调用PDO读写功能块FC100,保存配置并进行编译下载:

8. 创建监控表:①在“监控与强制表”中添加新的监控表;②添加PDO读取数据指令块的对

应变量和用户数据块中的伺服状态参数;③添加PDO写入数据指令块的对应变量和用户数

据块中的伺服控制参数。

10. 绝对位置运动控制测试:① 将W_Req修改值置为TRUE;② 分别对伺服控制参数进行赋

值;③依次向控制字中写入0x00060x00070x000F0x001F,每次赋值后点击“立即修

改”图标;④ 电机转动一段时间后停止,此时读取实际位置数据与目标位置数据一致。

Tags:

最近发表
标签列表