摘要
本文以外高橋四期集裝箱碼頭的岸邊橋式集裝箱起重機(簡稱岸橋)設計為例,介紹了應用西門子公司的S7-400係列PLC進行岸橋PLC程(cheng)序(xu)的(de)設(she)計(ji)與(yu)實(shi)現(xian)。對(dui)部(bu)分(fen)重(zhong)要(yao)的(de)子(zi)程(cheng)序(xu)的(de)編(bian)寫(xie)進(jin)行(xing)了(le)詳(xiang)細(xi)分(fen)析(xi),包(bao)括(kuo)起(qi)重(zhong)機(ji)主(zhu)要(yao)機(ji)構(gou)的(de)程(cheng)序(xu),輔(fu)助(zhu)機(ji)構(gou)的(de)程(cheng)序(xu)。對(dui)於(yu)程(cheng)序(xu)調(tiao)試(shi)時(shi)所(suo)遇(yu)到(dao)的(de)程(cheng)序(xu)的(de)統(tong)一(yi)性(xing)問(wen)題(ti),本(ben)文(wen)也(ye)進(jin)行(xing)了(le)分(fen)析(xi)並(bing)提(ti)出(chu)了(le)解(jie)決(jue)的(de)辦(ban)法(fa)。最(zui)終(zhong),文(wen)章(zhang)還(hai)對(dui)該(gai)PLC程序的優缺點進行了分析與比較。
關鍵詞:岸橋,PLC
THE DESIGN AND IMPLEMENTATION OF QUAY SIDE CONTAINER CRANE PLC PROGRAM
Abstract
With the example of Quay Side Container Crane design for WAIGAOQIAO 4th container terminal, this article introduced the design and implementation of Quay Side Container Crane PLC program . It base on the hardware product of SIEMENS, which is S7 series PLC. It is analysed that how to write the program in such sub-program, like the program for main motion mechanical system, auxiliary system. For the problem met during the field commission, which is dealing with different data between different cranes in one program, it is been analysed and solved at last. At the end of the article, the virtues and shortness of the PLC program for this project is also been analysed.
KEY WORDS:
Quay Side Container Crane, PLC
由於PLC控製係統可靠,方便等特點,其已在集裝箱起重機上廣泛使用,目前已取代了早期的繼電器控製回路係統。同時由於總線係統的發展,PLC所需采集的各類開關,傳感器信號可以通過遠程I/O站實現,大大節省了電纜布線成本,也節約了故障查詢時間。本文主要闡述的就是岸橋控製係統的核心內容設計:岸橋PLC程序的設計與實現。
在這套係統中,控製係統的主要元件PLC是采用了SIEMENS公司的S7-400作為PLC主站,ET200作為遠程模塊站。整個係統通過PROFIBUS總線將PLC主站與各遠程模塊站及控製傳動機構的變頻器相連,見如下單線圖1-1所示:
圖1-1:以PLC為核心的岸橋電氣控製係統圖
圖1-1中,S7-400 PLC是整個係統的核心所在,它有兩個PROFIBUS總線接口,一條總線連接所有傳動機構變頻器(變頻器由整流器與逆變器組成),這樣一來變頻器所需要的命令,運行狀態的反饋等信號均可以通過PROFIBUS通訊來實現。另一條總線則連接所有的I/O遠程站,實現采集信號和輸出信號,大大節約了布線。PLC同(tong)時(shi)也(ye)帶(dai)有(you)以(yi)太(tai)網(wang)接(jie)口(kou),可(ke)以(yi)方(fang)便(bian)的(de)與(yu)計(ji)算(suan)機(ji)連(lian)接(jie),這(zhe)樣(yang)一(yi)來(lai)工(gong)程(cheng)技(ji)術(shu)人(ren)員(yuan)可(ke)以(yi)通(tong)過(guo)計(ji)算(suan)機(ji)的(de)人(ren)機(ji)界(jie)麵(mian)來(lai)監(jian)控(kong)岸(an)橋(qiao)的(de)運(yun)行(xing),同(tong)時(shi)該(gai)計(ji)算(suan)機(ji)也(ye)可(ke)以(yi)作(zuo)為(wei)編(bian)程(cheng)器(qi),用(yong)來(lai)配(pei)置(zhi)PLC硬件,修改PLC程序。
對岸橋的PLC係統來說,其需要控製的內容有岸橋的起升, 大車, 小車, 俯仰這四個主要機構的運行與輔助機構的運行,四個主要機構都有相同的運行過程,如下圖2-1所示:
圖2-1:岸橋主要機構運行過程
因此在這過程中的“是否滿足運行條件”與“是否存在減速命令”是編寫岸橋PLC程(cheng)序(xu)所(suo)必(bi)須(xu)清(qing)楚(chu)的(de)情(qing)況(kuang),我(wo)們(men)在(zai)這(zhe)裏(li)必(bi)須(xu)通(tong)過(guo)工(gong)況(kuang)分(fen)析(xi),有(you)了(le)清(qing)楚(chu)的(de)了(le)解(jie)之(zhi)後(hou),才(cai)能(neng)正(zheng)確(que)的(de)編(bian)寫(xie)程(cheng)序(xu)。以(yi)下(xia)我(wo)們(men)將(jiang)以(yi)起(qi)升(sheng)機(ji)構(gou)為(wei)例(li),對(dui)工(gong)況(kuang)進(jin)行(xing)詳(xiang)細(xi)的(de)分(fen)析(xi)。
qishengjigoudezhuyaozuoyongshitongguogangsishengyudiaojushangdehualunjiangdiaojuzuoshangxiadeyidong。dangdiaojudiaolejizhuangxiangzhihou,jizhuangxiangjiukeyitongguoqishengjigoushixianshangxiayidong,birujiangjizhuangxiangcongchuancanghuojizhuangxiangkacheshangtiqu。qishengjigoudezuchengchulediaojuyugangsishengzhiwai,haibaokuoliangtaobingxinglianjiedejixiechuandongzhuangzhi,meitaochuandongzhuangzhidezuchengrutu2-2所示:有you一yi個ge交jiao流liu電dian機ji聯lian接jie一yi個ge減jian速su箱xiang。在zai電dian機ji與yu減jian速su箱xiang之zhi間jian的de主zhu軸zhou上shang裝zhuang有you一yi個ge液ye壓ya推tui杆gan盤pan式shi製zhi動dong器qi。電dian機ji非fei驅qu動dong側ce出chu軸zhou安an裝zhuang有you測ce速su編bian碼ma器qi和he超chao速su開kai關guan。在zai卷juan筒tong的de一yi側ce出chu軸zhou上shang裝zhuang有you一yi個ge凸tu輪lun限xian位wei開kai關guan。
圖2-2:起升傳動機構組成
起升機構運行過程控製如下:
l PLC采集司機發出的運行指令及速度給定指令。
l 通過PLC程序進行邏輯判斷,判斷是否滿足“運行允許”的情況。
l 如果PLC程序邏輯判斷滿足“運行允許”的情況,接下來要進行的就是起升速度的處理,其處理如下:
n 如果不存在減速運行命令,則傳動機構按司機給定的速度運行。
n 如果PLC收到減速運行信號,PLC則將速度處理為司機給定速度的10%。
l 最終,PLC需將這些運行命令,運行速度通過PROFIBUS總線傳輸給變頻器,變頻器帶動電機運行,實現起升機構的運行。
在編寫PLC程序之前,對於I/O 變量, 由於其在原理圖上已定義, 我們可以先將其在SYMBOLS中輸入。
圖2-1:SYMBOLS表
下麵我們以起升機構為例, 編寫一段岸橋起升運行程序。
步驟一:編寫“起升允許”程序。我們編寫的“起升允許”程序如下圖2-2所示:
圖2-2:編寫 “起升允許”程序
步驟二:編寫“起升命令控製”程序。當起升機構滿足了“起升允許“,PLC就可以發出起升向上/下的命令。如圖2-3所示:
圖2-3:起升運行命令
步驟三:編寫“起升速度的控製”程序。在這段程序中:當司機在駕駛室把控製電源合上,並發出起升命令,如果有減速命令存在,則將給定值變為原來的10%,程序如下圖2-4所示。
圖2-4:速度給定信號處理
步驟四:編寫“起升命令與速度控製”程序。以上的程序完成了岸橋起升運行的命令和速度給定的產生,最終我們就是要將這命令與速度給定通過PROFIBUS總線傳輸給變頻器,如圖2-6是調用了西門子公司功能塊庫中的一個PROFIBUS數據傳送功能塊PCD_SEND,用來傳送數據塊DB123中的16個字。。
圖2-5升命令與速度控製
圖2-6總線數據傳輸
以上分析了岸橋起升機構的程序編寫,與起升機構的程序類似, 岸橋的大車, 小車, 俯仰機構程序也要處理運行允許, 命令與速度給定,數據傳輸等。為了使整個項目程序結構清晰,我們將各個功能細分,如下圖3-14所示是:主要機構運行控製的功能FC,以及用於命令與速度給定傳輸的PROFIBUS總線數據傳輸功能塊FB:
圖2-7:岸橋主要機構對應功能FC
這些功能FC的作用如下:
l FB22 起升/大車1#變頻器PROFIBUS總線數據傳輸
l FB23 起升/大車2#變頻器PROFIBUS總線數據傳輸
l FB24 小車/俯仰變頻器PROFIBUS總線數據傳輸
l FC31 起升運行控製
l FC41 大車運行控製
l FC51 小車運行控製
l FC61 俯仰運行控製
在岸橋上還有一些輔助機構需由PLC程序來控製。這些功能FC如下圖2-8所示:
圖2-8:輔助機構控製
這些功能FC的作用如下:
l FC12 投光燈,空調的啟動,停止控製。
l FC13 風速處理:當風速達到警報值時發出信號。
l FC16 指示燈顯示:控製各個操作站的指示燈。
l FC34 起升編碼器位置處理:判斷起升上下的停止,減速位置等。
l FC36 負載重量處理:判斷負載是否超過額定。
l FC54 小車編碼器位置處理:判斷小車前後的停止,減速位置等。
l FC63 俯仰編碼器位置處理:判斷俯仰上下的停止,減速位置等。
l FC71 吊具控製:吊具在起吊集裝箱時的控製,如吊具鎖頭的開閉功能。
結合岸橋主要機構,輔助機構控製的功能FC,以及PROFIBUS總線通訊數據傳輸的功能塊FB等,完成了岸橋PLC程序的設計。
在岸橋的PLC程序編寫完成後,我們隨即在岸橋上進行了調試,由此發現了程序的統一性問題,該問題是這樣的:我們所進行的這個項目有12台岸橋,在岸橋上,有些數據的定義需根據現場的實際情況來定義,舉一簡單的例子:
比如小車機構位置編碼器的零位數據OFFSET,對於調試的第一台岸橋,我們可以很容易加以這樣定義:將小車機構行駛到最後麵的終點位置,讀出小車在該位置時位置編碼器的讀數,以此作為小車機構位置編碼器的零位數據OFFSET。但dan我wo們men在zai調tiao試shi第di二er台tai岸an橋qiao時shi發fa現xian,由you於yu機ji械xie安an裝zhuang的de誤wu差cha,第di二er台tai小xiao車che機ji構gou行xing駛shi到dao最zui後hou麵mian的de終zhong點dian位wei置zhi時shi,讀du出chu的de小xiao車che位wei置zhi編bian碼ma器qi讀du數shu與yu第di一yi台tai岸an橋qiao的de數shu值zhi不bu相xiang同tong。也ye就jiu是shi說shuo,我wo們men必bi須xu將jiang第di二er台tai岸an橋qiao的de小xiao車che機ji構gou位wei置zhi編bian碼ma器qi的de零ling位wei數shu據juOFFSET設置成不一樣的數據。
yuciyouxiangtongwentideshujuhaiyouzhuruzhongliangchuanganqidebilixishu,xiaochezidongtingcheshitingcheweizhidian,fuyangjigoudeshangshengzhongdianweizhidengdeng。zhexiewentidouchanshengleyigehouguo,tiaoshijieshuhoumeitaianqiaodouyouduiyingdePLC程序,彼此之間不統一。
分析這個問題,我們設想了以下解決問題的方法:
n 我們可以增加設計這樣一段解決問題的“岸橋編號識別”程序:首先讓各台岸橋編號:比如岸橋1,岸橋2。。。。。。岸橋12,PLC程序運行“岸橋編號識別”程序來判定該岸橋的編號,如果是岸橋1,“岸橋編號識別”程序就執行將岸橋1的數據裝載到一“共用數據塊”。
“岸橋編號識別”執行完畢後,我們所需要的數據都在這“共用數據塊”中,之後PLC在程序運行時,如需要用到那些各台岸橋有差異的數據,就可以從該“共用數據塊”中讀取所需要的數據。整個過程如圖3-1所示:
圖3-1:“岸橋編號識別”程序
有了以上的思路,接下來我們就著手開始解決這個PLC程序統一性問題:
l 第一步:對岸橋進行編號:
將岸橋定義為岸橋1# 至岸橋12# ,但是如果要讓PLC能夠識別這些編號,那麼我們必須設置輸入信號送給PLC,我們利用了一個備用的輸入字節IB256來定義岸橋的編號,在PLC係統的硬件輸入上,我們按此定義對各台岸橋接入高電平,每台岸橋不同,如下圖3-2所示:
|
位(BIT)
岸橋編號 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
岸橋1# |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
|
岸橋2# |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
|
岸橋3# |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
|
岸橋4# |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
|
岸橋5# |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
|
岸橋6# |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
|
岸橋7# |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
|
岸橋8# |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
|
岸橋9# |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
|
岸橋10# |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
|
岸橋11# |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
|
岸橋12# |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
圖3-2:對岸橋進行編號
l 在程序中為每台岸橋設置一個DB數據塊(DATABASE),分別為DB201~DB212,分別對應岸橋1~12的數據,如下圖3-3所示:
圖3-3:岸橋1~12數據塊
l 編寫“岸橋編號識別”程序:創建一功能FC74用於處理不同岸橋編號識別,然後將對應岸橋的數據塊DB20X數據傳輸給一共用數據塊DB74。如下圖3-4所示:當岸橋編號CRANEID是2的時候,將岸橋2的數據塊DB202的44個字節傳輸到共用數據塊DB74中。
圖3-4:“岸橋編號識別”程序
l PLC讀取共用數據塊中的數據:PLC可以任意讀取共用數據塊中的數據,該數據就是對應相應岸橋的數據,如下圖3-5所示程序:
圖3-5:讀取“共用數據塊DB74”數據程序
由此,我們通過程序的修改完全解決了PLC程序統一性的問題,使該PLC程序更加完善,可靠。
我們將該PLC程序應用於外高橋四期集裝箱碼頭前六台岸橋設備(整個項目共十二台)liutaianqiaokaishitourushiyongbingchenggongdishiyongzhijin,genjumatougongchengbugongchengshidefanying,gaichengxuyunxingdefeichangkekao,congweichuxianguoyouyuchengxuyuanyinzaochengdeguzhang,erqiezhenggechengxuyunxingsudukuai,siluqingxi,yiyulijie,bianliangmingtongsuyiji,duianqiaodejiankong,guzhangzhaxunfangbian。tongshi,youmatouhezifangmashijichuanwugongsipinqingdewaifangzixungongsiduigaichengxuyejinxinglejiandingbingyuyikending。
在本程序的開發設計和實現中,我們也參考比較了GE,ABB等一些著名電控供應商的岸橋PLC程序:相比而言,我們的PLC程序有如下優點:
l 合理地采用主程序調用子程序的結構,這樣的好處是:
n 整個程序思路清晰:各個主要機構的控製,各個輔助機構的控製,都有相應的子程序,即功能FC來實現。最終這些功能FC在主程序OB1中調用。
n 對岸橋的監控方便,快捷:用戶如果想查找到監控的某一裝置,比如需查看指示燈,那隻要找到“指示燈”這一功能FC,將其打開,不用花很多時間就能找到,大大縮短了查找時間。
l zhenggechengxudebianliangmingcaiyongsuoxie,tongsuyidong,jiashangbianliangfudaidezhushi,fangbianlematougongchengrenyuanduichengxudezhangwo,erqiegongchengrenyuanhenrongyijizhuyixiechangyongdebianliangming,ruqishengshangshengyunxudebianliangmingshiHUPPRM是HOIST UP PERMIT的縮寫,在熟悉了變量名後,可利用PLC軟件SIMATIC MANAGER自帶的查找功能(GO TO LOCATION),很快找到該變量對應的程序行,進一步縮短查找時間。
l 程序的編寫采用PLC特有的“梯形圖”語言,十分直觀。“梯形圖”語言是一種類型繼電器圖紙表示方法的語言,對電氣工程技術人員來說具有親切感,看程序就象查看原理圖一樣,更容易理解。
l 整個程序簡潔,實用,使用嵌套少。在程序編寫思想上較多地考慮利於用戶監控, 查找與理解,而不是單純從我們怎樣編寫方便的角度出發。 |