产品描述
3VA1110-4EE42-0AA0
自动化控制、计算机、通信、网络等技术的发展,导致了自动化领域的深刻变革。信息技术的飞速发展,使得自动化系统结构逐步形成全分布式网络集成自控系统。现场总线(fieldbus)正是顺应这一形势发展起来的新技术。现场总线是应用在生产现场、微机化测量控制设备之间实现双向串行多节点数字通信的系统,也被称为开放式、数字化、多点通信的底层控制网络。现场总线控制系统FCS(fieldbus control system),是继基地式气动仪表控制系统、电动单元组合式模拟仪表控制系统、集中式数字控制系统、集散控制系统DCS后的基于现场总线的新一代控制系统。目前,比较具有影响力的现场总线有:基金会现场总线(FF,Foundation Fieldbus)、LonWorks、PROFIBUS、CAN和HART等等。其中,PROFIBUS是当前较为流行的现场总线技术之一。
PROFIBUS是德国90年代初制定的国家工业现场总线协议标准,代号DIN19245。PROFIBUS于1996年成为欧洲标准EN50170,1999年底成为国际标准IEC61158的组成部分,已被全世界接受。
PROFIBUS根据应用特点可分为PROFIBUS-DP,PROFIBUS-FMS,PROFIBUS-PA三个兼容版本。
PROFIBUS-DP:经过优化的高速、廉价的通信连接,专为自动控制系统和设备级分散I/O之间通信设计,使用PROFIBUS-DP模块可取代价格昂贵的24V或0~20mA并行信号线,用于分布式控制系统。
PROFIBUS-FMS:解决车间级通用性通信任务,提高大量的通信服务,完成中等传输速度的循环和非循环通信任务,用于纺织工业、楼宇自动化、电气传动、传感器和执行器、可编程程序控制器、低压开关设备等一般自动化控制。
PROFIBUS-PA:专为过程自动化设计,标准的本征安全的传输技术,实现了IEC1158-2中规定的通信规程,用于对安全性要求较高的场合及由总线供电的站点。
1 PROFIBUS 基本特性
1.1 协议结构
PROFIBUS协议的结构定向根据ISO7498国际标准以开放系统互联网络OSI为参考模型。PROFIBUS协议结构采用OSI的**层、*二层和*七层。物理层定义了物理特性,它上接数据链路层,下连媒介。发送时物理层编码并调制来自数据链路层的信息,用物理信号驱动媒介。接收时物理层用来对媒介的信号进行解调和解码。数据链路层定义总线存储协议,执行总线通信规则,处理出错、出错恢复、仲裁和调度。应用层定义了应用功能,完成信息指令的翻译,掌握数据的结构和意义。用户层是数据和应用软件。
1.2 传输技术
由于单一的传输技术不可能兼顾传输可靠性、传输距离和高速传输等要求,PROFIBUS提供三种类型:DP和FMS的RS485传输;PA的IEC1158-2传输;光纤(FO)传输。PROFIBUS-DP和PROFIBUS-PA之间可通过DP/PA耦合器(Coupler)或链接器(bbbb)相连接。
1.3 存取协议
PROFIBUS的DP,FMS,和PA均使用单一的总线存取协议,通过OSI参考模型的*二层实现,包括数据的可靠性以及传输协议和报文的处理。PROFIBUS总线存取协议包括主站之间的令牌传递方式和从站之间的主从方式。任意时刻只能有一个主站拥有令牌,直到该主站的时间片用完或已无信息传递,才将令牌按一定的环路传给下一个主站。这样保证每个主站在一个有**间内得到总线的控制权。同时主站与从站采用轮询(Polling)存取方式,这样系统配置可能实现下列三种:纯主-从系统;纯主-主系统;混合系统。
2 SIMATIC S7-200系列PLC的基本通信方式
SIMATIC S7-200系列PLC适用于各行各业,各种场合中的检测、监测及控制的自动化。S7-200系列的强大功能使其无论是独立运行还是相连成网络皆能实现复杂控制功能。此系列PLC的CPU型号有:CPU 221,CPU 222,CPU 224,CPU 226和CPU 226XM。本控制系统采用CPU224,它具有四种通讯方式:
一:PPI方式
PPI通讯协议是通过普通的两芯屏蔽双绞电缆进行联网,物理上采用RS485电平,波特率为9.6kbit/s,19.2kbit/s和187.5kbit/s。PPI通讯网络是一个令牌传递网。
二:MPI方式
S7-200可以通过内置接口连接到MPI网络上,波特率为19.2kbit/s,187.5kbit/s。S7-200 CPU在MPI网络中作为从站,它们彼此间不能通讯。
三:自由通讯方式
S7-200可以由用户自己定义通讯协议,与任何通讯协议公开的其它设备、控制器进行通讯。波特率较高为38.4kbit/s(可调整)。
四:PROFIBUS-DP网络
在S7-200系列的CPU中,都可以通过增加EM277扩展模块的方法支持PROFIBUS DP网络协议。较高传输速率可达12Mbit/s。
3 现场信号与系统软件之间的连接桥梁——OPC
现场总线作为开发的控制网络能实现现场设备之间、现场设备与控制室之间的信号通信。当现场信号传至监控计算机之后,如何实现计算机内部各应用程序之间的信息沟通与传递,即如何让现场信息出现在计算机的各应用平台上,OPC**地解决了此类信息传递问题。OPC(OLE for Process Control)是过程控制中的对象链接嵌入技术,建立在bbbbbbs的对象链接嵌入(OLE,bbbbbb bbbbing and bbbbbding)、部件对象模块(COM,Component bbbbbb Model)、分布部件对象模块(DCOM,Distributed Component bbbbbb Model)技术的基础上进行开发的。OPC是一个开放的接口标准、技术规范。它的作用就是为服务器/客户的链接提供统一、标准的接口规范。按照这种统一规范,各客户/服务器之间可组成如图1所示的链接方式,各客户/服务器间形成即插即用的简单规范链接关系。
有了OPC作为通用接口,就可把现场信号与上位机监控、人机界面软件方便地链接起来,还可以把它们与PC机的某些通用开发平台链接起来,如VB,VC++,Excel等。这样给我们开发上位机软件带来很大的方便。
4 系统实例简介
在石油工业中,由于控制的复杂性、现场多种设备相互之间存在干扰以及系统可靠性要求高等特点,所以在实际应用中常采用高可靠性的中央控制器如PLC和现场总线技术如PROFIBUS。在智能发油控制系统中就是采用SIMATIC S7-200 CPU224控制发油泵,并通过PROFIBUS-DP现场总线由工控机(或PC机)进行监控。
4.1 智能发油控制系统组成
本系统是由PROFIBUS-DP构成的单主站系统,具有简单设备一级的高速特性。
(1) 整个控制系统连接在两路PROFIBUS-DP总线上,每路总线包含一个总站和20个DP从站,两个总站和开票机构成局域网,主站和从站之间为主从关系。(2) 两个工控机主站和发票机通过TCP/IP协议,组成局域网。
(3) 系统以SIMATIC工控机作为DP类型2主站,通过现场总线接口卡CP5611使工控机与PROFIBUS-DP总线相连,能完成组态、运行、操作等功能。主站上的应用程序与CP5611的信息传递采用OPC通用接口服务软件实现。
(4) 每个从站完成对两路发油系统的监控和控制,采用SIMATIC S7-200系列CPU224模块,通过EM 277扩展模块以DP从站形式接入PROFIBUS-DP网络,按主/从模式向上位机发送数据。
4.2 智能发油控制系统的软件设计
软件部分包括bbbbbbs 2000操作系统、SIMATIC OPC接口服务软件、主站软件和从站编程软件。
4.2.1 从站发油控制系统PLC通信接口软件设计
从站发油控制系统的PLC采用了SIMATIC S7-200的配套编程工具Step7,完成硬件组态、参数设置、PLC程序编制、测试、调试和文档处理等功能。通常用户程序由组织块(OB)、功能块(FB、FC)和数据块(DB)构成,其中OB是系统操作程序与应用程序的接口界面,用于控制程序运行;FB、FC是用户子程序;DB是用户定义的数据存储区,在本系统中它是上位机软件与Step7程序的数据接口点,配置与其相对应的DB块就可实现上位机软件OPC与Step7程序的数据接口。其通信接口程序如下。
CALL “DP-SEND”
CDDR:=W#16#170
SEND :=P#DB1.DBX0.0 BYTE240
DONE :=M0.0
ERROR :=M0.1
STSTUS :=MW1
CALL DP-RECV
CDDR:=W#16#170
RECV :=P#DB2.DBX0.0 BYTE240
NDR :=M128.0
ERROR :=M128.1
STATUS :=MW46
DPSTATUS:=MB120
L DB2.DBW 0
L 0 == I
JC m001
CALL FC 63
M001: NOP 0
CALL FC 64
4.2.2 主站通信接口软件设计
工控机作为主站,是通过通讯卡CP5611与从站进行数据交换的。选择操作系统控制面板的Set PG/PA Interface 选项,对其硬件进行设置,可自动完成总线各部分配置。但对于自行开发的、带有Profibus-DP接口的从站,需要自己编写一个*.GSD文件加入到配置库中。本系统将EM 277的GSD文件加入至OPC服务接口配置库中,完成对总线配置后,即生成一个ldb文件供系统运行使用。
4.2.3 工控机人机界面设计
工控机的人机界面设计,即发油控制管理系统,以bbbbbbs 2000操作系统作为平台,通过标准通讯接口OPC,采用Microsoft VC++程序设计语言编制程序,完成系统的控制要求,实现对油库的储运收发过程进行监控和管理。机开出后,通过局域网将信号传给发油机,发油机则使用PROFIBUS-DP网通知下位机PLC,由PLC控制油泵,并检测油量计和温度,自动完成发油过程。
5 结束语
工程实践证明,本控制系统采用PROFIBUS-DP网络技术实现分布式控制,网络速度快、可靠性高、开放性好、抗干扰能力强,给安装、调试和设备维护带来方便,提高了生产效率和管理水平。这种网络体系具有较高的性能价格比,并能根据用户要求扩展至较大的系统。
数控系统广泛应用于现代制造加工业、机器人、电子机械、办公设备等,是21世纪较有发展前景的技术之一。本文使用2个Cortex-M3内核单片机STM32进行G代码解释和电机运动控制,研发了较的运动控制模块,并通过PLC现场总线对多块运动控制模块进行全局管理控制,形成可靠的机床控制网络。
1 运动控制模块的研制
本设计中,运动控制模块负责电机的驱动、多轴联动、G代码解释等工作,是数控系统的“大脑”。因此运动控制器的性能直接关系到整个机床的性能。
1.1 总体结构
为实现高性能数控计算,系统采用双MCU结构,主控MCU负责G代码读写与解释、人机界面、网络通信等任务;NC运动控制MCU(即运动控制芯片)作为一个**数字芯片,负责三轴电机的速度控制、定位、多轴直线和圆弧插补等任务,以保证运动控制模块在完成复杂的工作时仍能提供良好的性能。
模块采用SD卡作为G代码文件的存储器。SD卡具有大容量、小体积、支持热插拔等特点,尤其是其兼容SPI总线读写,省去了主控制器作为USB盘读写的硬件,降低了成本。
运动控制模块具有现场总线通信功能,支持RS-485和CAN总线2种现场总线物理层规范。以可靠性为设计原则,总线接口与主控制器进行了电气隔离,并加入保护元件提高其抗瞬态干扰能力。其中使用了TI公司的高速数字隔离器ISO7221进行数字信号的电气隔离,同时在接口端设置了瞬态抑制二极管(TVS管)进行保护,确保了硬件在各种环境下的可靠性。
1.2 Cortex-M3与STM32简介
ARM Cortex-M3是一种基于ARM7架构的较新ARM嵌入式内核,它采用哈佛结构,使用分离的指令和数据总线(冯诺伊曼结构下,数据和指令共用1条总线),在成本和功耗方面,Cortex-M3具有相当好的性能。
基于Cortex-M3核的STM32F103系列MCU,运行于较高72 MHz的总线频率,可以获得1.25 DMIPS/MHz的运算性能、单周期乘法指令、硬件除法器,带有容量至少为32 KB的Flash及6 KB的SRAM、2个12位A/D、7通道DMA、6路16位定时器及PWM、SPI、I2C、USART、USB、CAN等高性能模块,并具有较高18 MHz输出频率的高速GPIO。在电机和运动控制的应用中,可以充分发挥其先进内核的性能和丰富的模块资源特性。
1.3 工作流程
1.3.1 G代码解码
运动控制模块接收到工作指令后,开始进行G代码的解释执行。G代码存放在SD卡中,主控制器集成FAT文件系统,支持SD卡的文件读写。G代码读入后,逐行进行**遍扫描(即指令预处理),期间将注释、空格、非法字符去除,小写字符转换成大写,以方便解码程序进行识别。
经过预处理的G代码指令逐行送入G代码解码程序,解释程序再逐字检查其是否为G代码的指令字符,若是,则提取关键字的后续数值,作为该指令的操作数,将其提取出来。其中用到了ANSI C的标准库函数sscanf( )(位于stdio.h中),可以方便地提取字符串中*的信息,支持类正则表达式的格式字符串,非常灵活。同时因为使用了ANSI C的标准库函数,程序移植简单。
以下是G代码解码程序的部分代码:
/*遍历整个s字符串,找到字符后,提取后续数字,并存入中间代码中*/
提取到每行G代码的关键信息后进行相关处理,计算出每行代码的运动起止坐标,将其通过SPI总线发送至NC控制芯片,控制电机运动。
1.3.2 插补进给
电机的插补运算、加减速和进给控制,由一个独立STM32微控制器完成,并称为NC运动控制芯片。
目前市场上的运动控制芯片主要是和欧美公司的**ASIC和各数控厂家自行开发的FPGA芯片,虽然性能优越,但价格不低。相对于使用ASIC芯片或FPGA芯片,完成同样的任务使用MCU方案,硬件生产成本和开发成本均具有明显优势,当STM32微控制器运行在其较高频率为72 MHz下时,性能完全可以满足中低端数控系统应用的要求。
在三轴数控铣系统中,NC运动控制芯片需要实现三轴快速定位、二轴直线插补、二轴圆弧插补、三轴直线插补的功能。
插补是在组成轨迹的直线段或曲线段的起点和终点之间,按一定的算法进行数据点的密化工作,以确定一些中间点,从而为轨迹控制的每一步提供逼近目标。在本控制器中,选用逐点比较法作为基本的插补算法,具有算法简单、进给速度均匀的特点,同时支持三轴的直线插补[1],满足本控制器对插补算法的要求。
逐点比较直线插补,就是执行机构每走一步都要和给定运动轨迹上相应的坐标值相比较,比较的结果称为偏差函数F,根据偏差的正、负决定下一步的进给方向。实质上这是一种用阶梯折线来逼近直线的一种算法,它与规定运动轨迹之间的较大误差为1个脉冲当量(每走1步移动的距离)。因此,只要把脉冲当量设计得足够小,就可以达到运动精度的要求[2]。
1.4 Modbus-RTU协议的实现
Modbus-RTU是Modicon公司开发的一种通信协议。它采用主从应答方式工作,其规范已公布在互联网上,是一种在工业领域被广为应用的真正开放的标准网络通信协议。由于它具有免收费用,易于集成不同的设备、简单易用、开发、有着广泛的知识资源支持等特点,已经成为一种公认的通用工业标准。有了这个标准,不同厂商生产的控制设备可以连成工业网络,进行集中监控。Modbus PTU协议有2种传输模式:RTU模式和ASCII模式。其中RTU模式信息帧中的8 bit数据包括2个4 bit十六进制字符,相对于ASCII模式,RTU模式表达相同的信息需要较少的位数,且在相同通信速率下具有更大的数据流量。因此通常情况下,一般工业智能仪器仪表都是采用RTU模式的Modbus规约。
Modbus-RTU协议以帧为通信的基本单位,帧格式为:地址码1 B;功能码1 B;数据区N B;错误校验2 B CRC码。
本运动控制器在其RS-485接口上实现了Modbus-RTU协议,使用了当今流行的免费开源协议栈FreeModbus-RTU,从而保了可靠的通信、节约了开发成本。
FreeModbus是针对通用的Modbus协议栈在嵌入式系统中应用的实现,其遵循BSD开放源代码协议,并可以免费用于商业用途,成熟可靠。移植FreeModbus到STM32处理器只需要少量资源,除了1个双工USART外,只需要配置1个定时器进行**时判断即可。
2 基于C200HE型PLC的运动控制网络实验平台设计
2.1网络结构
欧姆龙(OMRON)公司的C200HE-CPU42型PLC带有RS-232口和通信板。通信板支持各种通信协议,如上位链接、RS-232通信、1:1链接、NT链接(1:1、1:N)以及协议宏功能等,并能根据需要进行切换。通过协议宏功能,用PMCR指令,通过*按标准设置的顺序,就能设置成Modbus协议。
(1) 管理层:是较高层,负责系统的管理与决策。其中PLC是整个控制网络的核心,它作为Modbus网络的主设备,通过Modbus网络与各运动控制器之间传输生产管理信息、质量管理信息及CNC的运行情况等数据。上位计算机运行组态软件,通过RS-232串行通信口与PLC通信,实时监控系统的运行。
(2) 控制层:是整个网络系统的中间层,各运动控制模块挂接在Modbus网络上成为其从节点,负责下面CNC运行过程的监控、协调和优化。
(3) 器件层:雕刻机是整个网络的较低层,是现场总线网络中直接面对现场的器件和设备,为网络的终端执行机构。
2.2 用协议宏功能实现Modbus协议
在协议宏软件CX-Protocol上创建工程,选择正确的设备名称、型号及网络类型。然后创建通信序列和接收序列,并下载到PLC通信板中。在PLC中编写程序,用PMCR指令调用*的通信序列,实现与运动控制模块的通信。通信协议宏主要由发送/接收数据程序构成,每个通信协议较多包含0~999个发送/接收数据程序,每个发送/接收程序较多由16步构成。
2.2.1创建通信序列
将通信序列号设为“000”,在通信序列中要设置PLC与通信板链接字、传输控制参数、响应接收方式、数据接收监控时间、数据接收完成监控时间、数据发送完成监控时间等内容。
(1) 创建通信步(Step)
在通信序列“000”中创建Step00和Step01 2个通信步。Step00用于控制运动控制模块的运行,Step01用于查询运行状态。在每一个通信步中包括步号(Step)、重复计数器(Repeat)、命令(Command)、重试次数(Retry)、发送信息(Send Message)、接收信息(Recv Message)、是否响应(Response)、出错处理方式(Error)等内容。
(2)创建发送和接收信息
发送信息与接收信息必须严格按照Modbus协议格式编写,需要设置校验码(Check Code)、数据长度(Length)、地址(Address)和数据(Data)等信息。
(3)创建接收阵列
PLC向运动控制模块发送指令时,模块可能返回运行正常或错误响应信息,在接收数据时,使用阵列的形式加以区分。系统创建了2种可能接收的信息“Run Normal”和“Error”,并针对每一种情况设定不同的处理方法(Next Process),用于可能出现的各种响应信息的处理。
2.2.2 通信实现
(1) 通信设置
PLC的通信参数设定必须与运动控制模块的参数一致。对通信板上的开关做调整时,设SW1置于ON侧,使用RS-485方式;SW2设定为ON,接入120 Ω的终端电阻;设定通信板端口A为通信协议宏方式。
(2) 编写通信程序
289.08为通信板端口A操作标志,当289.08为OFF时,表示可以使用端口A进行通信。通信过程中289.08置为ON,通信结束后,289.08置为OFF状态;当2.00由OFF变为ON、且289.08为OFF时,调用通信板上的通信序列,通过端口A发送和接收数据。通信序列号、发送和接收数据的存放区由PMCR指令的3个操作数*,
使用2片32位高性能单片机组成双核系统实现运动控制模块的功能,兼顾了性能和价格。同时因为使用了ANSI C的标准库函数,程序移植性好,数控解释程序中的关键技术G代码解释器的开发难度大大降低。在运动控制模块中移植Modbus协议,从而使其能简单地与PLC系统组成运动控制网络。采用欧姆龙通信协议宏实现控制多台运动控制模块,简化了现场布线,达到了设计要求,取得了很好的效果
产品推荐