本文由 chliuhui 贡献
doc 文档可能在WAP端浏览体验不佳。建议您优先选择 TXT,或下载源文件到本机查看。
系统通信软件设计与应 城市燃气输配 SCADA 系统通信软件设计与应用 上海航天能源有限公司 金永功 Shanghai Aerospace Energy Co., Ltd, Jin YongGong
摘要 : 根据几个城市燃气输配 SCADA 系统的通信软件的设计和使用 , 总结了燃气输配 SCADA系统通信的一般需求,介绍一种通信软件程序设计思路,可以灵活高效地实现燃气输 配 SCADA 中数据 的采 集和监控管理 . Abstract: Program and application of the communication softwares of several city gas distribution SCADA system, this paper has collected the common requirement,also introduced an idea to program the communication software. 主 题 词 : 燃 气 输 配 SCADA 通 信 软 件 Key words:gas,SCADA,communication software
目前 , 输配管理广泛应用 SCADA 系统对城市燃气运行参数进行采集和监控 . 燃气输配 SCADA系统一般 由现场RTU,通信链路,控制中心通信服务器,数据服务器,SCADA系统服务 器和操作员终端等部分组成 . 城市燃气输配 SCADA 系统数据采集和监控一般采用多种通信 手段 , 除城市门站 , 大型调压计量站等有 条件使用专线光纤或虚拟 VLAN 虚拟局域网等通 信外, 大部分监测控制点则广泛使用 PSTN,GPRS,GSM, 数传电台等有线 ,无线通信方式 , 控制 中心可采用点对点或广播方式向 RTU 发送遥测 , 遥信 , 遥控命令 . 当控制中心采用点对点方 式,RTU先进行站号确认,然后根据命令执行相应操作;采用广播方式时,RTU只接收并执行命 令, 如校对 , 修改时间等操作 . 而监测控制点运行异常时 ,RTU 则将报警主动上报控制中 心. 控制中心通信服务器与监测控制点 RTU 之间的通信协议常采用标准 , 开放 , 易扩充的通讯 协议如DNP3, MODBUS等,以利于系统的扩充,升级和改造•通信程序按程序运行环境的不同 一般可分为三个部分 : 1. 人机交互 :系统维护 , 对各个站点通信进行管理和监控 ,在操作员终 端上实现2.轮询处理/连续监控/报警处理:通信服务器上实现,将数据送到数据服务器,通 信系统的核心3. RTU 通信应答和报警主动上报:在现场RTU上实现,通信系统的基础 通信 系统人机交互 一,通信系统人机交互 为灵活应用燃气输配 SCADA 中通信系统数据的采集和 监控管理而设置 . 采 用参数化方法管理系统 的配置 ,删减,扩充, 端口设置等 .一般地 ,燃气输 配 SCADA 系统随着日新月异的城市规划和建设 , 不 可避免地新增监控点 , 或对已有监控点进 行调整 , 因此在人机交互界面即操作员终端上对各个站点通信 进行管理和监控 , 由操作人员
而非专业人员即可完成 , 可以极大地方便用户使用 . 人机交互主要有以下几个参数 : 站号, 站 点名称 ,查询设置功能 , 当前通信状态 ,以及轮询周期设 定, 站点的增加 /取消/陕西理工大学魏乐修改. 查询设 置 当前状态 轮询周期 150 分 , 确认 主用通信 备用通信 主用通信 备用通信 1 东方热电 投入▼投入▼正常正常增加站点2第一钢管暂停▼投入▼暂停正常修改站点3 游泳馆 投入 ▼ 无 ▼ 通信中 6 贝拉纺织 投入 ▼ 无 ▼ 故障中断 删除站点 9 长江化 工 投入 ▼ 无 ▼ 暂停 1, 站号 , 站点名称 站号是某个燃气用户在通信系统中的身份代号 , 与现场该站点的 RTU 代号对应 . 一般在系统中按 照实施顺序编制站点站号 . 站号是通信系统 重要的识别码 ,为通信可靠 , 避免干扰和误动 ,根据站号可 在通信软件内做加密算法处理 . 2, 查询设置功能 主用通信可在 "投入, 暂停"两个选项中选择 , 备用通信在 "投入, 暂停, 无"三个 选项中选择 . 该功能对用户灵活监控各个站点而建立一个简单的配置界面 . 如因某种情况需
要重点查询某几个站点 , 则可以将一部分站点暂时屏蔽 . 为了检验备用通信的有效性 , 有时也 需要将主用通信停止 , 启用备用通 站号 名称
信.对每个监控点的灵活设置 ,根据现场情况随时投入或暂停查询 ,可以有效控制通信费 用. 3, 当前通信状态 显示所有站点当前的通信状态 , 可显示 "正常, 通信中 , 暂停, 故障中断 " 四种信息 . 4, 轮询周期设定 因燃气输配 SCADA 具有大量检测点 , 通信系统的运行费用不可 忽视. 设定轮询周期 Tc, 不仅可以 根据实际需要设定查询的频次 ,而且可以有效地控制通信 系统运行费用 . 5, 站点增加 ,取消和修改 因为随着城市的建设 ,监控站点不仅肯定要增加 , 也 存在取消的可能 , 或者改造 , 迁移等变化可能 , 该功能为站点变化提供一个操作简单的人机接 口,对站点及其信息如地址 , 号码的管理 ,可使提示信息 及时更新 ,也可使通信系统避免运行 中产生垃圾信息 , 以降低通信服务器的运算负荷 . 在实际应用中 , 有的通信系统的参数设置界 面在通信服务器上 . 但因通信服务器的网络和运算十分 繁忙, 有时出现人机交互非常困难的 情况,在操作员终端上则没有这个问题 . 因此,通信软件的人机交 互一般设在操作员或工程师 终端上比较合适 .
连续监控 /报警处理 二,轮询处理 / 连续监控 报警处理 轮询处理 连续监控 该功能是通信系
统的核心部分 ,在通信服务器上实现 ,软件设计时主要分为初始化 , 轮询 处理,发送 接收, 连续监控和数据处理五个子模块进行 .轮询处理和连续监控都是通信服务器 主动查询 RTU 应答, 报警处理则是通信服务器处理 RTU 主动上报的信息 . 轮询和报警处理 由通信服务器自动控制进行 , 而连 续监控是操作人员人工指令发出的 ; 轮询处理的通信通道 为通信服务器的主通道 , 而连续监控和报警上 报一般通过备用通信通道进行 氨气压缩机
. 通信服务器一 般设置多个通信通道 . 1, 初试化模块 初试化的任务是复位轮询指针 P 和向数据服务器发送 标志 Dx, 指定缺省轮询周期 Tc, 记录当前时刻 为本次轮询开始时刻 Ts, 轮询标志 In 置 1, 轮询指针 P 置 0. 为从各站点 RTU 传送的数据包分配临时存 贮地址 , 并将其全部置为 0, 等待 RTU 传回数据 . 地址分配表应满足所有站点的通信量 . 地址分配表以通讯服务器的内存 大小和数据量最大的站点 RTU 打包发送数据长度而定 . 一般门站 湖南大学综合管理系统, 大型调压计量站压力 , 温 度, 流量等现场参数的监测数据较多 , 以此为准保留足够的备用量 . 2, 轮询处理模块 初始化 完成后,根据人机交互对站点查询标志 lp(p=1,2…)的设置,计算出查询数量 n,轮询指针 p 依此向每个站点发送查询请求 . 设置正 在通信状态 Comm 标志 , 根据站号打包查询请求命 令, 然后调用发送 接收模块 , 轮询指针 p 指向下一个查询点 裆部.所有站点查询完成之后 , 并 且 在当前时刻 Tn 与上次采样开始时刻 Ts 之差大于采样周期 Tc 时 , 进 入下一个轮询周期 .
如果某个站点查询失败 , 在所有站点查询结束本次轮询周期结束之 前, 轮询处理模块会继续 对该站点进行查询 2 次.如果仍未成功 ,将通 过数据服务器向 SCADA 服务器发出报警信号 提醒操作人员 , 操作人员 可采用连续监控功能通过另外渠道与该站点建立联系获取现场数 据, 或 派人维修 . 依据投入查询的站点数量 , 当手动设定的轮询周期 Tc 过小时, 系 统自动 调整轮询周期 .轮询处理模块软件流程如右图 . 3, 发送接收模块 当通信状态 Comm=1 或连续 监控时, 发送接收模块自动将查询请求 数据包发出 ,RTU 应答数据包返回 .当 RTU 故障上报 时, 发送接收模 块先判别数据包类型 , 然后调用数据处理模块 . 4, 连续监控模块 手动功能 . 当某站点出现故障或需要对电动阀门等重要设备进行遥控操作时调用该模块 . 通信服务器 向
RTU 发送连续监控请求 ,RTU 则按照预先设定的频次向通信服务器反馈现场状态数据 . 5, 数 据处理模块
RTU 返回数据经解包并核对密码后 , 将数据解析并向数据服务器发送数据标志 Dx, 会计研究将数 据发送到数 据服务器 , 程序返回 .当 RTU 故障上报时 ,通过备用通信通道将数据发送到通信 服务器 , 也调用数据处 理模块 , 由其它软件部分完成报警处理功能 . 6, 公共模块 为完成与
各 个 RTU 的通信 ,忠实的再现和反映调压计量设备压力 ,温度, 流量等状态 ,进行运行分 析和事 故追溯 , 软件设计了时间校准模块 , 通过广播方式对各个 RTU 的时间进行校调 . 对于时间同步 要 求较高的 , 可选用 GPS 实时全球定位系统 , 可使控制中心和各站点的时间保持同步 . 三,RTU通信应答和报警主动上报 入口 RTU通信软件是整个通信系统的基础 ,分为数据记录
模块,应 答/上报和连续监控两个模块进行设计 . 应答 no yes 采样周期 Tn 1, 数据记录模块 应答模块no Tp-Ts > Tn RTU时时刻刻都应监视,记录现场工作状况•正常情况下,控 制中心 通信服务器向各个站点 RTU 轮留发出查询请求 ,RTU 接到 Pr 清零 yes 采样时刻 Ts 请求
Rq 时应答将数据反馈到控制中心 . 当发生异常时 RTU 主动上 记录 Ts 报给控制中心 . 数据 记录模块软件流程如右图 . yes Pr>N 因为数据查询是间断的 ,为向控制中心反馈当前和两次 查询时 no 刻 之 间 的 现 场 参 数 , RTU 创 建 一 个 有 时 间 标 签 的 多 维 数 组 所有 已经采集 Data 指针 Pr-1 Da(Pr-1, … )
Data(Pr,Ts,D1,D2,D3,D4, …)(Ts=0,Ts+t,Ts+2*t, …;Pr=0,1 …N),用 Pr+1 于记录在各个
时刻的数据 ,记录指针 Pr 计算采样的次数 .根据 RTU Da(Pr-1,Ts,D1, …) 存贮量的大小 ,确 定记录指针 Pr 的最大值 N. 当 Pr 超过最大值时 , 采样 Data 采样的次数不再增加 , 随着采 样周期更新数组整体移位 , 屏弃最早 的一组数据 , 记录当前最新的采样 . 以采样周期 t=5 分 钟为例 , 假设 RTU 可以完整记录 8 个小时的数据 , 即采样次数为 60*8/5=96 次 . 这 样即使 通信偶然中断 , 但依然可以恢复前 8 个小时内的数据 , 忠实的再现燃气设备现场运行的情况 . 若 提高采样周期 , 则可以追溯更早的数据记录 . 2, 应答和上报模块 当 RTU 接收到控制中心 的查询请求或 RTU 故障上报时 , RTU 自动将数据记录模块形成的数据记录打 包发送 , 同时 将采样时刻 Ts 置为当前时刻 , 记录指针 Pr 置 0. 然后重新执行数据记录模块 . 当通信服务 器向 RTU 发送连续监控请求时 ,RTU 自动将数据记录模块形成的数据记录打包发送 , 数 据记 录模块停止执行 南京四开电子企业有限公司, 并按照预先设定的频次向通信服务器反馈现场状态数据 , 直至通信服务器终 止连 续监控请求 , 将采样时刻 Ts 置为当前时刻 , 记录指针 Pr 置 0, 然后重新执行数据记录 模块•需要注意的是,当使用MODBUS通信协议时,因为MODBUS是主从协议,且可能因为通 讯中断的原因造 成应答的数据记录是变值 , 而控制中心通讯服务器无法预知数据记录长度 , 因此通讯服务器收到的数据 长度与请求的数据长度不一致,此时通信不是标准 MODBUS协议.