LonWorks系统组态构建

    鉴于LonWorks网络技术的先进性及入门技术的高门槛,海思的客户经常咨询LonWorks监控系统建设中的组态软件应用开发事宜。本文提供一些此方面的相关知识,供大家参考。

1、组态控制软件概念
   在建设计算机监控系统时通常需要用到组态软件,亦即组态控制软件。组态控制软件是一种可实现各种控制功能的、具有配置性质的软件程序。通过组态就可以建立并实现预定的控制方案,使用户在不需要编代码程序的情况生成适合自己需求的应用系统。

下面介绍一种基于LonWorks网络控制来实现对组态软件的开发方法。
2LonWorks智能节点 
    LON络上的每个智能设备称为LonWorks节点,它包括一片神经元(Neuron)芯片、收发器、传感器和控制设备和电源。Neuron芯片是节点的核心部分,内部固化了一套完整的LonTalk通信协议,确保了节点间使用可靠的通讯标准进行互操作。因为Neuron芯片可以直接与它所监视的传感器和控制设备相连,所以一个Neuron芯片可以传输传感器或控制设备的状态、执行控制算法,并与其它Neuron芯片进行数据交换等。使用Neuron芯片,开发人员可以集中精力设计并开发出更好的应用对象而无需耗费太多的时间去设计通讯协议、通讯的软件和硬件,这样减少了开发的工作量,节省了大量的开发时间。

    LonWorks节点编程采用的是Neuron C 语言,程序要经过编译和烧录后才能载入节点中运行,也有一些节点经过编译可以直接下载到节点运行。在此我们把组态的思想引入组态控制软件中,为控制网络预先提供丰富的控制功能模块,通过改变网络节点之间的逻辑关系来达到改变网络控制功能的目的。
3组态控制的优点
(1)用户只要根据实际需要进行适合自己的组态配置,不需要用Neuron C语言编程
(2)方便用户实现各种控制功能。
(3)LonWorks拓扑结构灵活,组网方便,神经元芯片自带通信协议。
4LonWorks系统组态控制
    有的组态软件将控制功能模块称为PLCSoft PLC”,也有的称软逻辑。组态控制软件编程工具采用图形化编程语言,只需用鼠标点击、拖动就可以建立一个可重复使用的控制方案。一个应用程序中可以有很多控制模块。开发人员利用Neuron C 语言编制通用控制程序。通用控制程序由许多基本功能模块组成,各个模块可以实现不同的控制功能。基本功能模块有若干个输入和输出,每个输入和输出管脚都有唯一的名称,不同种类的功能块其每个管脚的意义、取值范围也不相同。
    控制模块基本功能块包括:数学运算模块(实现数的加、减、乘、除、乘方、开方等基本运算);逻辑运算模块(实现逻辑的与、或、非、延时、选择开关等功能);变量模块(提供运算的操作数并存放最终的运算结果)以及常用的控制算法模块(例如PID控制等)。

    组态控制软件存盘时自动对程序进行编译、检查语法错误,同时生成一定格式的消息包,准备传递给Neuron芯片。这些特定格式的数据包有:控制模块综合描述(例如所含的控制模块总个数,参数总个数,中间变量总个数等),各模块的描述(例如该模块的模块数,参数个数,中间变量等),各模块的参数表,各模块代码表,各模块的中间变量存放顺序表等。
    组态Neuron节点通过显式消息与PC机进行通讯,接收模块消息包。该节点中存有与基本功能模块相应的执行模块代码,将数学模块、逻辑模块、变量模块和控制算法模块等分别写成单独的函数,可按照组态软件生成的消息包被调用,并可将执行结果传送给PC机或其它 Neuron节点。假如组态中某个功能块的参数发生了改变,则重新编译程序并将最新生成的模块消息包发给 Neuron芯片,使之总是执行最新的功能块,实现组态的在线编译与控制。组态Neuron节点在接收消息时,根据消息标签将消息数据赋给该节点定义的不同的数据结构。只有当组态软件生成的所有相关消息被收到后,功能块才可以执行。

     LonWorks节点之间通过网络变量进行通讯。在组态 LonWorks节点中,预定义一定数量的网络变量,既有输入类型,也有输出类型。其总个数不超过Neuron C 语言中允许定义的网络变量的总个数。

5LonWorks网络变量

    LonWorks技术中,网络变量(Network Variables)的使用极大的简化了开发和安装分散系统的处理过程,各节点可以独自定义,然后简单地连接在一起或断开某几个连接,以构成新的LonWorks应用,大大增加了系统的灵活性,开放性。网络变量通过给节点相互之间明确的网络接口而极大地提高了节点产品的互操作性。互操作性带来得好处是:节点能很方便地安装到不同类型的网络中,并保持节点应用的网络配置独立性。节点可以安装到网络中并且只要网络变量数据类型匹配,就可以逻辑建立地与网络上的其它节点的连接。

    一个网络变量NV是节点的一个对象,它可以定义为输入网络变量或输出网络变量。当一个网络变量在一个节点的应用程序中被赋值后,LonTalk协议将修改了的输出网络变量新值构成隐式消息,透明的传送到可与之共享数据的其它节点或PC机。这里的网络变量其实为隐式消息。

    由于每个网络变量的数据长度一经确定就不能改变,且最多只有31B,所以限制了它的使用范围。为此,可考虑同时使用了Neuron C 提供的显示消息这一数据类型。显式消息的长度是可变的,且最长可以是228B显式消息必须使用一个预定的对象来构造,然后使用显式函数以及预定事件来处理这些显式消息。用预定事件msg_arrives来接收消息。

(本文仅供学习参考,不代表本网站赞同其观点及方法)

海思支持WEB功能的LonWorks智能网络服务器

返回顶部

    版权所有:南京海思自动化系统有限公司    网站地图:Sitemap        苏ICP备13027346号-1
电话:025-52804590 52804690 地址:南京市白下高新产业园区永丰大道8号B2-503室 网址: www.highsys.com.cn
版权所有:南京海思自动化系统有限公司
总机:025-52804590 / 52804690
市场部:8008分机  售后部:8006分机
手机:18905184663(市场)  邮箱:highsys@163.com
南京市白下高新产业园区永丰大道8号B2-503室