华人澳洲中文论坛

热图推荐

    1030 「万泉河」LAD是否被SCL/ST片面碾压了?

    [复制链接]

    2022-11-1 07:23:08 15 0

    1030 【万泉河】LAD是否被SCL/ST片面碾压了?
    LAD即梯形图。
    SCL和ST即IEC 6十一31规则的构造化文本编程言语,在西门子中称为SCL,而在其余品牌,CODESYS, 三菱,OMRON等则称之为ST。
    前段时间, 有一个参加了烟台办法学习的学员,在看了几天分享给他的规范化架构的顺序材料之后,给我提了这样的问题。
    而其实我本人还真没子细想过。
    被他这么疑难, 想了一下, 好像的确有这么个趋向。 所以,用语音给他讲授了一下。 明天再把这个情理文字方式论述颁发出来。 与大家讨论。
    咱们在做顺序的时分要讲求高内聚低耦合。 即内聚的环节难度高, 耦合的环节难度要相对于低。
    但是不论二者之间详细做到了多高和多低, 首先一点, 要做到内聚和耦合严格离开,即顺序中一眼望去,能够十分分明地分出来。
    关于烟台办法来讲,其实更首要的奉献是完成了这一点。 一切学员拿到烟台办法的材料顺序, 最被惊艳到,也是第一次开眼见到的就是内聚和耦合的严格离开,且耦合部份的难度低到了使人发指之低。
    低到了有得多人发生了幻觉,认为我不如他会写顺序。 认为我不会做循环语法。依然有这类认知的同行倡议去理解下GML ,MODBUS优雅库。 看看本人能不克不及做到同样的优雅。


    附图是烟台办法移植到三菱之后的顺序, 手动部份和自动部份,加起来是全部的耦合部份, 整个都是顺序块(FB)的调用和挂实参。 没有任何逻辑。
    而耦合部份则整个在顺序块的文件夹中, 那外面定义了顺序中一切需求用到的功用块和库函数。 但是没有使用全局变量, 也没有拜候任何内部IO变量,所以顺序块能够跨名目自在拷贝,而毫不会变量冲突,也固然不需求进行任何反省修正。
    那末, 回答这个学员的问题,分为两部份:
    1,内聚部份,假如谜底:是。
    2,耦合部份,假如谜底:是。
    则1+2加起来,谜底就是:是的。
    1,内聚。
    读过我较多文章的读者都知道,我初版的烟台办法的顺序, 是在S7-1500中完成的, 库函数少量借用了西门子的BST库函数。 而后在其根底上,又本人开发了工艺函数。
    而不论是BST库函数, 仍是我近来始终在鼎力鼓吹引见的BPL/LBP, 他们的库函数本来都是用SCL言语写成的。那末我在移植到其余的PLC平台之后,也只不外将SCL的语法顺应到了ST。
    而我本人为行业和名目开发的库函数,就有些混淆了。 大部份是随性而为。 看详细的功用需要,在陈说性语句对比多,以及有循环和前提判别的时分就随手用SCL。 而假如是程序管制等需求对比多调试的时分,就尽可能仍是多用LAD。 由于关于在线调试来讲,我以为LAD仍是强于SCL的。
    但当我从西门子移植到CODESYS ,三菱, OMRON , B&R等的时分, LAD就逐步落伍了。
    我表述过我的观念,即,假如能够电脑两个屏幕平铺,同时关上两个PLC平台的LAD编纂器,能够照着一套的LAD顺序, 不需求动脑,简略在后一套中画出其LAD顺序,咱们也以为这能够合乎移植前提。
    但是,在实际操作中,仍是有一些狗血的。 次要是,西门子的LAD语法比其余品牌要繁杂很多。 本来在西门子LAD中随性画出来的梯形图,到了倍福或者三菱中,好多画法不反对。在西门子中的一个NETWORK,到对方有时分需求联系到多个网络中才能够。乃至有时分还需求添加外部变量来承接。
    这固然不是难度方面的障碍。 其实次要仍是我有些懒,也是由于没有被逼到份上。 真要给我个装备需要让我实打实上电调试完成,我花个个把小时实现他们,也就OK了。
    固然,也还有一个问题,是我对好些品牌的LAD的操作不相熟,指令用法不习气。画起来顺当得很。
    所以,在移植的时分, 有的顺序块我乃至左侧是LAD,右侧我硬生生按ST给抄上去了。 我也有文章写过二者之间的转换办法。
    而后,终究的三菱中的顺序,就大部份是ST了, 而LAD就很少了。 也有三菱规范化的学员来问我:万教师, 为啥我发现有的FB,你只定义了接口,而实际顺序逻辑全是空的呢?
    我就赶快报歉,欠好意思, 是由于我懈怠了,抄LAD的时分懒得抄了。不外这里的逻辑自身不是学习烟台办法的重点,对每个曾经入门的工程师,简略的很。 所以就没做。
    所以能够看到,在全部内聚部份, 不论是剽窃来的顺序仍是移植来的顺序,都仍是ST的完成对比简略,也逐步愈来愈多,LAD被挤压到愈来愈少了。
    固然, 假如我新调试一个零碎功用块,在没有移植需要的状况下,我仍是会尽可能选择LAD, 被碾压了也选。
    2,耦合
    耦合就是顺序的调用。
    顺序调用的特征在于难度低, 而反复的任务量大。 大家有看过我80系列的例子, 不论是80工位仍是80摹拟量, 那种大任务量的反复顺序,并无甚么语法,也天然不需求甚么调试,那末即使教给一个老手来帮助干详细的任务,需求教给他的编程常识都很少。
    只需求在文本编纂中不停的照猫画虎就能了。
    所以,其实咱们次要是在Excel中写耦合顺序。 如文章《0628 【万泉河】优雅的PLC顺序一定是用EXCEL写出来的》中所述。
    由于选择了SCL,所以能够用EXCEL拖一下间接生成。而假如选择LAD,则需求用OPENNESS配合EXCEL编程完成。
    后者需求的技巧对比高,看起来可能会使人感觉对比目眩纷乱, 心生畏敬。
    但是代价是,只要做编程的工程师本人能做。其余人很难上手,也更难于规范化。
    而咱们的指标是能尽可能地把本人解放,而不是把本人一辈子套牢。
    所以,宁可选一个低难度的EXCEL解决计划, 也不去学OPENNESS的花拳绣腿。
    在做80系列例子的时分, 有一些厂家平台如汇川的H5U,只反对LAD, 而不反对文本言语, 乃至导入导出到文本的功用都没有。 那末我也只好老诚实实用LAD来逐一画出来。 画的过程当中试探能更高效完成的技能。
    但是比来据说的是,汇川的新版的AUTOSHOP编程软件,曾经反对ST了。
    我固然很欣喜。
    1+2
    综上所述,的确, LAD被SCL/ST片面碾压了。
    这是个主观问题主观谜底, 不包孕客观偏向。
    那末假如只会LAD的工程师,看到LAD如斯被碾压,应该怎么做?固然是能够开始学习SCL编程了。
    其实这反而是个好动静,阐明发现了进步技巧的标的目的。 而网上有少量材料,让你学这个品牌阿谁品牌产品的运用常识,那些只能算是简略累加,并算不上甚么技巧的晋升。对技巧和身价的进步,其实不会有甚么明显的价值。
    而后,假如有人坚持说,我这辈子不打算再学言语了,就打算LAD干究竟了。是否烟台办法的架构就学不了,不克不及完成了呢?
    基本没有多大瓜葛。 那些底层的库函数,我违心抄和借用现成的库,也仍是出于我想省些力气的缘故。 我辅导的工程师,有的人就把BST函数间接扔掉了,本人用LAD从新写了交换掉,固然次要目的是简化功用,厌恶其中没用的繁杂功用。我本人也始终在规画找时机从新做一套模块,把它们交换掉。
    而SMART 200等的规范化顺序,我也是全盘用LAD写的。 由于,没得小抄能够抄。
    而信捷等小型PLC,只反对LAD言语,我不也照样在文章中宣告了能够做规范化的嘛!真的把LAD玩得溜了,都同样能够完成。 只不外鼠标和手指关节累一点。
    没啥。

    发表回复

    您需要登录后才可以回帖 登录 | 立即注册

    返回列表 本版积分规则

    :
    中级会员
    :
    论坛短信
    :
    未填写
    :
    未填写
    :
    未填写

    主题37

    帖子53

    积分243

    图文推荐