虹科干货 | 虹科推出多款CANopen IO模块及hipecs系列模块通讯测试

描述

CANopen是一种架构在CAN串行总线系统上的高层通讯协议,目前已被广泛应用于电机控制、机器人制造、医疗、汽车等多个行业领域。为了让上述领域的用户能够采集常见的数字量或开关信号,并输出电压信号用于控制继电器、开关、指示灯等设备,虹科推出了多款CANopen IO模块。其中,虹科HK-CIO-0320是一款低成本的支持24V DC的16DI和16DO的CANopen IO单元,IO端支持PNP/Positive Switching,与总线和系统供电隔离,所有输出端具有短路保护的特性,支持DS301和DS401,CAN端支持常用波特率,高达1Mbit/s,欢迎联系虹科选购。

  ●  ●  ●  ●  ●  ●  ● 

本篇文章将以虹科hipecs CIO102为例,对该系列CANopen IO模块进行通讯测试。hipecs-CIO102是一个低成本的CANopen单元,具有16个数字输入和16个数字输出,适用于24 V DC应用。I/O是正开关的,并与总线和光电隔离开关,并与总线和系统电源进行光电隔离。系统电源所有的输出都有短路保护。

01

设备基础信息

Part.1

IO特性
 

16个数字输入,隔离,高位开关。

16个数字输出,隔离,高压侧开关。+24 V DC/+0.5 A

输出过载监测(EMY)。

Part.2

CANopen特性
 

遵循DS301和DS401规范。

CAN波特率高达1 Mbit/s。

带有收发器TJA1050的CAN总线ISO11898。

4个发送和4个接收PDO

动态PDO映射

CANopen PDO传输模式:同步、异步、事件触发、循环、非循环和远程帧

Node-Guarding, Lifeguarding 和Heartbeat

紧急信息

最短的启动时间(Minimum Boot-Up)

Part.3

设备引脚
 

Node ID设置,通过旋钮来确定,配置范围为0x01-0x7F(1-127)

波特率设置:通过拨码开关设置,其值可为20k、50k、125k、250、500k、800k、1M

通讯

02

CANopen通信搭建

Part.1

硬件连接
 

24V电源:IO模块供电

24V电源:作为IO模块的输出电源

hipecs CIO 102

PEAK PCAN-USB

PCAN-View

 

通讯

 

Part.2

软件部分
 

硬件连接完整后打开PCAN-View会自动弹出窗口。对波特率参数进行选择,必须与IO模块一致,否则PCAN-View将会报BUSHEAVY。

 

通讯

 

根据使用手册将IO模块的旋钮和拨码设置如下,此时波特率为1Mbit/s,node_ID为1。

 

通讯

03

基本通信测试

NMT协议

根据使用手册,IO模块上电之后Run指示灯处于闪烁状态是处于Preoperational状态,此时PCAN-View上收到一条Bootup报文。

通讯

我们需要发送命令,将模块转换为操作状态后,才能进行下一步的测试操作。在PCAN-view的Transmit中单击该报文后敲空格即发送该报文,此时Receive区域会收到一条回应报文,此时IO模块的Run灯变成常亮状态。

通讯

通讯

心跳报文

通过SDO的方式往对象1017里面写入时间间隔,即间隔反馈一次设备的状态,报文发送如下图

通讯

通讯

节点保护

主站发送一帧远程帧,节点应答700+Node_ID state。

State:0=初始化,1=断开连接,2=连接,3=准备,4=stopped,5=operational,6=pre-operational。

通讯

通讯

PDO(RPDO接收型TPDO发送型)

生产者消费者模型,在PDO通讯中对象字典的子索引00 01 02 03 05分别代表了不同含义

00h:LargestSubindex supported:最大支持的子索引个数;即1800h下有多少个子索引;

01h:COB-IDused by PDO:PDO所使用的COB-IB;

02h:TransmissionType:传输类型,其值可选,详解在下文中进行;

03h:InhibitTime:生产禁止约束时间,单位:0.1ms;描述该PDO不可以在指定的一段时间内连续发送;

05h:Eventtimer:事件定时器触发的时间,单位:ms;即计数器,每隔一定时间数值+1,与02h结合,可规定PDO循环发送的时间;

 

报文通信测试

通讯

而由于PDO的单向传输特性,仅从此次PDO传输我们无法得知接受站点是否正确收到PDO数据,只能使用另外的手段(如SDO读取、观察相应IO的行为等)得知数据是否接收到位。这里为什么会返回PDO报文呢?主要是因为对应PDO的transmission type设置为了事件触发,事件主要指接收同步消息、输入数据发生变化、事件计时器周期过期或者远程帧,当有以上这些事件时则会返回PDO报文。

SDO

1. SDO快速传输

对IO模块的索引6200 1号通道写入FF:0x601 22 00 62 01 FF 00 00 00,若成功则应答60 00 62 01 00 00 00 00;读取该通道的值:0x601 40 00 62 01 00 00 00 00。若成功42 00 62 01 xx xx xx xx(后四个字节为数据)

功能码60h表示成功,80h是失败,写入的数值高位在byte6,低位在byte5。

通讯

CS命令码如下:

通讯

2. SDO分段传输

通讯

读对象字典1008,根据上图解析,返回41 08 10 00 0D 00 00 00(为确认报文信息)

60 00 00 00 00 00 00 00分段请求

00 68 69 70 65 63 73 2D:00为命令码,后七个字节为数据内容。

70 00 00 00 00 00 00 00:70命令码,即为分段请求,与60交替出现

13 43 49 4F 31 30 32 00:13为本段写7个字节,后面为数据内容。

 

通讯

修改PDO映射参数

Step.1

禁能COB-ID
 

通讯

 

返回60写响应成功,写报文中的数据可这样解析:即将COB-ID的最高位置1,其他位不变。可通过报文读取该索引原本的值为0x00000181。

Step.2

清零映射个数
 

通讯

 

向1600h00h中写入00h即将映射个数清

Step.3

写映射参数
 

先向索引读数据,返回62000108代表发送数据的索引为6200h01h,长度为8位

 

通讯

 

现在将PDO发送改为另一个通道2,再次读取发现映射参数已经改变。

 

通讯

Step.4

写映射个数
 

向1600h00h中写入00h即将映射个数清零

 

通讯

Step.5

使能COB-ID
 

通讯

 

至此完成PDO映射参数的修改。

04

虹科CANopen IO模块

虹科HK-CIO-0320

通讯

16数字量输入+16数字量输出,货期稳定,性价比高

虹科hipecs系列

通讯

信号类型丰富,防护等级高,紧凑体积小

虹科sysWORxx系列

通讯

高密度工业级输入输出,内含CPU核心

虹科智能自动化

虹科是一家在工业自动化领域,特别是工业总线通讯行业经验超过15年的高科技公司。虹科智能自动化事业部与欧洲和美国的世界知名工业自动化、能源管理与楼宇自动化专家展开深度合作,提供业内顶尖水平的通信协议的软硬件解决方案,通信技术类型涉及工业自动化通讯协议【CAN、CANopen、EtherCAT、PROFINET、EtherNet/IP、IO-Link、OPC UA、MQTT、TSN】等,能源管理与楼宇自动化通讯协议【ASCII、BACnet、KNX、Modbus】等,解决方案包含:代码、芯片/模块、板卡、网关、IO、工控机、继电器、测试方案、培训和开发服务等。因此,虹科是国内为数极少的在OT领域深耕多年并技术经验全面的供应商。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分