-
02月07日
-
写在前面
在写这篇文章之前,我翻阅过几篇类似标题的文章,但是基本上都是站在行业分析师的角度上讲一些宏观的理论,本来想了一个类似于“基于云的制造业设备实时数据监控与分析解决方案”的标题,但是不得不承认有时候虚幻一点的标题更能抓人眼球吧。我把这篇文章定义为教程类和科普类之间,希望大多数普通人在看懂的同时也能明白讲了个什么玩意儿。下面你将看到的是我在工作中实际做过的项目和一些经验,由于类似的方案在国内可能刚起步,很多东西也是自我摸索学习,若有写得不对的,还请各位大牛指正。
1 开门见山
手机端和电脑网页端显示效果
上面这张图是这个项目最终呈现出来效果的一小部分,可能大家在题记里就能猜到,这是一个关于设备数据可视化的一个项目。这难道也值得写吗?HMI早在上世纪就已经有了,我想最熟悉不过的就是下面这个界面:
没错,这无疑是一个非常专业的系统,专业到非技术人员可能很难理解。但是有越来越多的管理层或者其他非工程部门的同事也想远程监控设备的运转情况,来更灵活地应对自己的工作。当然现在也有不少基于Web HMI的解决方案,其中的利弊留给读者自己体会。
项目出发点
1 图形通俗易懂、简单明了
2 建立尽可能标准的架构来适用于各种品牌的PLC,节省开发成本
3 数据汇总并且以后开放给机器学习、人工智能使用
4 非技术人员只需要点一个链接就能看到画面,而不需要用到诸如teamviewer等工具,隔离并保护工厂网络
2 素材准备
PLC Kepware
Microsoft Azure Power Bi
1 PLC
可编程逻辑控制器,简单来说就是一种专用于工业控制的计算机,相信制造业的同行们都很熟悉了,基本上设备上的传感器都会接到PLC上,这也是数据的源头
西门子PLC
2 Kepware
一个很好用的第三方OPC服务器,支持很多品牌的PLC和常见的工业通讯协议,并且值得一提的是现在新发布的版本可以很便捷地把实时数据发到云,大大降低了项目的开发周期。
3 Microsoft Azure
着重讲一下这个,也是整个项目的灵魂。首先Azure是微软的云平台,比较知名的还有Amazon的AWS和IBM的Bluemix,在讲Azure之前先来谈一下为什么要用云。
我发现一个很有趣的事情,很多人都对云感到好奇,但有时候却会“谈云色变”,我想这来源于大家一直在被一些空洞的理论所“忽悠”,这种忽悠会给人带来一种不安,到头来也没明白我为什么要用云,传统的那些解决方案也用得好好的啊。就我现在的经验来看,云带给我最直观的感受就是稳定可靠、成本降低、灵活拓展和快速实施。
举个最简单的例子,A工厂花了10万找了一家供应商X,花了1个月的时间为1条产线做了一套只能在本地查看的数据可视化系统。过了几个月,又花了10万找了供应商Y,花了1个月的时间为另一条产线做了一套系统,以此反复...更不用提再另外一个城市甚至另外一个国家,有B工厂、C工厂找当地的系统集成商做各自的系统。
很明显上面方案的弊端在于各自的数据无法或者说无法很方便地整合,时间和金钱成本增大(因为每一条产线都是一个独立的项目)。而这个方案所带来的是框架型解决方案,所有产线和工厂都是用的同一种solution,明天有一条新的产线投入使用了,只需要把其PLC接入到OPC服务器,再用同样的方法把数据发送到云,经过一些简单的配置后就能在网页上看到新的产线的实时数据。而以上的这些工作,全程几乎不用自己写代码,也就意味着一旦整个方案的根基搭好,普通工程师也能很轻易地扩展新的产线。
当然在Azure上还有大数据分析、机器学习等平台,这些进阶的功能的前提都是数据来源的可靠性和整合性,而这正是源于这个解决方案。并且微软提供了详细的API文档,以供与其他系统平台对接。
4 Power Bi
由于这里演示的是微软的云,自然也就用了微软的数据可视化平台 - Power Bi。值得一提的是Power Bi对个人用户免费,企业用户是收费的(65元/月)。我的个人感受是:图形界面非常简洁美观,dashboard实时变化的动画效果非常流畅。除了实时dashboard展示,也提供了相当强大的历史数据分析报表,操作起来也是便捷地拖拉图标即可。
3 Azure架构简述
这张图已经很好地描绘了Azure的架构,由于篇幅所限,我在这里就不多做展开了。总之云提供得是一个非常灵活的平台,比方说你需要数据存储,就可以添加一个Azure SQL DB,不需要就不添加。整个部署过程会比你在本地服务器上迅速很多。
4 番外篇之树莓派+Power Bi
Raspberry Pi - 树莓派
这个部分适合具有一定编程能力的同学来实验。由于Power Bi Embeded同时具有一部分开源的IoT(物联网)平台性质,你可以通过Push URL直接把数据推送给它,同样能看到实时的dashboard展示,而不用通过Azure。当然你也就无法使用到Azure其他更多的功能,不过作为一个远程监控的demo来说,还是很好用的,并且单纯以个人账号使用Power Bi时还免费~
由于我平时也玩树莓派和传感器(这里用的是BM180,一个温度和压力传感器),上面的视频简单介绍了下连接流程,你可以在Power Bi上看到树莓派所传输的实时温度和压力dashboard,下面的截图是我的源代码(用Python写的)。
当然如果你没有树莓派或者没用过Python也没问题,用你熟悉的语言写一段随机数推送就行了~这里就不多做叙述。如果大家觉得有需要,我也会在以后的文章里写一些关于树莓派的项目,非常有趣。
除非注明,文章均为本站原创,转载请注明出处,谢谢。分类: kepware