您的位置:控制工程论坛网论坛 » 现场总线 » DeviceNet设计的一般步骤和开发工具

wqshand

wqshand   |   当前状态:在线

总积分:5732  2024年可用积分:0

注册时间: 2007-03-15

最后登录时间: 2019-07-01

空间 发短消息加为好友

DeviceNet设计的一般步骤和开发工具

wqshand  发表于 2009/4/13 8:31:11      3290 查看 2 回复  [上一主题]  [下一主题]

手机阅读

对于不同的接入设备,由于在DeviceNet规范中对各种设备都有各自设备描述,其软件设计需要根据设备的设备描述来设计,但不同设备的DeviceNet接口在硬件设计有着很多共同的地方。一般来讲,为设备设计DeviceNet接口有以下几个步骤:

1.决定为哪种类型的设备设计DeviceNet接口,并在DeviceNet规范中找到与其对应的设备描述。

  DeviceNet规范不仅仅是一个物理连接协议规范,通过定义标准的设备模型促进不同厂商设备之间的互操作性,属于同一设备模型的所有设备都必须支持共同的标识和通讯状态数据。因此在进行DeviceNet接口软硬件设计之前,首先应该熟悉开发对象在DeviceNet规范中的设备描述,在此基础上进行下一步的设计开发工作。
  在进行软硬件开发之前,还应该明确DeviceNet接入产品的功能。大多数DeviceNet产品只具备从机的功能,开发从机功能产品首要考虑的问题是I/O通讯。DeviceNet支持多种数据通讯方式,如循环、状态改变、位选通、查询等。位选通式通讯主要用于那些含有少量的位数据的传感器或其它从机设备,查询式通讯是一种主要的I/O数据交换手段,必须在所有的应用中加以考虑。状态改变式通讯是增加网络吞吐量并降低网络负载的有效方法,由于它允许延用CAN协议中的多主机特性,在开发新产品时,应该考虑它。
  另一个要考虑的问题是设备信息的显示报文通讯功能,DeviceNet协议要求所有设备支持显示报文通讯。DeviceNet对象和报文路由对象必须由显示报文来访问,如在DeviceNet 规范中定义的那样。此外报文的分段功能虽然不是必须具备的,但对显示报文信息应答及所有使用32位标识场的产品时要进行考虑。如果所开发的产品还支持通过DeviceNet接口进行上载/下载组态或对固件进行版本更新,则必须对发送和接受信息采用显示报文的分段功能。
 
2.进行DeviceNet接口的硬件设计

  在进行DeviceNet接口的硬件设计之前,首先要选择DeviceNet接口的相关硬件器件。包括CAN 控制器芯片、CAN总线收发器、DeviceNet接入电缆(粗缆和细缆)、设备分接头、电源分接头。在选定相关的器件之后,根据器件的特性进行相关电路设计。
  DeviceNet规范允许使用开放式和密封式的连接器,还可以使用大尺寸(小型)和小尺寸(微型)的可插式密封连接器。一般采用小尺寸连接头和开放式接头比较方便,如果配以其它接线部件则可进行即插即用的安装。在一些不能使用以上两种接头的场所和工作环境比较恶劣的场所则一般采用密封式的连接器。
  在DeviceNet中目前只有125k、250k和500K三种速率。由于严格的网络长度限制,它不支持CAN的1M速率。一般在DeviceNet设备中设置跳线选择开关来选择设备的通讯速率。
  DeviceNet设备的物理层可以选择使用光电隔离,完全由网络供电的设备和与外界无电路连接的设备(如传感器)可以不用隔离。而与外部设备有电路联系的设备应该具有隔离,光电隔离器件的速度很重要,因为它决定了收发器的总延时,DeviceNet规范中要求最大延时不能超过40ns。
  一般来讲,在应用中,DeviceNet多数从站设备使用Intel 82527 、Philips SJA1000或 Motorola 68HC705X4芯片. 多数主站设备使用Philips 82C200芯片。由于不同厂商提供的CAN控制器芯片在功能和引脚上有很大的不同,因此CAN控制器芯片相关电路的设计需要对所选择的CAN芯片有相当的熟悉程度,而DeviceNet接口的硬件设计也主要集中在这一部分的电路设计上。

3.根据DeviceNet规范进行软件设计和实现

  DevienNet规范采用了对象建模的方法,在DeviceNet规范中对象模型的几个相关术语分别解释为:
  类:一组表现相同系统成分的对象;
  实例:类中某一特定对象的实际代表;
  属性:对象外部可见特性的描述;
  行为:说明对象如何响应特定事件;
  服务:对象和/或对象类支持的功能。
  对象模型为管理和实现DeviceNet产品组件的属性(数据),服务(方法或步骤)和行为提供了一个模板。模型为每个属性提供了由4个数字组成的寻址方案。它们分别是节点地址(MAC ID),对象类标识符,实例编号和属性编号。这四级地址与显式报文连接相结合,将数据从DeviceNet网络上的一点传送到另一点。
  按照DeviceNet规范的要求,同类设备由于在规范中具有相同的设备描述,因此开发的DeviceNet接口必然表现相同的特性,生产和/或消费同一组I/O数据,并包括一组相同的可配置属性。不同设备的对象模型应该按照DeviceNet规范的要求对设备的标识对象、连接对象、DeviceNet对象、信息路由器对象、参数对象等分别进行定义。定义设备的对象模型时必须列出下列各项:
  *设备中存在的所有对象;
  *每个对象的实例数;
  *对象是否影响设备的整体行为;
  *对象和其它对象的接口。

4.决定设备的配置及编写设备的EDS文件
  DeviceNet接口的软硬件设计完成以后,需要对设备进行配置,也就是定义设备可配置的参数和访问这些参数的公共接口。包括可配置属性的下列信息:
  *配置设备参数数据;
  *参数对设备行为的影响
  *所有参数组
  *访问设备配置的公共接口

  在给出设备的标准数据文文件和参数对象的类实例的同时,应遵照DeviceNet规范编写设备的电子数据文文件(EDS),EDS是一个简单文件格式,供货商可以将产品的特殊信息提供给其它供货商。这样可以具有友好的用户配置工具,可以很容易的更新,无需经常修正配置软件工具。

5.完成DeviceNet一致性声明,并进行一致性测试

  按照DeviceNet规范要求,DeviceNet接入设备必须进行DeviceNet一致性声明,以使不同厂商生产的同类设备具有良好的互换性。DeviceNet一致性声明包括:开发遵循的规范版本号和日期、相关协议选项、设备描述选项和供货商-特定附加信息等信息。
  一致性测试的目的是检测实现DeviceNet协议的实体或系统与DeviceNet协议规范的符合程度。在进行协议一致性测试时,根据国际标准化组织制定的协议标准分为三个部分。第一部分是抽象测试集;第二部分是协议实施的一致性说明,用来说明实施的要求、能力及可选择实施的情况;第三部分是用于测试的协议实施附加信息。
  DeviceNet协议一致性测试的重要性在于:通过这项测试,可以尽可能全面地检查被测试实体协议实现软件的完备性。DeviceNet协议一致性测试是一种比较严格的测试手段,通常在产品定型时需要进行这种测试,它由ODVA专门授权的认证测试中心来完成。目前在美国,欧洲和日本都有DeviceNet的一致性测试中心。
  成熟的开发工具包 以上讲述的是开发具有自主知识产权的基于DeviceNet通讯功能的设备的一般步骤。为了提高DeviceNet的普及性,许多ODVA的会员单位都将自己的研究方案和源代码以产品的形式供其它的对DeviceNet技术感兴趣的组织或者单位使用。这里我们介绍一些其中非常不错的软件开发包和硬件平台。

  Pyramid Solutions公司的DeviceNet从设备开发包。Pyramid Solutions公司Allen-Bradley的增值服务产品设计伙伴,并经Allen-Bradley授权许可销售和支持Allen-Bradley公司的DeviceNet从设备开发包。该软件包将DeviceNet的通讯协议功能以DLL连接库的形式提供给开发人员,并提供C语言的源代码,便于开发人员进一步扩充其功能和快速移植到不同的目标系统。另外,该软件包还提供了一个用C语言编写具体的应用实例,该实例支持AMD 80188EM / SJA1000 CAN控制器和Infineon (Siemens) C167CR。

  *同时支持 x186 和 Infineon SABC167CR 微处理器的编译
  *支持显性报文,周期/轮询,状态改变,选通等I/O报文的预定义地二组信息的连接集。支持UCMM 显性报文的服务器
  *支持UCMM 显性报文的客户
  *带硬件过滤功能Group 2 Only Server 能力
  *NV or DipSwitch网络参数设置的支持.
  *显性报文和I/O报文的分段处理
  *离线连接集
  *生产设备Heartbeat报文
  *消费设备Heartbeat报文
  *支持的CAN控制器
    **Philips SJA1000
    **Infineon SABC167CR(带嵌入式CAN控制器)
  *Ack 处理功能
  *报文路由功能
  *Allen-Bradley 公司Non-Volatile存储模板
  *调试模板

SST公司的开发包包括搭建一个DeviceNet开发和仿真环境所必须的所有设备包括:
  *2个ISA或者PC104总线接口卡
  *3个DeviceNet从设备
  *DeviceNet电缆组件
  *DeviceNet扫描和配置软件
  *网络分析软件

SST公司的设备网开发包

  另外,Arcom Control Systems公司也提供了DeviceNet实现和软件开发包和硬件平台。作者个人非常欣赏Arcom公司的硬件平台,他们的产品主要是基于PC104总线接口的嵌入式系统,包括支持PC104接口CPU模块(Target386EX),支持PC104接口的单信道CAN控制器(Philips SJA1000,AIM104-CAN)和PC104-Devicnet硬件接口模块(SERT-DNET)。图2和图3所示

Arcom公司的TARGET386EX是一个高速目标处理器模块,它采用了Intel公司主频为33MHz的386EX嵌入式处理器,可以用作独立的单板机和PC104堆栈式处理器。由于不需要额外的BIOS、操作系统或者引导盘,该处理器模块可以有效的减少实时系统的延迟。应用程序可以在PC机上设计,然后通过高速串行连接下载到目标处理器模块,并可以在改模块上调试源代码程序。一旦开发完毕,应用程序可以被固化到板上附带的EPROM上而独立运行。另外,根据应用的需要,可以扩充其它任何的PC104 I/O模块和特殊功能模块。
除了以上提到的一些开发工具外,还有其它一些公司也提供了很多不错的产品,包括Rockwell Automation, Cutler-Hammer, Vblogic等等。
下图是DeviceNet在PC104总线嵌入式开发环境和开发的体系
1楼 0 0 回复
  • sheepherd

    sheepherd   |   当前状态:离线

    总积分:57  2024年可用积分:0

    注册时间: 2009-04-12

    最后登录时间: 2009-04-12

    空间 发短消息加为好友

    sheepherd   发表于 2009/4/12 14:13:41

    你好,刚刚看了你的帖子,你说DeviceNet从设备开发包中有他的C语言的源代码,我上网找了找不到,你能给我提供下吗,谢谢哦,非常期待你的回复,我的邮箱是:linjian-25@163.com
    2楼 回复本楼

    引用 sheepherd 2009/4/12 14:13:41 发表于2楼的内容

  • luobing3370107

    luobing3370107   |   当前状态:在线

    总积分:620  2024年可用积分:0

    注册时间: 2008-12-24

    最后登录时间: 2019-07-02

    空间 发短消息加为好友

    luobing3370107   发表于 2009/4/13 8:31:11

    3楼 回复本楼

    引用 luobing3370107 2009/4/13 8:31:11 发表于3楼的内容

总共 , 当前 /