小龙:
你好!我是小龙,是TAP的设计和开发者.
工艺师:
你好,
TAP是什么?是一款软件吗?
小龙: 是的,
TAP是工艺分析平台(Technology Analyse
Paltform)的缩写,是一款专为工艺人员开发的编程工具
工艺师:
工艺人员?
也包括我吗?
小龙:
当然
工艺师:
可是我不需要编程啊,那不是专业程序员该干的事吗?
小龙:
呵呵,我周围很多搞工艺的同事也这样说.不过我倒觉得正相反,每个工艺师都应该编程.
工艺师:
为什么呢?我一直都是只负责解决工艺问题,
编程都是公司找外面程序员来干的啊
小龙:
那你想过开发自己的工艺优化模型吗?
工艺师:
这个倒是有过,我自己也确实尝试着设计过一些优化算法,不过不现实
小龙: 为什么?
工艺师:
现在生产都用计算机控制了,在线优化都要靠L2模型,这些都是公司里专门找外面的人开发的.
小龙:
那效果好吗?
工艺师:
一般般吧.一开始还好,不过最近两年订单波动大,工况好像也不如以前稳定了,这种一次性开发的模型效果似乎越来越差,
跟不上变化啊,
到了最后基本都不用了,还是靠操作工的经验.
小龙: 那为什么不让他们根据工况对模型进行优化呢?
工艺师:
L2的模型开发都是按项目来做的,验收过了这些人就走了,出问题才过来看看,而且他们不是搞控制的就是搞计算机的,其实也不懂工艺.
小龙:
这种情况好像挺普遍的
工艺师:
是啊,很多所谓的诊断优化软件都是这样,刚开始上时说的很神,都说能自动解决问题,
用起来效果一般般,
而且时间越长效果越差,
到最后就闲在那里没人看了.
小龙:
其实也这样也挺浪费的
工艺师:
谁说不是呢,但也没办法.
小龙: 为什么你们不自己开发模型呢?没有比你们更熟悉设备和工艺的人了啊,而且你们很多人都要在公司里干很多年,不是正好可以持续的改进这些模型吗?
工艺师:不会编程序啊.现在生产管理都靠计算机了,
模型都要编成程序才能用,
我又不懂,公司里也没有专职的程序员配合我做,肯定不行啊.而且我们这里的工作都分的很细,考核我又不看有没有开发模型,
多一事不如少一事吧.
小龙: 嗯,这倒是真的,
虽然现在生产自动化程度越来越高, 但模型开发还很少被列入工艺人员的KPI考核, 这可能也是大家不愿意自己开发模型的原因之一吧.
工艺师:可不是嘛,谁愿意做吃力不讨好的事情呢.
小龙: 不过我想这可能也和绝大多数工艺人员不懂编程有关吧,要是大家都会编程,都有自己开发模型的能力,或许领导们就会重新考虑这个问题了.而且现在都在搞智能制造,工艺可是智能制造最关键的一环啊,没有更多有实效的工艺模型,智能制造也只能是空中楼阁吧.
工艺师:嗯,这个说法我同意.我也觉得工艺师能在智能制造里发挥很大的作用,而且这种作用最终都要通过优化模型去体现.不过让工艺人员去学习编程还是有点不现实.
小龙: 为什么呢?
工艺师:其实我在学校里学过一些C#编程,也试着自己编过点工艺计算的小程序,但感觉模型编程要比这个难多了,
而且生产中用的程序对可靠性要求很高,我这点水平编那么复杂的程序肯定不行啊,就算程序写出来,出了错,自己都找不出来错在哪里,哪敢用啊。
小龙:
嗯,像C#这样的通用编程工具本来就不是为工艺编程设计的,用它开发工艺模型确实要有很丰富的计算机知识才行
工艺师:是啊,每天画图跑现场还忙不过来呢,还有一堆专业的知识要学,再去学那么多计算机知识,哪有精力啊,不现实.
小龙: 能理解. 如果市场上有一款专门为工艺编程开发的编程工具,只要很少量的学习就能独立开发复杂的工艺模型,你愿意去尝试一下吗?
工艺师:
那当然有兴趣,你刚才提到的TAP是不是这样的编程工具呢?
小龙: 是啊,TAP就是专为工艺编程开发的。
工艺师:
可是不同行业的工艺差别很大,就算是同一行业里不同专业的模型也完全不同,这些都能用TAP来开发吗?
小龙:
当然可以.
工艺师:
真的吗?
小龙:
你学过C#编程,C#也不是专为某个行业的软件开发设计, 但从工艺模型到财务软件,从杀毒工具到电脑游戏,
几乎都可以开发,
这是为什么呢?
工艺师:
为什么?
小龙:
原因主要有两个,一是各种不同的应用软件虽然用途和功能千差万别,但在结构上却高度相似,
所以C#只要实现这个通用的结构,就可以用它快速搭建起不同软件的运行框架,而开发者只要在这个框架里填上自己所需的程序就可以了.这就和建大楼一样,如果C#已经帮你把大楼的地基和主体建起来了, 你只要做内部装修,自然要简单了很多。第二:每个应用领域都会有一些基础的但共用的功能,C#会实现这些功能,开发者只要在自己的代码里调用就可以了,这也大大减少了开发者的工作量和难道.
工艺师:
哦,那你的意思是不是说C#其实是先为所有软件实现了一个通用的结构,然后又提供了一些通用的功能模块,我只要在这个结构里填上我自己的程序,
同时再利用这些模块提供的功能,实现自己需要的功能就可以了?
小龙:
是的,但我们说C#不适合进行工艺编程,原因也在这里.
工艺师:是不是因为C#实现的通用结构不是完全针对工艺过程的呢?还是说它没有专门支持工艺编程的功能模块?
小龙:
聪明啊!
工艺师:
过奖了.
小龙:
C#实现的通用框架是针对所有应用类型的,所以很抽象,如果要用它来描述工艺过程,你必须自己编程,在通用结构之上再实现一个具体的工艺过程的结构, 这个转换需要自己写很多程序, 需要对C#语言和Windows操作系统比较熟悉,如果你的工艺模型计算流程比较复杂, 那么你必须要有专业程序员的能力才能驾驭这样的编程。而且这部分程序在功能上其实和你的工艺算法没什么关系, 但在程序代码部分却要和你算法程序的代码相互耦合,这会导致很多莫名其妙的错误,没有丰富的编程经验很难找到问题所在.
工艺师:
哦,这个我倒是有点体会,我的一个同事自己编过一个模型程序,运行时总是报错,计算结果也不对,但一直找不出问题所在,或许原因就在这里吧.
小龙:
很可能啊.而且C#并没有专门针对工艺编程的通用功能支持,你只能自己编程实现这些功能, 不仅大大增加了工作量,还增加了程序的复杂度
工艺师:
嗯,如果我每次都能用C#顺利开发出需要的模型,应该可以改行去做IT了吧?
小龙:
哈哈!没问题,而且就算到了软件公司,你的水平也至少是中等偏上了。
工艺师:
可惜只能想想而已啊。那TAP实现了工艺过程的结构吗?
小龙:
是的,这也是TAP为什么能大大降低工艺编程技术难度的主要原因. 另外TAP还实现了一些开发工艺模型所需的具体功能,也有助于减少工艺编程的难度和工作量.
工艺师:
哦,
有人用TAP开发过什么具体的工艺模型吗?
小龙:
有啊,除了一些小型项目外,TAP下开发过一套完整的大型加热炉综合诊断系统.
工艺师:
是个什么样的系统?包括哪些功能呢?
小龙:
这是用在轧钢厂大型步进式板坯加热炉上的工艺优化系统, 包含了以下模型:
<</span>物料跟踪>:用来跟踪板坯在炉内的位置信息.
<</span>温度跟踪>:
利用传热模型实时计算板坯内部的温度
<</span>板坯在炉时间预测>:利用一系列变量实时预测板坯在炉内停留的剩余时间
<</span>脉冲式烧嘴长短火焰优化>:根据工况对脉冲式燃烧器的参数进行实时计算和优化
<</span>加热曲线优化>:通过分析板坯在炉内的升温曲线,对工艺参数进行优化
<</span>动态热平衡>:
通过实时计算炉内热平衡中各收入支出项的数值,对能耗与工艺的关系进行动态管理
<</span>风机诊断>:
对大型风机进行实时故障诊断及预警
<</span>换热器诊断>:
实时计算换热器的工艺参数,对故障进行诊断和预警
<</span>液压诊断>: 对步进梁所用的液压设备的故障进行实时诊断和预警
<</span>阀门诊断>:
对高速阀门的工作状态进行分析
<</span>污染物分析>:对污染物的排放数据进行统计分析
工艺师:
还真是个大型系统啊,
功能蛮多的
小龙:
是啊,在加热炉行业算是规模很大的系统了.
工艺师:
实际效果好吗?
小龙:
这是当地发改委的一个科研项目,已经通过了项目验收,至于模型本身,我觉得除了那种非常简单的小模型,绝大多数模型想要一次开发成功几乎是不可能的,都需要长时间的持续改进,其实这也是用TAP开发工艺模型的最大优势,如果用传统的方式来做,让专业程序员编程,
那么项目一结束,
就没人能继续对模型进行优化了. 现在不一样,
工艺人员因为能自己用TAP开发模型, 不需要专业程序员参与,当然也能持续去改进,只要坚持做下去,
相信模型的功能会越来越完善.
工艺师:
嗯,这我同意.
其实很多模型最开始都只是一个初步的想法,
先做出来,然后逐步改进才是最好的方式,而且工况越来越复杂,
想靠一次性开发的模型包打天下也不现实.
以前确实是受编程的限制,
每次做个模型都要找领导立项,
批钱,然后找软件公司,
招标,
流程走下来都要大半年了,
开发出来的东西自己还掌控不了,时间久了,大家也就不愿意去做了。
小龙:
是这样的,开发TAP就是想解决这个问题.
工艺师:
那用TAP编程要学些什么知识,
大概要多长时间才能开始干活呢?
小龙:
要学一点C语言最基础的知识,还有就是TAP平台本身的一些功能,如果以前用C或C#编过程序, 三天左右就可以上手开发自己的模型了,如果从没有编过程序,大约7-10天左右也可以开始在TAP上开发一些简单的模型.
工艺师:
这么短时间?
不太可能吧.我听说C语言是专业程序员才用的,很难学,怎么可能不到一周就学会呢?
小龙:
如果是学纯粹的C语言编程当然要很长的时间,不过TAP只是借用了C语言中很小的一部分,在TAP编程中用到的知识量不到C语言整体知识量的百分之一,而且都是其中最简单最基本的内容, 稍微学习和练习一下就能掌握, 现在绝大部分工艺人员都受过很好的理工科教育, 学这点知识小菜一碟.
工艺师:
哦,我学过一点C#编程,
按你的说法应该很快能上手开发了吧.
小龙:
没问题,
工艺师:
那你能教我TAP编程吗?
小龙:
当然可以。我想安排5天时间,每天三个学时,
我们来一起学习TAP编程.另外我会安排一个单独的教程,共两天时间,同样是每天三个学时,
专门学习TAP编程中涉及的C语言知识.当然,如果你觉得已经掌握了C语言的基础知识,这6个学时的内容可以跳过。这样算下来,最短5天15个学时,最长7天21个学时,相信你就可以独立在TAP下开发自己的模型了.当然,要想熟练掌握TAP编程还需要更多的实践,其实无论用什么工具编程,这都是必不可少的。
工艺师:
是的.
小龙:
因为目前工业领域还没有类似TAP的软件, 所以TAP本身的功能也在不断的补充和完善中,也希望你能把发现的问题和自己的想法及时告诉我, 我们一起来改进它.
工艺师:
好的。另外我想最好能开发一个具体的模型,边开发边学习,效果会更好一些吧。
小龙:
嗯!我也是这么想的,
所以规划了一个小项目,
我们的学习就是围绕这个项目的设计和开发来进行.
工艺师:
哦,是个什么样的项目呢?
小龙:
我们虚构了一个小型的加热设备, 能对单个零件进行加热,
并可以通过PLC控制设备的起停。与设备对应的还有一个测温装置,可以自动测量零件表面沿长度方向的5个测温点的温度,
并将数据实时传输到PLC中.我们的任务就是用TAP开发一个名为demo的模型, 其功能如下:
1. 读取5个测温点数据后,
用三次样条插值的方式生成测温曲线,并将曲线实时显示在工艺画面中.
2. 当5个测温点的平均温度超过阈值时加热结束, 向PLC下发指令关闭设备
3. 将测温数据保存起来供用户查询
4. 用户可查询指定时间段内的历史测温数据及其对应的测温曲线.
工艺师:
可是我们并没有这样的设备,
测温数据从哪里来呢?是要自己手工编辑吗?
小龙:
不用, 我下载了一个免费的OPC
Server模拟软件,可以生成模拟数据,
向PLC下发控制命令也用这个软件模拟. 其实在很多实际的项目中, OPC
Server也是模型主要的数据源之一, 是向控制系统下发参数的重要通道, 所以虽然是一个虚构项目,
但和实际使用的模型差别不大.
工艺师:
哦,那就好。还要请教一下,什么是三次样条插值呢?
小龙:
这是一种插值算法,
通过几个给定的坐标对,生成一条光滑的曲线y=f(x),满足Yn=f(Xn);
因为y=f(x)采用的是三次多项式的形式,所以叫做三次样条插值.具体到这个项目,
我们希望看到零件表面延长度方向的连续温度分布,但因为只能测量到5个离散点的温度值,
所以就对这5个值进行三次样条插值,以生成光滑的测温曲线.
工艺师:
明白了,
这个插值算法复杂吗?也要我自己在TAP下编程吗?
小龙:
不需要,TAP当前版本提供了一个三次样条插值模块, 你只要按照TAP的规定在程序中调用这个模块就行了.对于这种比较复杂又有通用性的算法,还是由专业程序员来实现,
工艺人员调用比较好,没必要自己编程.在这方面,TAP也会逐步提供更多的支持.
工艺师:
嗯!这样好.
那工艺画面呢?以前都是用WinCC做的.
小龙:
TAP支持工艺画面的制作,
画面内容可以在模型脚本中直接控制, 同时脚本还可以响应画面中用户的输入,让模型具备和客户交互的能力,后面会专门介绍这方面的内容.
工艺师:
哦,
这么说TAP可以替代以前的组态软件了?
小龙:
TAP和传统组态软件的内涵不同,它本质上是个平台, 凡是工艺模型开发所涉及的工作都可以在TAP上完成, 所以功能也更广泛和复杂,只是在工艺画面制作上和组态软件有一些交集.
工艺师:
明白了,那能具体介绍一下后面课时的安排吗?
小龙:
我想这么安排
第一天à第二天: 介绍TAP下编程用到的C语言的基础知识
第三天: 学习如何安装,配置和启动TAP,了解TAP的基本概念和主要功能模块
第四天: 对Demo项目进行分析,学习如何在TAP下创建工艺模型及数据通讯编程
第五天: 学习TAP下的模型基本框架
第六天: 学习TAP下模型编程的具体功能.
第七天: 模型调试, 发布及运行
工艺师:
听起来还是蛮充实的
小龙:
是啊, 那我们就一起登上TAP这艘小船, 一起开启一段有趣的旅程吧
工艺师:
好的.