首页 上一页 1 2 下一页 尾页

"可任意顺序输出"的程序 点击:1044 | 回复:25



长江浪

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 91回
  • 年度积分:0
  • 历史总积分:147
  • 注册:2004年7月04日
发表于:2008-11-17 21:23:21
楼主
   哪位有三菱PLC的 “可任意顺序输出”的程序样例?前些时给一个厂修一种简单的自动车床,是台湾来的,用的是永宏PLC。他的动作先后顺序可以根据工艺要在面板上自行设定。动作顺序可任意修改,动作时间也可任意修改,且时间,变频器频率,动作编号,都有在面板的LED上显示出来,还有配方存储。起初以为很简单,后来把程序上传仔细分析了下(由于能力有限也没能领会透)。觉得人家写的实在是高!佩服啊!
  因为我一直一来只用三菱,哪位高人能有三菱的同等样例,上传来学习下吧!给点“可任意顺序输出”编程指导思想也行!大家有知道的说说吧!谢先!



yjig

  • 精华:2帖
  • 求助:5帖
  • 帖子:97帖 | 5237回
  • 年度积分:0
  • 历史总积分:12514
  • 注册:2004年6月04日
发表于:2008-11-17 21:34:22
1楼
“可任意顺序输出”用步进指令,满足A条件,执行A,满足B条件,执行B……

yjig

  • 精华:2帖
  • 求助:5帖
  • 帖子:97帖 | 5237回
  • 年度积分:0
  • 历史总积分:12514
  • 注册:2004年6月04日
发表于:2008-11-17 21:40:43
2楼

以下是本人刚改造的一台设备,程序中就有你说的任意顺序,供你参考:

博古

  • 精华:0帖
  • 求助:0帖
  • 帖子:127帖 | 992回
  • 年度积分:0
  • 历史总积分:2320
  • 注册:2006年7月25日
发表于:2008-11-18 10:40:46
3楼

楼主说的控制要求,完全可以做到的

 

longwaves

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 153回
  • 年度积分:0
  • 历史总积分:305
  • 注册:2003年6月18日
发表于:2008-11-18 21:22:55
4楼

可以用堆栈指令先入先出指令来完成的。楼主不妨把他们的程序发上来,帮你分析一下!

fisherwang

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

楼主看看我下面的论文,从理论上解决你的问题。

運行時組態技術探討
--在傳統人機介面實現自由編輯工藝模式的應用實例

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

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

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

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

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





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

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

急找工作

  • 精华:0帖
  • 求助:0帖
  • 帖子:22帖 | 373回
  • 年度积分:0
  • 历史总积分:975
  • 注册:2005年1月27日
发表于:2008-11-19 08:14:15
6楼
把程序发上来大家看看

q.sn

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 530回
  • 年度积分:0
  • 历史总积分:6371
  • 注册:2006年9月26日
发表于:2008-11-20 00:56:52
7楼

把所有的动作都写成子程序,位置、速度参数由HMI设定,根据不同的加工要求,按顺序调用所需要的子程序即可,做成选项按钮来分别激活子程序。

标准触点

  • 精华:0帖
  • 求助:0帖
  • 帖子:16帖 | 835回
  • 年度积分:0
  • 历史总积分:1281
  • 注册:2006年8月05日
发表于:2008-11-20 08:51:14
8楼
你会使用三菱的编程软件吗?其实你使用的软件本身就是个可任意编程的程序,呵呵。就像7楼说的,根据操作需要,设定最小的不可分割的动作单位,做子程序,主程序围绕HMI的设定来执行子程序

fisherwang

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

樓上的沒有明白樓主的意思,當然樓主說的也不科學.

其實,樓住需要的就是自由工藝編輯模式.

按樓上几位的理解,處理方法那太死板,繁瑣.

工藝過程是隨時需要改變的,你不可能窮盡所有組合,你可能常常要面臨修改,增加所謂子程序的困惑.

由工程師建好模組,提供給工藝員一個友好的編輯工藝程序的介面或環境,也就是說設備執行哪種工藝或順序右現場工藝員來決定.

零的体验

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 63回
  • 年度积分:2
  • 历史总积分:119
  • 注册:2006年6月24日
发表于:2008-11-20 11:41:36
10楼

楼上的高人,本人太佩服您了!真正的高手啊!

我前些时候写过这样的程序,用PLC平台作一个通用的程序,用户可以根据工艺在人机界面上随意设定动作顺序,及动作延时时间.需要的输入元件等都可以随意组合,伺服步进电机运行参数也可以任意设定.

其出发点是开发一个通用的平台,用户只要熟悉工艺流程,不用了解PLC编程知识.就可以完成一些不是很复杂的机器的电气控制.

可因为水平有限,缺乏理论指导,所作的程序用户操作起来还不够方便,通用性也不够,再就是如您所说,安全性也没办法保正,总的来说就是不够完善.不尽如人意,

认真阅读了你前面的文章,好像是一个在黑暗中的人看到了一盏明灯.有好些东西以前都是凭经验去想,只有模糊的概念.而你却有了系统的理论来说明.

有好些问题想向您请教,可否告知联系方式!

 

零的体验

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 63回
  • 年度积分:2
  • 历史总积分:119
  • 注册:2006年6月24日
发表于:2008-11-20 12:45:53
11楼

我写通用程序时主要是用变址寄存器与字处处理指令及技巧性的运用一些功能指令,虽然程序还很不完善,但已经做成了产品在销售了,对于一般开关量控制的机器花三五分钟就可以在触模屏设定一个程序了。

写通用程序时的几点体会:

1. PLC、触模屏对这种应用支持不够。有很多的固有限制,不像计算机软件开发自由度很大。PLC、触模屏各品牌都有一些方便这种应用的功能,但都不是很全面,虽然可以用一些技巧来弥补,可撑握起来难度也大。如PLC的变址寄存器对这种应用作用很大,可像三菱PLC FX系列的才二个,不够用。再如触模屏能输入中文的没有几种品牌可以做到,对应的用户需更改界面文字的功能不能实现。

2.只能钟对某一行业某一类机器,不能大范围通用,可这样通用性就不够;通用范围大,程序就会过于复杂,PLC难以完成。也就是通用性与程序复杂度这间的矛盾

3.通用程序对顺序控制比较好处理,对运动控制和模拟量控制不大容易把握。

脑子不大好使,一时想不起来了,希望各位高手,多出来指点,多讨论一下关于通用程序的一些想法。

 

 

零的体验

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 63回
  • 年度积分:2
  • 历史总积分:119
  • 注册:2006年6月24日
发表于:2008-11-20 12:57:40
12楼

楼主,我没有“可任意顺序输出”三菱,不过如果你想学这种编程方法的话,我或许可以跟你一起讨论下,提点意见,

可以把你的程序给我看看不?其实用那种品牌的PLC写,没有多大关系的

QQ :364964864

oyun_liu@126.com

ts12345

  • 精华:3帖
  • 求助:0帖
  • 帖子:326帖 | 2215回
  • 年度积分:0
  • 历史总积分:3943
  • 注册:2008年2月13日
发表于:2008-11-20 13:05:48
13楼
真是好资料啊,收获很多啊!

才大器粗

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 299回
  • 年度积分:0
  • 历史总积分:1705
  • 注册:2007年10月19日
发表于:2008-11-20 13:24:02
14楼

太简单了,小学数学乘法应用,4个输出,动作4次,就是4*4=16条堆栈,重复输出就可以。

fisherwang

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 73回
  • 年度积分:4
  • 历史总积分:316
  • 注册:2007年2月12日
发表于:2008-11-21 10:18:14
15楼
引用零的体验 的回复内容:

楼上的高人,本人太佩服您了!真正的高手啊!

我前些时候写过这样的程序,用PLC平台作一个通用的程序,用户可以根据工艺在人机界面上随意设定动作顺序,及动作延时时间.需要的输入元件等都可以随意组合,伺服步进电机运行参数也可以任意设定.

其出发点是开发一个通用的平台,用户只要熟悉工艺流程,不用了解PLC编程知识.就可以完成一些不是很复杂的机器的电气控制.

可因为水平有限,缺乏理论指导,所作的程序用户操作起来还不够方便,通用性也不够,再就是如您所说,安全性也没办法保正,总的来说就是不够完善.不尽如人意,

认真阅读了你前面的文章,好像是一个在黑暗中的人看到了一盏明灯.有好些东西以前都是凭经验去想,只有模糊的概念.而你却有了系统的理论来说明.

有好些问题想向您请教,可否告知联系方式!

 




謝謝,我們可以交流一下各自開發體會.
我個人覺得只要一個人有這個意識,他就成功了一半.下面談談我開發自由工藝編程模式的過程和思路.
工藝決定程序架構.在實際應用中我遇到需要經常改變動作過程的控制系統,一開始也像前面幾位那樣處理:在觸摸屏上通過選取功能來組合你能想到的各種工藝過程.但在實際應用中,客戶常常提出各種各樣的要求,以前的組合不一定能滿足.因而就需要增加甚至修改原控制結構的問題,這樣的要求多了,感覺不勝其煩,也有很失敗的感覺.
確實,我們不可能完全了解生產工藝,就算你窮盡了所有工藝,按以前這種固定工藝模式處理也覺得死板,繁瑣.更主要的是工藝操作員覺得介面不好使用,也就是說操作介面不太友好.
以前也想過用自由工藝模式來處理.PLC中的很好處理,可以把所有基本動作構建成一個個的模塊(如子程序),根據人機介面上的選取代碼順序來調用這些模塊.但人機介面並不好處理.需要解決幾個問題:一個是安全性問題,工藝員編寫工藝時是不會考慮安全問題的;一個是操作介面是否有好的問題,許多電控工程師不是很注重這個問題,往往按自己的思路,習慣強制現場操作員接受,這往往會製造矛盾.
從上可以看出,難點主要在人機介面的處理,我們首先會想到動作代碼化,但編好的代碼如何友好顯示及編輯呢?我們知道人機介面不像個人電腦那樣有許多軟件支持,但許多人機介面還是提供有系統二次開發的功能接口.因此通過諸如腳本語言類似的接口來處理這些動作代碼:如刪除錯誤的代碼,插入正確的代碼等等.還可以判斷這些代碼是否符合編寫規範,特別是安全性的處理:比如有些動作代碼不能在同一步中,有些動作必須在其他某動作動作完後才能動作等等.
把動作代碼及其動作參數編好後存入配方工藝中,根據實際需求可以選取需要的配方工藝下載到PLC中運行.

fisherwang

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

可惜不能貼圖片,不然更形像容易理解.

對工藝代碼我是這樣處理的.以某一個伺服軸為例.

一個基本動作代碼佔用一個字,動作代碼順序存取.每一個動作代碼佔用兩個字的參數,其中後一個是其座標值,前一個是其工位代碼(設置的主要作用是區分不同工位,這樣在自動運行時可以修改其各自速度).

fisherwang

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 73回
  • 年度积分:4
  • 历史总积分:316
  • 注册:2007年2月12日
发表于:2008-11-21 10:56:04
17楼
引用零的体验 的回复内容:

我写通用程序时主要是用变址寄存器与字处处理指令及技巧性的运用一些功能指令,虽然程序还很不完善,但已经做成了产品在销售了,对于一般开关量控制的机器花三五分钟就可以在触模屏设定一个程序了。

写通用程序时的几点体会:

1. PLC、触模屏对这种应用支持不够。有很多的固有限制,不像计算机软件开发自由度很大。PLC、触模屏各品牌都有一些方便这种应用的功能,但都不是很全面,虽然可以用一些技巧来弥补,可撑握起来难度也大。如PLC的变址寄存器对这种应用作用很大,可像三菱PLC FX系列的才二个,不够用。再如触模屏能输入中文的没有几种品牌可以做到,对应的用户需更改界面文字的功能不能实现。

2.只能钟对某一行业某一类机器,不能大范围通用,可这样通用性就不够;通用范围大,程序就会过于复杂,PLC难以完成。也就是通用性与程序复杂度这间的矛盾

3.通用程序对顺序控制比较好处理,对运动控制和模拟量控制不大容易把握。

脑子不大好使,一时想不起来了,希望各位高手,多出来指点,多讨论一下关于通用程序的一些想法。

 

 



你的思路很清晰.

變址功能是實現這類思路的核心技術之一.

如果變址寄存器不夠用,可利用堆栈技術重複應用同一個變址寄存器,即可用數據機存器暫存變址寄存器的值.

PSF-PLC

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 849回
  • 年度积分:5
  • 历史总积分:3567
  • 注册:2005年4月19日
发表于:2008-11-21 13:54:40
18楼

好,

 

 

 

PSF-PLC

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 849回
  • 年度积分:5
  • 历史总积分:3567
  • 注册:2005年4月19日
发表于:2008-11-21 13:54:52
19楼

 

 

 

fisherwang

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

面向工藝來設計控制系統是自動化工程師應該追求的最高目標.

从工艺的角度来看编程可以分为固定工艺编程模式和自由工艺编程模式。

固定工艺编程模式是人们常常采用的编程模式,也就是设备的运行按照工程师编好的程序一步步“顺序”运行。

但对于那些工艺运行顺序常常变化的情形,如果还采用传统的固定工艺编程模式的话,那将是一个很烦琐的过程,而且极易出错。

特别是增加新的功能或工艺,就必须对原程序进行艰苦而复杂的修改,毕竟在开发初期你不可能对各种工艺流程都了解。

如果我们提供一个编程环境,由现场操作员或工艺员按照他们熟悉的“界面或语言”来自由组织工艺流程,那就不是能很容易解决那些变化,复杂生产工艺设备的编程吗?这就是自由工艺编程模式。
应用运行时组态的理念可以实现自由工艺编程。

所谓运行时组态是指在运行环境下编辑工程,或对已有工程进行修改,添加新的功能.也就是说运行时组态是在组态软件运行环境中直接修改工程.

具体来说,经过人机界面的二次开发,提供给工艺员一个实现“所见即所得”的编程环境。


热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 下一页 尾页