组态软件开发

公司想自己做组态软件,想先做一个市场调研不知道有没有必要。

请问各位,开发组态软件的难处在哪里?上位机一般的画面,趋势报表报警这些没有问题。是不是与下位机的连接,数据的采集发送吗?其他的组态软件是怎么处理的呢?购买PLC的驱动还是破译其驱动。谢谢

问题补充:
公司有实力做上位机监控,一般的数据采集监控系统,CEMS系统,都是自己开发。

最佳答案

底层驱动的开发是一方面,最重要的是稳定性,研发新品不是做出来就能用的,要有一个试运行的过程,在这个过程中不断发现问题和改进问题,所以给客户使用时,系统的稳定性是最重要的。
监控组态软件主要是以下几方面组成。
1、实时数据库
实时数据库,顾名思义就是一种处理和存储实时数据的数据库,它分为两种构成模式,第一种就是利用开发工具直接开发二进制文件模式,自己开发sql引擎,建立索引以及配置文件等机制,例如IFIX;另外一种就是依托于成熟的关系数据库,把实时数据放在二进制文件中但sql引擎,索引,以及配置文件都利用关系数据库等机制,例如WINCC。
1、内核通讯
说起内核通讯一般谈及组态软件很少涉及,因为它是一种根本看不见摸不着但具有决定组态软件的构架。市面上比较流行就是两种通讯框架,一种是与实时数据库通讯为核心框架,图形界面、脚本、通讯驱动等都是围绕实时数据库来完成相应功能,另一种就是消息通讯为核心框架的,这种框架就是类似SOA构架,首先建立通信数据元素,把所有用于访问的数据格式包含在其中,然后通过消息发布出去,是那个组件接受那个组件完成相应的指令,消息通讯在今天的组态软件行业里也分为内存消息型和端口消息型,内存消息性就是利用MFC的在内存中消息来同志别的组件,其优点就是快速和稳定缺点就是所有组件不能脱离一台机器,这也是国内很多组态软件厂商最初的手法,而端口消息型,就是利用sock的端口进行消息通讯,不管是不是在本机一概采用端口通讯,这样的优点就是把可以把很多组件分布到每台机器上,其中CS和BS构架就用利用这种机制,缺点就是消息元素复杂,指令繁多,需要谨慎考虑其健壮性。
2、图形界面
图形界面其实没有什么好说,就是图形显示,图形绘制、报警、曲线,报表等,但是从市面上来说它们分为基于VC6中MFC开发的和.netfm开发的,从界面来说mfc开发的速度快,稳定性高,但界面简单,画质不是很绚丽,.net开发的界面绚丽,3d动感性强再结合GDI+,那就是界面中利器,而他的确定就是运行速度慢,另外对于安装机器的配置要求较高。
4、脚本
脚本算是组态软件中的灵魂,多数组态软件一看脚本就可以分辨出来高中底端产品,脚本分为编译型和解释性,编译型需要在组态软件没有运行之前,就把语句编译一边,然后嵌套在框架的函数和事件中,例如WINCC的C脚本,另外一种就是解释型,它是在组态软件运行之中被语法解释器边解释边运行,例如IFIX的VBA脚本。对于市面上可以看到脚本分为自定义、VB类、C类和其他类,自定义脚本例如intouch、组态王、力控;VB类例如IFIX的VBA、RSVIEW的VBA、杰控的VBS;C类例如WINCC的ASCIc、九易思的C#;其他有一些组态软件利用开源的脚本引擎例如TCLLUA等。底端脚本多数是采用自定义脚本,它的可扩展性很有限而且依赖于厂商自己的开发能力,中端脚本就是采用c脚本和开源脚本,它的成熟技术应该很广当时不方便普及和掌握,对于一些常用访问技巧,例如访问关系数据库,API以及DLL和控件不是很方便,而高端脚本则首推VBA系列,高效的访问工具、成熟的控件资源以及强大的API调用。
5、通讯驱动
通讯驱动则相应发展比较缓慢,这也是因为它实在是太成熟了,先说说它的框架结构都是采用封装通讯框架和开发数据流方式结合,也就是说开发人员不需要懂得组态软件的框架结构以及如何把数据对应数据库变量,只需要安装给出的框架,把数据流拆包解包和打包放入指定的结构缓冲区内就可以了。再说说驱动,一提到驱动它应该是两部分组成第一部分就是接口另外一部分就是协议,先说第一部分接口对于组态软件的生存平台PC来说,接口其实就是RS232/485/422,USB,TCP/IP(wifi)和板卡这几个种类,而对于另一部分的协议来说,那就太多了我就简单些介绍几种modbusrtu/asci/tcp,profibus,opc,s7等太多了,因为设备厂商的增多就以为协议的增多。
6、接口开发工具
接口开发工具其实就是组件开发工具,它是一种开发工具包,是寄宿在组态软件本身开发工具(vc/VS。net)上的一个框架向导,利用这些框架或者向导可以通过开发工具开发出来基于组态软件的扩展组件,方便组态软件的功能扩展和客户订制,例如关系数据库和实时数据库的导入导出的组件等,另外也可以开发局基于图形界面的图形组件。
7、WEB发布
WEB发布算是一种近年来十分流行的一个组态软件功能,因为SCADA市场和MES市场的扩大,使得厂级化管理越来越流行,也成为组态软件厂商热炒概念中的一部分,因为web的使用,可以让用户利用普通PC的IE浏览器就可以看到组态软件的图形界面和实时数据而让大多数的业主得到认同。web的发布技术基本上是三种方式,第一种activeX方式,一般这种WEB方式多数组态软件是采用vc6开发的,它直接封装一个图形浏览exe在com组件中,当用户ie浏览的时候会提示安装一个插件,然后这个exe就安装在客户pc上,通过IE调用exe,用就可以看到组态界面,这种也就是被称为准WEB方式它的优点就是速度快因为它使用cs模式缺点就是必须开用户指定端口一旦遇到路由器就不能看到,另外一种就是通过java方式,就是把用户组态的工程通过java重新转换一边,这种技术的优点就是无论你使用什么网络设备管理网络只要能开发80端口就可以看到数据,缺点数据刷新较慢但是可以接受的那种另外就是它需要重新编写一边组态软件比较耗时,然后发布出去。最后一种就是.net的webservice技术,毋庸置疑他当然是最强大的,但是你的框架开发工具就必须使用.net。

提问者对于答案的评价:
谢谢你的帮助

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc269096.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日
下一篇 2019年6月11日

相关推荐

  • wincc调出新画面按钮

    wincc种调出新画面按钮应插入那个控件,具体怎么做 最佳答案 也在学习中,待“` 提问者对于答案的评价:好 专家置评 可以参考各位答侠的答案。

    SIMATIC WinCC 2019年6月11日
  • Wincc 7.4 SP1 SQL数据库

    Wincc 7.4 SP1 SQL数据库在wincc中客户的服务器方式使用需要SQL授权吗? 最佳答案 SQL数据库不需要再授权了! 提问者对于答案的…

    SIMATIC WinCC 2021年7月5日
  • WINCC6.2项目文件如何操作可在WINCC7.0中使用?

    WINCC6.2项目文件如何升级操作可在WINCC7.0中使用?WINCC7.0安装需要什么条件?如果有PDF文件请将连接发给我,小弟在此谢过了。 问题补充:是在安装完WINCC7…

    SIMATIC WinCC 2017年8月15日
  • wincc自定义数据的查询

    哪位大侠能给提供一些datagrid控件的资料,msflexgrid控件还需要一条一条记录赋值,现在用datagrid控件后,查询出来之后再查询结果集不变,如果Set o…

    2021年7月5日
  • WINCC图形对象

    WINCC图形对象支持哪几种格式的图片 最佳答案 png,jpeg,bmp 提问者对于答案的评价:非常感谢

    SIMATIC WinCC 2021年7月5日
  • WINCC和EXCEL结合实现报表

    怎样用WINCC下全局脚本来实现报表。 问题补充:有例子吗 最佳答案 Dim excelapp Dim aa,bb,cc Set …

    SIMATIC WinCC 2019年6月11日
  • WINCC向EXCEL传输变量值

    想询问一下,WINCC中VB编程可否当判断条件满足时,将外部变量的值直接传到EXCEL表格指定单元格{例如CELL(1,1)}中,(不是I/O域值,是PLC与WINCC通讯的外部变…

    SIMATIC WinCC 2019年6月11日
  • WINCC层的使用

    这个层怎么使用?我切换了一下感觉没啥变化呢? 问题补充:我又试了一下 ,默认是图层0我是关闭不了的,然后我打开图层1关闭图层0 这时画面是无按钮的,但我在图层1…

    2020年11月1日
  • 项目打不开 权限问题

    wincc 7.0 项目取消共享后,重新打开出现了权限不够的问题,项目打不开。重新共享后依旧不行,有解决办法没? 最佳答案 关于权限不够:检查您当前登录&nbs…

    SIMATIC WinCC 2019年6月11日
  • 如何获取wincc“选项组“选中的文本

    一个输入输出域,一个"选项组"控件,输入输出域里显示选中的选项组的文本,用C或者VBS怎么实现? 问题补充:请明示,选项组总共12个选项 图片说明: &nbsp…

    2021年7月5日