0316 【万泉河】发现西门子官方例程LBP与BPL的重大不同
这个重大不同代表了WINCC的技术发展趋势。
针对LBP和BPL已经写过三篇文章了:
0306 【万泉河】西门子官方例程BPL解读分享直播
0309【万泉河】西门子官方有两套例程BPL 和LBP
0312【万泉河】百无一用SIVARC
如果看不懂下面文章在说什么的读者, 请先去搜索找来这几篇文章看看,打好基础。 微信“搜一搜”就是最好的搜索引擎。直接输入括号框住的【万泉河】,就能搜到本人全网所有文章。
上一篇文章发出后,有读者就反映完全看不懂在讲什么。
更有人杠我, 说你写这些文章都没人看懂没人回复,有意义吗?
有的。 你自己暂时看不懂不代表你永远看不懂,也不能代表别人看不懂。 你看不懂只代表了当下你的差距。 如果持续不学习不进步, 这个差距还会持续放大。 因为我一直在学习,研究的领域一直在拓展, 那么这个差距会是加速度的。
而我把当下的经验和总结写出来了,挂在网上, 它就会成为一个永久的历史记忆,有学习有进步的同行,即便暂时跟不上看不懂, 或者没发现这其中的意义, 早晚一天会看懂, 会发现其中的意义。
这不是我的问题,我不着急。
反而谁看不懂, 谁需要自己反思自己。
当然,两套例程的不同之处非常多,尤其很多相同的功能,在PLC程序中也是采取了不同的实现方法,我在直播分享中已经做过一些讲解。现在直播报名活动已经结束,没参加的同学别着急骂娘,自己去学也一样。
这里只针对WINCC,而且也只是WINCC中的一个方面。
我们知道,在WINCC画面中有Faceplate 面板功能,即在过程画面的底图之上,放置了一个个动态设备对象。底图是静态的, 设备对象是动态的。 这种动静分离是有非常大的好处的。 因为可以做到更清晰的工作分工,静态部分,可以请专业的美工来完成, 这样即便他们没有WINCC软件, 只需要一把美工修图刀PS,也可以参与到工作中来,因而可以各专业合作,实现精美的设计。
而动态的设备对象,则对一个行业的所有工程项目,都会是统一的,标准化的。以往许多人不懂得标准化的意思, 这里可以套入理解一下。当然这只是标准化的一个方面。
因为实现了设备对象动态图标的标准化,那么对控制系统工程师来说,工作量就会大幅度减小。 甚至,如果你可以成功套用现成的例程模板, 那么工作量也就是一场对例程模板的深入学习理解。
这就是我为什么对一个例程程序如此看重的原因。
在实现标准化编程烟台方法之前, 我研究西门子上一个版本的BST例程, 超过10年。 所以在做标准化架构中,可以流畅地使用它们。自己的工艺中需要的特殊设备,也可以参考BST的架构,自己随时开发补充库函数。因而才有勇气在面对工程项目的时候,直接上手。
大多数的学习标准化烟台方法的学员, 在此之前根本没有接触过BST例程,所以对他们来说,首先需要花费大量的时间补上欠缺的对BST的认知部分, 然后再补上其他的门槛, 然后才有能力真正把烟台方法应用到自己的工程项目中。
而我编著的新书《PLC标准化编程原理与方法》,书中大幅的篇幅也是在讲解BST例程的架构,只有在充分理解BST基础之上,才样可能做到工程项目的标准化方法设计应用。
所以大家一定要了解, 一项技术,一定需要持续的积累和储备,绝不是拍下脑瓜,听老师一堂课把核心技巧方法讲一下,或者参考一下别人的程序资料,自己就可以从容克隆得到。
比较两个版本的画面模板FPT文件, 拿最常见的MOTOR图标举例,外观相差不大:
,
先看旧版本的BPL中的实现:把几何尺寸拉大, 所有重叠的控件平铺摆开, 隐藏层的内容也显示,可以看到如下:
整个画面就是一些简单元素:静态文本,图形,I/O等拼装而成,而所实现的动态效果,则只不过是通过PLC中的运行值,实现的对一些元素的隐藏,而对另一些元素显示实现的。其中还包含了复杂的VBS编程脚本。 如:
这些内容的实现,靠的是大量的图形文件。搜索项目的GRAC文件夹中, PNG文件有131个之多。
而新版的LBP的同一个设备的图标, 即便铺开, 也只有简单的5-6个对象, 完全不像上面的那么复杂。 5个对象中, 其中有3个是SVG, 有2个是图形列表。
即新版的主要技术是靠大量的SVG矢量图形实现的, 尤其这些图形的文件格式是一种全新的西门子特别研发的SVGHMI格式。优点是控件可以直接拥有自定义属性,根据属性值的变化, 图形对象直接实现动态显示。所以也压根没有程序脚本。
而普通的图像文件PNG或者JPG, 则一个都没有了。嗯,0个。
按照3月15日西门子专家大讲堂中工程师的讲解, 西门子对这个SVGHMI格式有专利,而且当下并没有提供公开的可以自行编辑设计SVGHMI的工具软件。
所以, 使用SVGHMI来实现动态图形, 会是未来的技术发展方向,而西门子显然是走在了最前面。
相当超前。
超前到我搜索了网上的关于高级语言实现人机界面的图形化解决方案, 不管是SVGHMI以及类似其功能的方法, 一概没有。 甚至简单的SVG图形应用都很少。 整个IT领域大量使用的还是图片ICON。
我在推荐PCHMI.DLL的相关文章中,有提到过我想开发一套通用的C#上位机界面程序,现在准确来说,可以认为是开发一套与LBP/BPL的PLC程序配套的上位机程序,可以完美替换其WINCC程序,实现与其相同的功能。做出这样一套模板程序来,将来可以满足同行业中一大批需要自研发上位机程序的需求。
然而,现在看, SVGHMI的方法还很难在C#中应用,所以还只能参考BPL的笨方法,通过图形元素拼接并辅助以编程来实现。
这就有点累了。
所以一直想找一个C#基本功不错的同行来合作完成。 然而一直没找到。 要么水平还可以的, 日常工作太忙无暇分身。要么则是根本理解不了我的需求。
有一些人,自诩也能用C#自己做点上位机程序,但交谈几句就知道,做的也只是平铺下来的没有任何技巧和技术含量的面条程序。只要把需求提过去, 基本就没回音了。
所以,如果有C# WINFORM方面的特长,确实理解我本文提出的构想,并且能有一定时间配合开发的, 请与我联系。
微信:ZHO6371995。
合作方式可以付费, 也可以交换资料的方式。可以详谈。