当前位置:文档之家› 现场总线_现场总线应用实例

现场总线_现场总线应用实例

1 流水号 2,3 温度 4,5 压力 6,7 热量 8,9 流量 10,11,12 累计热量 13,14,15 累计流量 16,17 掉电时间 18 掉电次数 19 时 20 分 21 校验和
多字节数据按高字节在前、 低字节在后的顺序排列。
5. 桥接节点与热流计的 工作原理和数据结构
现场总线控制系统
现场总线应用实例
一、分布式热能计量和管理系统
系统配置 节点安装的完整过程 工作方式 桥接节点的命令格式和热能仪的数据帧定义 桥接节点与热能仪的工作原理和数据结构 两个函数定义 保证数据准确性的措施 更新数据的方法
1. 系统配置
PCNSS 网络接口卡 PC 机 LonWorks 网络
命令: OUTBUF[0]←”P”的ASCII码(50H,这利用0X50表示) OUTBUF[1]←流水号(一个递增的正整数) OUTBUF[2]←回车符( ASCII码为0X0D) 数据格式:INBUF[0]~INBUF[20]对应21个字节。
6.两个函数定义
发送命令: unsigned short OutBuffer[3]; //定义发送缓冲区 unsigned short PollCount = 0; //定义流水号 ...... void SendData() //SendData为发送数据的函数 { OutBuffer[0] = 0x50; //或者 = ‘P’ OutBuffer[1] = PollCount; //发送流水号 OutBuffer[2] = 0x0D; io_out(serial_out, OutBuffer, sizeof(OutBuffer));//发送命令 PollCount++; //改变流水号 if(PollCount > 100) //如果流水号大于100 PollCount = 0; //流水号置为0 }
桥接节点在需要数据时,向热流计发送命令; 热流计利用串口中断方式予以响应,并发送数据; 需要用如下语句声明串行口I/O对象,一个为输入对 象,另一个为输出对象。 IO_8 input serial baud(4800) serial_in; IO_10 output serial baud(4800) serial_out; 数据结构:
2.节点安装的完整过程
要使一个含Neuron芯片的节点与LON网络连接,并能与网上的其 它节点进行通信,除了对此节点设备编写应用程序(包括通信)之 外,还必须对此节点进行适当的配置。 安装一个网络节点,应遵循下列步骤: 装配好整个应用设备的硬件; 编译用户的Neuron C应用程序,同时输出设备的外部接口文件以及 下载应用程序(.XIF); 将设备的外部接口文件拷贝到Profiler的XIF目录下,运行Profiler, 输入外部接口文件,创建指定外部接口的应用类型; 运行LonMaker,安装并捆绑在Profiler工具中已定义的应用类型的 设备。
(4) MODEM的操作及编程
一般的MODEM均提供一组通用的AT命令、S寄存器和结果码集。 AT命令可与软件一起用来配置MODEM,实现与远程系统的通信。每一 条AT命令都对应MODEM的某种动作。 在数据通信前,发送方应以音频或脉冲形式发出拨号命令,其 MODEM 一直在等待着对方MODEM送来的载波信号,如果未能在规定时间内检 测到载波信号,MODEM会自动释放线路并送回结果码“NO CARRIER”;一旦检测到载波信号,MODEM会送回结果码 “CONNECT”,表示双方线路连接成功,此时即可与远程系统进行数据 通信。 发送方在发出AT命令后,可根据其MODEM的返回信息得知AT命令是 否执行、电话线路是否空闲、双方MODEM是否正确连接、波特率如何 等信息,并据此决定重新呼叫还是进入数据通信阶段。 待数据通信完成后,双方MODEM要用“+++”命令拆链挂机,将数据传 输状态转换为AT命令状态,此时,可以用“ATH0”命令来实现挂机。
(2) 处理程序 ...... if((GetCheckSum() != InBuffer[21]) return; //如果校验和不对,退出 if(PollCount != InBuffer[0]) return; //如果流水号不对,退出 其一,准确性; 其二,可靠性。
8. 更新数据的方法
网络变量方法:
显式报文方法: msg_out.data[0] …… msg_out.data[20] ……
msg_send()
组态时通过DDE方式传递数据
填写如下几项:
DDE Application/Server Name:LMSRV1 DDETopic(Access) Name:任意 如:DDETopic 或 MsgTag TagName(Item):VarName msg_in_1 (1为Code代码)
stimer tmPoll;
//定义秒定时器对象,名称为tmPoll
when(timer_expires(tmPoll)) { SendData(); delay(500); ReceiveData(); if(GetCheckSum() != InBuffer[21]) return; if(PollCount != InBuffer[0]) return; //数据处理部分 tmPoll = 1; //重新启动定时器 }
#define BaudRate 4800 //定义数据传输的波特率 IO_3 output bit RTS; //将Neuron芯片的IO_3脚定义为RTS信号的控制引脚 IO_8 input serial baud(BaudRate) Serial_In; //将Neuron芯片的IO_8脚定义为 串行输入脚 IO_10 output serial baud(BaudRate) Serial_Out; //将Neuron芯片的IO_10脚定 义为串行输出脚
接收数据
unsigned short InBuffer[21]; //定义接收缓冲区
void ReceiveData() //ReceiveData为接收数据的函数 { io_in(serial_in, InBuffer, 21); }
7. 保证数据准确性的措施
(1) 计算校验和的程序 short GetCheckSum(void) { short i, Result; Result = 0; //结果先清零 for(i = 0; I < 20; I++) Result += InBuffer[I]; return Result; }
1.系统结构
智能仪表1
FCS网络
. . .
… MODEM 可连接到信息网 RS-232 网关 路由器1 . . . FCS网络
. . .
智能仪表n

RS-232
MODEM
智能仪表1 …
PC监控机
公共电话 网 MODEM
智能仪表m …
RS-232
路由器k
2.系统各部分功能
要实现监控中心对分布在各区域的现场装置和情况进行 远程遥测、遥信、遥控,准确获取各种现场信息,要 求系统中的各部件各司其职。 各智能仪表负责对现场信号的采集、状态监测和实时 控制等,并利用LonWorks技术提供的通信服务,实 现复杂分布式的底层应用,并与其它智能仪表和路由 器进行对等方式的双向数字通信; 作为远程分布式监控系统神经中枢的路由器,利用 Neuron芯片的串行I/O对象、MODEM和公共电话网 等技术支持和现成资源,承担智能仪表与监控中心主 机之间的命令或实时数据的双向传输; 监控中心的主机则通过RS-232标准串行接口,直接与 MODEM相连,远程通过公用电话网对分布在现场的 路由器进行监控,实施对智能仪表的过程组态、维护 管理、网络通信、信息处理和动态监控等操作,以及 与信息网之间的数据通信。
(3) 路由器中Neuron串行I/O对象的编程
Neuron芯片和LonTalk协议不仅构成了智能仪表的核心,也 构成了路由器的核心。路由器中的Neuron芯片既要像一般 智能仪表那样,在网内实现点对点通信;同时还要通过相 应的接口对象实施与MODEM的连接与控制,以实现现场 FCS与监控主机之间的通信。利用Neuron芯片直接提供的 I/O接口、以及所支持的位输出I/O对象和串行I/O对象,通 过对I/O对象的定义、编程,可方便地实现与MODEM的接 口和基本控制,从而满足远程数据载波方式的异步串行通 信功能。下列语句有效定义了MODEM接口所必需的基本 控制信号和串行通信接口。
(2) 监控主机串行通信口的初始化
监控主机PC均配有串行异步通信接口,其 接口板上所用的通用异步接收/发送器(UART) 是一片可编程8250芯片,内部有用于编程的波 特率因子、线路控制、调制解调器控制、中断 控制等寄存器。为保障MODEM间的异步串行 通信数据的传送格式正确,需对串行通信口和 MODEM进行初始化,以正确设定串行通信的 波特率、数据传送格式、是否允许中断、发送 或接收数据、以及对MODEM 的初始化状态设 置等。只有按照双方的通信数据格式要求和通 信速率等性能,正确设置好初始状态, 才能保证通信成功。
3. 工作方式
采用主从方式:
智能节点为主设备,发出Polling命令; 热流计为从设备,响应命令后传送数据。
4. 桥接节点的约定命令格式
占据3个字节:
1 2 3 命令码(“P”的ASCII码) 流水号(自动递增) 回车符(用ASCII码表示)
4. 热流计的数据帧定义
共提供21字节的数据,分别表示为:
二、采用现场总线与公共 电话网的远程监控系统
需求:在电力、热能、供水、煤气、污水监控、环境监测等
分散目标的监控系统中,需要解决现场装置的实时数据 采集、控制和现场信号的网络通信问题。 解决方案: 远程分布式监控处理系统是一种较为完美的解 决方案。 用直接嵌入网络通信协议的智能仪表完成现场实时信息 的检测、控制和通信任务; 现场采用现场总线形式,将分布在各处的智能仪表联网; 远程采用公共电话线现存资源联网; 真正用网络技术构成监控系统的操作平台,为构成高性 能的监控系统提供了保障。
相关主题