施耐德M580通过CANopen主站模块BMECXM0100与WDGA CANopen编码器通...

[复制链接]
查看92432 | 回复0 | 2024-10-31 08:55:05 | 显示全部楼层 |阅读模式
1、实验简介

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

Control Expert是一个功能齐全的编程、调试和运行软件。软件功能强大又直观,集成度高且开放,它是提高生产力的理想伙伴。Control Expert软件能在 M580, M340, Quantum 等系列PLC中使用,提供完全自由的空间,让你为你的应用程序选择最佳的解决方案并享受 PLC 之间完全可移植性所带来的益处。

M580系列CPU不像M340系列CPU那样有本体自带的CANopen端口可供选择,必须用到CANopen X80 主站模块 (BMECXM0100) 来实现M580 PAC 上的 CANopen通讯,硬件目录中仅有一个设备部件号 BMECXM0100用来声明和配置两种 CANopen X80 主站模块参考,协议标准CANopen CiA 301 V4.2。支持 M580 Ethernet 背板(带有子站端通讯器 BMECRA31210 模块,最低固件版本为 V2.10)的远程子站,但是Quantum X80分站上不能组态此CANopen模块。

Wachendorff(沃申道夫)是德国知名的编码器、测量系统及工业仪表制造商,总部位于德国黑森州莱茵高地区,威斯巴登以西的小镇盖森海姆,自1978年成立以来,专注于编码器技术研究与开发近40年,产品均为德国制造,数十年来一直为全球客户提供多样化、个性化的优质产品定制服务。WDGA 58B CANopen 带电流隔离磁性绝对值编码器, CANopen WDGA 58B,带电流隔离;实心轴编码,夹紧法兰,外壳:Ø 58mm,16位/43位 单圈/多圈;轴:Ø 6mm, Ø 8mm, Ø 10mm, Ø 3/8",遵循CiA 301通信协议,编码器 CiA 406 V3.2  Class C2 设备协议;二进制代码。

2、实验组成

主要硬件见表:


类型

型号

    数量

参考图片

PLC

BMEP582040

    1




CANopen X80 主站模块

BMECXM0100

       1




CANopen编码器

WDGA 58B-10-1212-COA-B00-CB5-AAS

      1






主要软件见表:


软件

说明

参考图片

     Control Expert V15

施耐德电气M580 PLC组态及编程软件。




   



硬件配置见图2.1及图2.2:



图 2.1





图2.2

3、软件组态配置及程序编写

3.1 BMECXM0100组态

打开Control Expert软件,新建工程,选择机架后,组态配置上电源BMXCPS3500、CPU BMEP582040、CANopen X80 主站模块 BMECXM0100模块。解锁M580以太网端口及BMECXM010以太网端口安全性,设置CANopen波特率,项目浏览器-CANopen子站双击组态添加CANopen子站设备节点。详见下图3.1-图3.5:



图3.1



图3.2



图3.3





图3.4





图3.5

3.2添加第三方CANopen EDS文件

如果需要通讯的CANopen设备已经在Control Expert软件“新设备”列表中,那么可以在项目浏览器-CANopen子站直接组态添加此设备节点;如果需要通讯的设备不在“新设备”列表中,那么需要先关闭Control Expert软件,在Windows操作系统“开始”菜单中搜索到“硬件目录编辑器”进行添加,然后才能在项目浏览器-CANopen子站直接组态添加此设备节点。设置路径为:硬件目录编辑器—单击 Canopen子站—编辑—添加设备—选择要添加的EDS文件—打开—添加。详细步骤截图如3.6-图3.11:



图3.6



图3.7





图3.8





图3.9



图3.10



图3.11

3.3 CANopen通讯程序编写

3.3.1 PDO通讯

CANopen通讯分为PDO和SDO两部分,PDO通讯在添加设备的时候就直接映射到了Control Expert软件的Device DDT变量中,不用编写程序,如下图3.12:



图3.12

3.3.2 SDO通讯

SDO通讯需要在Control Expert软件中使用READ_SDO及WRITE_SDO编写程序,关联CANopen设备ID及参数的 索引和子索引地址即可,新建FBD程序段A,读取SDO,读取节点号1的编码器的位置值,SDO对象索引6004h(24580),子索引00h。ENABLE 使能端需设置条件,为1时开始读取。0.0.3为三号槽,192.168.10.2为CANopen模块的地址。见下图3.13:



图3.13

新建FBD程序段B,写入SDO, 将清零值00h写入节点号为1的编码器,SDO对象索引6003h(24579),子索引 00h,对编码器进行清零操作。ENABLE 使能端需设置条件,为1时执行清零功能。0.0.3为三号槽,192.168.10.2为CANopen模块的地址,见图3.14。



图3.14

程序编写完成后,点击“生成”菜单里面的“全部生成”,无报错后点击“PLC”菜单里面的“标准模式”,然后点“连接”并执行“将项目传输到PLC”,接着还要点击“PLC”菜单里面的“运行”程序才会执行,见图3.15-图3.18。



图3.15



图3.16





图3.17





图3.18

程序正常运行后,双击BMECXM0100,可以直接监控到此模块的运行状态,如下图3.19:



图3.19

新建动态数据表,添加自动生成的编码器Device DDT变量,旋转编码器轴,可以读取到编码器当前值,如下图3.20:



图3.20

上图中SDO读取的参数和PDO映射配置的参数都是Position Value,值1048572换算成16进制是00 0F FF FC,分别对应的是READ_SDO的输出管脚DATA_OUT数组DATA_RSDO (DATA_RSDO[4]=0,DATA_RSDO[3]=15,DATA_RSDO[2]=255,DATA_RSDO[1]=252)。此编码器单圈12位1024(高12位),圈数12位共1024圈(低12位),Position Value值是1048572,代表1023圈1020。1048576是临界值,1048575过去就是0 。

4、模块状态诊断

正常下载程序等待约30s 后BMECXM0100模块正常启动 RUN, BS, CAN RUN三个绿灯常亮。可以通过面板指示灯判断BMECXM0100模块运行状态:









模块处于 RUN 状态是通过 LED 诊断与 CANopen 设备进行的 I/O 交换的先决条件。下表给出了 I/O 和 CAN ERR LED 组合所反映的诊断结果:



5、实验总结

编码器WDGA 58B-10-1212-COA-B00-CB5-AAS出厂默认节点是127,CANopen X80 主站模块 BMECXM0100支持的CANopen子站节点地址最大是63,需要先设置好此编码器的CANopen子站节点地址至有效范围内(0-63),再用BMECXM0100模块采用CANopen协议连接此编码器。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则