控小滢:老坏猫是个有故事的人。上次,小编约他做了篇《组态软件测评∣WinCC、Citect、LabVIEW、InTouch、Ingnition,你更喜欢用哪个?》(想知道老坏猫的个人简介,请点击~),读者反响热烈。
为啥找到老坏猫来做测评?下面这篇他的自述或能说明答案。
有一天,我在GitHub上开源了一套组态软件SharpScada
2017年国庆,我在GitHub上开源了一套C#写的组态软件SharpScada。
SharpScada一经推出之后,反响超出预期,收获的星星已达486,月均100,在C#语言的总排名612位(目前C#开源项目总数接近20万个),国内C#开源项目排名24位,SCADA/HMI/工控项目排名第一位。
GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git作为唯一的版本库格式进行托管,故名GitHub。它于2008年4月10日正式上线,除了git代码仓库托管及基本的Web管理界面以外,还提供订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。目前,超过180万个企业和组织使用GitHub。
SharpScada地址:https://github.com/GavinYellow/SharpSCADA
虽然在群星荟萃的GitHub不算什么,和那些成千上万星星的大牛项目更是没法比,不过C#及.NET生态圈在开源界只是后起之秀,人气远不及javascript、JAVA这些老前辈,我对这个项目的表现已经很满意了。
开源之后,有很多素不相识的同行给我点赞,他们也好奇我为什么要做这个开源,开发的过程是怎样,等等。回想起来,当年自己是怎样从编程菜鸟,一步步成长,中间的甘苦只有自己知道,但是把经验教训、个人感悟写出来,或许能对同道有所启发。
半道出家,找到最合适我的“码农”角色
我本人并不是科班出身的码农。大学之前我并不知道自己对什么职业感兴趣,在父亲建议之下选择了机电这种万金油行业,但是很快发现自己对机械毫无兴趣。大学期间(小编注:笔者2000年大学毕业),编程已经逐渐热门起来了,我也曾经试图涉猎,但看了几本《C++入门经典》这类的书之后决定放弃。其书有国产教材的通病,晦涩难懂,充斥术语,让我对编程产生畏难心理。
但这段时间也不是一无所成,我发现了自己对数学的爱好,业余攻读了离散数学、编译原理、数学建模,虽然只是走马观花,但对我之后的编程之路大有裨益。
这样浑浑噩噩地度过了大学时光之后,并没有什么一技之长,只能搞搞本行。不过我给自己定了个目标,如果三十岁之前找不到自己真正想做的事情,就埋头研究机械吧。
幸运的是,很快我就因为一个偶然的机会踏上了码农之路,找到了最适合我的职业。
当时是一个做ERP的朋友需要搞定一个机电行业的老板,拉我做说客。项目谈成了,朋友嫌单子小要求多,放弃了。我却因此对软件的设计产生了兴趣,并愿意接下这个单子,自己试试。
现在想来,也实在是当时年轻,无知者无畏,在对需求分析、代码实现几乎一无所知的情况下就敢做如此承诺。但也因为这个机会,逼得我白天上班,晚上熬夜研究代码,每天睡眠时间不足四小时。这样过了半年,项目做了个半吊子,从此却迷上了编程,一发而不可收。
这半年时间,我从最基本的概念开始学起,比如最基本的数据库的连接、数据库建表,VB语言+Visual Studio6.0编程环境,到关系数据库设计、存储过程、面向对象。每一个概念都力求吃透,理解不透就网上百度,如果一个概念没想明白,晚上睡觉都不安稳。这样半年多的魔鬼经历,让我建立了编程语言+编程环境+数据库设计的基本概念,对程序设计有了基本的理解。后面再学习新概念,就轻松多了。
如果说我有什么天生的码农特质,大概有两点:兴趣+完美主义。
第一是我不信“行行出状元”,我只能从事我感兴趣的事业。
第二是我一旦产生兴趣,就会进入狂热状态,而且有完美主义(或者说强迫症)倾向,这点在我打电脑游戏状态下尤为突出,明明通关了还要反复提高难度自虐;而在程序设计领域,就表现为一开始就高度重视程序的架构和质量,用了一种方法实现却并不满足,总是在追寻“最佳”解决方案,设计哪怕一个小项目,也以“类库”的标准要求自己,力求用最少的代码,还要高性能、高扩展。
这种习惯对我的成长尤为重要,虽然一开始比较累,明明可以快速搭建的项目,却逼的自己搜集大量资料,比较各种方案,反复推敲。但是一旦造好轮子,未来这些代码库都是你的财富,做新项目就可以顺手拈来,越做越轻松。
埋头苦干不抬头的码农绝对不是好码农,只有对自己熟悉的领域驾轻就熟、可以抽出时间在新领域进一步的提升,才是正道。
为什么要做开源SCADA?
随着软件水平的提升,我也转型成为了一枚挂着“电气工程师”名号的码农。当时主要工作是开发工控上位机程序,单位需要一套新系统,除了能实现设备监控,还有一定的生产管理功能。
而我当时目睹了在西门子WINCC基础上二次开发的各种不适,如VB脚本功能有限、WINCC编程环境复杂庞大、对非西门子设备的通讯是老大难问题,等等。
于是,萌生了自己做一套组态系统的想法。当时的我已经从菜鸟升级为老鸟,虽然依旧带着当年不会写代码就敢做ERP的楞劲,但我已经具备了一定的项目分析能力和程序设计经验。在搜集大量资料,仔细分析了OPC规范,我认为自己开发一套组态系统还是有可能实现的。
然而,这个想法很快被单位否决了,因为大家都认为我靠个人力量做出能替代老外大公司的软件,实在脑洞有点大,也没有列入工作计划。
但我并不死心,业余自己搞。结合自己多年的代码库,从实现一个OPC客户端开始逐步向设计组态软件的目标逐步靠拢。就这样若干年,OPC客户端-OPC服务器-西门子驱动-WPF界面控件-VisualStudio设计器扩展-表达式编译器,这些组态软件的零部件,一个个生产出来了。最后就有了SharpSCADA这个麻雀虽小五脏俱全的系统。
我的设计目标,就是四个字:多快好省。多,就是驱动类型多,适应的行业多。快,就是设计速度快,用搭积木的方式构建系统,同时运行速度尽可能快。好,就是系统稳定,界面美观,扩展性好。省,就是完全免费,省钱省力。从开始构思项目到现在,将近10年时间,可以说目前正在越来越接近这一目标。
设计这套系统的时候,GitHub和开源社区在国内并不流行,网上能找到的开源库并不丰富,尤其是工控开源库更是奇缺,很多时候要靠自己从头造轮子,亲身经历,实在很累。而.NET在国内发展的并不好,其他语言的程序员看不起甚至排斥.NET,认为.NET做不了大系统,这不行那不行,甚至不少.NET程序员居然有自卑感,让我颇为不平。所以,我萌生了将这个项目开源的想法。
如何开发一个受欢迎的开源系统?
项目从去年十月份开源到现在,反响良好。我在推出项目之前,为项目如何推广先做了一番构思。
首先我选定了Github和国内的码云两个平台发布。Github是全世界最大的开源平台,人气极旺,影响最大,发展趋势最好;而码云作为国内最大的开源平台,在国内访问流畅,也可以与Github很方便的同步,相当于git的国内镜像。
研究分析了几个Github上颇有人气的项目,我得到几点结论,并做了实践,取得了不错的效果:
📌越有人气的项目,越受关注
当然前提是你的项目要足够好。
但是你作为一个业内无名小卒,无论项目多好,大概很久都是零Star,因为根本不会有人关注到。Github上几千万个项目,据说8成以上从来没有一个Star,而Star越多的项目吸引的眼球也越多,参与者如果发现项目确实不错,也会介绍给朋友、同事,同时你的项目被google、百度等大引擎收纳的概率也越大。现在项目我即便不做任何推广,每个月通过搜索引擎和程序员网站也能获得不少点击。
📌要自己做推广
为了在项目初始阶段获得点击,必须做相应的推广。
我想到了国内最大的程序员网站博客园和CSDN(小编注:专业IT技术社区)。但用了CSDN后发现一个问题,因为我籍籍无名,发出去的文章根本没有人推荐,也不可能登上CSDN头条,想在CSDN获得流量和人气只有你积累一定声望之后。
而博客园显然更为“亲民”,编辑如果觉得你的文章不错,就有可能上首页推荐。因此,我认真构思了第一篇博客,花了一番心思搞的图文并茂,果然很快上了博客园首页推荐和头条,一下子为项目获得了大量点击和star(两周内就超过了100),算是旗开得胜。也因此一发不可收,连续写了十篇博客,成为一个系列,并多次登上博客园首页甚至头条,为项目带来了人气,也认识了一大批博友。
📌英语要好,最好要有双语支持
我的项目虽然反响尚可,但提出issue和push的次数很少,大部分都是国内同行下载。虽然也有国外朋友提出英文版,怎奈我的英文水平实在拿不出手,一直没有动作。国外的程序员感觉更有分享精神,热心参与,积极提交问题和改进,而国内大概因为大家都苦于生计,个人时间也有限,看的多,参与的少。如果这个项目想获得进一步的发展完善,应该推出英文版的说明,并及时解决提交的问题。
心声
这个项目得到了业内前辈和众多网友的鼎力支持,在此表示感谢。下面我会继续完善这个项目,尤其是在目前欠缺的Web展示、三维显示、分布式数据库等领域开拓。但我一个人的精力是很有限的,希望能有更多热心工控、热心开源的朋友参与进来,为.NET社区及国内工控行业的发展尽自己的一份努力。
工控小滢:虽然俗语有云“男怕入错行”,却被老坏猫的“一根筋儿”打败,而立之前能与自己的兴趣“喜结良缘”,真真让看官们由衷地感到欣慰。看到一丝机会,十年磨一剑地苦心钻研,如果这都不是我们所提倡的“工匠精神”,还何以称之?
工控小编相信,手机屏幕前还有诸多低调的“隐身大拿”,欢迎你们撕掉“隐身衣”,和我们分享你们早已习惯了的默默钻研及不俗的成果~
欢迎留言,等着你~
除了LABVIEW,你还知道哪些工业控制领域的软件呢?下面纳米软件Namisoft小编将给大家盘点一下除了LABVIEW,工业控制领域的常用软件。
1、Intouch,一种工业自动化组态软件。由Wonderware公司开发。
InTouch HMI软件用于可视化和控制工业生产过程。它为工程师提供了一种易用的开发环境和广泛的功能,使工程师能够快速地建立、测试和部署强大的连接和传递实时信息的自动化应用。InTouch软件是一个开放的、可扩展的人机界面,为定制应用程序设计提供了灵活性,同时为工业中的各种自动化设备提供了连接能力。
2、iFIX是GE 智能平台(GE-IP)提供自动化硬件和软件解决方案。由Intellution公司开发。
GE 智能平台(GE-IP)的iFIX是世界领先的工业自动化软件解决方案,提供了生产操作的过程可视化、数据采集和数据监控。iFIX可以帮助您精确地监视、控制生产过程,并优化生产设备和企业资源管理。它能够对生产事件快速反应,减少原材料消耗,提高生产率,从而加快产品对市场的反应速度,提高用户收益。
3、Wincc 是一套功能非常强大的组态软件,由西门子公司开发。
通用的应用程序,适合所有工业领域的解决方案;多语言支持,全球通用 ;可以集成到所有自动化解决方案内;内置所有操作和管理功能,可简单、有效地进行组态;可基于Web持续延展,采用开放性标准,集成简便;集成的Historian 系统作为IT 和商务集成的平台;可用软件和附加件进行扩展 ;“全集成自动化” 的组成部分,适用于所有工业和技术领域的解决方案。
WinCC集生产自动化和过程自动化于一体,实现了相互之间的整合,这在大量应用和各种工业领域的应用实例中也已证明,包括:汽车工业、化工和制药行业、印刷行业、能源供应和分配、贸易和服务行业、塑料和橡胶行业、机械和设备成套工程、金属加工业、食品、饮料和烟草行业、造纸和纸品加工、钢铁行业、运输行业、水处理和污水净化。
4、Citech组态软件,由悉雅特集团开发。
Citech具有简洁的操作方式,但其操作方式更多的是面向程序员,而不是工控用户。Citech提供了类似C语言的脚本语言进行二次开发,但与iFix不同的是,Citech的脚本语言并非是面向对象的,而是类似于C语言,这无疑为用户进行二次开发增加了难度。
5、ATECLOUD智能云测试平台,由纳米软件Namisoft开发。
ATECLOUD是国产化的测试测量工具软件,从传统的代码编程、LABVIEW的图形化编程进一步优化,优化出更符合国人操作习惯的文字化编程语言。平台封装了算子、各类仪器指令、数据洞察,让不懂编程的人也可以通过ATECLOUD平台的简单学习,快速搭建出属于自己的测试方案。ATECLOUD被称为中国人自己的LABVIEW,15分钟快速搭建自动化测试;自定义报告模板,可实现快速建立、快速修改;充分利用大数据、云计算,发挥数据的无限价值;ATECLOUD-APP在任何时间任何,地点皆能满足您的远程测试要求;数据可视化提供第一手的测试数据,实时分析实时展示。
ATECLOUD详情介绍及免费体验地址:https://www.namisoft.com/Atecloud.html
以上是纳米软件Namisoft为大家分享的关于除了labview你还知道哪些工业控制领域的软件的相关介绍。
年来,伴随着全社会对于可持续用水、绿色环保以及减碳降排的关注愈发强烈,人们对水务业务系统的控制智能化、数据资源化、管理精确化和决策智慧化,也提出了越来越高的要求, “智慧水务”已成为水务行业发展的重要风向标和必然趋势。
相较于传统的运营模式,借助数字化技术手段,水务企业能够全方位勾勒出更敏捷、更高效、更灵活运营的未来蓝图。在企业搭建智慧水务系统的过程中,为了更好地利用数据赋能,实现水务调度的高效整合,SCADA系统的配备已成为刚需。
智能水务 水务企业亟需更先进的SCADA系统
在数字化转型的浪潮之下,多年来,水务企业借助数字化、网络信息技术的力量,全面优化配水系统,通过测量、收集、分析来自管网和仪器的各类数据,提高了整体的运营效率、寿命和资产可靠性,为企业节省了大量人力物力。
然而现阶段,水务企业现场各类仪器仪表数据采集的精准度、及时性和同步性仍有待提高,数据孤岛的存在也限制了更高层次的智慧应用,此外,现场生产、管理流程的精细化、动态化和智慧化水平,仍是不可忽视的短板。
为应对不断上升的管网运营成本,加速的全球城市化进程以及气候变化等棘手问题,搭建一个更加可靠、高效、易用的智慧水务系统,已成为水务企业战略布局的重点。现如今,SCADA系统凭借集监督、控制和数据采集于一体的强大功能,得到了越来越广泛的应用。以智能管网系统搭建为例,SCADA通过对数据的实时处理,能及时生成警报、报告、图表等,对人员远程操作和预测性维护有重要意义。
但一般来说,大部分传统的SCADA软件采用组态软件连续授权的形式提供,且供应商会按点数收费,这无形增加了水务企业的使用成本,且受限于传统组态软件的功能,往往无法实现定制化。除此之外,如今企业对于关键设备更及时、更高效的运维管理,以及更便捷的系统跨平台部署的需求也日渐高涨,传统的SCADA系统,已经越来越难满足智慧水务新时代用户的需求。
WAGO SCADA 源码授权的SCADA:不限点数,自主可控
时下,越来越多的设备开始接入云端,人们对于设备、产线进行监控管理,甚至对组态画面的要求都越来越高,这也为SCADA系统的创新迭代创造了机遇。针对用户对于SCADA软件日新月异的需求,美名软件研发了基于IoT架构和标准Web技术的新一代组态系统——WAGO SCADA。
可以说,WAGO SCADA在成熟的SCADA软件市场中另辟蹊径,开垦了创新发展的新“绿洲”,其最大亮点可以概括为以下三点:
1源代码授权
系统提供源代码授权,购买授权的客户,可以按闭源软件的形式销售给最终客户,无需产生其他费用,降低企业使用成本;
2自主可控
支持Windows/Linux/Mac等多种操作系统,所使用的第三方组件,也绝大部分是免费开源组件,可运行在国产自主的Linux操作系统和芯片上,客户可以不受限制地对源代码进行修改和扩展,提高自主可控的核心竞争力;
3WEB 3D
通过标准的WebGL技术进行模型的渲染,不需要安装任何浏览器插件。用户可以在iOS和Android终端上浏览模型,进行缩放,旋转和其他的交互操作。支持主流的3D文件格式。
图片来源:MM
WAGO SCADA 核心功能 图片来源:MM
值得一提的是,基于主流Web技术(如HTML5、JavaScript),WAGO SCADA可支持web端2D和3D组态,拥有远超传统组态软件的高质量Web界面。人员无论是用平板、手机、电脑还是微信小程序,都可以轻松访问系统。与此同时,系统支持OPC UA/Modbus TCP/倍福 PLC/WAGO PLC/西门子S7 PLC等市面常见的数据源接入,并能很方便地进行公有云、私有云和本地的跨平台部署。
WAGO SCADA 架构图 图片来源:MM
当然,除了IoT分布式架构带来的便捷体验,以及高性能时序数据库带来的可靠数据支撑,WAGO SCADA对用户而言最大的价值,莫过于提供源代码和定制化支持。通过WAGO SCADA结合物联网、云服务等新技术与水务信息系统,水务企业将能以更加精细和动态的方式,管理供水系统的生产运营和服务。
创变SCADA 赋能智慧水务新时代
多年来,美名软件为国内诸多水处理行业用户,提供定制客户自身所需的工业物联网平台服务,积累了很多的业务和架构经验。对于水务行业客户而言,SCADA的部署对于自动化、信息化和智能化水平的提升有着重要意义。
在某水务项目中,客户需求涉及现场硬件改造升级新增、自控升级改造,信息化平台整合拓展和人工智能应用等。与此同时,该客户期望通过解决方案部署,统一高效管理“集团-分公司-水厂-人员和设备”,加快样品检测的数据可见周期,并通过丰富多样且可灵活配置的自定义报表,实现高效的设备全生命周期管理、应急预案管理和任务追踪、总结分析功能。
项目截屏 图片来源:MM
WAGO SCADA很好地满足了该客户的需求。客户通过深度集成WAGO SCADA,将厂站本地监控画面搬上了平台,并将这些来自多个业务系统宝贵的实况数据,通过厂站OPC服务器,上传到集团信息化平台中,无需切换就能生成相应的报警、应急和巡检等任务报表,提高了各岗位人员工作和整体运营效率。
诚然,提高设备正常使用水平、降低运营成本,也是众多水务企业的强烈诉求。多年前,苏州元德恒信就在智慧水务领域开启了前瞻布局,致力于将物联网技术与传统水利进行深度融合。该客户对实时数据的准确性提出了高要求,并期望打造管网整体点位状态监测管理系统,实现报警派单记录管理等功能。
项目架构图 图片来源:MM
客户设备详情 图片来源:MM
该客户最终将WAGO SCADA作为独立系统单独部署在云端,通过自定义菜单的方式,将SCADA运行时页面集成到智慧水务3.0平台中,让用户登录SCADA网站即可进行项目编辑。值得一提的是,其所部署的组态页面也是由客户自行绘制的。
图片来源:MM
以WAGO SCADA为基础,美名软件可以为更多智慧水务系统集成商打造自主可控的水务综合管理平台系统软件,提升其行业竞争力和品牌形象,最终也增强了水务企业经营管理的可预见性,有序性和可控性,为企业在智慧水务新时代实现集约化,效益化管理提供强有力的支撑。
*请认真填写需求信息,我们会在24小时内与您取得联系。