《利用LONWORK现场总线促进控制.docx》由会员分享,可在线阅读,更多相关《利用LONWORK现场总线促进控制.docx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、利用LONWORK现场总线促进控制jiangf导语:本文是关于照明设备ANKA控制系统的I/O控制子系统的一篇文章。本文是关于照明设备ANKA控制系统的I/O控制子系统的一篇文章。控制系统基于PC,因此,采用现场总线作为接口设备合适的解决方案,进而防止复杂的VME。一、引言这项工作描绘了照明设备ANKA控制系统的I/O控制子系统。控制系统基于PC,因此,采用现场总线作为接口设备合适的解决方案,进而防止复杂的VME。我们寻找一种综合的解决方案,将所有的通讯细节屏蔽,进而缩短开发周期。LonWork技术被证实是目前最合适我们需求的实用解决方案。它的网络协议包含国际标准组织开放系统互连模型ISO/O
2、SI的所有7层协议,将网络设计简化为只需设定应用层信息包格式或者甚至只需要给变量幅值。LonWork网络上的每个节点都有名为Neuron芯片的微控制器,这种芯片带有内置网络、I/O接口以及应用功能。它利用NeuronC编程语言进展编程,除了知足标准C语法外,还包括为定义I/O对象构建的讲明语法,网络变量以及软件定时器,详尽的I/O控制运行时间库以及网络通讯等。编程和网络通讯都属于事件驱动,只需要简单定义任务,当事件发生时通过内置的任务调度程序执行。所有这些特性允许我们在设备层面上更多引入智能化,而不是仅仅将I/O口映射到PC。因此,我们在不同层面上有两种主要处理经过:设备驱动器运行在现场总线节
3、点上。它监视物理设备,产生警报,以异步方式对数据进展发送更新等。设备效劳器运行在PC上。作为一台面向控制系统其余局部的公共对象恳求代理体系构造CORBA效劳器,它与所有一样类型的设备驱动器通讯并进展治理,并输出设备功能。二、I/O板尽管已经存在很多实用的贸易I/O接口板,但我们仍然决定开发自己的I/O板,这有助于我们将不同板子类型的数目最小化。总共三种类型包含了控制系统I/O要求的所有情况。我们的板子装备了带有24k字节SRAM和32k字节FLASH存储器的MC143150微控制单片机Neuron芯片,固定尺寸为小型欧洲格式160100mm。单独的I/O板包括:Ariadne串行接口板,它支持
4、EIA-232、EIA-422以及EIA-485标准,最大波特率可达115kbps。它包括16k字节的接收和发送缓冲器,板上电源能从230V沟通线路、7V12V未稳压直流电源以及5V稳压直流电源提供电流。Hera通用数字I/O卡,带24路输入50mA、8路输入/输出50mA以及8路固体继电器1A。所有I/O通过光耦隔离。它为输入和输入/输出提供两种运行形式。卡上还带有一个0100kHz的16位计数式频率计绝对误差1.53Hz。Zeus高精度I/O卡,带16位ADC和DAC,DAC由触发脉冲输入,并且数字通路采用光耦隔离8输入和8输出。ADC的4个模拟通道标称采样频率为1kHz,以4kHz频率过
5、采样时保证精度为0.3LSB。DAC最大工作频率为10kHz。板上额外的外设微控制器为控制升压和存储环电源而设计包括:与DAC触发脉冲输入同步的函数发生器,缓存DAC函数和ADC数据的32kb存储器以及外设自检。三、软件1.节点层我们控制系统中,软件对设备的控制是设备可以感悟的,并且从更高层面上屏蔽了I/O细节。由于Neuron芯片CPU功率限制,这种封装只是在一种公道的范围内进展,例如由于Neuron芯片低劣的浮点性能,十六进制数值向工程单位的转化在PC上完成。我们的控制系统含有超过20种设备类型。使设备尽量智能化的要求增加了设备层面的编程量。考虑到所有这一切,有必要为实现器件驱动器而定义一
6、种带通用通讯接口的通用API。通过这种API,我们简化了新设备驱动器以及与设备通讯的软件的开发经过设备效劳器在PC上运行。根据我们“设备感悟现场总线节点的范例,设备驱动器API也允许在同一块I/O板上实现多种一样或者不同的设备。通用设备成为控制系统的一局部必须知足:接收、处理并应答外来恳求;向观察者传播监控参数及其警报;设备内部具有程式化的状态机或者附加逻辑。通过LonWork,利用恳求/应答机制实现的简单RPC可以很轻易知足第一个要求。通过定义适当的网络参数类型,以及每当从设备读取数据时更新网络变量,可以实现第二个要求。这些网络变量称为监控变量。一对可调的软件定时器控制网络监视变量的传播。“
7、最大定时器定义了监控变量的周期,“最小定时器定义了在两个监控变量更新之间所必须间隔的最小时间。最小定时器防止当监控参数值变化太快时造成网络流量过大。一些参数类型也可以定义增量极限来防止过快的传播。每个监视变量都有称为报警的互补网络变量,用于传达警报和对该警报的响应值。由于传播受“定时器溢出、“数值改变或者“报警条件事件触发,因此监控和报警为异步通讯。我们还编写了通用设备驱动库,这样经过单纯的编译器指示,任何设备驱驱动器都能编译为设备的模拟。由于不同接口板的数目很少,并且具体定义了通讯接口,这是可能实现的。模拟被证实非常有助于代码调试和测试经过。2.PC侧通讯美国埃施朗Echelon公司提供独立
8、的LNSLonWork网络效劳平台,以及用于治理LonWork网络的面向对象构造。在Windows环境下,有称为LCALonWork组件构造的ActiveX的LNS封装。不幸的是,目前的LCA版本过于面向互操纵。由于这种原因和网络效劳的自动化和最简化实现,它向开发者隐藏了很多关键的细节,使其被迫直接使用LNSAPI。在开发的初始阶段,我们利用LCA在相对短的时间内开发控制系统原型。第二阶段,我们引入显示报文功能,为此需要LNS层。如今,我们完全防止了LCA,并由此实现了对网络效劳的完全控制,同时也防止了上层的ActiveX。3.设备配置为了消除硬编码常数进而让设备驱动用具有通用性,我们将配置参
9、数下载到设备中。为此,与LonWork工程报告中相似,我们开发了自定义的窗口式文件传输协议。我们同样可以利用FTP传送大量数据。每次设备效劳器启动时,它检查节点上是否存在有效运行的设备。假如没有,在数据库中找到可执行途径,将应用程序下载到节点。假如需要,可以对节点配置文件进展更新。配置数据存储在数据库中,被设备驱动器和设备效劳器共同使用。所有数据按工程单位存储,在Neuron应用程序使用前必须转化为原始格式。为简化设备配置经过,以及消除同样的配置常数存在于数据库内多个位置或者多种格式,编写了一个模板编译器。这个编译器从NeuronC应用程序中提取原始头文件并将其编译为模板,然后将其填满数据库数
10、据并转化为二进制格式。这种二进制格式可以通过FTP下载,可以直接复制到用于创立模板的一样数据构造中。进而,我们得到了一种将数据库数据转化为Neuron应用程序可识别格式的通用方法。PC上通过开设FTP效劳器可以很轻易地实现FTP的特性。效劳器运行在并行或者串行形式下,可以对256个交易进展处理。集成的报告机制允许处理FTP报告事件。数据交换可以利用本地PCAPI或远程Neuron应用程序启动或者中断。一个较好的利用FTP和模板编译器进展配置例子是,将板上的I/O引脚映射到逻辑器件。这种映射是设备配置文件的一局部,通过模板编译器产生,假如需要可以在设备效劳器每次启动时下载。四、性能ANKA控制最
11、苛刻的情况是,当一个现场总线支路上最大可能的节点64以1Hz的频率定期对3个参数进展数据更新,同时以20Hz的频率设置并读取一块板上的一个参数。这对应为每秒212364+20个非确认输入包以及20个恳求/应答包。测量显示,我们系统每秒可以处理高达230个非确认包这也是吞吐量的上限,并传送高达40个恳求/应答包,这足以知足我们的需求。即使当节点在网络上产生太多通讯时,吞吐量也不会降为0,而是保持在每秒约190个包的程度。测试中平均每个包的大小设置为12字节。我们的测试装置包括11个工作于模拟电源设备的Neuron节点。节点通过1.25Mbit双绞线收发器连接,埃施朗EchelonPCNSI卡作为PC接口。测量说明这种接口是数据吞吐量的瓶颈。五、结论目前ANKA控制系统由超过200个Neuron节点组成。出于效率和拓扑原因,每台PC上连有7条独立的支路。现场总线系统运行决定稳定,不受干扰,甚至在控制系统其余局部关闭或者重启时也能正常工作。0