电气工程师想学习上位机编程(c 语言、labview 或者 vb),怎么入手?

电气工程师想学习上位机编程(c 语言、labview 或者 vb),怎么入手?

这个问题对我来说,真有点历史意义。

我在公司进行成套开关设备的设计,每周有一半在出差,另一半就在办公室忙着设计各种图纸,包括一次系统图、开关设备的结构图、一次回路图、二次控制原理图,现场施工图等等,连在飞机上都绘图。

某日,总经理来找我,谈到了两件事:第一就是成套开关设备的本体测控,第二就是以中压和低压配电为主的变电站监控系统,公司希望能把这件事给做起来。

第一件事好办,无非就是利用PLC作为通信管理机来做系统集成,把配电系统中的电力仪表、各种测控装置,变频器、电动机保护器、ATSE开关等等,利用现场总线技术把它们连接起来,并在通信管理机配套的人机界面HMI中实现当地测控。事实上,这件事我们早就实现了,并且已经形成了企业规范和技术标准。

第二件事就难了一些。

变电站电力监控系统,它的核心其实是数据库。从现场采集的信息存放在数据库里,形成了数据库中的历史纪录和实时记录。监控软件和各种界面,其实就是数据库数据经过专门处理后形成的各种表现形式而已。

现有的变电站电力监控系统更偏向中、高压的测控,而我们需要的却是中、低压的测控,并且主要面向低压配电系统。

中高压受监控对象较少,但能量大,电磁干扰也大;中低压受监控对象多,尤其是低压,受控对象数以百计,遥信开关量、遥测模拟量、遥调参量和遥控输出量合并过千。又因为低压电流大,电磁骚扰EMC相对严重。

如此一来,我们就需要独立地开发软件了。

作为电气工程师,我当然知道监控软件的测控对象是什么,以及如何测控。但如何设计软件,的确需要仔细思索一番。经过仔细斟酌和测试,我决定以VB为基础,制作全套监控软件。之所以选用VB,有五个考虑:

第一:VB中可资利用的资源很多,控件丰富,且界面设计能做到可视即可用;

第二:VB能够满足中低压配电系统的信息量较大要求;

第三:VB与SQL SERVER数据库能够完全吻合,利用VB的专用命令就可以直接读写数据库;

第四:比较专业的程序用C++来写,再被VB调用,很方便;

第五:VB比较容易上手,短时间内即可实现产业化目标。

经过努力,我们完成了监控系统的初设和初测,通过国家软件测试中心的测试,并获得了市场准入证书。

于是,项目运用大量出现,软件也在运用中不断更新和稳定,实现了较好的工程配套性。

编写软件,其中的苦乐只有自己知道。不知道有多少不眠之夜,人就象高考似的,连做梦都是软件设计。

软件配置简单说一下:windows系统、SQL SERVER数据库、监控软件、AUTOCAD用于系统调阅图纸、OFFICE系列软件用于办公环境。主要就是这些。

=======================

题主想学习上位机编程。我结合自己的研发,给题主提几个建议:

第一个建议:电气工程师应当主导系统的界面设计的主线和测试

电气工程师最大的资本和优势就是知晓受控系统的特征和基本要求,而这一点软件工程人员是不知道的。因此电气工程师具有主动性,而软件编制者具有被动性。

这一点很重要,电气工程师不能被软件设计者牵着鼻子走,要有自己的立场和原则;

第二个建议:电气工程师不可能什么都熟悉,因此最佳的软件就是VB,或者其它当下流行的类似软件

如果软件设计由电气工程师自己完成,则类似VB的编程系统是最佳的。

十几年过去了,当下应当有更好的编程软件,题主在这方面的可选项会比较大。

给题主一个信息:同样的界面设计,VB编写的程序容量会更大。由于当下硬盘容量足够,也无所谓容量问题。

第三个建议:题主所谓的上位机编程,其实核心就是数据库。因此,要把数据库给彻底弄明白

不建议使用OFFICE的ACCESS,因为它不支持网络。一定要用类似SQL SERVER的数据库。

当下数据库也在更新。不管是哪种数据库,有两个原则:

第一,数据库必须是网络版。实际使用时,系统中的主机、从机和PLC同时按权限对数据库实施数据存取;

第二,数据库必须与测控系统完全吻合,不能有任何瑕疵。否则一旦投运,出了故障很难查,毕竟数据库是根本性的。

第四个建议:明确数据交换的概念、方法和要点,掌握数据交换技术

事实上,数据流的更新和提取,在现场PLC层面是依靠现场总线数据交换实现的,而在PLC与监控主机层面则是利用工业以太网数据交换实现的。

因此,对现场总线和工业以太网数据交换技术,不能仅仅停留在理论探讨上,而是要有实际认识。要完全掌握数据交换技术,掌握数据定义表的编写和读取方式,掌握计算机间数据交换的方法和要领。

第五个建议:设计软件要以强壮性和可靠性为基本要求

所谓强壮性,指的是软件系统经得起各种冲击;而可靠性,是指软件稳定性很好,不容易崩溃。

这一点很重要,变电站是重要的能源中心,经不起系统崩溃的影响。

要用从机实时备份主机信息。一旦主机崩溃,从机立即无缝切入。这里既有硬件冗余配置,也有软件冗余设计,还有数据备份及数据库设置。

注意本条有逻辑冗余和硬件冗余两种。逻辑冗余比较容易实现,但切换时间长。变电站监控的通信管理机层面最好采用硬件冗余;

第六个建议:要重视硬件系统的强壮性

特别地,计算机本身也要有足够的强壮性,最好采用工业控制计算机(工控机);

特别注意电脑电源的风扇、CPU风扇和硬盘风扇。由于计算机在变电站中长期运行,风扇会沾上灰尘使得功耗加大,若风扇因此而停运,则计算机本体、CPU和硬盘都会受损,接下来就是死机。

所以,在现场层面,一定要用大容量的PLC来取代工控机;在监控层面,最好使用SSD硬盘。环境的除尘要引起充分注意。

尽量使用RJ45网络接口,切忌使用无线路由器构建系统,避免不必要的外部侵入;

权限要设置为三级,各级的操作权限要明确;

要做好EMC测试,绝不能马虎,任何一点都要过关。要知道,若系统在现场崩溃,其影响可能是致命的。

主要就是这些。

===========

在08年奥运期间,在XX地铁的XX车站我们的系统发生过一个有点意思的事件,我来简单介绍一下:

刚刚说过,PLC是当作通信管理机的。我们早先让PLC既执行备自投逻辑测控,也执行通信信息管理。没成想这两件事居然影响到PLC的内存分配,引起PLC的系统软件重启。PLC重启后,所有的外部设备均开断复位并重新执行备自投。

于是,车站内瞬间停止供电,一片漆黑,几秒钟后才恢复。好在没有出现人员踩踏事故,万幸!

后来,我们把执行逻辑控制的PLC与执行通信管理的PLC完全分开,才彻底地解决问题。

这个故障结论供题主参考。目的是提醒题主:系统配置方案和网络拓扑方案也是十分关键的:宁可功能重复,也不要为降低成本而放弃必须的配置方案和要求。

一写就很多,供题主参考。另外,回答贴中不附任何图,避免引起不必要的麻烦。