小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

不可錯過的好文~運動控制DB-ANY

 金玉滿堂jjnla8 2019-11-19

一、運動控制結構化批處理編程的需求

目前大家用西門子博途控制器+V90PN做項目越來越多,如果走工藝對象的話就必須采用PLC-OPEN運控指令編程,程序里軸數(shù)量較多的話會每根軸重復調(diào)用MC_Power、MC_Absolute等指令,同時產(chǎn)生大量的背景數(shù)據(jù)塊。我們大家都熟悉西門子的結構化批量編程套路:建一個標準FB,然后通過SCL語言的FOR循環(huán)Array of FB進行多重背景的數(shù)組調(diào)用,這樣100個對象FB塊的調(diào)用一個FOR 循環(huán)語句就完事了。那么這個套路能否用在運動控制編程中的,實際上焦點就是TO_PositioningAxis(包括TO_CommandTable)這個數(shù)據(jù)類型作為參數(shù)時支不支持多重實例的Array,實際是不支持的。如圖1所示。但不要緊,可以用DB_ANY這個數(shù)據(jù)類型來轉(zhuǎn)換,從S7-1200 V4.2開始,DB_ANY可以在運動控制中使用,它可以使用在形參為TO_PositioningAxisTO_CommandTable類型的實參處,包括以下幾種:

1 FC/FB的輸入形參數(shù)據(jù)類型為TO_PositioningAxis時,外部實參可以使用DB_ANY數(shù)據(jù)類型的變量。2 MC_MoveAbsolute/MC_MoveRelative指令的參數(shù)Axis處,實參可使用DB_ANY數(shù)據(jù)類型的變量。3 FC/FB的輸入形參數(shù)據(jù)類型為TO_CommandTable時,外部實參可使用DB_ANY數(shù)據(jù)類型的變量。4 MC_CommandTable指令的參數(shù)CommandTable處,實參可直接使用DB_ANY數(shù)據(jù)類型的變量。

2顯示了支持多重實例的DB_ANY

1:定位軸數(shù)據(jù)類型不支持多重實例

2:支持多重實例的DB_ANY

二、運動控制程序使用DB_ANY的調(diào)用結構

大家注意看上面第(2)條,只有絕對運動和相對運動指令的參數(shù)Axis處,實參才可以直接使用DB_ANY數(shù)據(jù)類型。其他的指令比如使能(MC_Power)、點動(MC_MoveJog)等的參數(shù)Axis處如果實參直接填DB_ANY,CPU會報錯,如圖34所示,原因是MC_Power/MC_Reset/MC_Home指令的參數(shù)Axis,類型為TO_Axis。而MC_Halt/MC_MoveVelocity/MC_MoveJog/MC_ChangeDynaic指令的參數(shù)Axis,類型為TO_SpeedAxis    

3:如果MC_POWER指令使用DB_ANY實參

4:下載到CPU后報錯

解決方法:這時我們增加一個FC進行轉(zhuǎn)換,MC_Power等指令在這個FC里進行調(diào)用(使用參數(shù)實例),這個轉(zhuǎn)換FC再使用DB_ANY作為接口參數(shù)被上級FB調(diào)用。這樣繞開了MC_Power等指令無法直接使用DB_ANY類型的矛盾,程序調(diào)用結構如圖5所示。為了方便,我們實際在程序中把幾個轉(zhuǎn)換FC合并在一起用一個FC實現(xiàn)。

5:程序的調(diào)用結構

三、具體實例化實現(xiàn)過程

下面以筆者手上的兩臺伺服松下A6和西門子V90PN來進行具體實踐,松下A6采用PTO脈沖控制,V90PN采用PROFINET通信控制。

1)對兩臺伺服建立TO_PoistioningAxis軸工藝對象進行控制,如圖6所示。

6:建立2個伺服定位軸工藝對象

2)建立數(shù)據(jù)塊,包括DB_ANY數(shù)組和實參用的數(shù)據(jù)變量,如圖7所示。實參數(shù)組長度是8,可以處理8根軸,但實際只用了2根軸,所以DB_ANY數(shù)組長度是2。為了方便,將各運動指令的參數(shù)都設置成PLC數(shù)據(jù)類型,這樣DB塊里引用會很快捷。

7:運動控制參數(shù)數(shù)據(jù)塊

3)在啟動OB里(OB100)將實際工藝對象DB賦值給DB_ANY,如圖8所示。

8:賦值DB_ANY

4)建立轉(zhuǎn)換FC程序,在里面調(diào)用MC_Power等指令。

我們把實際應用中常用的MC_Power、MC_ResetMC_ReadParam(讀實際距離、速度)等指令都放進去,注意在該FC中調(diào)用上述運動控制指令FB時選擇參數(shù)實例,如圖9所示。

9:對MC_PowerFB的調(diào)用

同時在FC接口處定義相關輸入輸出變量,用于實際參數(shù)控制,如圖10所示,轉(zhuǎn)換FC程序如圖11所示。

10:轉(zhuǎn)換FC參數(shù)接口

11:轉(zhuǎn)換FC程序

5)在FB中對轉(zhuǎn)換FC和絕對/相對運動指令進行數(shù)組調(diào)用。

注意在FB的靜態(tài)變量中建立多重背景,如圖12所示,數(shù)組調(diào)用程序如圖13所示。

12:FB靜態(tài)變量中多重背景

13FB程序調(diào)用

6)運行測試

PLC與松下A6伺服和V90PN連接后進行程序測試,圖14就是兩臺伺服同時點動的測試運行圖。

14:運行測試

至此,DB_ANY在運動控制結構化編程中的應用就結束了,當項目中軸數(shù)量較多時這種結構化編程還是有一定優(yōu)勢的,特別是使用了S7-1500PLC的項目。但MC_Power等指令無法直接使用DB_ANY實參還是帶來了許多不方便(轉(zhuǎn)換有點繁瑣),期待西門子后續(xù)能有所改進。

文章思路實際來自全球技術資源條目號109750880的文檔,我只是手上有設備進行了實際測試應用而已,在西門子現(xiàn)在這種什么都安排好的產(chǎn)品應用模式里,只要照搬就行了。

來源:網(wǎng)絡,版權歸原作者,侵刪

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多