图2 DeviceNet电缆
网络连接
DeviceNet网络接线的拓扑结构为总线式结构,如下图3所示。
图3 DeviceNet网络拓扑结构
在DeviceNet网络的主干线的末端需要接终端电阻。每条支线最长为6m,可以接一个或者多个节点。DeviceNet允许在支线上有分支结构。
DeviceNet网络的干线长度由数据传输速率和所使用的电缆类型决定。电缆系统中任两点间的电缆距离不允许超过波特率允许的最大电缆距离。两点间的电缆距离为两点间的干线和支线电缆的长度和。支线长度是指从干线端子到支线上节点的各个收发器之间的最大距离。此距离包括可能永久连接在设备上的支线电缆。网络上允许支线的总长度由取决于数据传送速率。在决定干线长度、支线的长度和数量需要参考DeviceNet网络通讯波特率与通讯距离之间的关系,如表3所示。
表3 DeviceNet网络通讯波特率与通讯距离之间的关系
CAN波特率 主干线最大长度 单根支线最大长度 支线总长度
125kbps 500m 6m 156m
250kbps 250m 78m
500kbps 100m 39m
下图是具体组网的一个示例。
图4 组网
指示灯
模块的指示灯可分为电源指示灯、模块状态指示灯、网络状态指示灯、以及显示I/O输入输出状态的指示灯,这些指示灯的状态及含义在表4~7中列出。其中模块状态和网络状态都由一个绿色和一个红色LED共同显示。
表4 电源LED
状态 LED状态 说明
无电源 不亮 设备未通电
有电源 红色 设备正常上电
模块状态指示灯是绿/红双色的LED(这里采用两个单色LED共同显示),显示模块的状态,它表明设备是否上电及运转是否正常。
表5 模块状态LED
LED状态 设备状态
不亮 设备没有上电
绿色 设备运行正常
红-绿闪烁 设备正在自检
红色闪烁 可恢复故障
红色 不可恢复故障
模块状态指示灯是绿/红双色的LED(这里采用两个单色LED共同显示),显示通信链路状态。
表6 网络状态LED
状态 LED状态 说明
未供电/不在线 不亮 设备未通电,或设备未完成重复MAC ID检查
在线/未连接 绿色闪烁 设备在线,但没有与主站建立连接
在线/连接 绿色 设备在线,并在已建立通信连接
连接超时 红色闪烁 I/O连接处于超时状态
严重的连接故障 红色 设备通信失败,模块检测到使其无法进行网络通信的错误(离线)
表7 I/O输入输出状态LED
LED状态 说明
不亮 与“地”断开
亮 与“地”导通
通信部分
DeviceNet远程I/O模块为仅限组2服务器,在DeviceNet网络中作为从站设备。模块支持预定义主/从连接组的显式连接和轮询I/O连接。模块与DeviceNet网络中主站设备通过轮询连接交换I/O数据。
DeviceNet远程I/O模块支持的对象,如表8所示。
表8 模块支持的对象
对象名称 类ID
标识对象(Identity) 0x01
信息路由对象(Message Router) 0x02
DeviceNet对象(DeviceNet) 0x03
组合对象(Assembly) 0x04
连接对象(Connection) 0x05
开关量输入对象(Discrete Input Point) 0x08
开关量输出对象(Discrete Output Point) 0x09
标识对象
类属性:
属性ID 属性名称 访问规则 属性说明 数据类型
1 Revision Get 对象类的版本 UINT
实例属性:
属性ID 属性名称 访问规则 属性说明 数据类型
1 Vendor ID Get 标识各供应商 UINT
2 Device Type Get 产品类型说明 UINT
3 Product Code Get 标识各供应商的特定产品 UINT
4 Revision Get 标识对象标识的版本 STRUCT
5 Status Get 设备状态概括 WORD
6 Serial Number Get 设备序列号 UDINT
7 Product Name Get 人工可读的标识 SHORT
_STRING
8 State Get 状态转换图中表现的设备的现存状态 USINT
DeviceNet对象
类属性:
属性ID 属性名称 访问规则 属性说明 数据类型
1 Revision Get 对象类的版本 UINT
实例属性:
属性ID 属性名称 访问规则 属性说明 数据类型
1 MIC ID Get/Set 节点地址 USINT
2 Baud Rate Get/Set 波特率 USINT
3 BOI Get/Set 总线离线中断 BOOL
5 Allocation Information Get 分配信息 STRUCT
连接对象
类属性:
属性ID 属性名称 访问规则 属性说明 数据类型
1 Revision Get 对象类的版本 UINT
实例属性:
属性ID 属性名称 访问规则 属性说明 数据类型
1 State Get 连接状态 USINT
2 Instance_type Get 实例类型 USINT
3 TransportClass_trigger Get 定义连接的行为 BYTE
4 Produced_connection_id Get 发送时放在CAN标识区 UINT
5 Consumed_connection_id Get CAN标识符区的值,指示要接收的数据 UINT
6 Initial_comm_chatacteristics Get 定义信息组,通过改信息组进行与该连接相关的生产和消费 BYTE
7 Produced_connection_size Get 通过本连接发送的最大字节数 UINT
8 Consumed_connection_size Get 通过本连接接收的最大字节数 UINT
9 Expected_packet_sate Get/Set 定义与本连接有关的定时 UINT
12 Watchdog_timeout_action Get/Set 定义如何处理休眠/看门狗超时 USINT
13 Produced_connection_path_length Get Produced_connection_path属性的字节数 UINT
14 Produced_connection_path Get 指定通过该连接对象生产数据的应用对象 EPATH
15 Consumed_connection_path_length Get Consumed_connection_path属性的字节数 UINIT
16 Consumed_connection_path Get 指定通过该连接对象消费数据的应用对象 EPATH
17 Production_inhibit_time UINT 定义产生芯数据的最小间隔 UINT
组合对象
类属性:
属性ID 属性名称 访问规则 属性说明 数据类型
1 Revision Get 对象类的版本 UINT
实例属性:
属性ID 属性名称 访问规则 属性说明 数据类型
1 Data Get 数据 ARRAY of BYTE
开关量输入对象
类属性:
属性ID 属性名称 访问规则 属性说明 数据类型
1 Revision Get 对象类的版本 UINT
实例属性:
属性ID 属性名称 访问规则 属性说明 数据类型
3 value Get 输入点值 BOOL
4 Status Get 输入点状态 BOOL
开关量输出对象
类属性:
属性ID 属性名称 访问规则 属性说明 数据类型
1 Revision Get 对象类的版本 UINT
实例属性:
属性ID 属性名称 访问规则 属性说明 数据类型
3 value Set 输出点值 BOOL
4 Status Get 输出点状态 BOOL
在使用远程I/O模块时,由DeviceNet网络中的主站设备按照模块支持的I/O连接类型和生产、消费的数据长度对其进行配置。配置成功后,由主站设备向模块传送轮询I/O报文,模块发送轮询响应报文,实现模块I/O数据的输入和输出。
终端电阻
为了消除在通信电缆中的信号反射在通信过程中,在CANH和CANL之间需加121ohm电阻。
设备描述
设备名称:DeviceNet远程I/O模块
设备类型:通用设备(Generic Device)
Device Type:00hex
主版本:1
副版本:1
ProdCode:1
VendCode:4660
VendName:"TL"
ProdName:"I/O"
对象模型
I/O远程模块中存在的对象:
对象类 可选/必需 实例数
标识 必需 1
报文路由 必需 1
DeviceNet 必需 1
连接 必需 2
组合 必需 2
开关量输入点 必需 12
开关量输出点 必需 8
模块的对象模型:
图5 模块对象模型
对象对行为的影响
对象 对行为的影响
标识 支持复位服务
报文路由 无影响
DeviceNet 配置端口属性
连接 包含进出设备的逻辑端口数
组合 定义I/O数据格式
开关量输入点 定义设备开关量输入点的行为
开关量输出点 定义设备开关量输出点的行为
对象接口
对象 接口
标识 信息路由器
报文路由 显式信息连接实例
DeviceNet 信息路由器
连接 信息路由器
组合 I/O连接或信息路由器
开关量输入点 信息路由器
开关量输出点 信息路由器或组合对象
I/O组合实例
编号 类型 名称
1 输入 开关量输入
2 输出 开关量输出
I/O组合数据属性格式
实例 字节 位7 位6 位5 位4 位3 位2 位1 位0
1 0 开关量输入8 开关量输入7 开关量输入6 开关量输入5 开关量输入4 开关量输入3 开关量输入2 开关量输入1
1 保留 开关量输入12 开关量输入11 开关量输入10 开关量输入9
2 0 开关量输出8 开关量输出7 开关量输出6 开关量输出5 开关量输出4 开关量输出3 开关量输出2 开关量输出1
I/O组合数据属性分量映射
数据分量名称 类 实例编号 属性 数据类型
名称 编号 名称 编号
开关量输入N 开关量输入点 08hex N 值 3 UCHAR
开关量输出N 开关量输出点 09hex N 值 3 UCAHR
主站配置
I/O模块与PLC通信,首先需要用OMRON公司的CX-Integrator软件进行网络配置。进行配置前先在该软件中按照模块的设备描述创建EDS文件,然后扫描网络上的设备,进而配置网络。具体的配置步骤请参考《CX-One入门指导》及相关使用说明。