关 闭

新闻中心

EEPW首页>工控自动化>设计应用> 基于LonWorks水厂前端智能节点的配置与实现

基于LonWorks水厂前端智能节点的配置与实现

作者: 时间:2012-10-27 来源:网络 收藏

4编程
在整个系统中,除了LonWorks提供的系统开发程序之外,大量的应用程序须结合现场需求来编写。由于C语言提供位操作指令,因此是一种非常适合于编写与硬件相关的控制程序的语言。为了便于用户使用,Echelon公司在推出Neuron Chip和系统开发程序之外,还提供了Neuron C编程语言,一种基于ANSI C而为神经元芯片开发设计的编程语言。对ANSI C进行了扩展,允许程序员以自然的方式描述事件驱动任务,可控制任务执行的优先级,可将I/O对象直接映射到处理器的I/O端口,通过定义网络变量把受控对象联系起来,还可为用户提供一种实现节点之间数据共享的简单方法,支持显式报文传送,还可直接对LonTalk协议的底层设备进行访问,便于设计LonWorks系统应用程序。
由于LonWorks系统程序中包含NodeBuilder,因此对编程可在NodeBuilder环境下进行。步骤包括:1)定义IO对象;2)定义定时器对象;3)定义网络变量;4)定义显式报文;5)定义任务;6)编写自定义函数等。
其中网络变量和显式报文是节点之间交换信息的载体,是在LonWorks网络上传送的数据包。节点之间的联系主要是通过网络变量来实现的,因此使用网络变量可实现LonMark的互操作性,方便编程和安装。而Neuron C编程的主要对象就是网络变量NV(Network Variables),又称隐式消息,是节点上的一个对象。其类型可以是整型、布尔型或字符串型数据,用户可在应用程序中自由定义。显式报文也称为显式消息,其中数据长度最大228个字节,而网络变量最多31个字节。而任务,是对事件的反应,即当某事件发生时应用程序执行何种操作。另外,还可以在Neuron C程序中由用户编写自定义函数,以完成一些常用功能。和标准C不同,Neuron C必须要写出函数原形,也可以将一些常用的函数放到头文件中,以供程序调用。
由于在进行模拟量数据采集和控制的时候,通过串行口和神经元芯片进行通信,因此选择Neurowire IO对象,即同步全双工串行通信模式IO对象。对11个IO引脚的定义为:IO_0到IO_7是片选信号,IO_8是时钟,IO_9是数据出,IO_10是数据入。就是说,该I/O对象使用全同步串行数据格式传送数据,数据被移入的同时也进行数据移出。NeurowireI/O对象还可被配置为主/从模式。主模式,时钟信号输出;从模式,时钟信号是输入。在主模式下,引脚IO_0~IO_7中的一个或多个可被用作片选信号,在从模式下,引脚IO_0~IO_7中的一个可被设计成超时引脚。
当使用具有不同比特率的多路复用串行对象或Neurowire I/O对象时,必须使用编译器指令“#pragmaenable_multiple_baud”,且在所用I/O函数(如io_in()和io_out())之前。其中,对Neurowire输入/输出对象进行显式配制的Neuron C语句如下:
IO_8 neurowire master |slave[select(pin-nbr)][timeout(pin-nbr)]
[kbaud(const-expr)][clockedge(+|-)]io-object-name;
作用是:IO_8:指定Neurowire输入/输出对象使用引脚IO_8~IO_10,其中IO_8时钟信号,IO_9串行数据输出,IO_10串行数据输入;
Master:指定Neuron芯片在引脚IO_8上提供时钟,输出;
Slave:指定Neuron芯片检测引脚IO_8上的时钟,输入;
Select(pin-nbr):为Neurowire master指定片选引脚,为IO_0~IO_7之一;
Timeout(pin-nbr):为Neumwire slave指定一个可选择的超时信号引脚,其范围是IO_0~IO_7;使用超时信号引脚,当neuron芯片等待时钟的上升沿或下降沿时,将检查该引脚的逻辑电平,如果检测到逻辑电平为“1”,停止传输;
Kbaud(eonst-expr):为Neurowire master指定比特率,const-expr可为1 kb/s、10 kb/s或20 kb/s;对于10 MHz的Neuron芯片输入时钟,缺省值为20 kb/s;
Clockedge(+|-):指定数据触发时钟信号极性,clockedge(+)为上升沿,clockedge(-)为下降沿;
io-object-name:由用户为该I/O对象指定的名字。
将系统中所用设备和IO对象进行定义,并对所用节点进行编程后即可连网使用。例如利用采集开关量信号来控制指示灯,来实现对数字量的输入和输出控制。其中数字量输入程序如下:
d.jpg

5 结论
文中分析了LonWorks智能节点的组成原理、编程和使用,又介绍了用其构成网络的底层控制网所用设备和组网方法。这对于任何设计自动化生产线的工程项目,都有一定的参考价值。

本文引用地址://m.amcfsurvey.com/article/159752.htm

超声波液位计相关文章:超声波液位计原理


液位计相关文章:磁翻板液位计原理



上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭