西門子PLC S7-1200運動控製常見問題分享
發布日期:
2022-08-18

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

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

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

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

西門子PLC S7-1200運動控製常見問題分享

3. 為(wei) 什麽(me) 有時用戶在監控程序的時候看不到指令的完成位Done的為(wei) 1?

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

西門子PLC S7-1200運動控製常見問題分享

如上圖所示,如果'Execute'在命令執行完成之前設置為(wei) FALSE,則'Done'的值僅(jin) 在一個(ge) 執行周期內(nei) 為(wei) TRUE。因此,如果用戶用|P|指令觸發帶有“Execute”管腳的指令,則該指令的“Done”隻在一個(ge) 掃描周期內(nei) 為(wei) 1,因此在監控程序時看不到Done位為(wei) 1。用戶可以通過在程序中添加指令用Done置位一個(ge) 位來判斷,如下圖所示,用MC_MoveRelative為(wei) 例進行說明。

西門子PLC S7-1200運動控製常見問題分享

4. 回原點已完成信號什麽(me) 時候會(hui) 丟(diu) 失?

答:請參見下表。

 西門子PLC S7-1200運動控製常見問題分享

*:成功完成回原點操作之後,'已回原點'狀態將再次置位。

5. 什麽(me) 時候需要執行回原點命令?

答:用戶需要使用MC_MoveAbsolute指令之前執行回原點指令。

6. 如果實際沒有原點開關(guan) 和限位開關(guan) ,可以使用絕對定位指令MC_MoveAbsolute嗎?

答: 可以。

對於(yu) PTO軸或使用增量編碼器的閉環軸,使用MC_Home指令的Mode=0和Mode=1方式,讓軸完成絕對坐標定位。然後就可以調用MC_MoveAbsolute指令進行絕對運動了。

對於(yu) 使用絕對值編碼器的閉環軸,使用MC_Home指令的Mode=6和Mode=7方式,讓軸完成絕對坐標定位。然後就可以調用MC_MoveAbsolute指令進行絕對運動了。

MC_Home指令的Mode 0、1、6、7參見鏈接。

7. 為(wei) 什麽(me) 用戶在實際執行回原點指令時,軸遇到原點開關(guan) 沒有變化,直到運行到硬件限位開關(guan) 停止報錯?

答:首先要測試原點開關(guan) 是否起作用,也就是說當軸碰到原點開關(guan) 時,原點開關(guan) 的DI點的指示燈是否點亮。

可能的原因如下:

①尋找原點開關(guan) 的速度過快,可以減小“逼近速度”和“參考速度”

西門子PLC S7-1200運動控製常見問題分享

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

西門子PLC S7-1200運動控製常見問題分享

8. 為(wei) 什麽(me) 軸在執行主動回原點命令時,初始方向沒有找到原點,當需要碰到限位開關(guan) 掉頭繼續尋找原點開關(guan) 時並沒有掉頭,而是直接報錯停止軸,報錯原因是由於(yu) 軸碰到了限位開關(guan) ?

答:有幾種可能:

①用戶沒有使能“允許硬件限位開關(guan) 處自動反轉”的選項。

西門子PLC S7-1200運動控製常見問題分享

②增大組態的加速度/減速度,因為(wei) 軸在主動回原點期間到達硬件限位開關(guan) ,軸將以組態的減速度減速(不是以緊急減速度),然後反向運行尋找原點開關(guan) 。

西門子PLC S7-1200運動控製常見問題分享

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

西門子PLC S7-1200運動控製常見問題分享

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

西門子PLC S7-1200運動控製常見問題分享

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

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

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

如何保持斷電前的位置,請參考下常見問題14。

對於(yu) 使用絕對值編碼器的閉環軸,如果使用Mode 6或7進行了回原點操作,那麽(me) CPU上電後將保持斷電前的位置。

10. 開環運動控製怎樣計算運動任務?

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

西門子PLC S7-1200運動控製常見問題分享

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

西門子PLC S7-1200運動控製常見問題分享

11. 為(wei) 何通過S7-1200 PTO方式控製V90 PTI定位換向時有時會(hui) 有丟(diu) 失脈衝(chong) 的情況?

答: S7-1200 PTO方式控製V90 PTI定位換向時,換向信號由高電平轉換為(wei) 低電平狀態的時間取決(jue) 於(yu) 外圍電路的輸入電阻和電容,如果方向輸出點的負載電流過小(應不小於(yu) 10%),在高速時輸出信號波形會(hui) 發生畸變,換向切換時間過長,導致換向過程中的脈衝(chong) 丟(diu) 失。為(wei) 確保換向時不丟(diu) 失脈衝(chong) ,同時保證脈衝(chong) 輸出信號波形不發生畸變,建議在SINAMICS V90 PTI的方向控製信號38、39和脈衝(chong) 信號36、37的端子間連接阻值為(wei) 200 Ohm至500 Ohm,最小功率為(wei) 5W的下拉電阻,接線參考下圖。

西門子PLC S7-1200運動控製常見問題分享

12. 閉環控製帶有絕對值編碼器的驅動器(例如:V90 PN)時,通過“MC_Home”指令是否可以執行Mode=2或3的回原點操作?

答: 不可以,“MC_Home”指令會(hui) 報錯:ErrorID=“16#8404”,ErrorInfo=“16#0055”(增量編碼器的模式無效)。可通過“MC_Home”指令Mode=6或7進行絕對值編碼器的調節。

13. 如何通過數據塊實現驅動裝置/編碼器的數據連接?

答: PROFIdrive驅動裝置和PROFIdrive編碼器可通過PROFIdrive報文或數據塊建立數據連接。出於(yu) 控製過程特定的原因(例如非線性的液壓軸的控製),如果要修改或評估用戶程序中的報文內(nei) 容時,則需通過數據塊建立連接。

西門子PLC S7-1200運動控製常見問題分享 西門子PLC S7-1200運動控製常見問題分享

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

通常,軸閉環位置控製開始時,將通過MC-Servo[OB91]讀取驅動裝置或編碼器的輸入報文。閉環位置控製結束時,將輸出報文寫(xie) 入驅動裝置或編碼器中。由於(yu) 過程特定的原因要修改或評估報文內(nei) 容時,必須在閉環位置控製前後通過數據塊在驅動裝置和編碼器之間連接數據接口。

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

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

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

西門子PLC S7-1200運動控製常見問題分享

數據塊由用戶創建,其中需包含數據類型為(wei) 'PD_TELx'的數據結構,以進行數據連接,'x'表示在設備組態中組態的驅動裝置或編碼器的報文編號。

西門子PLC S7-1200運動控製常見問題分享

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

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

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

  • '優(you) 化塊訪問'(Optimized block access)*

*:從(cong) V4.4固件版本以後,工藝對象V7.0開始,可以使用優(you) 化塊

西門子PLC S7-1200運動控製常見問題分享

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

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

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

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

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

西門子PLC S7-1200運動控製常見問題分享

2.進入設備組態界麵,在'係統和時鍾存儲(chu) 器'頁麵啟用係統存儲(chu) 器字節,分配係統存儲(chu) 器參數時,需要指定用作係統存儲(chu) 器字節的 CPU 存儲(chu) 器字節。 首次循環對應的位啟動後的第一個(ge) 程序循環中為(wei) 1 ,否則為(wei) 0。

西門子PLC S7-1200運動控製常見問題分享

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

注:如果存在多個(ge) 運動控製指令,如“MC_Home”指令,每個(ge) 指令的背景 DB 塊需要單獨創建,以免產(chan) 生衝(chong) 突。可以根據實際工藝情況,在合適的時間點執行“MC_Power”指令和“MC_Home”指令裝載新的斷電前的絕對位置。

西門子PLC S7-1200運動控製常見問題分享

西門子PLC S7-1200運動控製常見問題分享

聲明:部分內(nei) 容來源於(yu) 網絡,如侵權請後台留言聯係刪除。