E-车间通信系统的设计与实现

2017-01-04 08:48朱晓春
制造业自动化 2016年12期
关键词:外设寄存器以太网

张 叶,朱 昊,朱晓春

(1.南京工程学院,南京 211100;2.先进数控技术江苏省重点建设实验室,南京 211100)

E-车间通信系统的设计与实现

张 叶1,2,朱 昊1,2,朱晓春1,2

(1.南京工程学院,南京 211100;2.先进数控技术江苏省重点建设实验室,南京 211100)

为解决传统E-车间中点对点协议转换器所存在的智能化水平低、可扩展能力差、通讯速率低的缺陷,在CAN/RS485/Ethernet现有协议的基础上,设计了一个基于STM32F4控制芯片的车间通信系统,给出了CAN/RS485/Ethernet的通讯接口以及协议转换的软件具体实现形式。针对传统协议转换器扩展能力的不足,该通信系统采取中间协议模型,增强了通信系统的可扩展能力。仿真和实验结果表明通信系统数据传输速率明显优于传统的点对点的协议转换器,且数据传输准确、误码率低。由此得出,本通信系统更符合制造业通信的发展需要。

E-车间;通信协议;协议转换器;STM32F4;中间协议模型

0 引言

在互联网高速发展的情况下,智能制造技术得到了快速发展,以太网和总线技术在自动化车间生产中得到了广泛应用。在智能制造的背景下,日本三菱公司提出了E-factory的理念,是一个可以最大化节约管理效能的智能化工厂。

本文在E-factory的基础上,提出E-车间的基本概念,将来自不同厂商的设备通过传感器和通信系统集成在一个平台上的网络化制造车间,通过一个通用化的通信系统实现不同厂商的设备之间的通信。

在系统各个不同的节点的通信过程中,由于不同的厂商选择不同的通信协议以及总线形式,存在不同设备之间的通信困难等问题。本文将对这些问题进行深入分析并讨论解决方法。

1 E-车间概述

E-车间是以车间为中心,面对电子商务的自动化和信息技术的集成,它通过电气方式和网络技术将车间底层设备和公司管理层以及供应链相连接,改造现有的过程控制和自动化系统以适应电子商务的要求,支持透明的信息流,使供应链上的成员可以实现协同计划和最佳制造[1]。E-车间作为一种集管理、生产、销售为一体的车间组织方式,在目前“互联网+”的大环境下,非常具有推广建设的价值E-车间总体结构示意图如图1所示。

图1 E-车间结构示意图

如图车间是整个E-车间的中心环节,它通过以太网技术上层部门连接,通过总线技术与厂间设备相连接,在信息共享的前提下实现管理、生产、销售一体化。

2 E-车间通信系统功能介绍

在车间的数据传输中存在异构机,用于生产的机床、智能仪表、传感器设备、执行机构采用不同形式的总线通讯。而设计、决策、计划等部门采取以太网通讯,在传统意义上不能通讯。因此需要一个兼容以上通讯方式的通信系统来实现它们实时可靠的相互通讯。按照E-车间的架构,E-车间通信系统可分为三个等级:厂间设备级、车间监视级以及工厂管理级。如图2所示。

图中,E-车间通信系统分为三级,传感器、生产设备、执行机构等为厂间设备级,车间能源效率监控、简单的生产调度等为车间监视级,供应链信息、决策部门、设计部门等为工厂管理及级。各级之间采用不同的总线结构相互通信。

图2 通信系统架构

车间生产级采用RS485通信,国际电工委员会(EIA)在RS232的基础上,为了完善其联网以及抗干扰能力,制定了RS485相关标准。RS485和RS232都属于串口通讯,它们协议相同,RS485采用差分电平来传输信息。相比于RS232,RS485具有传输距离远,抗干扰能力强等优点,广泛的应用在智能仪表等厂间设备上。车间监视级采用CAN总线通信,CAN总线的总线仲裁机制和CRC校验机制,使得CAN总线具有较好的实时性和可靠性,且它的数据传输速率高达1M/s,并且组网非常方便,适合拓展,可以很好的匹配各个控制系统。工厂管理级采用以太网通讯,以太网作为现在主流的通信网络,作为日常使用的通信网络,但其与厂间设备之间无法实现正常通讯[7]。

车间生产级传输的信息已控制信息为主,对速度要求不高,所以适合采用协议较为简单的RS485通信;车间监视级由于有一些必要的文本信息和视频信息要传输,所以采用速度CAN总线了通讯;工厂管理级需要同外界互联网相连接,采取以太网通信是一个最佳的选择。本系统就将作为这三种通信方式的桥梁,将外界的一些信息及时的反映给车间,同时将车间的资源、加工进程、能源消耗等信息传递给管理层和数据库,为E-车间提供一个畅通无阻的通信环境。

3 硬件系统设计

本通信系统设计主要包含以下三个要点:

第一:RS485与CAN总线之间通信协议的转换,保证二者数据的相互传输;

第二:CAN总线与以太网之间通信网关的设计,保证CAN总线与以太网之间无障碍的相互通讯;

第三:在通信的实现的基础上,为保证系统稳定地运行,做好电气隔离,抗干扰等一系列安全性设计。

E-车间通信系统硬件包括STM32主控芯片、CAN收发器、RS485收发器以太网外设、电源模块等。其中主控制器用于实现信息的提取和转换,收发器的作用是实现信息的传递。系统硬件原理框图如图3所示。

图3 系统硬件原理框图

3.1 主控芯片选择

硬件电路以STM32F429为核心控制芯片,它是由ST公司基于ARM架构开发的32位控制芯片,其内部带有以太网MAC内核,支持外部PHY接口实现10M/100Mbit/s的数据传输速率,通过符合IEEE 802.3的MII接口与外部快速以太网通讯等功能;带有基本扩展CAN外设,支持2.0A和B两个版本的CAN协议,通信速率高达1Mb/s;自带USART模块,可配合MAX485实现差分电平到TTL电平的转换。在通信速率上符合本系统的要求,考虑其强大的外设功能,本通信系统采用STM32F429芯片作为通信系统的主控制芯片。

3.2 CAN总线接口设计

单片机STM32F429芯片内部集成了CAN2.0控制器,兼容2.0A和B两个版本的CAN协议。CAN收发器选择飞利浦公司生产的TJA1050 CAN收发器[9]。TJA1050作为PCA82C250的后继产品,具有更好的电磁干扰能力且自带电气保护,工作电压在4.75V~5.25V之间,联网时我们采用ISO11898标准,网络的拓扑结构为环形网络,速率高达1M/S,在整个网络上的节点都是对等的,它们通过总线仲裁机制来得到总线的使用权。差分信号线通过120欧姆的电阻接地。通过收发器,由CAN控制器发出的TTL电平被转换成差分信号,在CAN总线上传递。CAN接口电路如图4所示。

3.3 RS485总线接口设计

RS485也是通过差分信号线传递信息,在与单片机之间传输信息是存在着电平的差异,因而需要设计一个RS485总线通讯接口,将差分信号转换为0~3.3V的TTL电平信号,这里我们选择MAX485芯片,它具有硬件电路简介稳定的优点,非常适合在工业现场环境下使用。在接口设计方面,每一个通讯节点我们采取DB9的连接接口,取9根线上的2根,分别连接MAX485的A和B。RS485接口电路如图5所示。

图4 CAN接口电路

图5 RS485接口电路

3.4 以太网外设电路设计

相比于CAN接口电路和RS485的接口电路,以太网的接口电路更加复杂。在本系统中,采用RMII接口连接以太网的MAC层和PHY层,由于STM32内部自带MAC,所以接口电路以PHY层为主。以太网外设芯片我们采用微芯公司的LAN8720,该芯片采用目前应用最广泛的100BASE-TX介质系统,出于工业应用的特殊场合,在100BASE-TX介质组件的选择上我们采用了屏蔽双绞线电缆以及符合五类规范的8针RJ45型连接器。以太网外设电路如图6所示。

图6 以太网外设接口电路

3.5 电源模块设计

电源模块电压输出的稳定准确是整个系统稳定运行的关键,在工业现场大都是330V的工业用电以及220V的照明用电,电源模块我们采用DC-DC的方案,本系统中的电源部分采取12V的直流输入,经过开关电源RT7272转成5V的电压用于除主控芯片意外的电路供电。RT7272的5V电压输出再通过AMS1086CD-3.3转成3.3V的电压供给主控芯片STM32F429使用。电源模块电路图如图7所示。

4 协议分析

CAN总线协议、RS485总线协议以及以太网协议的开放性结构使得协议转换网关变得可行。同时,随着现场总线的协议芯片和集成控制芯片的发展,使得协议转换网关的设计变得更加的简洁。在本文的硬件设计部分,已经为不同网络提供了接口。下面介绍不同协议之间的转换框架。

图7 电源模块电路图

4.1 协议转换模型

在协议转换的的过程中,最直接的方法是双边法,在每两个协议之间都采取一个协议转换程序,由网络A到网络B,再由网络B再到网络A。假设需要互联的网络为N,则需要编写的转换程序为A2n,当集成的网络越来越多时,我们会发现要编写的协议转换程序会越发的复杂,同时对系统的运算能力和存储空间的要求会越来越大。以本系统为例,当有三种不同的网络加入到系统时的双边协议转换模型如图8所示。

图8 双边协议模型

如图,双边协议的转换方式采取两两之间相互转换,一个数字代表一个转换路径。当通讯过程有3种不同的协议时,所需要的协议转换路径为6个。

考虑工业现场总线协议的多样性和本通信系统将来具有的普遍适用性,不可能建立两两相互转换的协议转换机制。针对双边协议转换机制的局限性,本文提出一种中间协议模型,它由两部分组成两个字节的网间信息和两个字节的数据信息(网络类型+数据)。其协议格式如图9所示。

图9 中间协议模型

以A、B代替两种总线协议,我们需要编写的协议转换程序即为A到网间,B到网间,网间到A,网间到B四种,有n种不同的网络互连时,中间协议模型所需要编写的协议转换程序为2n。两种网络模型所需编写转换程序个数与n的关系如式(1)所示。

由式(1)可得,当接入到网络协议种类越多时,中间协议模型的优势便体现出来了。我们通过中间协议模型构建一个多协议转换网关。其结构如图10所示。

图10 多协议转换网关示意图

如图,多协议转换模型的两侧表示加入到网络不同的总线形式,总线数据首先进入数据缓冲区进行数据的提取,通过相应的协议商定表转换成相应形式的中间协议模型。

协议转换网关主要处理不同协议之间的转换问题,针对不同的源网络协议,协议网关将根据中间协议模型将其转换成相应的中间协议格式。

4.2 实时性要求

整个系统的实时性分为两个方面,第一是现场总线的实时性,第二是以太网的实时性。作为传统的工业总线,CAN总线以及RS485总线,它们的实时性在长时间的实际应用中已经得到了很好的体现。

传统的以太网采用带有冲突检测的载波侦听和多路访问(CSMA/CD)技术[1],这种通讯方式不具备工业以太网所具备的实时性要求。在设计时我们为了解决这一问题,我们采用IEEE802.1Q协议,该协议在第二层交换机采用了信息优先级机制。802.1Q标签也称为VLAN标签或优先级标签,带有标签的以太网协议帧,Q-Tag有4个字节,前两个字节为以太网类型标识符,后两个字节包括了3位的用户优先级,1位的CFI和12位的VLAN标签。3位用户优先级被分成0~7级,优先等级逐渐降低。1位CFI用于区别以太网和令牌环网的类型[4]。

5 软件设计

通讯系统主要完成的任务是实现异构机之间的通讯,完成协议转换,可以实现两种以上不同的通讯形式,本文主要阐述了CAN总线、RS485总线以及以太网之间的相互转化与传输。系统软件设计是在硬件设计实现的基础上对整个系统的各个部分功能进行软件编程实现。

5.1 系统整体架构与地址分配

结合第二节硬件部分的叙述,软件设计环节也主要针对通讯模块进行。涉及的芯片主要有,STM32F4主控制芯片、SJA1050CAN收发器、MAX485收发器、LAN8720以太网外设等。各个芯片通过STM32F4主控芯片紧密的关联在一起。

该通信系统的程序存储器用的是STM32F4内部自带的512M(地址0x0000 0000-0x1FFF FFFF)的代码区,足以满足存储MCU、LAN8720、TJA1050的初始化程序、内部控制器控制驱动程序、协议转换子程序、TCP/ IP简化协议栈程序等。

数据存储与程序存储互相不关联,与数据相关联的存储器是STM32F4的内部数据寄存器,不同的外设对应不同的数据寄存器(外设状态位寄存器、控制寄存器等)。以CAN控制器为例,它有控制和状态寄存器、邮箱寄存器、筛选器寄存器等。我们在提取CAN总线上的数据信息,就存储在邮箱寄存器的数据寄存器中。CAN控制器外设的总线边界地址在(0x4000 6400-0x4000 67FF),以0x4000 6400为基址,偏移地址0x01b8,为其接收FIFO的低位数据寄存器,偏移地址0x01bc,为其接收FIFO的高位数据寄存器。具体的寄存器地址分配如表1所示。

表1 系统外设存储空间分配

5.2 系统软件设计

整个通信系统软件设计采取结构化和模块化相结合的方式,分为主控程序和通信子程序。子程序又包含若干个模块(以不同的通讯方式划分)。系统软件架构如图11所示。

图11 系统软件架构图

如图,主程序主要包含协议转换程序和初始化信息,而真正实现通信初始化、发送、接收、中断、协议转换等功能的程序都按照功能进行了封装。主程序只负责调用相关的子函数。每个通信子程序都包含了其通信所必须的初始化程序、输入输出程序。当主程序调用协议转换程序(Conv_Protocol())时,协议转换程序就会调用通信模块中相应的函数的读取数据寄存器中的数据并开始转换;当协议转换程序完成信息转换后,它将转换后的信息返回给相应的数据寄存器,通信模块将等待主程序调用相关指令数据发送。在转换过程中采取中间协议模型所商定的协议格式进行转换。

通信系统设计的流程图如图12所示,整个系统由main()函数开始运行,经过系统初始化以及中断初始化,系统初始化过程中分别调用MAC、CAN、以及USART的初始化子程序,对系统进行初始化配置。首先进行数据帧检测,判断是否有数据帧,如果没有,则进入中断等待,直到有数据帧进入。有数据帧进入之后,紧接着进行数据帧类型判断,接着调用协议转换子程序Conv_Protocol(),协议转换完毕后调用数据接收子程序,传送到通信子模块各自的数据寄存器,等待接收完毕后,通过发送子函数将转换后的数据发送给特定的目标网络。

图12 系统程序流程图

6 结束语

本通信系统集成了CAN总线接口、RS485接口、

RS232接口、以太网接口各一个。设计完成之后,它作为E-车间通信的关键技术,它将车间生产信息(物料使用、车间设备使用率等)与外界互联,实现了信息共享。在E-车间的推广过程中起到了重要的作用。经实际测试,CAN、RS485和以太网之间信息转换效率高,在目前车间设备数量下,车间级网络负载只在24.7%左右。在硬件设计方面采取了模块化设计,便于后期拓展。在软件设计方面,考虑到后期拓展的方便,在协议转换环节,采取了中间协议模型。为后期更多网络的加入提供理论的可行性。在此基础上,由于STM32F4具有较强的运行能力,后期还可以考虑加入ucos、freeRTOS[12]等实时系统,以此来提高一些低智能化设备的入网能力,更好的契合“互联网+制造”的趋势。

[1] 曹兵.基于车间级控制网络体系结构的研究[J].信息科技, 2008(16).

[2] 谭浩强.C++面向对象程序设计[M].北京:清华大学出版社,2006.

[3] Stephen Prata.C++ Primer Plus[M].5.POSTS&TELECOM PRESS,2011.12.

[4] Charles E.Spurgeon,Joann Zimmerman. Ethernet:The Definitive Guide(Second -Edition)[M].Beijing:O’Reilly Media,Inc,2016.

[5] Petru Eles, Alex Doboli,Zebo Peng.Scheduling with Bus Access Optimization for Distributed Embedded Syst-ems[J].IEEE Transaxtions on Verylarge Scale Integration (VLSI) Systems, 2000(VO L.8,NO.5).

[6] Nuno Pereira,Björn Andersson,Eduardo Tovar.WiDom: A Dominance Protocol for Wireless Medium Access[J].IEEE Transaxtions on Industrial Informatics, 2007(VOL.3,NO.2).

[7] 张海艳,喻林,刘彦呈.CAN总线与RS485协议转换器的设计[J].电气开关,2008(06).

[8] 孙凡金,刘彦呈,潘新祥.Profinet工业以太网实时通信协议分析[J].低压电器, 2008(21).

[9] 陆超.工业现场总线与以太网接口技术和通讯协议的研究[D].江南大学,2006.

[10] 邓昌建.工业现场总线工业以太网通讯协议和接口技术研究[D].电子科技大学,2005.

[11] 张丹丹.基于以太网的工业网络PROFINET技术概览[J].制造业自动化, 2011(2).

[12] 万跃鹏.工业现场总线基于Cortex-A8的安全工业以太网设计与实现[D].华中科技大学,2013.

[13] 魏亚鹏,韩卫光.实时工业以太网技术的研究[J].组合机床与自动化加工技术,2013(7).

The communication system design and realization of E-shop

ZHANG Ye1,2, ZHU Hao1,2, ZHU Xiao-chun1,2

TP29

A

1009-0134(2016)12-0130-07

2016-09-28

江苏省高校自然科学研究项目(14KJA460003);南京工程学院科研创新基金(CKJB201503)

张叶(1992 -),男,江苏人,硕士研究生,研究方向为机械制造自动化。

猜你喜欢
外设寄存器以太网
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
Lite寄存器模型的设计与实现
二进制翻译中动静结合的寄存器分配优化方法
移位寄存器及算术运算应用
谈实时以太网EtherCAT技术在变电站自动化中的应用
浅谈EPON与工业以太网在贵遵高速公路中的应用
万兆以太网在连徐高速公路通信系统改造中的应用
Lx5280模拟器移植设计及实施
外设天地行情
外设天地行情