产品描述
珠海西门子中国授权代理商CPU供应商
现场总线控制系统了传统控制系统的结构形式,在技术上现场总线具有系统的开放性、互可操作性与互用性、现场设备的智能化与功能自治性以及对现场环境的适应性等特点。然而现场总线大的缺点是存在信号的传输延迟,因为现场总线采用的是一种串行方式,现场总线控制网络中所有节点在传送报文时需要通过网络调度分时占用总线,这就使得现场的传感、驱动设备与控制器(主站)或工厂管理层之间的信息在传输过程中不可避免地存在着延迟。而且随着通信协议和网络中负载的变化,该延迟通常是随机时变的,从而影响了控制系统的性能甚至稳定性。通常情况下,现场总线控制系统的传输延迟可分为:
固定延迟:一般适用于控制系统的采样周期远大于网络延迟时的情况。
立分布随机延迟:延迟服从某种概率分布,但具有立的统计特性。
基于Markov链的随机延迟。
对于确定性现场总线控制网络来说,一个确定的控制系统(总线协议、传输速率、节点数量和配置确定)其网络传输延时相对固定,因此本文的研究基于固定的现场总线传输延时。
一、基于现场总线数控系统的基本模型
不同的现场总线控制网络,其网络延迟的特性也不相同,为了分析网络延迟对控制系统的影响,应对网络延迟进行建模,网络延迟一般来说是时变的,受网络负荷、链路层调度协议等因素的影响。基于现场总线的数控系统通过现场总线将数控单元、执行器和传感器等连接起来构成一个分布式的控制系统。因此基于现场总线的数控系统是一个多输入、多输出以及具有通信传输延时的复杂系统。其基本模型如图1所示。
图1 基于现场总线的数控系统的基本模型
该模型由数控机床和数控单元两部分组成。数控机床部分动态模型包括n个可观测的状态{x},m个输入{u},以及r个输出{y};数控单元部分的动态模型则包括q个可观测的状态{z},r个输入{w},以及m个输出{v}。该数控系统包括m个执行器,r个传感器和一个数控单元,因此n、m、r以及q均为正整数。其中s1,s2,…,sr和a1,a2,…,am分别表示传感器与数控单元之间以及数控单元与执行器之间的信号传输延时,即变量wr和um分别代表信号yr和vm经过现场总线传输后的延时信号。
在图1中,数控机床部分可看作为线性时不变连续系统,因此其动态模型GP可由如下的连续状态方程描述:
其中:x(t)∈Rn,u(t)∈Rm,y(t)∈Rr而Ap,Bp,Cp为维数可变的常系数矩阵。
由于数控单元由数字计算机按一定的采样频率采集数控机床的传感器信息,并通过一定的算法进行数字处理,对数控机床的执行部件发送动作指令。因此数控单元部分只能看作为离散系统,其动态模型GC可由如下的离散状态方程描述:
其中:z(k)=z(kT)∈Rq,w(k)=w(kT)∈Rr,v(k)=v(kT)∈Rm,T为采样周期,同样F,G,H和J为维数可变的常系数矩阵。
基于现场总线数控系统大的特征就是在数控单元与数控机床之间的数据通信存在延时。如图1所示,通常情况下,
其主要原因就是现场总线采用的是串行方式,信号u(t)与v(k),w(k)与y(t)之间存在延时,因此现场总线的通信环节的时间延时的大小决定了基于现场总线的控制系统实时性能。
二、基于Profibus总线数控系统模型的建立
为了抑制总线传输延迟对现场总线控制系统造成的影响,建立基于现场总线数控系统的模型对现场总线的传输延时所造成的系统性能影响进行理论分析与研究具有非常重要的意义。在图1所示的基本模型中,由于系统的复杂性和系统参数的不确定性,因此很难建立其的数学模型。本文提出采用Matlab/bbbb工具,建立基于现场总线数控系统模型并对现场总线的传输延时所造成的数控系统性能影响进行与分析。
图2 基于Profibus数控系统模型
一般来说数据通信控制网络是一个复杂的混合系统,如果在过程中使用离散传递函数(不考虑采样周期内的输入/输出的变化)来研究微小的总线传输延迟对控制系统造成的影响将变得非常困难。如图2所示,为了避免这些问题,而且尽可能真实地基于现场总线的控制系统的行为,我们把离散的控制系统作为连续的控制系统进行,同时在一个采样周期内使用采样/保持单元锁存信息。在这种情况下,等待总线授权所造成的延时,可以通过现场传感设备输出信息锁存的时间到信息锁存至控制器的时间延时来进行模拟。模型中的各个模块的描述如下:
1.现场总线介质访问控制模块(Ask Token)
在Profibus总线的数据链路层中所采用的介质访问控制方式为混合介质存取方式,即主站与主站之间为典型的总线令牌传递方式,主站与从站之间为主从轮询方式。这种介质访问控制方法满足介质存取控制的基本要求:在主站和主站之间通信,能够确保在确定的时间间隔中,任何一个站点都有足够的时间来完成通信任务;在主站和从站间,能够快速又简单地完成数据的实时传输。
各主站在逻辑上形成一个令牌环,当逻辑环上的主站得到令牌后,允许它在一定的时间内与从站或主站通信,在这段时间内,各主站和从站监视总线,以便对持有令牌的主站的请求做出回应。为控制令牌循环时间,Profibus总线的介质访问控制协议设置了三种令牌时间:理想令牌循环时间TTR、实际令牌循环时间TRR和令牌持有时间TTH。主站两次接收到令牌的时间间隔定义为实际令牌循环时间TRR;理想令牌循环时间TTR是根据网络状况和信息吞吐量预先组态好的,它决定了各主站的令牌持有时间的长短。令牌持有时间TTH为TTR与TRR之差。
为了计算以上三种时间,Profibus的协议还设置了两类计时器:TRR计时器和TTH计时器。当令牌到达某个主站时,此节点的TRR计时器开始计时,当令牌又一次到达该主站时,将TRR计时器的值与理想令牌循环时间TTR的差值赋给TTH计时器,得到TTH的值,即TTH=TTR-TRR,TTH计时器根据该值控制信息的传送。如果TTH为负,即令牌到达时,则此节点多只可以发送一个信息,然后传递令牌;如果TTH不为负,表明令牌及时到达,则此节点可以连续发送多个等待发送的信息,当信息全部发送完毕,如果仍然有持牌时间,则可以继续发送低级信息。所有信息发送完毕或持牌时间时,则令牌传递给下一站令牌传递方式,在网络重载时有很好的时间确定性,但在此时,通信确认显得尤为重要。在网络高吞吐量时,为了满足系统实时性,及时传递严格的周期性信息,Profibus将传送的信息按照级分为高权消息和低权消息。只有高权消息传送完毕或没有高权消息,才执行低权消息发送。在此基础之上,Profibus对低权消息进行进一步划分,将低权消息划分为三个子类:轮询表、非循环低权和间隙表。这三个子类用于逻辑环的动态优化,在轮询表中存有逻辑环的执行顺序。当所有高权消息发送之后,就发送轮询表消息循环,非循环低权消息只在完成轮询表消息循环后才发送。
由于本文所研究的基于Profibus总线的数控系统采用的是纯主从式结构,而且数控系统大多为周期性任务,因此在模型中的现场总线介质访问控制模块应遵循周期性主从轮询介质访问方式,同时应考虑到数控加工过程中可能出现的一些非周期性突发事件(如急停等)。如图3所示,现场总线介质访问控制模块采用Simubbbb中的随机数发生模块经过一定的逻辑处理能够很好地模拟现场总线介质访问过程。
图3 现场总线介质访问控制子系统模型
2.数控单元(NCU)
在数控机床伺服运动系统中,因存在多个中间环节例如工作台、中间传动环节、伺服电机等,很难得到的数学模型,故应用直接数字控制比较困难。由于PID控制是一种技术成熟、应用广泛的控制方法,所以PID调节器在数控伺服运动系统中得到了广泛的应用。虽然数字PID控制是断续的,但相对时间常数比较大的伺服运动系统而言,其近似于连续变化,因此数字PID在大部分场合可以代替模拟调节器。
PID调节器参数的整定是按加工的要求,决定调节器的参数:比例系数、积分系数、微分系数。对于实际控制系统来说,PID参数的整定却是一个比较难以解决的问题,通常可以模拟PID调节器参数整定的各种方法对PID调节器进行整定,例如扩充临界比例度法、扩充响应曲线法、归一参数整定法等。但上述方法或者需要进行对象参数和过渡特性的测试和计算,或者需要积累一定的调试经验,才能获得较好的结果。另外,当控制对象的特性、参数发生变化时,还按原PID参数控制将使系统的控制特性变坏。因此数控单元中PID控制器参数将以模型中控制与传输延时为零情况下,控制系统对单位阶跃函数的响应来评价PID参数,使系统的控制性能达到优。
3.数控机床(NC Machine)
对于数控机床来说,其主要控制对象就是伺服系统,数控机床的加工速度和精度很大程度上决定于伺服系统性能。因此在图2中所研究的数控机床模块将由伺服系统的数学模型来描述。
图4 数控机床结构模型
图4为数控机床的结构模型,输入为电机的转角θ,输出为工作台的位移XL。图中J1、J2和K1、K2分别为电机轴及丝杠轴上的转动惯量和扭转刚度;m为工作台质量;f为导轨运动的粘性阻尼系数;K0为丝杠螺母副的综合拉压刚度;i是齿轮减速比,i>1。
在综合考虑传递链的刚性和阻尼后,可得到如下输入、输出的微分:
式中:JL——折算到丝杠轴上的总惯量;
fL——折算到丝杠轴上的导轨粘性阻尼系数;
KL——折算到丝杠轴上的机械传递装置总刚度;
S——丝杠导程。
设机械传动装置的传递函数为GL(s),则:
将上式进一步化简:
可见数控机床的机械进给传动装置可以简化为一个二阶环节。因此,对模型中的数控机床采用一个二阶环节进行模拟。
4.传感器(Sensor)
由于该模型主要的对象是基于现场总线的数字伺服,因此传感器主要模拟的是位置传感器,设传感器本身不存在信号处理延时,因此,采用上升沿触发模块来进行模拟,其触发信号与传感器的时钟信号频率Ts相同。
5.控制与传输延时(Transport_Delay_C,Transport_Delay_S)
由于现场总线通常采用的串行工作方式,这就决定了现场总线控制系统中控制信号的传输存在延时,根据本章上一节中所研究的结果,延时时间的大小主要取决于总线传输速率和介质长度,因此,采用传输延时模块Transport_Delay_C和Transport_Delay_S分别模拟控制信号和采样信号的传输延时,延时时间同时考虑到控制器以及传感器中信号处理时间。
6.采样/保持模块(S/H)
控制信号与位置传感信号在总线中的传输受控于现场总线的使用权限,因此,采用上升沿触发模块(S/H_C,S/H_S)来进行模拟,其触发信号为现场总线介质访问控制模块(Ask Token)的输出信号。
7.控制器和传感器的时钟周期(Tc,Ts)在模块中Tc和Ts分别代表控制器和传感器的时钟周期,定它们的时钟频率相同但不一定同步。
三、与实验结果分析
模型参数如下:
数控单元(NCU)控制器PID参数:P=2.9,I=1.18,D=1.5;
数控机床(Machine)简化数学模型:
;
结果及分析如下:
图5 现场总线延时对数控系统性能的影响
图5反映了现场总线传输延时对数控系统的影响,其中Ta
四、总结
高速、高精、开放是今后数控系统的一个重要发展方向。这样对于数控系统特别是基于现场总线的开放式数控系统来说,要求数控系统具有较高的实时性。现场总线控制系统虽然具有较多优点,然而有限的总线网络带宽会导致现场总线控制系统稳定性和实时性问题。因此,在基于现场总线的数控系统的建模、、分析以及实现等方面,有大量内容有待于进一步研究和开发
两年前,电子设备描述语言(EDDL)被获准作为标准规格(IEC 61804-2),现在它在由FF, HCF, PNO and OPC成立的合作工作组进一步得到了发展。
1 引言
在80年代中期,为了满足不同自动化领域的应用需求,出现了拥有不同技术特点的现场总线。每一种现场总线都有自己的应用领域,并且都力图拓展其应用领域,以扩张其技术范围。但每种现场总线都以一个或几个大型跨国公司为背景,公司的利益与总线的发展息息相关。这些公司竞争的结果是多种总线协调共存。据不统计,目前上有200多种现场总线,而其中占据市场主流的现场总线有十几种[1]。现场总线的多样性,为总线设备用户提供了多产品选择的同时,也为总线用户带了总线设备间兼容性问题。工厂在扩建,改建等过程中很可能会选用与原先现场设备总线标准不同的产品,这些设备由于使用不同的现场总线,彼此间不能实现数据共享,于是就降低了设备间功能互补的优点。因此针对多种总线共存的客观事实,探讨如何解决不同现场总线系统的互联有着重要的现实意义。本文主要研究Profibus-DP[2]与CAN[3]两种总线的协议转换的原理,并设计出了一种网关实现了这两种
2 方案设计
对于两个异构的现场总线,其数据链路层和应用层协议是截然不同的,要实现它们的互联,需要采用网关进行协议转换。协议转换在网关内是按分层逐次进行的。网关将现场总线设备1发送来的数据在不同的协议层次进行解包,终得到报文中的用户数据。然后再按照现场总线协议2逐层打包,然后发送到现场总线2中的设备。
网关(gateway)是用于实现数据链路层以上层的网络互联设备,它相当于一个协议转换器,可以是双向的,也可以是单向的,用来连接不同协议的网络。它不像网桥一样要求数据链路层和应用层的协议一致。
通常见到的现场总线网关是单CPU结构的,在这种结构里,CPU要完成两种总线信息的传输与控制,同时还要完成两种总线协议的转换工作,该方案CPU负担较重,控制复杂,软件采用多重嵌套。这里提出了一种基于双CPU结构的网关设计方法,系统中的两个CPU对两种总线协议的数据各自进行处理与控制,并将需要传递的信息放在双口RAM内,实现信息共享与传递,这种方案容易控制,软件简单,同时减轻了CPU的负担,增强了性。
3 系统的硬件设计
系统的硬件根据功能可分为三大部分,一是CAN总线接口电路,完成CAN总线的数据收发与控制;二是Profibus-DP总线接口电路,完成PROFIBUS总线数据的收发与控制;三是双口RAM接口电路,用来完成两种总线数据的交换。
3.1 CAN总线接口硬件结构
CAN总线接口的整体硬件结构如图1。电路主要由四部分所构成,微控制器89C52(1),立CAN通信控制器SJA1000,CAN总线收发器82C250和高速光电耦合器6N137。
89C52(1)负责SJA1000 的初始化,通过控制SJA1000 实现数据的接收和发送等通信任务,同时还负责与Profibus总线接口侧的的数据交换,选择89C52(1)作为CPU的主要是因为它不仅与CAN控制芯片SJA1000兼容,而且内部集成8k flash RAM,可以满足系统的存储要求,不需要再外扩程序存储器。
SJA1000为CAN总线控制器。它是一种立CAN 控制器,是PHILIPS公司的CA82C200 CAN控制器的替代产品,它在软件和引脚上都保持了与PCA82C200的兼容。它具有BasicCAN和PeliCAN两种工作方式,其中 BasicCAN是与PCA82C200兼容的方式;PeliCAN是扩展特性方式,支持具有很多新特性的CAN 2.0B协议。SJA1000的主要新功能有:标准结构和扩展结构报文的接收和发送;64 字节的接收FIFO;标准和扩展帧格式都具有单/双接收滤波器含接收屏蔽和接收码寄存器;可进行读/写访问的错误计数器;可编程的错误报警限制;近一次的错误代码寄存器;每一个CAN 总线错误都可以产生错误中断;具有丢失仲裁定位功能的丢失仲裁中断;单发方式当发生错误或丢失仲裁时不重发;只听方式CAN 总线无应答无错误标志;支持热插拔无干扰软件驱动位速率;硬件禁止CLKOUT输出。
SJA1000的AD0-AD7连接到89C52(1)的P0口,CS 连接到89C52(1)的P2.7, P2.7为0的CPU片外存贮器地址可选中SJA1000,CPU通过这些地址可对SJA1000执行相应的读写操作SJA1000的RD,WR,ALE 分别与89C52的对应引脚相连。
为了增强CAN总线节点的抗干扰能力,SJA1000的TX0和RX0并不是直接与82C250的TXD和RXD相连,而是通过高速光耦6N137后与82C250相连,这样就很好的实现了总线上各CAN节点间的电气隔离
3.2 Profibus-DP总线接口电路
Profibus-DP总线接口的硬件电路也由四部分所构成,微控制器89C52(2),PROFIBUS-DP通信控制器协议芯片SPC3,光耦 HCPL7101和6N137,RS485总线驱动电路。图2为PROFIBUS-DP通信控制器到RS485总线驱动器的硬件电路图。
89C52(2)主要负责控制SPC3,实现Profibus-DP总线数据的转换与共享。
SPC3已集成了Profibus-DP物理层的数据收发功能,可立处理PROFIBUS DP协议,另外SPC3内部还集成有1.5k的双口RAM,作为SPC3与用户程序之间的接口,并且AT89C52(2)可对SPC3内部RAM访问。
尽管SPC3已经集成了物理层的功能,但它不具备RS-485的驱动接口,因此添加了RS-485的驱动电路。
控制器到RS485总线驱动器的硬件电路图>
另外为了避免总线上的信号对电路的影响,在SPC3与RS485总线驱动电路之间采用光电隔离。TxD、RxD信号的隔离器件选用Hewlett Packard公司的12M高速光耦HCPL710,RTS信号的隔离器件选用了6N137。
3.3 双口RAM的接口电路
两种总线数据的共享与传递是通过双口RAM实现的,系统里选用了器件IDT7130。它是高速的1K双口静态RAM。该器件提供两个立的端口,分别有立的控制、地址和I/O引脚,并允许立的异步读写访问内存的任何地址,自动的电源管理特性由CE控制,允许芯片上的每一个端口电路进入一个非常低的电源模式。IDT7130的片内总线仲裁电路具有BUSY和INT两种总线仲裁方式。基于所采用的单片机型号,在系统里采用了中断仲裁方案,这种方式的工作原理是一个内存地址(邮箱或者信息)被指派给每个端口。左端口的中断标志被宣称当右端口写到内存地址3FEH时,左端口通过访问3FE内存地址中断。相似的,当左端口写内存地址3FFH时右端口标志被宣称,为了这个中断标志,右端口访问内存地址3FFH,系统里3FE和3FF两个单元的内容赋予新的内涵,即定义两个码0FFH和00H。其中0FFH代表发送命令要求对方传送数据,而00H代表发送的是对方所要求的数据。系统里两个CPU与双口RAM的连接如图3。双口RAM的剩余的存储单元被分为四大部分,其中0000H-00FFH这256个单元用来存储CAN总线上传来的数据或地址,并且相邻的两个单元用于存储一个CAN子站的数据信息;0100H-01F9H这250个单元用来存储Profibus总线上传来的数据或地址,相邻的两个单元用于存储一个PROFIBUS子站的信息,另外03FCH单元用于存放CAN总线设备所要读的PROFIBUS站点的ID号,03FDH单元用于存放PROFIBUS总线设备所要读的CAN站点的ID号。
由图可知双口RAM在负责CAN总线通信的微处理器的映射地址为0x7C00H-0x7FFFH,在负责Profibus总线通信的微处理器的映射地址为0x2C00H-0x2FFFH。
4 系统软件设计
网关的软件可
每侧的程序根据功能又可以分为三个子模块:协议芯片初始化程序,接受数据接受子程序,数据发送子程序。其中数据接受子程序考外部中断触发执行。下面以网关的CAN总线接口侧程序为例,列出程序流程图,Profibus侧的接口程序与之相似,就不再赘述。
CAN总线侧的初始化与发送程序流程如图4:
程序流程 src="/article/UploadPic/2007/11/18/200711.jpg" align=center>
因为SJA1000的初始化只有在复位模式下才可以进行,因此程序将SJA1000的中断屏蔽,使它进入复位模式,然后对它进行初始化。初始化内容主要包括工作方式的设置、接受滤波方式的设置、接受屏蔽寄存器和接受代码寄存器的设置、波特率参数设置和中断允许寄存器的设置等。 SJA1000完成初始化设置后,再让它返回到工作状态,进行正常的通信任务。
在接受子程序里,系统以查询的方式接受CAN子站传送过来的数据,网关通过接受缓冲区数据区的个字节的内容判断接受的是真正的数据,还是发给 Profibus-DP站点的发送数据请求。如果数据区个字节是00H,则传送的是数据信息,于是根据ID查表求得该站所对应的存储单元,并将数据区的二、三字节的内容存在该单元内,同时把ID放在7FFCH中,告诉对方发送数据的站点号;如果该字节内容是FFH,则说明是发送数据请求,数据区二个字节存放的是被要求发送数据的站点号,将他放入7FFCH内即可。
CAN总线接口发送数据子程序流程图如图5:
程序流程图 src="/article/UploadPic/2007/11/18/200711.jpg" align=center>
上面的发送程序是由双口RAM的中断信号触发的,收到中断信号后,读取7FFEH单元的内容,将中断信号,然后根据该单元的内容,判断双口RAM内存放的是数据,还是被要求发送数据的CAN子站的ID号。如果7FFEH内容为00H,则说明所要发送到CAN子站的为正常的数据,于是将发送缓冲区的个字节设置为00H,告诉CAN子站发送的为数据,然后读取7FFDH单元内容,查表求得数据在双口RAM中的地址,并从该地址取两个字节存到SJA1000输出缓冲区数据区的二、三个字节,同时把7FFDH作为发送的ID号。如果7FFDH是FFH,则说明Profibus- DP发送过来得是被要求发送数据的CAN子站的站点号,于是只要把它放到SJA1000发送缓冲区数据区的二个字节,并把个字节设为FFH,以通知 CAN站点,发送的数据为ID号。以上工作完成后,后通过写命令字发送数据。
5 结束语
实践证明,双CPU结构的双向网关可以很好地完成CAN总线到Profibus-DP总线协议转换的任务,并且解决了单CPU结构网关中存在的速率低,性差等问题,满足了CAN总线与PROFIBUS-DP总线协议转换的要求。它将CAN总线设备与PROFIBUS总线设备的连接起来,使两种现场总线设备可以的通信,终达到数据共享与功能互补的目的。并且工作人员在使用过程中不必关心两种总线物理层和数据链路层的全部内容,给总线产品的研究开发带来大方便。另外这种双CPU结构的设计方案对其他现场总线之间的网关设计具有借鉴意义,是一种值得推广的方法。
产品推荐