德国赫优讯netIC 现场总线模块在贝尔利产品中的应用
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-CPS(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 模块通讯。
因此netIC 模块的硬件开发非常方便,开发示意图如图3 所示:
硬件开发的电路原理图如图4 所示:
4.1 netIC 模块配置
netIC 模块本身的使用不需要任何程序上的开发,只需要使用提供的配置软件和评估板配置Modbus 及CC-LINK 协议参数,再下载协议堆栈(Firmware)和配置文件。所有信息均保存在netIC 模块中的寄存器区域,该寄存器区域的结构如图5 所示,例如,现场总线主站发送至netIC 模块的数据保存在从1000 开始的寄存器区域;netIC 模块发送至现场总线主站的数据保存在从2000开始的寄存器区域。
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(cha r *cdata,cha r n)
{
cha r i,*pt;
pt = cdata; //首地址放到指针中
EA = 1; //开cpu 中断
REN0 = 0;
ES0 = 0; //关闭串行口中断
Rs485_Tx_Enable = 1; //485 在发送状态
TI0 = 0; //清中发送断标志位
for(i=0;i<n;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 cha r 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;
}
}
}
基于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.
提交
德国赫优讯(HILSCHER)任命新的CFO
德国赫优讯(HILSCHER)发布全新企业标识
西门子SIMATIC IPC配备赫优讯M.2工业通讯卡
NETX单芯片解决方案结合实时以太网和运动控制
赫优讯和赫姆赫兹在比荷卢建立战略合作伙伴关系