故事作者:绫

最近创作

看看TA的故事

【周三技术工坊】标准化编程从数据结构开始

已锁定

总坛主

  • 帖子

    1533
  • 精华

    120
  • 被关注

    237

论坛等级:至圣

注册时间:2019-03-20

钻石 钻石 如何晋级?

【周三技术工坊】标准化编程从数据结构开始

12742

24

2019-08-06 15:54:43

star star star star

        当今工业领域群雄四起帮派林立,好一派欣欣向荣的景象。同时又兴起了智能制造数字化的浪潮。数字化旨在提高工厂的柔性,提高产品质量,提高效率。即所谓的工厂实现了定制化按批次生产,且生产原料和产品进行绑定,达到可追溯。同时在产品的服务周期内可以收集数据,让数据产生价值,更好的服务未来的生产。

        通常工厂中的设备都是相对孤立的,设备单体可以满足自动化生产,设备和设备之间需要人工串联,生产各个部门之间也是割裂的,也就是计划生产模式,对企业的管理者的要求就是不断的协调各个部门,更多的人为参与,总体感觉就是每个人都很忙,但是效率还不是很高。数字化就是为了让设备之间互连互通,让部门之间可以关联起来,既尔打通设备到生产管理MES,以及整个工厂实现智能生产,从而达到定制化按批次生产,提高效率,提高产品质量。

        这里畅想下数字化下的生产,以一瓶可乐为例,从原材料开始,到生产中的每个过程,每个可乐在下线到最终的消费者的手里,它的所有活动都被记录,形成完整的档案。甚至通过收集消费者的饮用感受,去修改配方为消费者定制专署的口味,以及修正现在的配方,去升级产品。

        那么怎么才能做到数字化呢,万事开头难,在开头之前,应该有个标准做为约束,这样才能统一起来,实现更高的效率。从大的方面来说,工厂的网络架构,各个层级之间的数据接口等。小的方面到设备划分,程序内部的命名,程序的结构等。

        治理一个国家、一个社会,关键是要立规矩、讲规矩、守规矩。对于工程师,不以规矩,不成方圆。那么标准化就是数字化的约定俗成,就是数字化的规矩。接下来我们会谈怎么样在设备的最基础的点,即编程中怎么做标准化,怎么定义变量名字,程序结构,接口等,以及这么做的优点。标准化从点滴开始。

  • 1.编程角度标准化应该从易读方面,程序里的变量、功能块应该有一个统一的命名规则。变量命名中,推荐以英语单词组成、首字母小写、长度限制在24个字符之内、可以缩写但每个名字里仅有一个缩写。下图分别为缩写和名称举例

  • 2. 从容易维护的角度,程序里应该有推荐的编程语言和注释;编程语言中SCL类似于高级语言,适用于复杂算法、数据处理;LAD/FBD适用于逻辑处理,易于程序诊断,GRAPH善于处理顺序控制。LAD/FBD和GRAPH已经包括在IEC 61131-3标准中。在具体使用中,各种语言特点不一,应该尽量用其优点。

  • 3. 从灵活性方便更改的角度,程序应该用结构体数据以及统一参数接口;

  • 4. 从重复性角度,程序应该用多重背景和全局数据,以及程序库。

        给大家讲个真实的案例,在前一阵子参与了一个项目,情况是这样的。做过OEM工程项目的话,打样这个词并不陌生,打样就是同一个机器,配置n种方案,作出几台样机进行产品测试。下面开始我们的故事,有一个机型是做零件组装的设备,传送带采用伺服控制,来达到把材料传送到相应的位置,气动系统负责安装动作,Robot负责抓取移位,相机负责检测是否安装ok,激光扫描负责检测安装精度。这个设备采用了三种方案,PLC、IO、伺服是一样的,但是Robot和相机和激光分别是不同厂家。所以与其连接的为不同的通讯协议(PN、Tcp/IP、Modbus、PTP等方式)。客户第一次使用西门子的系统,分配了三个工程师分别去编写三套样机的程序,并对其进行调试。过了十几天由于程序量以及工艺流程相对复杂,编程调试进行的不是很顺利。客户用到的编程思路就是线性编程结合部分结构化编程,但是工程师之间是各自为战,所以最终的效果不是很好。



        客户希望西门子能帮助客户一起协助编程,我们一开始没有盲目的编程,而是把机器中涉及到的产品,按功能和厂家进行分类,定义统一的编程规则,接口,数据格式等。然后分配给不同的人负责,有负责相机程序的编写对接,包括通讯,以及预留触发接口,对拍照的反馈和数据存储;有负责激光的程序编写对接,包括通讯,以及预留触发接口,对激光扫描的反馈和数据存储;有负责机器人的程序编写对接,包括通讯,以及控制接口,运行的路径数据存储以及机器人状态的管理;有负责伺服按工艺流程进行的控制程序。在这里数据接口确定了,以及数据格式确定了,HMI画面自然可以使用统一的画面。

UDT的数据结构

功能块的数据管脚

功能块内的程序结构


程序调用


        三台样机在伺服定位控制、程序流程和设备状态控制是一样的,只是后面的相机,激光等不一致。每个功能各自独立测试,最终根据项目的需要把程序串联在一起,通过上面的办法,大家明显感觉到编程变的清晰明了了,编程容易实现。

        其实上面这个故事只是用到了标准化编程概念中的UDT的数据结构,以及数据块采用多重背景数据嵌套,接口采用一致的接口方式和数据格式的概念,就已经带来了事半功倍的效果了。

        未完待续…


                                                                                                         -------来自 西门子技术支持工程师

【周三技术工坊】标准化编程从数据结构开始 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

自动化so酷

共有80条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。