关于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、果然还是不善于文字啊
标签:UDT,模块化,编程,FB,FC,PLC,设备 来源: https://www.cnblogs.com/ximigoo/p/14713699.html