电工学习网

 找回密码
 立即注册
查看: 1537|回复: 0
打印 上一主题 下一主题

你的设备你做主

[复制链接]
跳转到指定楼层
楼主
发表于 2021-2-18 16:03:33 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
大家有没有遇到过这样的客户,初期方案讨论时侃侃而谈,把设备的动作讲得一清二楚,但是当你按他讲的东西披星戴月的做出来后,他觉得这个要改、那个要调整,今天要增加一个步骤,明天要增加一个产品,三天两头改工艺。甚至有些人自己对具体的操作的步骤都时云里雾里的。在下不幸,就遇到了这样的客户。
遇到这样的客户怎么办?每当他灵光乍现的时候,你就跑现场去改程序吗?一次两次的,想想客户是上帝,就帮他改一下吧。可他客气当福气,没完没了的给你打电话,你还去吗?其一是费用问题,这跑一趟可能无所谓,跑多了花下去的成本就可观了。问客户要吧,客户的脸色立马由晴转阴,总觉得你在讹他,搞不好背地里在你老板面前说你几句不阴不阳的话。其二是领导那里怎么交代?要知道领导都不追究细节的,只会认为你的水平有问题,现场去了这么多次还没解决问题,下次的奖金和调薪可就悬了呀。
我们自控人当然用技术征服客户。只要做到客户自己能够随意改工艺路线,想让设备怎么动作就只要在触摸屏上点点就好了,岂不两全其美?所以最终方案就是做一个工艺路线的组态程序。
做这样的程序当然要用面向对象编程,分析好系统中的类和对象,最好用数组的形式建立对象,便于程序上的处理,而且可以适当的增加数组长度,以防客户将来增加硬件,到时候软件就不需要再改了。如果使用S7-1500的plc,则可以用数组数据块,数组长度就是可变的了。除了完成每个对象固有的编程之外,还需要完成一个“工艺对象”的编程。
首先,对于每一个控制对象,列出所有的动作,通过对一个“指令”变量赋值,就能让它执行相应的动作,例如一个阀对象的指令有开阀和关阀两个,可以分别定义为“1”和“2”,再加上保持原来状态的指令,定义为“0”。对于每一个检测对象,则列出所有的状态,还是以阀为例,其状态有“全开”、“全关”、“正在开”、“正在关”、“故障”,5个状态,分别用1~5来定义。对于模拟量则需要离散化,比如要设定几个区间,或者定义一个运算过程,按运算结果来定义状态。此外,考虑到某一个检测对象的状态与某一步工艺无关,所以所有检测对象都还有一个“不相关”状态,也用”0”表示。
然后,把每个对象的状态和指令汇集成整个系统的状态集和指令集,即为所有对象的状态和指令的组合。把状态集和指令集分别定义在两张表中,并给每个状态和指令指定一个不可重复的序号。这两张表可以自动生成,优点是编程简单,缺点是可能浪费存贮空间、程序执行效率低。也可以人为逐条添加,优缺点则和自动生成正好相反。
接着还需要一个工序表,定义每一道工作步骤要进行什么样的操作,既执行哪一条指令。
最后再建立一个工艺表,定义每一道步骤执行后各种可能的状态下所对应的后序步骤,如果后序步骤为空值(实际用零表示)则表示该步骤为最后一步,所有工序执行结束。
至此,完成了一个小小数据库的设计,如图1所示。
你的设备你做主
这些表在博途中全部以UDT的数组(或数组数据块)形式建立。由于这些表都需要添加、修改和删除一条记录的操作,所以可以定义一个表的通用函数用于这些操作,用Variant数据类型作函数的输入输出接口。需要注意的是,对指令表的删除操作需要先确认工序表中是否有使用该指令的工序,如果有就不能删除该指令。否则将来执行相应工序时,就不知道要做什么了。同理,对状态表的删除操作也需要在工艺表中确认。
程序执行时,先从工序表中调入第一条工序作为当前工序,并按当前工序对应的指令序号在指令表中找出相应的指令进行操作,操作完成后,将设备的当前状态与状态表中的记录比较,找到对应的状态序号,然后用工序序号和状态序号在工艺表中找出后续工序序号,将后续工序序号赋值到当前工序,如此循环直到后续工序为空值。下图展示了程序的伪代码。
你的设备你做主
按此思路完成PLC程序和hmi的设计就万事大吉了,剩下的事就可以交给客户自己去折腾了。且慢!还漏了重要的一件事:教会客户怎么在HMI上操作??(后期就电话远程指导吧)。
有的时候一套设备可能会用于不同的产品,那么只要多建立一张产品表,把产品和该产品的首道工序联系起来就可以了,如图2所示。但是需要注意的是,即使工序的指令是一样的,但是只要是不同的产品,就应该定义不同的工序序号,除非所有后续工序和工序切换条件都是一样的。

你的设备你做主

回复

使用道具 举报

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

本版积分规则

电工学习网 ( )

GMT+8, 2024-4-27 16:52

Powered by © 2011-2022 www.diangon.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

快速回复 返回顶部 返回列表