「干货、教程」。C"ANop"en IO设备使用指南
使用设备(CA2A-IM24R)CAN-总线波特率:20kbit/s~1Mbit/s,CAN接口的波特率由模块上的“波特率”拨码开关状态决定,注意当模块上电时调整拨码状态时,需将模块断电至少3S,再上电方可生效。
修改站号的范围在1~16,必须通过调整模块上“站地址”拨码开关的状态设置,注意当模块上电时调整拨码状态时,需将模块断电至少3S,再上电方可生效。拨码开关值为:0~F,表示设备ID:1~16。
指示灯说明如下图所示:
DP头引脚图如下所示:
需要接入终端电阻,按照上图将CAN_H和 CAN_R 短接。
将设备baud旋钮指向0,Addr旋钮指向3。表示使用1M波特率,设备地址为4。CAN接口与分析仪连接后接通电源,如下图所示。
打开CAN分析仪发现设备在以200ms的间隔发送帧ID为704的消息,数据为7F。帧ID为700+NodID,代表这是心跳信息,数据7F代表此时设备的状态为“预运行态”即配置状态,如下图所示。
加载设备字典后,可知心跳间隔存在索引0x1017中,使用SDO读取此地址数据,其值为0XC8即为200(ms),如下图所示。
为了方便测试其它功能,发送SDO信息将此地址中的值设置为0,关闭心跳。
打开此设备的字典文件,观察发现其0x6100地址为 Read Inputs 16Bit,0x6300地址为Write outputs 16 Bits。它们的0x01子地址是Read/Write Inputs/Outputs 0X1 to 0x10,对应此设备的10个IO点位,并且此地址定义符合CANOPEN 401子协议定义。
使用SDO向0x6300的0x01子地址写入0XFFF,设备的DO果然全部触发,如下图所示。
给设备的第一个DI通上电,DI灯亮起,如下图所示。
此时读取0x6100的0x01子地址,其值果然变为0x01,如下图所示。
接下来使用PDO定时读取DI的数据。使用0X1800通道,将其0x02子地址Transmission Type设置为0XFF即定时发送,再将其0X05子地址设置为0X200,即定时发送时间间隔为512毫秒(各个子地址的定义及功能可以查看之前的《CANopen使用指南》)。
前文指路:「操作演示」CANOpen通讯使用指南
接下来配置其映射参数,及PDO要发送的数据的地址。0X1800通道的映射参数对应地址为0X1A00,将0X1A00的0X01子地址写为0x61000110,代表从0X6100的01子地址获取数据,数据类型为0X10及16位。接下来发送NMT指令将设备转变为运行状态,设备开始按照刚才配置的间隔发送PDO消息,数据内容为0X6100中存储的DI数据,如下图所示。
当然,也可以使用同步帧触发PDO发送数据,将0X1800地址的0x02子地址设置为0x02即收到两次同步帧后,设备发送一次PDO消息。映射参数之前配置过,不用再次配置。操作上位机每隔500毫秒发送一次同步帧,重新进入运行态后设备收到两次同步消息返回一次PDO消息,如下图所示。
如果在设备运行状态下配置PDO,为了安全考虑最好先失能要配置的通道,配置完成后再使能,具体操作方式参考之前的文档。
(内容来源:澎湃新闻)
作者: 编辑:谢欣妍
越牛新闻客户端
越牛新闻微信
绍兴发布微信
越牛新闻微博
绍兴发布微博
新闻热线
0575-88880000
投稿信箱
zjsxnet@163.com