《电子技术应用》
您所在的位置:首页 > 其他 > 设计应用 > 德国赫优讯netIC 现场总线模块应用在贝尔利产品
德国赫优讯netIC 现场总线模块应用在贝尔利产品
中国自动化网
摘要: 本文以贝尔利科技有限公司的产品为例,介绍了德国赫优讯netIC模块作为从站通讯接口的软硬件开发。netIC模块全系列产品都提供统一的32针DIL封装形式,非常便于用户开发及集成。该设备已成功在现场运行,通讯稳定,效果良好。
Abstract:
Key words :

摘要:本文以贝尔利科技有限公司的产品为例,介绍了德国赫优讯netIC 模块作为从站通讯接口的软硬件开发。netIC 模块全系列产品都提供统一的32 针DIL 封装形式,非常便于用户开发及集成。该设备已成功在现场运行,通讯稳定,效果良好。
关键词:netIC;嵌入式模块;现场总线从站;实时以太网从站
Abstract: This paper takes the case of BRL’s product and introduces the hardware and softwaredevelopment using Hilscher’s netIC module, which works as a Fieldbus slave or Real-Time Ethernet slave.All the modules of netIC product line provide a uniform DIL-32 compact dimension. Thus it enables easy
development and integration. The device operates successfully and netIC module provides a steadycommunication.
Keywords: netIC, embedded module, Fieldbus slave, Real-Time Ethernet slave
1 引言
贝尔利科技有限公司是一家从事科研开发和工程技术服务的高新技术企业,主营业务为机电产品制造、生产过程自动化、电气自动化、管理信息化等方面的系统集成、软件开发、工程设计、技术服务等,“贝尔利科技”凭借强大的技术队伍以及科学的管理和一系列综合系统集成项目的丰富经验,逐渐成长为实力雄厚的自动化系统的集成商。贝尔利科技以其丰富的运动定位控制系统和部件产品线,为客户提供了前所未有的解决方案甄选机会,以满足其特定的应用需求。其一款控制器已经分别集成了德国赫优讯netIC 系列CC-LINK 从站接口模块、PROFIBUS 从站接口模块及Device-Net 从站接口模块,并将集成其他现场总线及PROFINET、Ethernet/IP 等实时以太网协议的模块,因此能根据客户使用的PLC 提供的通讯接口,提供相应接口的产品。
2 德国赫优讯netIC 模块简介
德国赫优讯netIC 嵌入式模块作为完整的单片模块,包括:NIC 50-RE(实时以太网从站接口模块,支持各种实时以太网协议,包括:PROFINET、EtherCAT、Ethernet/IP、Modbus/TCP、POWERLINK、SERCOS III 等)、NIC 50-DPS(PPROFIBUS 从站接口模块)、NIC 50-DNS(DeviceNet 从站接口模块)、NIC 50-COS(CANopen 从站接口模块)、NIC 50-CCS(CCLINK从站接口模块)、NIC 50-CP(CompoNet 从站接口模块)等型号,所有型号都采用统一的32 针DIL 封装,尺寸紧凑,片上集成了现场总线与实时以太网通讯接口所需要的所有元件。同时还提供了netX Configuration Tool 配置软件和配套的评估板,方便用户进行产品开发。
图1 为NIC50-CCS 模块的实物图


3 硬件开发
netIC 模块提供了32 针管脚,支持UART 接口通过Modbus RTU 协议集成入用户的主机系统,未来还将扩展SPI 及I2C 接口。因为模块本身已经提供了同步串行接口,如果作为简单的IO设备,可以不需要额外的主CPU。本例中使用了C8051F 系列混合信号ISP FLASH 微控制器作为主CPU,其基于高速、流水线结构的8051 兼容CIP-51 内核,并提供了2 路UART 接口及其他丰富外设,因此可以在软件上实现Modbus RTU 协议与netIC 模块通讯。

与其他型号模块唯一的区别只是在协议通讯接口的管脚,因此对于用户更换成其他模块非常方便。其中,29、30、31 管脚为串行主机接口, 可以与主 CPU的UART 口直接连接,也可以通过RS485 芯片进行连接;13、14 管脚为CC-LINK 总线接口;27、28 管脚为诊断接口,连接PC,进行产品配置;3、4、5、6、7 管脚为串行移位寄存器接口,用于连接外部开关量或模拟量信号。因此 netIC 模块的硬件开发非常方便,开发示意图如图3 所示:


硬件开发的电路原理图如图4 所示:同时,用户还可以增加诊断接口,数字量模拟量输入输出接口,状态显示LED 灯等外围电路。
4 软件开发
4.1 netIC 模块配置
netIC 模块本身的使用不需要任何程序上的开发,只需要使用提供的配置软件和评估板配置Modbus 及CC-LINK 协议参数,再下载协议堆栈(Firmware)和配置文件。所有信息均保存在netIC 模块中的寄存器区域,该寄存器区域的结构如图5 所示,

例如,现场总线主站发送至netIC 模块的数据保存在从1000 开始的寄存器区域;netIC 模块发送至现场总线主站的数据保存在从2000开始的寄存器区域。同时,主CPU 也可以通过Modbus RTU 直接访问所有寄存器区域,并通过Modbus 修改Modbus 本身的波特率及总线协议的所有参数,如波特率、站地址、输入输出字节等。
4.2 netIC 模块与主CPU 通讯
netIC 模块与C8051F MCU 的通讯方式为Modbus RTU,因此需要在MCU 的用户程序中实现Modbus RTU 的读写功能。netIC 模块可以作为Modbus 通讯的主站或从站,因此MCU 的UART 口作为从站或主站。在用户程序中,通过Modbus 命令码3 读取netIC 模块接收到的总线数据,通过Modbus 命令码16 写数据到netIC 模块,模块会自动将数据打包成协议数据帧发送至总线上。
写寄存器命令代码如下:
void UART0_send(char *cdata,char n)
{
char i,*pt;
pt = cdata; //首地址放到指针中
EA = 1; //开cpu 中断
REN0 = 0;
ES0 = 0; //关闭串行口中断
Rs485_Tx_Enable = 1; //485 在发送状态
TI0 = 0; //清中发送断标志位
for(i=0;i{
SBUF0 = *pt; //启动发送过程
while(TI0==0); //等待发送结束
TI0 = 0; //发送结束后将中断标志清零
pt++; //指向下一个要发送的地址
}
TI0 = 0;
Rs485_Tx_Enable = 0; //置485 在接受状态
ES0 = 1; //打开串行口中断
data_transfer = 0;
REN0 = 1;
}
读寄存器命令代码如下:
void UART0_receive(void)
{
unsigned char temp_receive;
temp_receive = SBUF0;
if(start==1 && end==0)
{
TestDataBuffer[byte_num]=temp_receive;
byte_num++;
}
else if(1==overtime && 0==byte_num && start==0 && end==1)
{
LocalAddress=temp_receive;
TestDataBuffer[byte_num]=LocalAddress;
if(LocalAddress==0x02)
{
byte_num=1;
start=1;
end=0;
}
}
}
5 小结
基于 NIC 50-CCS 模块设计的贝尔利控制器产品,目前已在现场成功投入运行,并且通讯质量稳定可靠,效果良好。德国赫优讯的netIC 产品系列软硬件开发简单,并且具有统一的32 针DIL封装形式,为用户提供了一种很好的开发现场总线或实时以太网从站设备的解决方案。
参考文献
[1] netIC_usermanual_designguide_en. Hilscher Gesellschaft für Systemautomation mbH. 2009.
[2] C8051F02x user guide. Silicon Laboratories Inc. 2003.
[3] C8051F02X DEVELOPMENT KIT USER’S GUIDE Silicon Laboratories Inc. 2006

此内容为AET网站原创,未经授权禁止转载。