关于PLC模块化编程的一点想法

转载请注明出处!

一、前提

  首先,仅针对Siemens 1200/1500 PLC,配套博图的软件。其他的品牌的,其他型号的,恕在下才疏学浅。

  其次,模块化一词包含内容真的很大,事实上从第一个项目开始,这个问题就一直在思考,故在此稍作记录,希望能帮到有缘人,若大神路过,还请不吝赐教。

  最后,本文仅代表个人观点。有人可能会说不就是面向对象么,你说是,那就是了吧。

二、正题

  模块化,我认为(后面会省略我认为三个字,请自行脑补)核心就是如何进行模块化切分。我选的路,按类型切分:传感器(温度、压力最多)、开关阀、比例阀、水泵(电机)、水泵组、PID、容器,本人目前接触的项目,也就用到这么几个类型的设备。

  模块化的好处:

  1、代码复用,以后可以直接复制粘贴,加快编程进度。

  2、可以标准化,便于管理和维护。

  3、最核心的作用,减少出错的机会,加快调试的进度。

  模块化要解决的问题:

  1、简单和复杂之间的平衡:如何合理的设立模块,既要考虑到复用过程中,不要因为个别的设备个性化的东西,带来的代码重构,又要避免考虑了过多的因数,导致代码过于累赘,使用不便。

  2、死板和灵活之间的平衡:如何合理的设计接口,既要方便调用,又要方便不用。

  先说我的思路:

  设计UDT,自定义数据结构,方便对照具体项目,建立物理设备在PLC里的映射(全局FB内)。

  设计FC块,针对每种UDT,设计对应的FC块,实现代码复用。

  最后建立全局FB块,建立每个设备对应的结构(映射?数字化?),在OB块进行调用。

  新项目大致过程:

  新建项目 => 新建设备,必要的设置 => 复制UDT => 复制FC => 新建全局FB,建立项目过程中对应的每个设备的结构,可以通过数组一次性建立 => OB块调用

  具体实现:

  先以通道处理的过程,举例说明UDT的设计和FC的设计和调用思路。

  等待抽空补充,我会补充的。

最后、

  1、自控方面的知识更新真的太快了,当前物联网、5G各项技术兴起,学海无涯啊!

  2、果然还是不善于文字啊

上一篇:2.25


下一篇:TIA中定时器的应用