`
isiqi
  • 浏览: 16485551 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

工控项目开发框架介绍

阅读更多

结合公司多年各系统平台开发维护的经验,逐步确立了统一各系统平台的思想,在平台建立完善的基础上进行系统的二次开发。

目前焦炉四大机车系统、烧结配水系统、隧道广告系统已实现平台统一(如下图)。

<shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="图片_x0020_0" style="VISIBILITY: visible; WIDTH: 369.75pt; HEIGHT: 103.5pt; mso-wrap-style: square" alt="GK08042301.JPG" type="#_x0000_t75" o:spid="_x0000_i1027"><imagedata o:title="GK08042301" src="file:///C:%5CDOCUME~1%5C%E5%8F%B6%E5%B8%86%5CLOCALS~1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image002.jpg"></imagedata></shape>

一、 开发框架组件结构

<shape id="图片_x0020_1" style="VISIBILITY: visible; WIDTH: 415.5pt; HEIGHT: 249pt; mso-wrap-style: square" alt="GK08042302.JPG" type="#_x0000_t75" o:spid="_x0000_i1026"><imagedata o:title="GK08042302" src="file:///C:%5CDOCUME~1%5C%E5%8F%B6%E5%B8%86%5CLOCALS~1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image004.jpg"></imagedata></shape>

* IOServer :一个后台管理程序和很多驱动共同组成,属于数据采集部分,通过它可以和不同PLC、智能仪表、远程PC机上的程序和本机程序等软硬件进行数据交互。

* 系统核心组件:联系前台和后台的枢纽程序,包括以下几个组件:IO数据访问(Swl.ocx),SQL数据库访问(SwDB.ocx),报表打印预览(Swp.ocx),图表曲线(TeeChart5.ocx),数据表格(Vsflex7L.ocx)。

* 系统项目框架,是系统前台界面和相应数据报表处理程序的管理平台。包括主界面程序(JRSystem.exe),数据初始化(BKInit.exe),数据编辑(DWParam.exe),密码修改(SetPassword.exe),系统信息显示(SystemInfo.exe);

二、 IOServer

基于PC上的后台驱动平台已经成熟,该程序从2005214日开始开发,距今已有多年,目前四车、配水、隧道广告都采用该后台(系统在现场一致运行正常)。

关于IOServer的详细介绍,请参见我其它时间写的文章。

http://blog.csdn.net/yefanqiu/archive/2005/10/05/495547.aspx

http://blog.csdn.net/yefanqiu/archive/2006/05/02/705356.aspx

http://blog.csdn.net/yefanqiu/archive/2006/05/23/751451.aspx

http://blog.csdn.net/yefanqiu/archive/2006/05/27/757327.aspx

三、 系统核心组件

* IO数据访问(Swl.ocx),通过变量名称,可以很方便的读写后台数据(可以是多个程序共同访问IO数据)。通过这个组件,后台数据访问的细节便被封装,前台界面可以不关心后台工作方式,而直接获取自己想要的数据。

* SQL数据库访问(SwDB.ocx),该组件最早来源于老版本的焦炉四大机车系统的SQL控件(在2004年开发),后升级改进而成。通过该组件可以很方便的访问SQL数据库。

* 报表打印预览(Swp.ocx),也是来源于焦炉四车系统的报表部分,经过再封装和改进(比如可以判断打印机是否在线等等),通过该组件可以实现表格数据所见即所打的打印功能。

* 图表曲线(TeeChart5.ocx),数据表格(Vsflex7L.ocx)都是第三方公司著名的组件,一个实现图表显示,一个实现数据表格处理。

四、 系统项目框架

该系统框架为各系统平台提供统一风格的操作界面:标题头,操作按钮,操作菜单等等。此外负责后台程序、前台程序的加载和前台界面的切换。

具体的工艺相关的部分,通过金日SDK开发包提供的样例程序进行开发(用VB开发,借助系统核心组件与IO数据进行交互),其它部分仅通过配置文件定制即可(如界面的颜色,按钮的多少,菜单选项的多少都可以定制)。

此外提供各系统通用的组件程序,如:参数初始化,参数修改,密码修改,信息查看程序等等。

五、 小结

通过采用成熟的开发框架,一是大大减少了开发时间,二是后期在软件方面的维护成本几乎为零。为了使开发平台更加通用化,后期我们又开发了组态软件(目前为嵌入式版本,可在我的blog查看相关文章),这样对于一般项目,其开发时间又近乎为零了。

牛顿为什么伟大,他说是因为他站在巨人肩膀上的缘故。我们没有资格站在巨人肩上,但我们站在我们自己搭的草台之上,也许也能比天生的巨人看的更远。

分享到:
评论

相关推荐

    C# .NET工控上位机开发

    .NET Framework是微软的开发框架,包含了大量的库和服务,如Windows Forms、WPF、ASP.NET等,为C#应用程序提供运行环境。而.NET Core是跨平台的开源版本,同样支持C#开发,且具有更小的体积和更高的性能。在工控...

    c#winform开发框架

    C# WinForm开发框架是一种基于.NET Framework的桌面应用程序开发工具,它为开发者提供了一套完整的控件、设计模式和架构,使得创建具有丰富用户界面的Windows应用程序变得更加便捷和高效。这款框架尤其适合初学者,...

    WPF Halcon机器视觉和运动控制软件框架 基于原有框架上二次开发

    WPF视觉软件源码,Halcon机器视觉和运动控制软件框架源码,WPF MVVM开发模式,1:1参考easyvision开发,集成几十个软件算子,纯源代码,上手可用。WPF MVVM开发模式,插件框架。 注意:此版本以添加ui设计器。具体...

    C#工控机开发实例 MODUBS TCP

    C#作为.NET框架的一部分,凭借其强大的编程能力和丰富的库支持,成为了SCADA系统开发的常用语言。本实例重点讲解如何使用C#通过MODBUS TCP协议进行工控机的数据采集,并利用自定义控件优化界面显示,提高数据处理...

    python项目开发实战超高清

    Python项目开发实战超高清课程是针对想要深入学习Python编程并将其应用于实际项目中的学习者设计的。本课程全面覆盖了Python编程的基础与高级概念,旨在帮助学员从理论到实践建立起完整的知识体系,提升解决问题的...

    C#.NET工控上位机编程基础课程.rar

    下面将详细介绍C#.NET编程在工控上位机中的应用以及相关的知识点。 一、C#.NET语言基础 C#.NET是微软公司推出的面向对象的编程语言,它继承了C++和Java的优点,并且与.NET框架紧密结合,提供了丰富的类库和开发工具...

    基于VisionPro的通用视觉框架平台

    开发环境: VisionPro8.3 + VS2012 +VB.net 简介:基于VisionPro的通用视觉框架平台 基于VisionPro 只需要配置通信,不需要写外部代码 通过绑定工位设置 通讯设置 实现自由通讯 自由显示 自由输入内容 支持...

    Qt工控ui制作.zip

    本压缩包"Qt工控ui制作.zip"很可能包含了一个基于Qt的工控系统项目,下面将详细介绍Qt工控UI制作的相关知识点。 1. **Qt框架**:Qt由Qt公司开发,提供了一整套的类库,支持创建窗口应用、嵌入式系统界面以及网络...

    基于stm32的典型工控板-立创基于stm32的典型工控项目.rar

    综上所述,基于STM32的典型工控项目涵盖了从硬件设计、软件编程到系统集成的全过程,涉及了嵌入式系统开发的多个层面。通过深入学习和实践,开发者可以掌握工业控制系统的构建方法,为实现高效、稳定的工控应用打下...

    24年最新版:WPFhalcon源码vm视觉和运动控制软件框架源码,全网最新(带ui设计器和轴卡运控),WPF MVVM开发模式

    24年最新版:WPFhalcon源码vm视觉和运动控制软件框架源码,全网最新(带ui设计器和轴卡运控),WPF MVVM开发模式,1:1参考easyvision开发,集成几十个软件算子,纯源代码,插件框架。 注意:此版本已经添加ui设计器。...

    delphi工控组件,带源程序

    开发者可以通过解压并学习这些资源,快速掌握工控组件的使用方法,并将其应用到自己的项目中。 总结,Delphi工控组件凭借其丰富的功能、广泛的兼容性和开放的源代码,成为工控软件开发的重要工具。无论是用于创建...

    C#winform高级设计(工控与界面)

    《C# WinForm高级设计(工控与界面)》是一份深入探讨C# WinForm应用程序开发的专业资料,尤其关注工控设备集成与用户界面设计。WinForm是.NET Framework中的一个关键组件,用于创建桌面应用程序,而C#作为.NET平台...

    Wpf框架模块.rar_WPF 界面框架_wpf 界面_wpf 软件框架_wpf样式_工业

    这个框架允许开发者专注于业务逻辑,而无需过多关注界面设计的细节,极大地提高了开发效率。 1. **WPF界面框架** WPF的界面框架基于XAML(Extensible Application Markup Language),这是一种XML标记语言,用于...

    WPF工控源码分享.rar

    首先,MVVM模式是现代WPF应用开发中的常用设计模式,通过将业务逻辑、数据模型和用户界面进行分离,提高了代码的可测试性和可维护性。源码中的MVVM实现可以帮助开发者理解如何有效地组织和管理应用程序的结构。 ...

    基于VC++工控组态软件的总体框架性设计与实现

    本文介绍了一种基于VC++的工控组态软件的总体框架性设计与实现方法。通过采用组件化的ActiveX技术、VC++与VB混合编程技术、OPC规范以及实时数据库的设计等关键技术,实现了系统的高度可扩展性和易用性。这种设计方案...

    1762_1762工控卡控制程序_C#工控_工控板_pointij1_C#研华_

    在工控领域,C#的优势在于它提供了丰富的类库和强大的.NET框架支持,能够方便地创建用户界面,同时具备高效的数据处理能力和多线程功能,非常适合开发实时性要求高的控制系统。 "1762工控卡控制程序"这部分内容指的...

    易LOGO支持库之工控.zip易语言项目例子源码下载

    通过分析和修改这些源码,学生可以了解到工控项目的实际需求和解决方案,锻炼实际编程能力,同时也能提升解决问题的创新能力。 再者,对于小团队的开发项目,易LOGO支持库之工控更是宝贵的工具集。团队成员可以共享...

    基于Qt、C和C++开发的工控行业组态软件ICStudio源码+项目说明.zip

    基于Qt、C和C++开发的工控行业组态软件ICStudio源码+项目说明.zip 基于Qt的工控行业组态软件ICStudio 二次开发平台 没考虑多语言 开发环境 Qt5.13 + msvc1027 项目后续通过插件进行扩展:数据插件,自定义控件...

    基于FreeRTOS开发的工控板程序

    在工控领域,嵌入式系统常常扮演着至关重要的角色,而STM32作为...通过对该项目的学习和实践,开发者不仅可以掌握STM32的使用技巧,还能深入了解实时操作系统在嵌入式工控领域的应用,为进一步的项目开发打下坚实基础。

    C#上位机框架介绍 框架集成了常用功能模块,采用模块化设计,

    C#上位机框架是一种基于C#编程语言开发的,专门用于工业自动化领域上位机...该框架集成了常用功能模块,采用模块化设计,允许开发者根据项目需求自由组合、定制功能模块,从而快速构建高效、可靠的工控上位机应用程序。

Global site tag (gtag.js) - Google Analytics