
圖2-7:岸橋主要機(jī)構(gòu)對應(yīng)功能FC
這些功能FC的作用如下:
l FB22 起升/大車1#變頻器PROFIBUS總線數(shù)據(jù)傳輸
l FB23 起升/大車2#變頻器PROFIBUS總線數(shù)據(jù)傳輸
l FB24 小車/俯仰變頻器PROFIBUS總線數(shù)據(jù)傳輸
l FC31 起升運(yùn)行控制
l FC41 大車運(yùn)行控制
l FC51 小車運(yùn)行控制
l FC61 俯仰運(yùn)行控制
在岸橋上還有一些輔助機(jī)構(gòu)需由PLC程序來控制。這些功能FC如下圖2-8所示:

圖2-8:輔助機(jī)構(gòu)控制
這些功能FC的作用如下:
l FC12 投光燈,空調(diào)的啟動,停止控制。
l FC13 風(fēng)速處理:當(dāng)風(fēng)速達(dá)到警報值時發(fā)出信號。
l FC16 指示燈顯示:控制各個操作站的指示燈。
l FC34 起升編碼器位置處理:判斷起升上下的停止,減速位置等。
l FC36 負(fù)載重量處理:判斷負(fù)載是否超過額定。
l FC54 小車編碼器位置處理:判斷小車前后的停止,減速位置等。
l FC63 俯仰編碼器位置處理:判斷俯仰上下的停止,減速位置等。
l FC71 吊具控制:吊具在起吊集裝箱時的控制,如吊具鎖頭的開閉功能
結(jié)合岸橋主要機(jī)構(gòu),輔助機(jī)構(gòu)控制的功能FC,以及PROFIBUS總線通訊數(shù)據(jù)傳輸?shù)墓δ軌KFB等,完成了岸橋PLC程序的設(shè)計。
3 PLC程序統(tǒng)一性問題
3.1.1 PLC程序統(tǒng)一性問題的發(fā)現(xiàn)
在岸橋的PLC程序編寫完成后,我們隨即在岸橋上進(jìn)行了調(diào)試,由此發(fā)現(xiàn)了程序的統(tǒng)一性問題,該問題是這樣的:我們所進(jìn)行的這個項目有12臺岸橋,在岸橋上,有些數(shù)據(jù)的定義需根據(jù)現(xiàn)場的實(shí)際情況來定義,舉一簡單的例子:
比如小車機(jī)構(gòu)位置編碼器的零位數(shù)據(jù)OFFSET,對于調(diào)試的第一臺岸橋,我們可以很容易加以這樣定義:將小車機(jī)構(gòu)行駛到最后面的終點(diǎn)位置,讀出小車在該位置時位置編碼器的讀數(shù),以此作為小車機(jī)構(gòu)位置編碼器的零位數(shù)據(jù)OFFSET。但我們在調(diào)試第二臺岸橋時發(fā)現(xiàn),由于機(jī)械安裝的誤差,第二臺小車機(jī)構(gòu)行駛到最后面的終點(diǎn)位置時,讀出的小車位置編碼器讀數(shù)與第一臺岸橋的數(shù)值不相同。也就是說,我們必須將第二臺岸橋的小車機(jī)構(gòu)位置編碼器的零位數(shù)據(jù)OFFSET設(shè)置成不一樣的數(shù)據(jù)。
與此有相同問題的數(shù)據(jù)還有諸如重量傳感器的比例系數(shù),小車自動停車時停車位置點(diǎn),俯仰機(jī)構(gòu)的上升終點(diǎn)位置等等。這些問題都產(chǎn)生了一個后果,調(diào)試結(jié)束后每臺岸橋都有對應(yīng)的PLC程序,彼此之間不統(tǒng)一。
分析這個問題,我們設(shè)想了以下解決問題的方法:
n 我們可以增加設(shè)計這樣一段解決問題的“岸橋編號識別”程序:首先, 讓各臺岸橋編號:比如岸橋1,岸橋2。。。。。。岸橋12,PLC程序運(yùn)行“岸橋編號識別”程序來判定該岸橋的編號,如果是岸橋1,“岸橋編號識別”程序就執(zhí)行將岸橋1的數(shù)據(jù)裝載到一“共用數(shù)據(jù)塊”。
“岸橋編號識別”執(zhí)行完畢后,我們所需要的數(shù)據(jù)都在這“共用數(shù)據(jù)塊”中,之后PLC在程序運(yùn)行時,如需要用到那些各臺岸橋有差異的數(shù)據(jù),就可以從該“共用數(shù)據(jù)塊”中讀取所需要的數(shù)據(jù)。整個過程如圖3-1所示:

圖3-1:“岸橋編號識別”程序
有了以上的思路,接下來我們就著手開始解決這個PLC程序統(tǒng)一性問題:
l 第一步:對岸橋進(jìn)行編號:
將岸橋定義為岸橋1# 至岸橋12# ,但是如果要讓PLC能夠識別這些編號,那么我們必須設(shè)置輸入信號送給PLC,我們利用了一個備用的輸入字節(jié)IB256來定義岸橋的編號,在PLC系統(tǒng)的硬件輸入上,我們按此定義對各臺岸橋接入高電平,每臺岸橋不同,如下圖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:對岸橋進(jìn)行編號
l 在程序中為每臺岸橋設(shè)置一個DB數(shù)據(jù)塊(DATABASE),分別為DB201~DB212,分別對應(yīng)岸橋1~12的數(shù)據(jù),如下圖3-3所示:

圖3-3:岸橋1~12數(shù)據(jù)塊
l 編寫“岸橋編號識別”程序:創(chuàng)建一功能FC74用于處理不同岸橋編號識別,然后將對應(yīng)岸橋的數(shù)據(jù)塊DB20X數(shù)據(jù)傳輸給一共用數(shù)據(jù)塊DB74。如下圖3-4所示:當(dāng)岸橋編號CRANEID是2的時候,將岸橋2的數(shù)據(jù)塊DB202的44個字節(jié)傳輸?shù)焦灿脭?shù)據(jù)塊DB74中。

圖3-4:“岸橋編號識別”程序
l PLC讀取共用數(shù)據(jù)塊中的數(shù)據(jù):PLC可以任意讀取共用數(shù)據(jù)塊中的數(shù)據(jù),該數(shù)據(jù)就是對應(yīng)相應(yīng)岸橋的數(shù)據(jù),如下圖3-5所示程序:

圖3-5:讀取“共用數(shù)據(jù)塊DB74”數(shù)據(jù)程序
由此,我們通過程序的修改完全解決了PLC程序統(tǒng)一性的問題,使該PLC程序更加完善,可靠。
4.應(yīng)用與結(jié)果分析
4.1. PLC程序在岸橋上的應(yīng)用情況
我們將該PLC程序應(yīng)用于外高橋四期集裝箱碼頭前六臺岸橋設(shè)備(整個項目共十二臺)六臺岸橋開始投入使用并成功地使用至今,根據(jù)碼頭工程部工程師的反映,該程序運(yùn)行得非?煽浚瑥奈闯霈F(xiàn)過由于程序原因造成的故障,而且整個程序運(yùn)行速度快,思路清晰,易于理解,變量名通俗易記,對岸橋的監(jiān)控,故障查詢方便。同時,由碼頭合資方馬士基船務(wù)公司聘請的外方咨詢公司對該程序也進(jìn)行了鑒定并予以肯定。
在本程序的開發(fā)設(shè)計和實(shí)現(xiàn)中,我們也參考比較了GE,ABB等一些著名電控供應(yīng)商的岸橋PLC程序:相比而言,我們的PLC程序有如下優(yōu)點(diǎn):
l 合理地采用主程序調(diào)用子程序的結(jié)構(gòu),這樣的好處是:
n 整個程序思路清晰:各個主要機(jī)構(gòu)的控制,各個輔助機(jī)構(gòu)的控制,都有相應(yīng)的子程序,即功能FC來實(shí)現(xiàn)。最終這些功能FC在主程序OB1中調(diào)用。
n 對岸橋的監(jiān)控方便,快捷:用戶如果想查找到監(jiān)控的某一裝置,比如需查看指示燈,那只要找到“指示燈”這一功能FC,將其打開,不用花很多時間就能找到,大大縮短了查找時間。
l 整個程序的變量名采用縮寫,通俗易懂,加上變量附帶的注釋,方便了碼頭工程人員對程序的掌握,而且工程人員很容易記住一些常用的變量名,如起升上升允許的變量命是HUPPRM是HOIST UP PERMIT的縮寫,在熟悉了變量名后,可利用PLC軟件SIMATIC MANAGER自帶的查找功能(GO TO LOCATION),很快找到該變量對應(yīng)的程序行,進(jìn)一步縮短查找時間。
l 程序的編寫采用PLC特有的“梯形圖”語言,十分直觀!疤菪螆D”語言是一種類型繼電器圖紙表示方法的語言,對電氣工程技術(shù)人員來說具有親切感,看程序就象查看原理圖一樣,更容易理解。
l 整個程序簡潔,實(shí)用,使用嵌套少。在程序編寫思想上較多地考慮利于用戶監(jiān)控, 查找與理解,而不是單純從我們怎樣編寫方便的角度出發(fā)。
|