運行時組態技術探討 点击:550 | 回复:8



bird3615

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 73回
  • 年度积分:4
  • 历史总积分:316
  • 注册:2007年2月12日
发表于:2008-11-18 10:04:02
楼主
運行時組態技術探討
--在傳統人機介面實現自由編輯工藝模式的應用實例

一,問題的提出
運行時組態是組態軟體技術近些年提出的新概念.運行時組態是指在運行環境下編輯工程,或對已有工程進行修改,添加新的功能.也就是說運行時組態是在組態軟件運行環境中直接修改工程.運行時組態改變了已往必須進入複雜的組態及控制環境修改工程應用的歷史,給組態軟體帶來了新的活力,並預示著組態軟體新的發展方向.
先以開發成型機械手實際應用為例來說明什麼是運行時組態,為甚麼需要應用運行時組態的技術.
成型機械手是專應用於成型機的取放料的自動化設備,工作環境要求苛刻,需要長時間高精,高速運行.更主要的是,相對於一般自動化設備按固定工藝模式一步步運行的方式,成型機械手其生產工藝過程變化多端.如果按傳統固定工藝模式編程,一旦需要修改或添加新的工藝,就必須對工程及控制系統進行修改.對於簡單工藝的設備來說這也許可行,但對於像成型機械手這類工藝複雜多變的設備就很費時力,而且極易出錯.
傳統的組態過程是這樣的,工程組態好並交付用戶使用後,工程中包括的功能就固定不變了.如果要擴充,修改工程的功能,就必須請熟悉該工程的工程師進入組態獲控制環境進行修改.
假如我們換一種編程方式呢?比如提供這樣一個工程環境,在此環境中工程師有預見的設計好該工程所有最基本功能(基本動作),實際應用時由現場工藝人員根據實際需要來自由組合生產工藝以達到最終控制的目的.
如果真的的實現這種方式,這確實比靠工程師預先編好工藝的方式靈活,簡單的多.這種由固定工藝轉換到自由工藝編程的模式就是運行時組態技術所要解決的.
必須說明的是,這種運行時組態技術雖說在一些通用型人機介面上已有或多或少的應用,但這些都是基於像Microsoft windows這種高級編程環境的組態軟件,如紫金橋監控組態,崑崙組態等.但一些設備常用的人機介面如got1000,preface等必竟是專用人饑操作介面,它們不像那些高級組態環境的人機介面那樣有豐富的軟件,程式庫或數據庫來支援.
因而,本文所要解決的就是應用運行時組態的思路,方法,技術來實現在傳統人機介面由固定工藝到自由工藝編程模式的轉變.

二,運行時組態的優點
1,減少編程工作量.對於一具體工程項目,如果能將項目中用到的功能(或動作)歸納出來做成模組,那麼我們無須等到瞭解整個工程應用並做完才可以將其投入運行了.即只要把工程中需要的模組準備好,你就可以讓最終用戶(如工藝人員,設備操作員等)在運行時自己增加,編輯模組了,讓用戶在運行環境中修改和完善,滿足實際工藝需求.該工作模式充分發揮了組態工程師和工藝人員自身的優勢,快速完成工程項目.
2,解決了動作及運行參數不確定問題.有些工程本來就存在這樣的不確定性,我們不可能用常規的辦法將各種情況事先窮舉出來,也不可能每次改變都要求現場的技術人員進入複雜的開發環境進行修改,運行時組態對此是非常適用的.
3,維護方便.傳統意義的組態是在工程組態完成後,應用程式的功能已經固化好了.如果需要修改或增加新功能,還必須進入開發環境重新配置.這一般需要精通開發環境,並且熟悉該工程的工程師來完成.如果工程不是本單位元完成的,還要涉及到升級改造,甚至另立項目的費用.採用運行中組態技術後就可以由工廠的一般技術人員來完成.
4,實現軟件標準化.自動化控制軟件標準化是管理階層,開發人員,維護保養甚至應用人員所不斷追求的目標。組態過程中建立的各個模塊就是實現軟件開發標準化的基礎.

三,安全性問題
其實運行中組態技術一個最需要解決的問題就是安全,在運行時可以隨便增加,修改,刪除工程中的模組或參數,確實是很危險的.如果沒有保護措施,運行時就會帶來很多的麻煩.我們可以通過以下兩項安全措施來保護運行時的工程.
1,控制系統保護措施:
在控制系統層面對一些相互間會產生危險的動作作遮罩,甚至排他性處理.做好基本安全保護,如軟,硬體上的互鎖.
2,工藝組態時保護
由於運行時的模塊都是是由組態工程師生成的,因此運行時組態的自由度完全由組態工程師掌握.這就要求組態工程師對運行時提供的手段要加以限制,不要提供過多的,不必要的靈活性.同時對編輯過程提供必要的保護措施,如錯誤提示,組態後工藝無法保存等.
總之,組態人員既要給用戶提供擴展功能的手段,又要對其加以足夠的限制,以保證系統安全運行.

四,運行時組態的實現
應用於自動化中的人機介面是最基本,最常用的組態技術.它雖不像那些專門的組態環境軟件那樣功能豐富,應用範圍廣;但它以高穩定性,強適應性,低價格在自動化領域仍具有不可動搖的地位.好的,貴的並不一定是最有用的或最有效的.正於無論計算技術(特別是軟件技術)怎麼發展,PLC技術平臺在自動化領域永遠也不會過時一樣.
雖說技術,理念在不但發展,但這並不就意味著舊的技術平臺需要淘汰.其實我們要做的是用哪些新的理念,技術來改造,提升這些舊平臺.因而這些工作需要自動化工程師自己去做,人機介面組態環境並沒有提供現成的模版來實現運行時組態的應用,這種改造當然是很費時力的工作.
我們知道人機介面是實現現場操作人員操作,控制設備的電子介面.它主要提供虛擬的按鈕控制,數據輸入,狀態監控等功能.雖說人機介面也提供一些數據處理功能,但它畢竟沒有個人計算機那樣強大的數據處理能力.因此人機介面僅能看作是一種靜態處理技術,還不能完全算得上是動態處理技術.
好在一般人機介面都提供有二次系統開發介面,如腳本語言(有的稱作巨集指令).這些二次開發介面提供類似高級編程語言的編程環境,看到那些熟悉的”變量”,”數組”,”函數”,”語句”,甚至”指針”,我們是否看到勝利的曙光?
是的,我們有理由相信我們最起碼也成功了一半.有了這些”指令”我們就可實現人機介面物件後台處理能力,實現各種介面編輯(如插入,刪除)功能,邏輯判斷,數據計算,狀態提醒等能實現運行中組態所必有的一些基本處理能力.
更一步的,要實現友好,簡潔的組態介面,我們還要充分應用人機介面組態環境本身亦提供的變址(或索引)功能,配方功能等等.
所有這些技術和功能的結合應用,加上運行中組態這類新的理念,我們有理由相信:在傳統人機介面上也能(最起碼也是近似)實現運行中組態的最終目的.
必須補充說明的是,運用配方功能實現數據的管理是我們常用到的技術或方法,如對保存各個工藝配方數據.但必須說明的是這些處理是靜態的而不是動態的,這與運行中組態的思路還是不一樣.但,事實上也正是因為這種配方處理功能讓我找到一個邁向成功的視窗.
下面的成型機械手案例就基本上實現或應用了前面所闡述的一些技術,理念.

五,成型機械手上的應用
下面就是成型機械手實現自由編輯工藝模式這種運行時組態技術應用的主要畫面.





組態環境不但提供各個模塊的組態功能,還提供各個模塊的參數配置(如果需要的話)功能.如上面組態後第5個模組”主臂升降”,在組態過程中隨時可以自由修改模快的配置參數,只需要你點擊此模組.
上面畫面配備有靈活的編輯功能,”模組”物件,相應序號,指引光標,上下移動顯示頁面等等都可以根據用戶實際編輯需要靈活使用,即提供所謂”所見即所得”的編輯環境.
同時組態環境還提供組態過程自動監控,錯誤判斷功能供用戶組態時參考或提供組態安全保護.
下面是一個組態模組其控制系統PLC相對應處理模組例子.

六,總結
組態軟體一般稱為通用組態軟體.”通用”一詞表示它可以適合各種應用領域.不同的應用領域雖然存在許多共性的東西,但是應用場合特別是工藝的差異是客觀存在的.差異表現在畫面的組織形式,組成部件,構建邏輯等等各方面.如果讓組態軟體能夠包羅萬象來適應中應用,那麼呈現給用戶的軟體將過於複雜,最終會使得組態軟體本身的友好性太差,失去其存在的意義.如前所述,運行時動態生成的元素是在組態環境下生成的,自動化工程師可以在組態環境下構建其應用領域所需模組,然後讓工藝人員運用自己熟知的工藝在運行時搭建自己的應用.
脫離具體的PLC控制軟體, 從宏觀角度來理解自動控制系統,面向工藝來設計控制系統是自動化工程師應該追求的最高目標.我們知道PLC程式不過是你設計工程項目的工藝而已,有工藝要求才可能有程式,程式只是設備工藝的具體反應.瞭解了工藝要求也就等於瞭解了程式.編程不過是個規則,要你用這個規則把設備工藝寫出來,因此你重要是瞭解設備的工藝和具體使用PLC品牌的功能.當你充分瞭解了設備工藝,設計完電氣圖紙,你的設計任務可以



bird3615

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 73回
  • 年度积分:4
  • 历史总积分:316
  • 注册:2007年2月12日
发表于:2008-11-18 10:05:56
1楼

不能貼圖片?

供大家參考,討論,提出建議.

fisherwang

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 73回
  • 年度积分:4
  • 历史总积分:316
  • 注册:2007年2月12日
发表于:2008-11-18 23:23:59
2楼

大家就没有一点看法吗?

交流一下,提点建议塞。

fisherwang

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 73回
  • 年度积分:4
  • 历史总积分:316
  • 注册:2007年2月12日
发表于:2008-11-19 11:03:36
3楼

可能大家不習慣繁體.

轉換成簡體,就是上傳不了圖片.

运行时组态技术探讨
--在传统人机接口实现自由编辑工艺模式的应用实例

一,问题的提出
运行时组态是组态软件技术近些年提出的新概念.运行时组态是指在运行环境下编辑工程,或对已有工程进行修改,添加新的功能.也就是说运行时组态是在组态软件运行环境中直接修改工程.运行时组态改变了已往必须进入复杂的组态及控制环境修改工程应用的历史,给组态软件带来了新的活力,并预示着组态软件新的发展方向.
先以开发成型机械手实际应用为例来说明什么是运行时组态,为甚么需要应用运行时组态的技术.
成型机械手是专应用于成型机的取放料的自动化设备,工作环境要求苛刻,需要长时间高精,高速运行.更主要的是,相对于一般自动化设备按固定工艺模式一步步运行的方式,成型机械手其生产工艺过程变化多端.如果按传统固定工艺模式编程,一旦需要修改或添加新的工艺,就必须对工程及控制系统进行修改.对于简单工艺的设备来说这也许可行,但对于像成型机械手这类工艺复杂多变的设备就很费时力,而且极易出错.
传统的组态过程是这样的,工程组态好并交付用户使用后,工程中包括的功能就固定不变了.如果要扩充,修改工程的功能,就必须请熟悉该工程的工程师进入组态获控制环境进行修改.
假如我们换一种编程方式呢?比如提供这样一个工程环境,在此环境中工程师有预见的设计好该工程所有最基本功能(基本动作),实际应用时由现场工艺人员根据实际需要来自由组合生产工艺以达到最终控制的目的.
如果真的的实现这种方式,这确实比靠工程师预先编好工艺的方式灵活,简单的多.这种由固定工艺转换到自由工艺编程的模式就是运行时组态技术所要解决的.
必须说明的是,这种运行时组态技术虽说在一些通用型人机界面上已有或多或少的应用,但这些都是基于像Microsoft windows这种高级编程环境的组态软件,如紫金桥监控组态,昆仑组态等.但一些设备常用的人机接口如got1000,preface等必竟是专用人饥操作接口,它们不像那些高级组态环境的人机接口那样有丰富的软件,链接库或数据库来支持.
因而,本文所要解决的就是应用运行时组态的思路,方法,技术来实现在传统人机接口由固定工艺到自由工艺编程模式的转变.

二,运行时组态的优点
1,减少编程工作量.对于一具体工程项目,如果能将项目中用到的功能(或动作)归纳出来做成模块,那么我们无须等到了解整个工程应用并做完才可以将其投入运行了.即只要把工程中需要的模块准备好,你就可以让最终用户(如工艺人员,设备操作员等)在运行时自己增加,编辑模块了,让用户在运行环境中修改和完善,满足实际工艺需求.该工作模式充分发挥了组态工程师和工艺人员自身的优势,快速完成工程项目.
2,解决了动作及运行参数不确定问题.有些工程本来就存在这样的不确定性,我们不可能用常规的办法将各种情况事先穷举出来,也不可能每次改变都要求现场的技术人员进入复杂的开发环境进行修改,运行时组态对此是非常适用的.
3,维护方便.传统意义的组态是在工程组态完成后,应用程序的功能已经固化好了.如果需要修改或增加新功能,还必须进入开发环境重新配置.这一般需要精通开发环境,并且熟悉该工程的工程师来完成.如果工程不是本单位元完成的,还要涉及到升级改造,甚至另立项目的费用.采用运行中组态技术后就可以由工厂的一般技术人员来完成.
4,实现软件标准化.自动化控制软件标准化是管理阶层,开发人员,维护保养甚至应用人员所不断追求的目标。组态过程中建立的各个模块就是实现软件开发标准化的基础.

三,安全性问题
其实运行中组态技术一个最需要解决的问题就是安全,在运行时可以随便增加,修改,删除工程中的模块或参数,确实是很危险的.如果没有保护措施,运行时就会带来很多的麻烦.我们可以通过以下两项安全措施来保护运行时的工程.
1,控制系统保护措施:
在控制系统层面对一些相互间会产生危险的动作作屏蔽,甚至排他性处理.做好基本安全保护,如软,硬件上的互锁.
2,工艺组态时保护
由于运行时的模块都是是由组态工程师生成的,因此运行时组态的自由度完全由组态工程师掌握.这就要求组态工程师对运行时提供的手段要加以限制,不要提供过多的,不必要的灵活性.同时对编辑过程提供必要的保护措施,如错误提示,组态后工艺无法保存等.
总之,组态人员既要给用户提供扩展功能的手段,又要对其加以足够的限制,以保证系统安全运行.

四,运行时组态的实现
应用于自动化中的人机界面是最基本,最常用的组态技术.它虽不像那些专门的组态环境软件那样功能丰富,应用范围广;但它以高稳定性,强适应性,低价格在自动化领域仍具有不可动摇的地位.好的,贵的并不一定是最有用的或最有效的.正于无论计算技术(特别是软件技术)怎么发展,PLC技术平台在自动化领域永远也不会过时一样.
虽说技术,理念在不但发展,但这并不就意味着旧的技术平台需要淘汰.其实我们要做的是用哪些新的理念,技术来改造,提升这些旧平台.因而这些工作需要自动化工程师自己去做,人机接口组态环境并没有提供现成的模版来实现运行时组态的应用,这种改造当然是很费时力的工作.
我们知道人机接口是实现现场操作人员操作,控制设备的电子接口.它主要提供虚拟的按钮控制,数据输入,状态监控等功能.虽说人机接口也提供一些数据处理功能,但它毕竟没有个人计算器那样强大的数据处理能力.因此人机接口仅能看作是一种静态处理技术,还不能完全算得上是动态处理技术.
好在一般人机接口都提供有二次系统开发接口,如脚本语言(有的称作宏指令).这些二次开发接口提供类似高级编程语言的编程环境,看到那些熟悉的”变量”,”数组”,”函数”,”语句”,甚至”指针”,我们是否看到胜利的曙光?
是的,我们有理由相信我们最起码也成功了一半.有了这些”指令”我们就可实现人机接口对象后台处理能力,实现各种接口编辑(如插入,删除)功能,逻辑判断,数据计算,状态提醒等能实现运行中组态所必有的一些基本处理能力.
更一步的,要实现友好,简洁的组态界面,我们还要充分应用人机接口组态环境本身亦提供的变址(或索引)功能,配方功能等等.
所有这些技术和功能的结合应用,加上运行中组态这类新的理念,我们有理由相信:在传统人机接口上也能(最起码也是近似)实现运行中组态的最终目的.
必须补充说明的是,运用配方功能实现数据的管理是我们常用到的技术或方法,如对保存各个工艺配方数据.但必须说明的是这些处理是静态的而不是动态的,这与运行中组态的思路还是不一样.但,事实上也正是因为这种配方处理功能让我找到一个迈向成功的窗口.
下面的成型机械手案例就基本上实现或应用了前面所阐述的一些技术,理念.

五,成型机械手上的应用
下面就是成型机械手实现自由编辑工艺模式这种运行时组态技术应用的主要画面.





组态环境不但提供各个模块的组态功能,还提供各个模块的参数配置(如果需要的话)功能.如上面组态后第5个模块”主臂升降”,在组态过程中随时可以自由修改模快的配置参数,只需要你点击此模块.
上面画面配备有灵活的编辑功能,”模块”对象,相应序号,指引光标,上下移动显示页面等等都可以根据用户实际编辑需要灵活使用,即提供所谓”所见即所得”的编辑环境.
同时组态环境还提供组态过程自动监控,错误判断功能供用户组态时参考或提供组态安全保护.
下面是一个组态模块其控制系统PLC相对应处理模块例子.

六,总结
组态软件一般称为通用组态软件.”通用”一词表示它可以适合各种应用领域.不同的应用领域虽然存在许多共性的东西,但是应用场合特别是工艺的差异是客观存在的.差异表现在画面的组织形式,组成部件,构建逻辑等等各方面.如果让组态软件能够包罗万象来适应中应用,那么呈现给用户的软件将过于复杂,最终会使得组态软件本身的友好性太差,失去其存在的意义.如前所述,运行时动态生成的元素是在组态环境下生成的,自动化工程师可以在组态环境下构建其应用领域所需模块,然后让工艺人员运用自己熟知的工艺在运行时搭建自己的应用.
脱离具体的PLC控制软件, 从宏观角度来理解自动控制系统,面向工艺来设计控制系统是自动化工程师应该追求的最高目标.我们知道PLC程序不过是你设计工程项目的工艺而已,有工艺要求才可能有程序,程序只是设备工艺的具体反应.了解了工艺要求也就等于了解了程序.编程不过是个规则,要你用这个规则把设备工艺写出来,因此你重要是了解设备的工艺和具体使用PLC品牌的功能.当你充分了解了设备工艺,设计完电气图纸,你的设计任务可以说基本完成了,剩下的就是看看PLC编程规则,根据工艺把程序写出来.
运用运行时组态理念或技术就是实现这个终极目标的具体表现形式.

fisherwang

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 73回
  • 年度积分:4
  • 历史总积分:316
  • 注册:2007年2月12日
发表于:2012-09-04 09:42:03
4楼

下图即为注塑机械手用工艺编辑画面, 由工艺主画面编新工艺”和工艺预览”都可以进入工艺编画面。

此画面由四个区域组成:工艺代码选取区(右边),工艺程序显示区(左边),工艺编辑功能(下边),编辑错误显示区(上边)

自由工艺编辑界面

 

代码选取区可以前后翻页,选择其它工艺代码,图右边不同于示的代码选取区显示。目前已提供48个基本代码(动作)供编辑工艺程序选用,每一个代码代表一个具体基本动作,根据需要可以扩充工艺代码。

工艺编辑界面

从右边选取的工艺代码会一个个顺序显示在左边的工艺程序显示区中,这里显示的就是你所编辑的工艺程序。红色光标闪现之处就是你目前编辑的地方,编入一个工艺代码,就进入下一个编辑步,同时光标也自动下移一步。当触摸某一工艺步或者通过画面下面的编辑键+,-可以移动到你需要编辑的地方,同时光标也移到此处。一个画面最多可以显示12个工艺代码,通过移动光标可以显示或查看其它编辑后的工艺代码。

工艺编辑画面下面是供工艺编辑用的几个编辑键”,通过它们可以方便的编辑,修改或储存当前工艺。如上图红色光标显示处,按“插入”功能键后出现空格,就可以插入一个新代码。按“删除”键可以删除光标处的代码,按“返回”键就可返回“工艺编辑”主画面。按“另存”键就可进入“保存工艺”画面。

正于前面所说过的那样,储存工艺时编辑环境会自动检查目前的工艺是否符合编程规范。只有符合基本规范才能储存当前工艺,否则不能进入工艺储存画面,同时在工艺编辑画面上边显示当前编辑错误信息。根据上边提示的错误信息和实际工艺要求编辑,修正目前工艺直至符合编辑规范,然后储存工艺。

fisherwang

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 73回
  • 年度积分:4
  • 历史总积分:316
  • 注册:2007年2月12日
发表于:2012-09-04 10:04:50
5楼

下面为注塑机械手12号工艺程序例子:

   12# 主吸,直移;L型副夹

1)主引准备   副引准备   横入取料   主臂翻直   下步继续

2)主下取料   副下取料   下步继续

3)主引取料   副引取料   下步继续

4)主吸吸取   副夹夹取   下步继续

5)主引准备   副引准备   下步继续

6)主上安全   副上安全   下步继续

7)横出放一   主引放一   主臂翻平   副引放二   下步继续

8)主下放一   下步继续

9)主吸释放   下步继续

10)主上安全  下步继续

11)横出放二  下步继续

12)副下放二  下步继续

13)副夹松开  下步继续

14)副上安全  下步继续

 

一个工艺中最多只能有100个工艺代码。每一步最多有8个工艺代码,而且每一步必须以工艺代码”下步继续”结束,这就是说实际最多有7个不同动作同时进行。空代码或无代码表示一个工艺循环的结束。

如果不符合工艺编辑规范,编辑错误信息在工艺编辑完后存储时会显示在编辑画面的上边。工艺编辑错误提醒第一个错误工艺的序号,错误工艺名称及错误原因。只要有错误就无法储存工艺程序,修改好完全无错后才能储存工艺。

工艺程序编辑并储存好,通过工艺下载画面下载到程序控制器中(如PLC)才能起作用。下载的工艺是工艺编辑主画面中选定的工艺号。按下载确认”选取的工艺就下载到程序控制器中。

 

fisherwang

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 73回
  • 年度积分:4
  • 历史总积分:316
  • 注册:2007年2月12日
发表于:2012-09-04 10:31:40
6楼

4年了,终于可以上传图片。感谢工控网啊,我也可以玩玩BBS了!

下图为对应工艺代码的PLC(台达)子程序例子,工艺代码:主臂翻平  --  指主手臂的翻转机构翻转到水平状态。

主臂翻平

 

这是一个标准的子程序结构。子程序P11对应工序程序中的工艺代码:主臂翻平。也就是说此子程序什么时候执行由工艺程序来决定。

fisherwang

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 73回
  • 年度积分:4
  • 历史总积分:316
  • 注册:2007年2月12日
发表于:2012-09-07 09:18:20
7楼
这么好的技术贴竟然没反应,论坛没有明白人?

luomq111

  • 精华:0帖
  • 求助:2帖
  • 帖子:6帖 | 47回
  • 年度积分:1
  • 历史总积分:244
  • 注册:2010年5月15日
发表于:2013-02-11 09:37:30
8楼
运行环境下编辑工程与通用的数控系统使用一样,用户可编程不同产品的加工吧。plc+屏是否也能实现

热门招聘
相关主题

官方公众号

智造工程师