1 引言
1.1 组态控制软件
组态控制软件是可实现各种控制功能的具有配置性质的程序。通过组态就可以实现预定的控制方案。可以使用户在不需要编代码程序的情况下,便可生成适合自己需求的应用系统,这些应用系统软件就是组态软件,它由开发人员完成,本文提出了基于LonWorks网络控制来实现对组态软件的开发方法,提出了一种基于LonWorks网络技术的组态方法,给出其设计思想和实现方法。
1.2 LonWorks网络控制方法 – 节点
LON网上的每个控制节点称为LON节点或LONWORKS 智能设备,它包括一片Neuron芯片、传感器和控制设备、收发器和电源。
Neuron芯片是节点的核心部分,它包括一套完整的通信协议,即LonTalk协议,从而确保节点间使用可靠的通讯标准进行互操作。因为Neuron芯片可以直接与它所监视的传感器和控制设备相连,所以一个Neuron芯片可以传输。
传感器或控制设备的状态、执行控制算法,和其它Neuron芯片进行数据交换等。使用Neuron芯片,开发人员可以集中精力设计并开发出更好的应用对象而无需耗费太多的时间去设计通讯协议、通讯的软件和硬件,这样减少了开发的工作量,节省了大量的开发时间。
LonWorks节点编程是用Neuron C 来实现的,程序要经过编译和烧录后才能载入节点中运行;或者也有一些节点经过编译可以直接下载到节点运行。在此我们把组态的思想引入组态控制软件中,为控制网络预先提供丰富的控制功能模块,通过改变网络节点之间的逻辑关系来达到改变网络控制功能的目的。
1.3 引入组态到LonWorks控制网络的优点、特点
● 用户不需要用Neuron C语言编程,只要根据实际需要进行适合自己的组态配置。
● 实现的功能多,方便用户实现各种控制功能。
● LonWorks本身带有通讯协议,组网方便、灵活。
2. 基于LonWorks的组态控制
2.1 组态软件生成:
有的组态软件将控制功能模块称为“软PLC或Soft PLC”,也有的称“软逻辑”。组态控制软件编程工具采用图形化编程语言,只需用鼠标“点击、拖动”就可以建立一个可重复使用的控制方案,大大减少工程时间和人力。一个应用程序中可以有很多控制模块。开发人员利用Neuron C 语言编制通用控制程序。通用控制程序由许多基本功能模块组成,各个模块可以实现不同的控制功能。基本功能模块有若干个输入和输出,每个输入和输出管脚都有唯一的名称,不同种类的功能块其每个管脚的意义、取值范围也不相同。
控制模块基本功能块包括:数学运算模块(实现数的加、减、乘、除、乘方、开方等基本运算);逻辑运算模块(实现逻辑的与、或、非、延时、选择开关等功能);变量模块(提供运算的操作数并存放最终的运算结果)以及常用的控制算法模块(例如PID控制等)。
组态控制软件存盘时自动对程序进行编译、检查语法错误,同时生成一定格式的消息包,准备传递给Neuron芯片。这些特定格式的数据包有:控制模块综合描述(例如所含的控制模块总个数,参数总个数,中间变量总个数等),各模块的描述(例如该模块的模块数,参数个数,中间变量等),各模块的参数表,各模块代码表,各模块的中间变量存放顺序表等。
组态Neuron节点通过显式消息与PC机进行通讯,接收模块消息包。该节点中存有与基本功能模块相应的执行模块代码,将数学模块、逻辑模块、变量模块和控制算法模块等分别写成单独的函数,可按照组态软件生成的消息包被调用,并可将执行结果传送给PC机或其它 Neuron节点。假如组态中某个功能块的参数发生了改变,则重新编译程序并将最新生成的模块消息包发给 Neuron芯片,使之总是执行最新的功能块,实现组态的在线编译与控制。组态Neuron节点在接收消息时,根据消息标签将消息数据赋给该节点定义的不同的数据结构。只有当组态软件生成的所有相关消息被收到后,功能块才可以执行。
Neuron各节点之间通过网络变量进行通讯。在组态Neuron节点中,预定义一定数量的网络变量,既有输入类型,也有输出类型。其总个数不超过Neuron C 语言中允许定义的网络变量的总个数。