当然,也不仅仅触摸屏了, 上位机也是。
不过我们本文就以触摸屏为代表了。
来讲述这个问题。

先复习一下传统的触摸屏报警的做法。

我们传统的触摸屏报警的做法是,在PLC程序写完之后,会整理出来一个完全的报警点表,第一列是PLC中的点位地址,第二列是报警文本,然后还会有报警类型,报警级别等其它的列。

php判断触摸屏0524 万泉河纷歧样的触摸屏报警办法 HTML

然后不管是自己做触摸屏,还是多人分工,有人专门做触摸屏程序,便是拿到了这个点表之后,逐条录入或者再人工致顿下点表的格式适应触摸屏软件的格式规范,然后批量导入到触摸屏中。

这该当是传统以来PLC行业做报警记录的做法。

这种做法的缺陷是:

事情量比较大。

报警点表里面的信息实在都是人工逐条整理的。
前者,点位地址,须要对着PLC程序逐个录入,后者,报警文本实在都是PLC工程师逐条录入的。

常日的共识,一套设计精良的系统,必定要有完全的报警记录以便于故障追溯。
以是常常会有一套PLC程序本身很大略,但要把报警信息做细做全了,事情量反而比逻辑的处理更大。

以是,我们可以评估认为,一套掌握系统中,做报警信息的事情量完备有可能要占到全体PLC程序事情量的一半。
只算PLC程序,不包括触摸屏画面。

而且,这个事情常日还须要逐渐丰富的。
比如我们一套行业设备,开始的时候能够成功运行完成工艺哀求,报警部分也就大略提示各种运行故障和运行信息。
然而当设备要逐渐成熟的时候,就会更细致的报警信息。
比如运行中某个行程开关的接线松了,或者继电器的触点坏了,都能判断得到,都能通过文本报警办法供应给操作职员,那么就可以在生产操作中快速定位故障点,快速故障修复,提高效率,减少停机丢失。

然后,客户就会更接管这样的设备,是一台对用户高度友好的设备。
而不是故障停机往后维修职员对着程序和图纸,扒拉电线调试三天三夜,终极才定位到某个不起眼的元件故障导致。

(多说一点,如果PLC行业的设备都能达到足够的用户友好,都能有丰富的自诊断功能,那么这个行业的客户也不会都要盯着要源程序,以及禁止PLC程序加密了。
如果不是设备繁芜,如果平常一个不懂程序的操作职员参照设备的提示就能修复设备故障,所有的生产工厂老板才不愿意花高价格养一批能搞程序的掩护工程师呢!

比较难改动。

比如一套设备,经由上述的步骤一点点精心调教,终于功能比较完全了。
然后换一个客户,再供一套新设备,轻微有一些改动。

比如配置接口变了,增加或减少了几个掌握元件和设备,或者系统工艺升级了,原来的变频器改为了伺服,或者原来的限位开关改为了仿照量。

总之,设备整体95%与原来的相同,但好去世不去世总有那么5%与以前不一样。
当然这也就是非标设备的特点。
如果完备一样,工程师还没活干了呢!
图纸直接打印下发到车间,工厂就持续生产就行了。
工程师顶多起个保驾护航的浸染。

那么摆在设计者面前便是个两难的选择。

如果完备从头做,这种天量的笔墨处理数据处理的事情量,想想都头疼。
而且分明是已经干过了一次了, 还这样重复劳动, 那会更头疼。

而如果沿用原来的设计,在其根本上增编削查,那头疼程度一点都不少。
须要把旧系统中作废的逐一挑出来,新增加的内容再逐条加进去。
所利用的变量点位还有可能有重叠。
而如果稍不留心,漏加了一条或者漏减了一条, 也非常难创造。
要想创造,除非等设备到了现场,运行了五六年了,用户在利用中创造某条诊断功能缺失落,或者多出来一条看不懂的诊断提示,再把工程师喊去现场售后做事,才有可能创造。

难以传承

看出来了,如上位所述的设计构造,除了设计者本人,后人是完备没办法接手的。
古人做到了多少功能,而多少功能没做到,做漏了,完备心里没数, 那么给到我手里让我再增加的功能,我也难保完备做到位。
而且,即便做的不完全的地方,也无法审查。
设备生产功能正常,完成验收,调试工程师就撤了,项目奖金也早拿得手了。
等创造问题,都找不到任务人了, 乃至,调试的工程师早离职跳槽都不知道多少次了。
完备一笔糊涂账了。

那么有没有更好的办理办法呢?

当然有,而且早就有了。

S7-300/400和PCS7的时候就有,就先不提了。

在TIA PORTAL中,S7-1500中有program alarm功能,可以实现在PLC中组态设置报警,报警信息直接发送给触摸屏和WINCC。
即,上位机是不须要做任何设计事情的,直接可以收到PLC送来的完全的信息数据。
包含韶光戳和信息文本,信息类型等。

而在PLC程序中,也可以做到报警信息处理跟随程序逻辑。
比如设备发生故障,在逻辑中读取这条故障信息之后,紧随着来一个报警上传指令,把这条故障的完全描述报给上位机。
即是是,把原来写在注释中的文本内容,直接写到了程序里。

那么当在旧设备根本长进级为新设备时,所须要删除的部分, 程序逻辑和报警的段落一同删除即可。
而要增加的设备,也同样只须要增加相应的段落。

而其实在标准化烟台方法的架构里,逻辑都是在设备类库里完成的,那么多一个设备和少一个设备,也只不过是多一个实例化调用和少一个实例化调用的差异。
以是可以认为,对报警信息的管理可以做到0事情量,完备不须要再关心了!

这是西门子PLC的办理方案。

特点是PLC和触摸屏之间报警信息部分,不须要常日的变量采集和通讯,而是走了分外的通道。
然而也正由于这个通道是分外的,以是这个功能的实现必须是PLC和上位机同样支持才行。
乃至,这个功能也只在西门子的少数产品型号中才有。
比如S7-1500,与TP触摸屏以及WINCC。

而S7-1200, SMART 200, KTP触摸屏等,则一概不支持。
做不到这样的报警信息直接天生。
以是很长一段韶光,我做项目的时候都是哀求上位的触摸屏必须用TP,下位PLC必须1500,400。
由此多花了不少钱。

西门子内部产品尚且如此,跨品牌就更别提了。
到目前为止还没听说过有哪一家的触摸屏或者SCADA品牌能实现直接读取S7-1500的报警信息。

我在把PLC标准化编程烟台方法从西门子到其它品牌移植拓展的过程中,就一贯非常关心对方平台对上位机报警功能的支持。
然而除了ROCKWELL AB有供应了工具间接可以实现之外,其它品牌大都不具备。

所往后来移植的方案上位机都没移植,而是直接沿用利用了WINCC。
这部分功能就只能放弃了。

以是这些品牌的系统中的报警都是通过整理点表后导入的传统方法实现的。
当然,标准架构下的报警信息都还比较有规律,乃至也可以方案自己开拓软件工具实现。

今年以来,一贯在编写新书《倍福PLC标准化编程烟台方法》,TC2部分做的还是与WINCC对接,然而到TC3部分,我就做了与其自带的可视化的对接,画面部分内容已经完成。

现在面临要做的则是PLC做上位机报警。

在倍福系统中(包括TC2中也有,只不过不足成熟),有一个TC3 EVENT LOGGER的系统组件,它独立于PLC程序,而在TWINCAT中单独运行,供应报警信息行列步队做事。
PLC程序中将报警发给EVENT LOGGER,然后其它的人机界面乃至其它的PLC,可以来收听读取这些报警信息。

在VISU中有一个event table控件,便是专门展示这个报警信息的。
然而倍福家做的就比较麻烦,不像西门子中只须要把控件拖入就能运行。
而是还须要在PLC中单独做一个读取程序,将系统报警信息读取到一个数组中,控件须要绑定到数组,才可以展示报警信息。

倍福官网中有完全的先容,链接:

https://infosys.beckhoff.com/english.php?content=../content/1033/tc3_plc_intro/3524194955.html&id=

然而悲剧的是,我捣鼓这个已经快个把月了, 一贯没搞定。
以是,书写到这部分,卡壳了。

囧囧囧囧囧囧囧囧囧囧囧囧囧

我希望有做过这部分功能的同行,能给下辅导。
同时,有对这部分功能感兴趣的同行,也不妨研究下。
我这里搜集了一批干系的资料和例程,有想研究的可以跟我联系获取。

其余,虽然我研究要的VISU3的功能,实在实际运用中很少见到这样的配置,大多数运用还是利用了专用的触摸屏。
那么,理论上来讲,倍福供应了完备的各种措辞的接口,所有触摸屏实在都可以实现event logger读取功能的。

我们希望会有越来越多的触摸屏产品可以直接支持这种EVENT LOGGER,或者有人创造已经具备此功能的产品,不妨帮忙做个宣扬。