1. 絕對定位和相對定位區(qū)別?
答:相對定位是指在軸當前位置的基礎(chǔ)上正方向或負方向移動一段距離;絕對定位指的是當軸建立了絕對坐標系后,軸的每個位置都有固定的坐標,無論軸的當前位置值是多少,當軸指令了絕對運行指令后相同的坐標值,軸最終都定位到同一個位置。
2. 如何設(shè)置MC_MoveRelative方向運行?
答: 將MC_MoveRelative指令中的“Distance”設(shè)置成負值就可以讓軸向負方向運行了。如下圖所示。

3. 為什么有時用戶在監(jiān)控程序的時候看不到指令的完成位Done的為1?
答:帶有Execute管腳的指令,例如MC_MoveRelative等指令的Done和Execute之間有下圖中描述的關(guān)系:

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

4. 回原點已完成信號什么時候會丟失?
答:請參見下表。
?
*:成功完成回原點操作之后,'已回原點'狀態(tài)將再次置位。
5. 什么時候需要執(zhí)行回原點命令?
答:用戶需要使用MC_MoveAbsolute指令之前執(zhí)行回原點指令。
6. 如果實際沒有原點開關(guān)和限位開關(guān),可以使用絕對定位指令MC_MoveAbsolute嗎?
答: 可以。
對于PTO軸或使用增量編碼器的閉環(huán)軸,使用MC_Home指令的Mode=0和Mode=1方式,讓軸完成絕對坐標定位。然后就可以調(diào)用MC_MoveAbsolute指令進行絕對運動了。
對于使用絕對值編碼器的閉環(huán)軸,使用MC_Home指令的Mode=6和Mode=7方式,讓軸完成絕對坐標定位。然后就可以調(diào)用MC_MoveAbsolute指令進行絕對運動了。
MC_Home指令的Mode 0、1、6、7參見鏈接。
7. 為什么用戶在實際執(zhí)行回原點指令時,軸遇到原點開關(guān)沒有變化,直到運行到硬件限位開關(guān)停止報錯?
答:首先要測試原點開關(guān)是否起作用,也就是說當軸碰到原點開關(guān)時,原點開關(guān)的DI點的指示燈是否點亮。
可能的原因如下:
①尋找原點開關(guān)的速度過快,可以減小“逼近速度”和“參考速度”

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

8. 為什么軸在執(zhí)行主動回原點命令時,初始方向沒有找到原點,當需要碰到限位開關(guān)掉頭繼續(xù)尋找原點開關(guān)時并沒有掉頭,而是直接報錯停止軸,報錯原因是由于軸碰到了限位開關(guān)?
答:有幾種可能:
①用戶沒有使能“允許硬件限位開關(guān)處自動反轉(zhuǎn)”的選項。

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

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

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

則需要增大硬件限位開關(guān)和機械停止塊間的距離,為上圖中D。
9. S7-1200 CPU上電后軸的位置是多少?
答:對于PTO軸或使用增量編碼器的閉環(huán)軸,S7-1200 CPU每次上電后軸的位置都是0,不會保留斷電前的位置值。
如何保持斷電前的位置,請參考下常見問題14。
對于使用絕對值編碼器的閉環(huán)軸,如果使用Mode 6或7進行了回原點操作,那么CPU上電后將保持斷電前的位置。
10. 開環(huán)運動控制怎樣計算運動任務(wù)?
答: S7-1200默認以10ms為“時間片”計算運動任務(wù),如下圖所示,執(zhí)行一個時間片時,下一時間片會在隊列中等待執(zhí)行。如果執(zhí)行軸的新運動任務(wù)(例如通過MC_MoveVelocity”實現(xiàn)速度控制時,更新速度值),新運動任務(wù)可能最多等待20ms(當前時間片的剩余時間加上排隊的時間片)后才執(zhí)行生效。使用“MC_Halt”運動控制指令停止軸以及利用“ MC_Power”指令的“Enable”輸入引腳停止軸時,也要遵循時間片機制,軸停止也會延時1-2時間片(10-20ms)才生效。

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

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

12. 閉環(huán)控制帶有絕對值編碼器的驅(qū)動器(例如:V90 PN)時,通過“MC_Home”指令是否可以執(zhí)行Mode=2或3的回原點操作?
答: 不可以,“MC_Home”指令會報錯:ErrorID=“16#8404”,ErrorInfo=“16#0055”(增量編碼器的模式無效)。可通過“MC_Home”指令Mode=6或7進行絕對值編碼器的調(diào)節(jié)。
13. 如何通過數(shù)據(jù)塊實現(xiàn)驅(qū)動裝置/編碼器的數(shù)據(jù)連接?
答: PROFIdrive驅(qū)動裝置和PROFIdrive編碼器可通過PROFIdrive報文或數(shù)據(jù)塊建立數(shù)據(jù)連接。出于控制過程特定的原因(例如非線性的液壓軸的控制),如果要修改或評估用戶程序中的報文內(nèi)容時,則需通過數(shù)據(jù)塊建立連接。

通過數(shù)據(jù)塊建立數(shù)據(jù)連接的操作原理如下:
通常,軸閉環(huán)位置控制開始時,將通過MC-Servo[OB91]讀取驅(qū)動裝置或編碼器的輸入報文。閉環(huán)位置控制結(jié)束時,將輸出報文寫入驅(qū)動裝置或編碼器中。由于過程特定的原因要修改或評估報文內(nèi)容時,必須在閉環(huán)位置控制前后通過數(shù)據(jù)塊在驅(qū)動裝置和編碼器之間連接數(shù)據(jù)接口。
用戶可對MC-PreServo和MC-PostServo組織塊進行編程,通過PROFIdrive報文以及數(shù)據(jù)塊建立數(shù)據(jù)連接的操作原理如圖所示。

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

在數(shù)據(jù)塊'屬性'選項中,需禁用以下屬性:
'僅存儲在裝載存儲器中'(Only store in load memory)
'設(shè)備中的寫保護數(shù)據(jù)塊'(Data block write-protected in the device)
'優(yōu)化塊訪問'(Optimized block access)*
*:從V4.4固件版本以后,工藝對象V7.0開始,可以使用優(yōu)化塊

具體應(yīng)用請參考以下鏈接:
使用MC-PreServo和MC-PostServo組織塊
14. 如何保持斷電前的絕對位置?
答:使用絕對位置編碼器的閉環(huán)軸使用MC_HOME指令的模式6,7可以實現(xiàn)位置的斷電保持;
對于PTO或者使用增量型編碼器的閉環(huán)軸是不能斷電保持的,CPU斷電重新上電后,軸的絕對位置會重新變成0,要實現(xiàn)位置保持,可按照下面的步驟操作。
1. 在全局DB塊里分別建立一個Bool和Real類型變量,勾選Real變量的保持性,如下圖:

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

3.在 Main [OB1]中,先使用M1.0置位標志位,然后使用“MC_Power”指令啟動軸后調(diào)用“MC_Home”指令的 Mode 0 ,重新裝載斷電前絕對位置,然后復(fù)位標志位,將當前位置“ActualPosition”傳送到第一步建立的變量中。
在工藝對象里選中軸,右鍵打“開DB編輯器”,在“Static”下面找到“ActualPosition”。如下圖:
注:如果存在多個運動控制指令,如“MC_Home”指令,每個指令的背景 DB 塊需要單獨創(chuàng)建,以免產(chǎn)生沖突。可以根據(jù)實際工藝情況,在合適的時間點執(zhí)行“MC_Power”指令和“MC_Home”指令裝載新的斷電前的絕對位置。

