查看: 657|回复: 7
收起左侧

[综合教程经验] PLC程序模块化与活字印刷术

luohao 2023-3-4 11:39:41 | 显示全部楼层 |阅读模式
邀请回答

马上注册,享受更多特权

您需要 登录 才可以下载或查看,没有帐号?立即注册   

x
活字印刷术是中国四大发明之一,它革了雕版印刷的命,在活字印刷术出现之前,一直面临如下问题:

1.雕版完成后,需要改某个字怎么办?
2.每次雕版用完就废弃,能不能复用?
3.雕版完成后,需要增加内容怎么办?
4.排列的格式变化了怎么办?

上面四种情况出现的时候,雕版印刷必须重新刻,浪费了大量的人力物力,灵活度不够。

细究活字印刷术解决的问题和我们程序有点很像:

1.需要修改某个字:后期出现了bug,程序需要维护
2.重复使用:程序块需要复用
3.增加内容:需要可扩展,改造升级
4.排列格式变化:工艺流程变化带来的灵活变化

活字印刷术采用了分析最小单元,然后在一定的框架下去灵活的变化,那我们的程序怎么样才能够灵活的应对呢?

我们一直提倡模块化,模块化的概念是什么样的呢?模块化的思路、方法是什么呢?

以下为自己的拙见,希望能起到抛砖引玉的作用

1.找到控制的最小单元,活字中的“字”

一台设备有很多个功能单元组成,比如装配螺丝钉单元:它有多个气缸,多个伺服,螺丝枪、振动盘、送料吹气、切料机构等等组成,这么复杂的一堆机械+电气感觉很纷杂,但细细分析其实它主要由气缸(含吹气、切料),振动盘、伺服,螺丝枪等组成,最小单元都是可执行的件

那我们就可以写FB、FC,气缸块,振动盘块,伺服块,螺丝枪块等


2.找到系统常用的关键位,找到常用的功能,活字中的“标点”

当然古代可能并不需要断句,假设而已

一台设备总要有模式、指示灯、按钮、状态等,这些可以作为条件串接到任何一个功能块内,他们需要单独的去定义,然后广泛的去应用到各个功能块中或功能块的接口中
常用功能,比如:我们要做报警,那就要批量的去做,做好了只管用即可;我们要做IO监控,那就批量的去做,无论设备如何变,工艺如何变,功能总是要的。对于这部分工作就要独立出来,单独的创建好,每个项目做到复用,或者稍微改动的复用

3.组建更多的功能块,活字中的“字库管理”

我们也要把我们写好的功能块做管理,设备需要拿出来用,设备不需要先切割掉,做到嵌入式的开发;管理的时候,我们总希望有序管理,这样查找的时候才够方便,替代的时候才能够改动最小,比如FB100定义好了啥功能,其他就不要占用100这个序列

4.程序的模块化组合,活字中的“排版”

一台设备本次使用到了气缸,但没用到伺服,没有螺丝枪,另外一台设备有伺服,没有气缸等等,设备组合千变万化,我们的程序能否适应这种变化,这也体现了模块化的好坏,不能出现彼此关联很深,无法切割

5.自动流程的变化,活字中的“内容重组”

排版仅仅是把字找出来,内容重组才是出版的核心,设备的自动流程是这台设备的根本,是按照一定顺序完成工艺流程的核心,自动程序写的好坏,与设备的稳定性、节拍、操作、安全、防错等等有很大关系


这是不是大家期待的框架?是不是灵活应用的框架?是不是模块化设计的依据?是不是非标自动化流程控制中的精髓?
老祖先已经帮我们实践过了,你是否得到了启发?

请大家不要在留言里一直称呼我大佬,我只是比你们多烧了几台伺服电机的经验,被我的师父看到要笑话我了,也欢迎大家提出更多的思考方法

疫情三年,可能很多在校的大学生都还来不及获得专业的知识结构,就被推向了社会,毕业了不代表学习的结束,要保持持续的学习,可能这才仅仅是一个开始,愿和大家一起把丢掉的时光重新弥补过来,愿打开一个好的思路,在此基础上获得更多专业的知识(指令类),为实现四个现代化(自动化)努力奋斗,实际点说,做好一个码农,担起自己家庭的责任。

现在就业形式多种多样,不要丢了根本,要做到冰冻三尺非一日之寒的积累,时代总是需要技术的,技术总是在前进的,重复是生活的常态,医生不做手术、不看病了,那他还能称得上医生吗?




点评

感觉,这是开发者的事  发表于 2023-3-16 11:24




上一篇:E5
下一篇:非标自动化设备设计与实践

已有 0 人打赏作者

回复 邀请回答送花

使用道具 举报

闲钓西风 2023-3-7 13:30:53 | 显示全部楼层
直接上个程序模版比一万次说教更有说服价值~~~
回复 送花

使用道具 举报

zhangwei1987 2023-3-8 08:16:44 | 显示全部楼层
直接上个程序模版比一万次说教更有说服价值
回复 送花

使用道具 举报

tfa 2023-3-15 11:56:02 | 显示全部楼层

直接上个程序模版比一万次说教更有说服价值
回复 送花

使用道具 举报

一万九5 2023-3-16 10:43:47 | 显示全部楼层
编程就是这样
功能FB 对应的是设备,单独编写,面向对象的编程(有点矛盾,面向对象可能把这个FB做得太丰富)
就是一个字模
另一个FB 就是编写这个FB的 执行条件
我现在 在这个FB里 再搞了一个互锁 的FB ,这个单独出来只是为了 再HMI上观察 互锁里谁没有满足条件
面向对象编程
一个对象,有很多的FB组成
对象的接口  需要统一
系统是多个设备组成
系统的接口  也需要统一,对接管理系统
回复 送花

使用道具 举报

luohao 2023-3-22 10:56:51 来自手机 | 显示全部楼层
一万九5 发表于 2023-3-16 10:43
编程就是这样
功能FB 对应的是设备,单独编写,面向对象的编程(有点矛盾,面向对象可能把这个FB做得太丰富 ...

交流思想比学习指令更有价值,从您描述里大致了解,可以私下交流
回复 送花

使用道具 举报

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

本版积分规则

有技术问题,就上汇川技术社区

INOVANCE汇川技术 公众号

扫码下载掌上汇川APP

全国服务热线:8:30-17:30

4000-300124

苏州地址:江苏省苏州市吴中区越溪友翔路16号

深圳地址:深圳市龙华新区观澜街道高新技术产业园汇川技术总部大厦

Copyright © 2003-2100 汇川技术 Powered by Discuz! X3.4 ( 苏ICP备12002088号 )
快速回复 返回列表 返回顶部