西門(mén)子PLC S7-1200運動(dòng)控制常見(jiàn)問(wèn)題分享
發(fā)布日期:
2022-08-18

1. 絕對定位和相對定位區別?

答:相對定位是指在軸當前位置的基礎上正方向或負方向移動(dòng)一段距離;絕對定位指的是當軸建立了絕對坐標系后,軸的每個(gè)位置都有固定的坐標,無(wú)論軸的當前位置值是多少,當軸指令了絕對運行指令后相同的坐標值,軸最終都定位到同一個(gè)位置。

2. 如何設置MC_MoveRelative方向運行?

答: 將MC_MoveRelative指令中的“Distance”設置成負值就可以讓軸向負方向運行了。如下圖所示。

西門(mén)子PLC S7-1200運動(dòng)控制常見(jiàn)問(wèn)題分享

3. 為什么有時(shí)用戶(hù)在監控程序的時(shí)候看不到指令的完成位Done的為1?

答:帶有Execute管腳的指令,例如MC_MoveRelative等指令的Done和Execute之間有下圖中描述的關(guān)系:

西門(mén)子PLC S7-1200運動(dòng)控制常見(jiàn)問(wèn)題分享

如上圖所示,如果'Execute'在命令執行完成之前設置為 FALSE,則'Done'的值僅在一個(gè)執行周期內為 TRUE。因此,如果用戶(hù)用|P|指令觸發(fā)帶有“Execute”管腳的指令,則該指令的“Done”只在一個(gè)掃描周期內為1,因此在監控程序時(shí)看不到Done位為1。用戶(hù)可以通過(guò)在程序中添加指令用Done置位一個(gè)位來(lái)判斷,如下圖所示,用MC_MoveRelative為例進(jìn)行說(shuō)明。

西門(mén)子PLC S7-1200運動(dòng)控制常見(jiàn)問(wèn)題分享

4. 回原點(diǎn)已完成信號什么時(shí)候會(huì )丟失?

答:請參見(jiàn)下表。

?西門(mén)子PLC S7-1200運動(dòng)控制常見(jiàn)問(wèn)題分享

*:成功完成回原點(diǎn)操作之后,'已回原點(diǎn)'狀態(tài)將再次置位。

5. 什么時(shí)候需要執行回原點(diǎn)命令?

答:用戶(hù)需要使用MC_MoveAbsolute指令之前執行回原點(diǎn)指令。

6. 如果實(shí)際沒(méi)有原點(diǎn)開(kāi)關(guān)和限位開(kāi)關(guān),可以使用絕對定位指令MC_MoveAbsolute嗎?

答: 可以。

對于PTO軸或使用增量編碼器的閉環(huán)軸,使用MC_Home指令的Mode=0和Mode=1方式,讓軸完成絕對坐標定位。然后就可以調用MC_MoveAbsolute指令進(jìn)行絕對運動(dòng)了。

對于使用絕對值編碼器的閉環(huán)軸,使用MC_Home指令的Mode=6和Mode=7方式,讓軸完成絕對坐標定位。然后就可以調用MC_MoveAbsolute指令進(jìn)行絕對運動(dòng)了。

MC_Home指令的Mode 0、1、6、7參見(jiàn)鏈接。

7. 為什么用戶(hù)在實(shí)際執行回原點(diǎn)指令時(shí),軸遇到原點(diǎn)開(kāi)關(guān)沒(méi)有變化,直到運行到硬件限位開(kāi)關(guān)停止報錯?

答:首先要測試原點(diǎn)開(kāi)關(guān)是否起作用,也就是說(shuō)當軸碰到原點(diǎn)開(kāi)關(guān)時(shí),原點(diǎn)開(kāi)關(guān)的DI點(diǎn)的指示燈是否點(diǎn)亮。

可能的原因如下:

①尋找原點(diǎn)開(kāi)關(guān)的速度過(guò)快,可以減小“逼近速度”和“參考速度”

西門(mén)子PLC S7-1200運動(dòng)控制常見(jiàn)問(wèn)題分享

②原點(diǎn)開(kāi)關(guān)有效時(shí)間過(guò)短,可以設置DI點(diǎn)濾波時(shí)間,例如上圖原點(diǎn)開(kāi)關(guān)是I0.4,則在“設備視圖”中減小I0.4的濾波時(shí)間,默認情況下DI的濾波時(shí)間是6.4millisec,用戶(hù)根據DI點(diǎn)有效時(shí)間選擇合適的濾波時(shí)間。

西門(mén)子PLC S7-1200運動(dòng)控制常見(jiàn)問(wèn)題分享

8. 為什么軸在執行主動(dòng)回原點(diǎn)命令時(shí),初始方向沒(méi)有找到原點(diǎn),當需要碰到限位開(kāi)關(guān)掉頭繼續尋找原點(diǎn)開(kāi)關(guān)時(shí)并沒(méi)有掉頭,而是直接報錯停止軸,報錯原因是由于軸碰到了限位開(kāi)關(guān)?

答:有幾種可能:

①用戶(hù)沒(méi)有使能“允許硬件限位開(kāi)關(guān)處自動(dòng)反轉”的選項。

西門(mén)子PLC S7-1200運動(dòng)控制常見(jiàn)問(wèn)題分享

②增大組態(tài)的加速度/減速度,因為軸在主動(dòng)回原點(diǎn)期間到達硬件限位開(kāi)關(guān),軸將以組態(tài)的減速度減速(不是以緊急減速度),然后反向運行尋找原點(diǎn)開(kāi)關(guān)。

西門(mén)子PLC S7-1200運動(dòng)控制常見(jiàn)問(wèn)題分享

③增大硬件限位開(kāi)關(guān)和機械停止塊間的距離。如下圖所示,正常情況下,軸按照下圖的方式掉頭尋找原點(diǎn)開(kāi)關(guān):

西門(mén)子PLC S7-1200運動(dòng)控制常見(jiàn)問(wèn)題分享

如果硬件限位開(kāi)關(guān)和機械停止塊間的過(guò)近,無(wú)論如何增大“減速度”,仍舊不能正常掉頭,如下圖所示:

西門(mén)子PLC S7-1200運動(dòng)控制常見(jiàn)問(wèn)題分享

則需要增大硬件限位開(kāi)關(guān)和機械停止塊間的距離,為上圖中D。

9. S7-1200 CPU上電后軸的位置是多少?

答:對于PTO軸或使用增量編碼器的閉環(huán)軸,S7-1200 CPU每次上電后軸的位置都是0,不會(huì )保留斷電前的位置值。

如何保持斷電前的位置,請參考下常見(jiàn)問(wèn)題14。

對于使用絕對值編碼器的閉環(huán)軸,如果使用Mode 6或7進(jìn)行了回原點(diǎn)操作,那么CPU上電后將保持斷電前的位置。

10. 開(kāi)環(huán)運動(dòng)控制怎樣計算運動(dòng)任務(wù)?

答: S7-1200默認以10ms為“時(shí)間片”計算運動(dòng)任務(wù),如下圖所示,執行一個(gè)時(shí)間片時(shí),下一時(shí)間片會(huì )在隊列中等待執行。如果執行軸的新運動(dòng)任務(wù)(例如通過(guò)MC_MoveVelocity”實(shí)現速度控制時(shí),更新速度值),新運動(dòng)任務(wù)可能最多等待20ms(當前時(shí)間片的剩余時(shí)間加上排隊的時(shí)間片)后才執行生效。使用“MC_Halt”運動(dòng)控制指令停止軸以及利用“ MC_Power”指令的“Enable”輸入引腳停止軸時(shí),也要遵循時(shí)間片機制,軸停止也會(huì )延時(shí)1-2時(shí)間片(10-20ms)才生效。

西門(mén)子PLC S7-1200運動(dòng)控制常見(jiàn)問(wèn)題分享

從V4.4固件版本以后,工藝對象V7.0開(kāi)始,如下圖所示,可以在工藝對象對應的DB中修改時(shí)間片時(shí)間'Static->Actor->PTOSliceTime',修改范圍為2-20ms。在一些需要快速響應的應用可以考慮減小時(shí)間片,例如:貼標機。如果希望降低CPU的運算負荷,可以考慮增大時(shí)間片時(shí)間。

西門(mén)子PLC S7-1200運動(dòng)控制常見(jiàn)問(wèn)題分享

11. 為何通過(guò)S7-1200 PTO方式控制V90 PTI定位換向時(shí)有時(shí)會(huì )有丟失脈沖的情況?

答: S7-1200 PTO方式控制V90 PTI定位換向時(shí),換向信號由高電平轉換為低電平狀態(tài)的時(shí)間取決于外圍電路的輸入電阻和電容,如果方向輸出點(diǎn)的負載電流過(guò)?。☉恍∮?0%),在高速時(shí)輸出信號波形會(huì )發(fā)生畸變,換向切換時(shí)間過(guò)長(cháng),導致?lián)Q向過(guò)程中的脈沖丟失。為確保換向時(shí)不丟失脈沖,同時(shí)保證脈沖輸出信號波形不發(fā)生畸變,建議在SINAMICS V90 PTI的方向控制信號38、39和脈沖信號36、37的端子間連接阻值為200 Ohm至500 Ohm,最小功率為5W的下拉電阻,接線(xiàn)參考下圖。

西門(mén)子PLC S7-1200運動(dòng)控制常見(jiàn)問(wèn)題分享

12. 閉環(huán)控制帶有絕對值編碼器的驅動(dòng)器(例如:V90 PN)時(shí),通過(guò)“MC_Home”指令是否可以執行Mode=2或3的回原點(diǎn)操作?

答: 不可以,“MC_Home”指令會(huì )報錯:ErrorID=“16#8404”,ErrorInfo=“16#0055”(增量編碼器的模式無(wú)效)??赏ㄟ^(guò)“MC_Home”指令Mode=6或7進(jìn)行絕對值編碼器的調節。

13. 如何通過(guò)數據塊實(shí)現驅動(dòng)裝置/編碼器的數據連接?

答: PROFIdrive驅動(dòng)裝置和PROFIdrive編碼器可通過(guò)PROFIdrive報文或數據塊建立數據連接。出于控制過(guò)程特定的原因(例如非線(xiàn)性的液壓軸的控制),如果要修改或評估用戶(hù)程序中的報文內容時(shí),則需通過(guò)數據塊建立連接。

西門(mén)子PLC S7-1200運動(dòng)控制常見(jiàn)問(wèn)題分享 西門(mén)子PLC S7-1200運動(dòng)控制常見(jiàn)問(wèn)題分享

通過(guò)數據塊建立數據連接的操作原理如下:

通常,軸閉環(huán)位置控制開(kāi)始時(shí),將通過(guò)MC-Servo[OB91]讀取驅動(dòng)裝置或編碼器的輸入報文。閉環(huán)位置控制結束時(shí),將輸出報文寫(xiě)入驅動(dòng)裝置或編碼器中。由于過(guò)程特定的原因要修改或評估報文內容時(shí),必須在閉環(huán)位置控制前后通過(guò)數據塊在驅動(dòng)裝置和編碼器之間連接數據接口。

  • 通過(guò)MC-PreServo[OB67]組織塊,可編輯報文的輸入區域。在MC-Servo前調用MC-PreServo;

  • 通過(guò)MC-PostServo[OB95]組織塊,可編輯報文的輸出區域,在MC-Servo后調用MC-PostServo。

用戶(hù)可對MC-PreServo和MC-PostServo組織塊進(jìn)行編程,通過(guò)PROFIdrive報文以及數據塊建立數據連接的操作原理如圖所示。

西門(mén)子PLC S7-1200運動(dòng)控制常見(jiàn)問(wèn)題分享

數據塊由用戶(hù)創(chuàng )建,其中需包含數據類(lèi)型為'PD_TELx'的數據結構,以進(jìn)行數據連接,'x'表示在設備組態(tài)中組態(tài)的驅動(dòng)裝置或編碼器的報文編號。

西門(mén)子PLC S7-1200運動(dòng)控制常見(jiàn)問(wèn)題分享

在數據塊'屬性'選項中,需禁用以下屬性:

  • '僅存儲在裝載存儲器中'(Only store in load memory)

  • '設備中的寫(xiě)保護數據塊'(Data block write-protected in the device)

  • '優(yōu)化塊訪(fǎng)問(wèn)'(Optimized block access)*

*:從V4.4固件版本以后,工藝對象V7.0開(kāi)始,可以使用優(yōu)化塊

西門(mén)子PLC S7-1200運動(dòng)控制常見(jiàn)問(wèn)題分享

具體應用請參考以下鏈接:

使用MC-PreServo和MC-PostServo組織塊

14. 如何保持斷電前的絕對位置?

答:使用絕對位置編碼器的閉環(huán)軸使用MC_HOME指令的模式6,7可以實(shí)現位置的斷電保持;
對于PTO或者使用增量型編碼器的閉環(huán)軸是不能斷電保持的,CPU斷電重新上電后,軸的絕對位置會(huì )重新變成0,要實(shí)現位置保持,可按照下面的步驟操作。

1. 在全局DB塊里分別建立一個(gè)Bool和Real類(lèi)型變量,勾選Real變量的保持性,如下圖:

西門(mén)子PLC S7-1200運動(dòng)控制常見(jiàn)問(wèn)題分享

2.進(jìn)入設備組態(tài)界面,在'系統和時(shí)鐘存儲器'頁(yè)面啟用系統存儲器字節,分配系統存儲器參數時(shí),需要指定用作系統存儲器字節的 CPU 存儲器字節。 首次循環(huán)對應的位啟動(dòng)后的第一個(gè)程序循環(huán)中為 1 ,否則為 0。

西門(mén)子PLC S7-1200運動(dòng)控制常見(jiàn)問(wèn)題分享

3.在 Main [OB1]中,先使用M1.0置位標志位,然后使用“MC_Power”指令啟動(dòng)軸后調用“MC_Home”指令的 Mode 0 ,重新裝載斷電前絕對位置,然后復位標志位,將當前位置“ActualPosition”傳送到第一步建立的變量中。
在工藝對象里選中軸,右鍵打“開(kāi)DB編輯器”,在“Static”下面找到“ActualPosition”。如下圖:

注:如果存在多個(gè)運動(dòng)控制指令,如“MC_Home”指令,每個(gè)指令的背景 DB 塊需要單獨創(chuàng )建,以免產(chǎn)生沖突??梢愿鶕?shí)際工藝情況,在合適的時(shí)間點(diǎn)執行“MC_Power”指令和“MC_Home”指令裝載新的斷電前的絕對位置。

西門(mén)子PLC S7-1200運動(dòng)控制常見(jiàn)問(wèn)題分享

西門(mén)子PLC S7-1200運動(dòng)控制常見(jiàn)問(wèn)題分享

聲明:部分內容來(lái)源于網(wǎng)絡(luò ),如侵權請后臺留言聯(lián)系刪除。