zoukankan      html  css  js  c++  java
  • ifix重用性模块化开发纪实(以污水处理泵站为例)

         在经过多个自动化上位机的开发后,对上位机的重用开发和提高效率,减少重复工作有了一定的积累。故而产生了模块化建设上位机的思路。现从当下项目开始,研究出一套可重复利用的模块化系统。

    1.点表整理

    从PLC工程师获得泵站点表,主要包含:DI/DO(设备状态显示/控制),AI/AO(模拟量输入输出),自动状态显示/控制点等等

    获取后,统一编写tagname规则:比如BZ1_BENG1_AUTO(1号泵手自动显示),BZ1_BENG1_K(1号泵开启)等等。这样做的好处,既可轻松扩展,BZ2,BZ3。。。又可以添加画面的时候,使画面能够重用。

    要点:在ifix安装后,记得提前将使用传统历史库的补丁程序安装好。

    2.画面添加

    2.1主画面制作

    主画面为主要控制图,分为两个部分:1.画面点的添加,2.底图的制作。从第一步获得的点表,将其显示控制点添加到相应的合适位置即可。关于底图的制作,可以利用3D技术,直接制作一张3D图即可解决位置,这样的好处就在于3D既可以形象的描述位置,又节省了开发图形的时间,更换效率提高。

    2.2布局和模块整合

    在基于先前的开发经验的情况下,采用了上标题,下控制按钮,右下报警一览的布局。

    模块的整合分为:

    用户登录模块,主画面,报警,趋势,报表,语音播报这几个模块。

    用户登录模块:主要用来用户注销/切换,系统退出。切换的目的在于,提高权限,获得可以修改参数设定的权限。

    要点:SCU中配置安全时,通过配置普通用户和管理员之间的安全区域的不同来实现

    报警:主要分为历史报警/实时报警。

    要点:历史报警,需要在SCU中配置相应的点,ODBC中建立桥接,和数据库中需要新建sql server数据库。在重用模块时,要提前配置好。

    趋势:分为历史趋势/实时趋势

    要点:历史趋势,提前在hta.exe中将要采集的点添加好,拓展时,只要新添加就可以了。在后台程序中记得,添加HTC.EXE进行采集。

    报表:添加fixground开启后台。

    要点:本系统采用.NET开发的报表程序,使用后台调度,将需要的数据通过后台调度记录到SQL Server中,然后进行整理和展示。

    语音报警:

    要点:利用后台事件调度,编写vba脚本,实现报警时,弹出报警提示框,并通过语音将报警内容进行播报,同时写入事件和故障报警报表中去。

    3.重用备注

    在将模块化建立的上位机准备好后,压缩,以供可以实现高效的重用实践,其中主要事项如下:

    1.单个泵站情况:

    点表整理:

    对比设备增减:如泵数量增减,格栅增减等,tagname不变,将地址替换。

    画面替换:

    将底图替换,删减画面点。

    环境配置:

    主要指的是,模块化需要的环境:

    1.历史趋势传统数据库补丁安装。

    2.历史报警,启用ODBC,建立和模块化规定好的名字,以及报警数据库名字。

    3.语音报警,将语音插件提前安装好,将后台调度中相应播报内容改为实际运用泵站即可。

    2.多个泵站集成

    多个泵站类似单个泵站集成,主要区别:

    点表集成时,主要名称扩展BZ1,(泵站1),BZ2(泵站2)依次类推。

    主画面也可以直接扩展修改即可。

    报警,趋势,报表直接可以进行合并,添加。

    总结:

    对模块化建设的上位机提出,实际上是重用思想的一种体现。可能大家都在这样做,将先前项目移植过来,然后修修改改。本人将其打包整理好,更易理解其规律,防止时间过久,对开发的内容生疏,又得从头开始。总的来说,这样更容易形成个人风格,提高开发效率,是一次有意义的尝试。

    欢迎大家有什么意见和建议可以讨论。

  • 相关阅读:
    linux下使用OpenCV的一些问题
    Google Colab调用cv2.imshow奔溃
    [LeetCode] Word Search
    信号
    信号
    [Leetcode] Subsets
    [LeetCode] Combinations
    [LeetCode] Minimum Window Substring
    [LeetCode] Set Matrix Zeroes
    sigaction 函数
  • 原文地址:https://www.cnblogs.com/cache-yuan/p/10104242.html
Copyright © 2011-2022 走看看