DeviceNet中的对象概念
DeviceNet协议使用面向对象的方法来描述,将一个DeviceNet节点模拟为一个对象,由此定义了节点外部的显性表现,而内部的所有参数全部由类-实例-属性的关系来表现。
对象的概念
■ 参照面向对象的设计语言中对对象一词的描述,我们可以认为对象就是对真实实体的一种抽象,而在DeviceNet中,你可以把一个对象看成一个封装的功能块,它具体对象的一切特点,如包含了数据结构和提供相关的行为等等。
■ 类(Class)是对象的描述,即一个类定义的是一种对象类型。
■ 实例(Instance)是类的一种表现方式,相反类是实例的集合。
■ 在DeviceNet中,一个对象被看作一个类的实例(与一般的面向对象方法不同)。对象模型为管理和实现DeviceNet产品组件的属性(数据),服务(方法或步骤)和行为提供了一个模板。模型为每个属性提供了由4个数字组成的寻址方案。它们分别是节点地址(MAC ID),对象类标识符,实例编号和属性编号。这四级地址与显式报文连接相结合,将数据从DeviceNet网络上的一点传送到另一点。
DeviceNet对象模型
DeviceNet的对象库:
Class Code Information
01hex Identity
02hex Message Router
03hex DeviceNet
04hex Assembly
05hex DeviceNet Connection
06hex Off–Link Connection Manager
07hex Register
08hex Discrete Input Point
09hex Discrete Output Point
0Ahex Analog Input Point
0Bhex Analog Output Point
0Ehex Presence Sensing
0Fhex Parameter
10hex Parameter Group
12hex Group
1Dhex Discrete Input Group
1Ehex Discrete Output Group
1Fhex Discrete Group
20hex Analog Input Group
21hex Analog Output Group
22hex Analog Group
23hex Position Sensor Object
24hex Position Controller Supervisor Object
25hex Position Controller Object
26hex Block Sequencer Object
27hex Command Block Object
28hex Motor Data Object
29hex Control Supervisor Object
2Ahex AC/DC Drive Object
2Bhex Acknowledge Handler Object
2Chex Overload Object
2Dhex Softstart Object
2Ehex Selection Object
DeviceNet节点必需对象
如上节所述,DeviceNet定义了很多对象,而大部分的对象都是可以根据自己所开发的设备来选择的,但作为一个DeviceNet节点,协议中规定必需存在如下几个对象:
*Identity Object(标识对象):DeviceNet产品一般都有一个标识对象实例(1#实例)。此实例包含各种属性,如供货商ID、设备类型、产品代码、版本、状态、序列号、产品名称和说明。
*Message Router Object(消息路由对象):DeviceNet产品一般都有一个报文路由对象实例(1#实例)。报文路由对象向其它对象传送显式报文。一般在DeviceNet网络中它不具有外部可视性。
*DeviceNet Object(DeviceNet对象):DeviceNet产品一般都有一个DeviceNet对象实例(1#实例)。该实例有下列属性:节点地址或MAC ID ,波特率,总线关闭,总线 关闭计数器,单元选择和主机的MAC ID 。
*Connection Object(连接对象):DeviceNet产品一般至少包括两个连接对象。每个连接对象代表DeviceNet网络上两节点间虚拟连接中的一个端点。两种连接类型分别称为显式报文连接和I/O报文连接。显式报文包括属性地址,属性值和服务代码来描述所请求的行为。I/O报文只包含数据。I/O报文中,所有有关如何处理数据的信息都包含在与该I/O报文相关的连接对象中。
对象的概念
■ 参照面向对象的设计语言中对对象一词的描述,我们可以认为对象就是对真实实体的一种抽象,而在DeviceNet中,你可以把一个对象看成一个封装的功能块,它具体对象的一切特点,如包含了数据结构和提供相关的行为等等。
■ 类(Class)是对象的描述,即一个类定义的是一种对象类型。
■ 实例(Instance)是类的一种表现方式,相反类是实例的集合。
■ 在DeviceNet中,一个对象被看作一个类的实例(与一般的面向对象方法不同)。对象模型为管理和实现DeviceNet产品组件的属性(数据),服务(方法或步骤)和行为提供了一个模板。模型为每个属性提供了由4个数字组成的寻址方案。它们分别是节点地址(MAC ID),对象类标识符,实例编号和属性编号。这四级地址与显式报文连接相结合,将数据从DeviceNet网络上的一点传送到另一点。
DeviceNet对象模型
DeviceNet的对象库:
Class Code Information
01hex Identity
02hex Message Router
03hex DeviceNet
04hex Assembly
05hex DeviceNet Connection
06hex Off–Link Connection Manager
07hex Register
08hex Discrete Input Point
09hex Discrete Output Point
0Ahex Analog Input Point
0Bhex Analog Output Point
0Ehex Presence Sensing
0Fhex Parameter
10hex Parameter Group
12hex Group
1Dhex Discrete Input Group
1Ehex Discrete Output Group
1Fhex Discrete Group
20hex Analog Input Group
21hex Analog Output Group
22hex Analog Group
23hex Position Sensor Object
24hex Position Controller Supervisor Object
25hex Position Controller Object
26hex Block Sequencer Object
27hex Command Block Object
28hex Motor Data Object
29hex Control Supervisor Object
2Ahex AC/DC Drive Object
2Bhex Acknowledge Handler Object
2Chex Overload Object
2Dhex Softstart Object
2Ehex Selection Object
DeviceNet节点必需对象
如上节所述,DeviceNet定义了很多对象,而大部分的对象都是可以根据自己所开发的设备来选择的,但作为一个DeviceNet节点,协议中规定必需存在如下几个对象:
*Identity Object(标识对象):DeviceNet产品一般都有一个标识对象实例(1#实例)。此实例包含各种属性,如供货商ID、设备类型、产品代码、版本、状态、序列号、产品名称和说明。
*Message Router Object(消息路由对象):DeviceNet产品一般都有一个报文路由对象实例(1#实例)。报文路由对象向其它对象传送显式报文。一般在DeviceNet网络中它不具有外部可视性。
*DeviceNet Object(DeviceNet对象):DeviceNet产品一般都有一个DeviceNet对象实例(1#实例)。该实例有下列属性:节点地址或MAC ID ,波特率,总线关闭,总线 关闭计数器,单元选择和主机的MAC ID 。
*Connection Object(连接对象):DeviceNet产品一般至少包括两个连接对象。每个连接对象代表DeviceNet网络上两节点间虚拟连接中的一个端点。两种连接类型分别称为显式报文连接和I/O报文连接。显式报文包括属性地址,属性值和服务代码来描述所请求的行为。I/O报文只包含数据。I/O报文中,所有有关如何处理数据的信息都包含在与该I/O报文相关的连接对象中。