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

1. 絕對(duì)定位和相對(duì)定位區(qū)別?

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

2. 如何設(shè)置MC_MoveRelative方向運(yùn)行?

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

西門子PLC S7-1200運(yùn)動(dòng)控制常見問題分享

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

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

西門子PLC S7-1200運(yùn)動(dòng)控制常見問題分享

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

西門子PLC S7-1200運(yùn)動(dòng)控制常見問題分享

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

答:請(qǐng)參見下表。

?西門子PLC S7-1200運(yùn)動(dòng)控制常見問題分享

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

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

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

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

答: 可以。

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

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

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

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

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

可能的原因如下:

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

西門子PLC S7-1200運(yùn)動(dòng)控制常見問題分享

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

西門子PLC S7-1200運(yùn)動(dòng)控制常見問題分享

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

答:有幾種可能:

①用戶沒有使能“允許硬件限位開關(guān)處自動(dòng)反轉(zhuǎn)”的選項(xiàng)。

西門子PLC S7-1200運(yùn)動(dòng)控制常見問題分享

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

西門子PLC S7-1200運(yùn)動(dòng)控制常見問題分享

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

西門子PLC S7-1200運(yùn)動(dòng)控制常見問題分享

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

西門子PLC S7-1200運(yùn)動(dòng)控制常見問題分享

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

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

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

如何保持?jǐn)嚯娗暗奈恢茫?qǐng)參考下常見問題14。

對(duì)于使用絕對(duì)值編碼器的閉環(huán)軸,如果使用Mode 6或7進(jìn)行了回原點(diǎn)操作,那么CPU上電后將保持?jǐn)嚯娗暗奈恢谩?/span>

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

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

西門子PLC S7-1200運(yùn)動(dòng)控制常見問題分享

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

西門子PLC S7-1200運(yùn)動(dòng)控制常見問題分享

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

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

西門子PLC S7-1200運(yùn)動(dòng)控制常見問題分享

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

答: 不可以,“MC_Home”指令會(huì)報(bào)錯(cuò):ErrorID=“16#8404”,ErrorInfo=“16#0055”(增量編碼器的模式無效)。可通過“MC_Home”指令Mode=6或7進(jìn)行絕對(duì)值編碼器的調(diào)節(jié)。

13. 如何通過數(shù)據(jù)塊實(shí)現(xiàn)驅(qū)動(dòng)裝置/編碼器的數(shù)據(jù)連接?

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

西門子PLC S7-1200運(yùn)動(dòng)控制常見問題分享 西門子PLC S7-1200運(yùn)動(dòng)控制常見問題分享

通過數(shù)據(jù)塊建立數(shù)據(jù)連接的操作原理如下:

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

  • 通過MC-PreServo[OB67]組織塊,可編輯報(bào)文的輸入?yún)^(qū)域。在MC-Servo前調(diào)用MC-PreServo;

  • 通過MC-PostServo[OB95]組織塊,可編輯報(bào)文的輸出區(qū)域,在MC-Servo后調(diào)用MC-PostServo。

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

西門子PLC S7-1200運(yùn)動(dòng)控制常見問題分享

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

西門子PLC S7-1200運(yùn)動(dòng)控制常見問題分享

在數(shù)據(jù)塊'屬性'選項(xiàng)中,需禁用以下屬性:

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

  • '設(shè)備中的寫保護(hù)數(shù)據(jù)塊'(Data block write-protected in the device)

  • '優(yōu)化塊訪問'(Optimized block access)*

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

西門子PLC S7-1200運(yùn)動(dòng)控制常見問題分享

具體應(yīng)用請(qǐng)參考以下鏈接:

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

14. 如何保持?jǐn)嚯娗暗慕^對(duì)位置?

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

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

西門子PLC S7-1200運(yùn)動(dòng)控制常見問題分享

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

西門子PLC S7-1200運(yùn)動(dòng)控制常見問題分享

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

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

西門子PLC S7-1200運(yùn)動(dòng)控制常見問題分享

西門子PLC S7-1200運(yùn)動(dòng)控制常見問題分享

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