公司新聞
教你玩轉西門子S7-1200 運動控制
發布時間: 2024-03-21 14:31 更新時間: 2024-12-02 08:00
01:juedui定位和相對定位的區別?相對定位是指在軸當前位置的基礎上正方向或負方向移動一段距離;juedui定位指的是當軸建立了juedui坐標系后,軸的每個位置都有固定的坐標,無論軸的當前位置值是多少,當軸指令了juedui運行指令后相同的坐標值,軸Zui終都定位到同一個位置。02:如何設置MC_MoveRelative方向運行?將MC_MoveRelative指令中的“Distance”設置成負值就可以讓軸向負方向運行了。如圖 1 所示。圖 1 相對運動03:為什么有時用戶在監控程序的時候看不到指令的完成位Done為1?帶有Execute管腳的指令,例如MC_MoveRelative等指令的Done和Execute之間有如下圖 2 所示描述的關系:圖 2 引腳說明如果"Execute"在命令執行完成之前設置為 FALSE,則"Done"的值僅在一個執行周期內為 TRUE。因此,如果用戶用|P|指令觸發帶有“Execute”管腳的指令,則該指令的“Done”只在一個掃描周期內為1,因此在監控程序時看不到Done位為1。用戶可以通過在程序中添加指令用Done置位一個位來判斷,如圖 3 所示,用MC_MoveRelative為例進行說明。圖 3 例程04:開環運動控制怎樣計算運動任務?S7-1200默認以10ms為“時間片”計算運動任務,如圖 4 所示,執行一個時間片時,下一時間片會在隊列中等待執行。如果執行軸的新運動任務(例如通過MC_MoveVelocity”實現速度控制時,更新速度值),新運動任務可能Zui多等待20ms(當前時間片的剩余時間加上排隊的時間片)后才執行生效。使用“MC_Halt”運動控制指令停止軸以及利用“ MC_Power”指令的“Enable”輸入引腳停止軸時,也要遵循時間片機制,軸停止也會延時1-2時間片(10-20ms)才生效。圖 4 時間片從V4.4固件版本以后,工藝對象V7.0開始,如圖 5 所示,可以在工藝對象對應的DB中修改時間片時間"Static->Actor->PTOSliceTime",修改范圍為2-20ms。在一些需要快速響應的應用可以考慮減小時間片,例如:貼標機。如果希望降低CPU的運算負荷,可以考慮增大時間片時間。圖 5 參數05:為何通過S7-1200方式控制V90 PTI定位換向時有時會丟失脈沖的情況?S7-1200 PTO方式控制V90 PTI定位換向時,換向信號由高電平轉換為低電平狀態的時間取決于外圍電路的輸入電阻和電容,如果方向輸出點的負載電流過小(應不小于10%),在高速時輸出信號波形會發生畸變,換向切換時間過長,導致換向過程中的脈沖丟失。為確保換向時不丟失脈沖,同時保證脈沖輸出信號波形不發生畸變,建議在SINAMICS V90 PTI的方向控制信號38、39和脈沖信號36、37的端子間連接阻值為200 Ohm至500 Ohm,Zui小功率為5W的下拉電阻,接線如圖 6 所示。圖 6 接線圖06:如何通過數據塊實現驅動裝置/編碼器的數據連接?【一】PROFIdrive驅動裝置和PROFIdrive編碼器可通過PROFIdrive報文或數據塊建立數據連接。出于控制過程特定的原因(例如非線性的液壓軸的控制),如果要修改或評估用戶程序中的報文內容時,則需通過數據塊建立連接。組態如圖 7 、圖 8 所示:圖 7 驅動器數據塊連接圖 8 編碼器數據塊連接【二】通過數據塊建立數據連接的操作原理如下:通常,軸閉環位置控制開始時,將通過MC-Servo[OB91]讀取驅動裝置或編碼器的輸入報文。閉環位置控制結束時,將輸出報文寫入驅動裝置或編碼器中。由于過程特定的原因要修改或評估報文內容時,必須在閉環位置控制前后通過數據塊在驅動裝置和編碼器之間連接數據接口。(1)通過MC-PreServo[OB67]組織塊,可編輯報文的輸入區域。在MC-Servo前調用MC-PreServo;(2)通過MC-PostServo[OB95]組織塊,可編輯報文的輸出區域,在MC-Servo后調用MC-PostServo。【三】用戶可對MC-PreServo和MC-PostServo組織塊進行編程,通過PROFIdrive報文以及數據塊建立數據連接的操作原理如圖 9 所示。圖 9 操作原理【四】數據塊由用戶創建,其中需包含數據類型為"PD_TELx"的數據結構,以進行數據連接,"x"表示在設備組態中組態的驅動裝置或編碼器的報文編號。如圖 10 所示。圖 10 數據塊【五】在數據塊"屬性"選項中,需禁用以下屬性,如圖 11 所示:(1)"僅存儲在裝載存儲器中"(Only store in load memory)(2)"設備中的寫保護數據塊"(Data block write-protected in the device)(3)"優化塊訪問"(Optimized block access)*注意:從V4.4固件版本以后,工藝對象V7.0開始,可以使用優化塊圖 11 塊設置【六】具體應用請參考以下鏈接:使用MC-PreServo和MC-PostServo組織塊https://support.industry.siemens.com/cs/cn/zh/view/10974157507:S7-1200工藝對象能否控制由硬件支持包(HSP)方式組態的V90N?從博途 V16 開始 S7-1200 工藝對象可以控制由硬件支持包(HSP)方式組態的驅動器,以前版本只能控制由 GSD 文件組態的驅動器。使用硬件支持包組態的 SINAMICS V90PN 驅動裝置,可實現下述功能:【1】驅動器診斷、參數保存/復位相關功能【2】電機和編碼器配置、極限值、抱閘等基本配置【3】驅動器控制面板測試運行、驅動器優化08:如何在軸運動過程中修改目標速度與目標位置?可以利用軸控制指令的超馳功能實現,用新的指令覆蓋正在執行的命令以中止當前動作切換到新的命令。09:在運行期間如何對工藝對象的變量進行讀寫訪問?【一】在程序中對工藝對象的變量進行讀寫訪問的方法見表 1:訪問R在用戶程序和 HMI 中,可讀取該變量RCCP該變量可在用戶程序和 HMI 中讀取,并在每個周期控制點處進行更新RP該變量可通過運動控制指令“MC_ReadParam”進行讀取,相應變量的當前值將在命令啟動時確定RW在用戶程序和 HMI 中,可讀寫該變量,該變量可通過運動控制指令 “MC_WriteParam”進行寫入WP與驅動裝置連接無關:如果該軸已禁用 (MC_Power.Status = FALSE),則可使用運動控制指令“MC_WriteParam”對該變量進行寫入操作WP_PD通過 PROFIdrive/模擬量輸出進行驅動裝置連接:如果該軸已禁用 (MC_Power.Status = FALSE),則可使用運動控制指令“MC_WriteParam”對該變量進行寫入操作WP_PTO通過 PTO 進行驅動裝置連接:如果該軸已禁用 (MC_Power.Status = FALSE),則可使用運動控制指令“MC_WriteParam”對該變量進行寫入操作-變量不能在程序中使用表 1 訪問縮寫【二】工藝對象更改后的生效方式見表 2:W工藝數據塊中更改的有效性1通過 PTO 進行驅動裝置連接:在軸激活、禁用或已啟用時2通過 PTO 進行驅動裝置連接:軸啟用時5通過 PTO 進行驅動裝置連接:下一次啟動 MC_MoveAbsolute、 MC_MoveRelative、MC_MoveVelocity、MC_MoveJog、MC_Halt、 MC_CommandTable 或激活的 MC_Home 命令時 (Mode = 3)6通過 PTO 進行驅動裝置連接:MC_MoveJog 命令停止時7通過 PTO 進行驅動裝置連接:啟動被動回原地命令時8通過 PTO 進行驅動裝置連接:啟動主動回原地命令時9重新啟動工藝對象時10通過 PROFIdrive/模擬量輸出進行驅動裝置連接:下一次調用 MC-Interpolator [OB92] 時表 2 更改有效性【三】變量支持的訪問及更改后的生效方式詳見“S7-1200運動控制使用手冊”附錄中“定位軸工藝對象的變量”章節的描述,手冊下載鏈接如下:“SIMATIC STEP 7 TIA Portal 中 S7-1200 Motion Control”https://support.industry.siemens.com/cs/cn/zh/view/109773400注意:如果想要在 CPU 掉電、STOP到RUN或者工藝對象重啟之后,對工藝數據塊所做的更改仍然保留,則必須使用擴展指令“WRIT_DBL”將這些更改寫入裝載存儲器的起始值中。10:軸變量訪問舉例(1)(2)(3)(4)以上變量支持的訪問方式見表3,有兩種訪問方式:RCCP、RP。變量數據類型訪問說明PositionREALRCCP、 PR軸的位置設定值VelocityREALRCCP、 PR軸的速度設定值ActualPositionREALRCCP、 PR軸的實際位置ActualVelocityREALRCCP、 PR軸的實際速度表 3 位置速度說明如果應用中需要更實時的變量值,可以使用“MC_ReadParam”讀取變量(RP方式),此時獲得的變量數值為“MC_ReadParam”命令啟動時的數值。直接讀取變量時(RCCP方式),變量的值在每個周期控制更新點更新,值在控制更新點更新前不會變化,數據實時性較RP方式差。11:軸變量更改有效性舉例變量數據類型訪問W說明DynamicDefaults.STRUCTTO_Struct_DynamicDefaultsAccelerationREALRW、 WP5、6、10軸的加速度DecelerationREALRW、 WP5、6、10軸的減速度JerkREALRW、 WP5、10軸斜坡加速和減速過程中的加加速度EmergencyDecelerationREALRW、 WP1、5、6、10軸的急停減速度表 4 動態默認值【一】通過“訪問”信息可知 Acceleration、Deceleration、Jerk、EmergencyDeceleration 變量可以在用戶程序和HMI中直接修改,如軸已禁用,還可通過運動控制命令“MC_WriteParam”修改。【二】通過“W”信息可知:(1)開環 PTO 控制時Jerk 變量在下一次啟動(W=5時) MC_MoveAbsolute、 MC_MoveRelative、MC_MoveVelocity、MC_MoveJog、MC_Halt、 MC_CommandTable 或激活的 MC_Home 命令時 (Mode = 3)生效。Acceleration、Deceleration 變量除了在上述命令啟動后生效(W=5),MC_MoveJog 命令停止時也會生效(W=6時)。EmergencyDeceleration 變量除了在 W=5 或 6 外,在軸激活、禁用或已啟用時生效(W=1時)。(2)通過 PROFIdrive/模擬量輸出閉環控制時下一次調用 MC-Interpolator [OB92] 時(W=10時),以上變量生效、捕捉。12:什么時候需要執行回原點命令?用戶需要使用MC_MoveAbsolute指令之前執行回原點指令。13:回原點已完成信號什么時候會丟失?請參見表 1 。 PTO軸閉環軸使用增量編碼器閉環軸使用juedui值編碼器啟動MC_Home命令進行主動回原點*√√-通過"MC_Power"運動控制指令,禁用軸√通過調試面板回原點后取消調試功能√CPU 斷電 -> 上電后√√CPU 重新啟動后 (RUN -> STOP -> RUN)√編碼器系統出錯或編碼器故障-√√重新啟動工藝對象√√存儲器復位√√修改編碼器組態-√√更換 CPU√√√將 CPU 恢復為出廠設置√√√將其它項目傳送到控制器√√√表 1 回原點比較注意:成功完成回原點操作之后,"已回原點"狀態將再次置位。14:如果實際沒有原點開關和限位開關,可以使用juedui定位指令嗎?可以。對于PTO軸或使用增量編碼器的閉環軸,使用MC_Home指令的Mode=0和Mode=1方式,讓軸完成juedui坐標定位。然后就可以調用MC_MoveAbsolute指令進行juedui運動了。對于使用juedui值編碼器的閉環軸,使用MC_Home指令的Mode=6和Mode=7方式,讓軸完成juedui坐標定位。然后就可以調用MC_MoveAbsolute指令進行juedui運動了。 回原點模式值意義如下:Mode = 0:juedui式直接回零點,軸的位置值為參數“Position”的值Mode = 1:相對式直接回零點,軸的位置值等于當前軸位置 + 參數“Position”的值Mode = 2:被動回零點,軸的位置值為參數“Position”的值Mode = 3:主動回零點,軸的位置值為參數“Position”的值Mode = 6:juedui編碼器相對調節,將當前的軸位置設定為當前位置+參數“Position”的值Mode = 7:juedui編碼器juedui調節 ,將當前的軸位置設置為參數“Position”的值 15:閉環控制帶有juedui值編碼器的驅動器(例如:V90PN)時,通過“MC_Home”指令是否可以執行Mode=2或3的回原點操作?不可以,“MC_Home”指令會報錯:ErrorID=“16#8404”,ErrorInfo=“16#0055”(增量編碼器的模式無效)。可通過“MC_Home”指令Mode=6或7進行juedui值編碼器的調節。16:為什么用戶在實際執行回原點指令時,軸遇到原點開關沒有變化,直到運行到硬件限位開關停止報錯?首先要測試原點開關是否起作用,也就是說當軸碰到原點開關時,原點開關的DI點的指示燈是否點亮。可能的原因如下:(1)尋找原點開關的速度過快,可以減小“逼近速度”和“參考速度”,如圖 1 所示:圖 1 速度設置(2)原點開關有效時間過短,可以設置DI點濾波時間,例如圖 1 原點開關是I0.4,則在“設備視圖”中減小I0.4的濾波時間,默認情況下DI的濾波時間是6.4millisec,用戶根據DI點有效時間選擇合適的濾波時間。如圖 2 所示:圖 2 濾波時間17:為什么軸在執行主動回原點命令時,初始方向沒有找到原點,當需要碰到限位開關掉頭繼續尋找原點開關時并沒有掉頭,而是直接報錯停止軸,報錯原因是由于軸碰到了限位開關?有幾種可能:(1)用戶沒有使能“允許硬件限位開關處自動反轉”的選項。如圖 3 所示:圖 3 允許反轉(2)工藝對象組態的硬件開關上/下限位輸入點與實際的輸入點不符。例:上限位組態為I0.0,下限位組態為I0.1,但實際I0.1為上限位,I0.0為下限位。(3)軸在主動回原點期間到達硬件限位開關,軸將以組態的減速度減速,減速到啟動/停止速度后反向運行尋找原點開關。如果限位開關行程過短,減速到啟動/停止速度時軸運行超出了限位行程,在反向過程中會再次碰到限位開關,如下圖所示,軸此時直接停止。如圖 4 所示:這種情況可以通過增加限位開關行程、增大組態的加速度/減速度或降低尋找原點時的逼近速度解決。圖 4 流程18:S7-1200 CPU上電后軸的位置是多少?對于PTO軸或使用增量編碼器的閉環軸,S7-1200 CPU每次上電后軸的位置都是0,不會保留斷電前的位置值。如何保持斷電前的位置,請參考常見問題 8。對于使用juedui值編碼器的閉環軸,如果使用 Mode 6 或 7 進行了設置原點操作,那么 CPU 上電后將保持斷電前的位置。回原點模式值意義如上介紹。19:如何保持斷電前的juedui位置?使用juedui位置編碼器的閉環軸使用MC_HOME指令的模式6,7可以實現位置的斷電保持;對于PTO或者使用增量型編碼器的閉環軸是不能斷電保持的,CPU斷電重新上電后,軸的juedui位置會重新變成0,要實現位置保持,可按照下面的步驟操作。(1)在全局DB塊里分別建立一個Bool和Real類型變量,勾選Real變量的保持性,如圖5 所示:圖 5 設置變量(2)進入設備組態界面,在"系統和時鐘存儲器"頁面啟用系統存儲器字節,分配系統存儲器參數時,需要指定用作系統存儲器字節的 CPU 存儲器字節。首次循環對應的位啟動后的第一個程序循環中為 1 ,否則為 0。如圖 6 所示圖 6 激活系統和時鐘存儲器(3)在 Main [OB1]中,先使用M1.0置位標志位,然后使用“MC_Power”指令啟動軸后調用“MC_Home”指令的 Mode 0 ,重新裝載斷電前juedui位置,然后復位標志位,Zui后當前位置“ActualPosition”傳送到第一步建立的變量中。如圖 7、 圖 8 所示。注:如果存在多個運動控制指令,如“MC_Home”指令,每個指令的背景 DB 塊需要單獨創建,以免產生沖突。可以根據實際工藝情況,在合適的時間點執行“MC_Power”指令和“MC_Home”指令裝載新的斷電前的juedui位置。圖 7 程序 1
其他新聞
- 詳解S7-1200存儲卡的四大重要功能! 2024-12-02
- PLC高手編寫的程序都有這六個特征 2024-12-02
- 干貨!S7-1500硬件安裝接線圖完整版 2024-12-02
- 大神講解西門子V90伺服參數,很詳細! 2024-12-02
- 大型的西門子PLC程序結構示例! 2024-12-02
- 分享基于OPC UA的SCADA數據采集系統 2024-12-02
- 教你一個外部插件控制博途的方法! 2024-12-02
- 如何計算S7-1200Zui大I/O和電源需求? 2024-12-02
- 【干貨】SiCar博途自動化標準 2024-12-02
- 使用結構化變量編程,效率高多了! 2024-12-02
- 記一次通訊故障排查經歷,結果沒想通! 2024-12-02
- 推薦三張西門子通訊的重要表格! 2024-12-02
- 推薦四種PLC間跨網段通訊的方法 2024-12-02
- 快速獲取西門子產品兼容性的方法 2024-12-02
- S7-1500到底好不好用?看看外國工程師怎么說 2024-12-02
產品分類
聯系方式
- 電 話:13922889745
- 經理:向小姐
- 手 機:18475208684
- 微 信:18475208684