工业软件技术的总结和开发方向

以前总结了一回工业应用的技术栈方向,生成了一个技术导图已经做了罗列规划,内容也基本上包含了普通应用所需要的大部分方面,当然可能对于个人的技术见识来说会有遗漏空缺,这个还需要到具体项目时再进行调研和补充。

成都创新互联公司-专业网站定制、快速模板网站建设、高性价比环县网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式环县网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖环县地区。费用合理售后完善,十载实体公司更值得信赖。

1.系统结构

新的东西能带来新的观点。新接触到的的产线方案,最近做了相关的技术调研,对于软件应用的理解更深了一个层次。以前可能对工业应用的理解比较碎片化,没有一个完整的思路,接触过产线的完整方案以后,开始对一些专业的软件组织方式和内容有了一个系统化的认知,对系统的应用有更清晰的层级划分。

对于一个完整的工控系统,无论简单复杂程度与否,我觉得都可以可以划为三个层次,设备层、控制层和决策层。(如同网络分层,有人理解更丰富,可能会划分五层七层等一样)

设备层:也即硬件层,对产品进行感知和执行的单元,包括传感器、仪器仪表、条码、射频识别、数控机床、机器人、HMI主机等;

控制层:对设备层数据进行采集、保存和转发、并能够执行一些控制逻辑的单元,包括可编程逻辑控制器(PLC)、数据采集与监视控制系统(SCADA)、分布式控制系统(DCS)等;

决策层:对整个系统的实时状态进行展示、历史数据查询统计并能够对决策进行有数据支撑的预测。主要包括盖勒普制造执行系统(MES),及产品生命周期管理软件(PLM) 等。

而常用的单机系统应用,它其实也拥有系统的三个层次属性,三个层次里的内容退化成了模块化的软硬件设计,如果单机系统继续往上集成则是作为大系统设备层的子单元进行组合;

2.单系统应用

单系统应用是系统应用的常态化设计,作为系统的底层架构设计,单系统应用不管在简单和复杂系统中都要进行设计,是整个设计的基础。

目前单系统应用从软件划分来看可分为arm软件系统、x86软件系统和RTOS系统;

每种系统下都有自己对应生态的硬件和软件配套,当然也不乏一些跨系统的应用方案,但是毕竟占少数,所以根据不同的系统应用需求,来选择不同的单系统方案才更正确。

2.1单机的工业控制设备

工业化控制设备从协议方式和厂家SDK这两方面着手,通用的协议方式可以支持不同厂家的的同类设备,对于像采集板卡这种需单独驱动控制的,各个厂家都有其sdk开发包,通常一个开发包可以完成其所有产品的控制。

很多通用库可以支持多种协议,比如ni或者安捷伦的visa库,比如libmodbus支持RTU、ASCII、TCP等;对于这些通用协议和通用库需要长期进行累积、封装和改进,以方便开发使用;

2.2 单机的软件组态化

软件的组态化也就是可配置化,通过现有软件搭建组合成为一个控制系统,将功能模块化。和搭积木是一个道理,等搭建完成后,再来配置他们之间的关系和各个积木块的数据配置,最后生成使用软件。

组态的最高化境界是无需编程或者少量编程,全部通过配置操作完成所有软件模块的设计工作,极大的提高了软件设计的效率。最先通过硬件的组态,配置与硬件连接的协议、参数来实现硬件的控制,然后再进行数据组态,利用通用协议把采集到的数据进行解析后进行映射和保存等操作;最后是UI组态,只需简单拖拽和设置将数据显示模块和数据绑定进行显示。

软件想做到组态化应往三个方面进行设计和积累:

模块化:工业应用开发上将开发的通讯协议、硬件控制和数据管理等软件功能进行功能模块化封装,不同的设备支持不同的通用协议的话就使用不同的模块分别进行设置控制;

可配置化:对于不同模块可以通过配置的方式进行加载、运行和处理,

接口化:对数据的处理流做到明确的输入输出,做到可以链式连接的方式。

2.3 单机的仿真化

很多人对于单机软件的界面的设计风格,上回也进行了讨论,对于软件的配色等也进行了总结和选择;其实这只是软件界面的一个方面,对于一个工控软件来说,界面的风格可能不是需要很前卫和时尚,其功能也不会很复杂多变,但是对于用户来说,其实最基本的需求就是简洁、明确和高效。不需要对计算机有很深入的了解,也不需要对抽象数据进行学习,只是了解系统的运行,就可以很快的进行软件的使用,那么对于界面的仿真化就十分必要。

如下图的 给水控制系统,形象的系统设备展示和水流等动画,对于软件操作人员来说,可以很快上手,摆脱单调的数值显示刷新带来的枯燥感,可以形象的了解系统结构,清晰的观察数值的呈现节点,快速的定位系统问题。

软件的仿真化其实是比较困难的技术,其工作量也会大幅提升,如果想做到完美实现,最快是通过使用成熟的SCADA系统软件开发包进行开发,这个在当前市场上比较成熟了,可以持续了解和发现是否有免费好用的;

另外一个是先从开发自己的组建仿真控件库开始,逐步完善整个仿真界面系统,这方面现有选择其实并不多,需要支持透明阴影3D控件缩放抗锯齿、克服不同分辨率DPI下的实现效果一致等,目前备选的方案有qt的qml技术 和 microsoft的wpf技术。

 

qt界面图
当前文章:工业软件技术的总结和开发方向
标题路径:http://scyanting.com/article/dschjoe.html