simotiond435_第1頁
simotiond435_第2頁
simotiond435_第3頁
simotiond435_第4頁
simotiond435_第5頁
已閱讀5頁,還剩87頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、概述        本文檔通過一個實際項目來介紹SIMOTION項目組態、配置和編程的過程。在SIMOTION SCOUT軟件的安裝包里提供了一個供初學者學習的項目“D435_BEGINNER”,該項目位于軟件光盤路徑.Utilities_ApplicationssrcExamplesExampleForBeginners文件夾內,該項目提供了完整的項目文件和介紹文檔,該項目可以在SIMOTION D435 演示設備上模擬運行。圖1 項目實戰圖示      

2、0; 該項目要實現的功能是將生產線上的空盒子吹出生產線,其工作過程如下:按下起動按鈕后,盒子在傳送帶上從上游運輸到下游,如果在運輸途中被檢測出是空的,那么載有噴嘴的吹出器會跟隨空盒子運動,建立同步以后在指定的位置打開噴嘴將空盒子吹出傳送帶,然后吹出器重新返回等待位置。在運行過程中,如果安全門被打開,那么生產線立即停止,在安全門關上以后,又自動恢復運行。復位起動按鈕后,生產線停止。該項目中使用的運動控制功能有: 齒輪同步Gearing 凸輪同步Camming 快速點輸出Output Cam2項目中使用的硬件和軟件2.1項目中使用的硬件     &

3、#160;  項目使用的硬件基于SIMOTION D435(可以轉換到其他SIMOTION硬件),具體的產品如下表所示。編號名稱數量訂貨號/備注1SIMOTION D43516AU1435-0AA00-0AA12CF卡16AU1400-2PA01-0AA03SIMOTION多軸授權包16AU1820-0AA43-0AB04端子板TB3016SL3055-0AA00-2TA05智能型電源模塊SLM 5KW16SL3130-6AE15-0AB06雙軸電機模塊DMM 2×1.6KW16SL3120-2TE13-0AA37傳送帶電機11FK7022-5AK71-0LG08吹出器電機

4、11FK7022-5AK71-0AG09起動按鈕1數字量輸入,常開點10安全門1數字量輸入,常閉點11空盒子傳感器1數字量輸入,常開點12吹出器噴嘴閥門1數字量輸出13連接電纜若干動力電纜、信號電纜等表1 本項目所使用的硬件列表 2.2項目中使用的軟件編號名稱版本1Windows XPSP3, Professional2STEP7V5.5 SP2 HF13SIMOTION SCOUTV4.3 SP1 HF34WinCC Flexible2008 SP2 Upd125SIMOTION D435 Firmware表2 本項目所使用的軟件列表3項目配置   &

5、#160;     SIMOTION SCOUT項目的基本配置步驟如下:1. 配置驅動器2. 配置工藝對象TO3. 編寫程序并分配執行系統4. 連接HMI設備3.1配置驅動器        本項目中有兩臺電機,由雙軸電機模塊驅動,可以參考下載中心應用文檔編號A0309(視頻教程)來完成驅動器配置文檔名稱SIMOTION D435調試入門,其下載網址如下:配置完成以后,可以將驅動重命名為conveyor和eject,項目如下圖所示:圖2 項目配置   

6、60;      配置完成以后,重新進行對SIMOTION和SINAMICS進行下載并保存數據(Copy RAM to ROM)。此時本項目中SINAMICS_Integrated的基本配置已結束,接下來的工作需要在SIMOTION D435中繼續配置。3.2配置工藝對象TO         SIMOTION運行系統摒棄了傳統的面向各種功能的執行方式,采用了更為先進的面向對象的方式,而每一個對象即為各種不同類型的TO(Technology Object,工藝對象)。

7、這些TO被用于工藝和運動控制,每個TO都集成了特定的功能,例如,一個軸TO包含了與驅動的通訊功能、測量值的處理功能、位置控制功能。在組態的時候這些TO被創建并進行參數化之后,便可以在SIMOTION系統的內核中運行了,在用戶程序中編寫合適的命令就能夠使用TO的各種功能。除了軸TO以外,外部編碼器、同步操作、CAM曲線等等都可以配置成一個TO。每個TO都獨立地處理各自的任務,同時輸出相應的狀態信息,如下圖所示。圖3 SIMOTION中TO示意圖        本項目中有兩個實軸Conveyorbelt和Ejector,分別對應

8、SINAMICS_Integrated中的兩個驅動conveyor和eject。另外,為了提高系統可靠性,我們引入一個虛軸作為整個系統的主軸MasterAxis,Conveyorbelt軸與MasterAxis軸作齒輪同步,Ejector軸與Conveyorbelt軸作凸輪同步,凸輪曲線需要根據工藝繪制。快速點輸出(CamOutput TO)根據Ejector軸的位置控制吹出器的噴嘴。所以本項目中使用的TO有: 軸TO:MasterAxis、Conveyorbelt、Ejector 齒輪同步TO:Conveyorbelt與MasterAxis之間的齒輪同步 凸輪TO:Ejctor與Convey

9、orbelt之間的位置凸輪曲線 凸輪同步TO:Ejector與Conveyorbelt之間的凸輪同步 快速點輸出TO:Valve,由Ejector的位置決定噴嘴的通斷3.2.1軸TO的配置        在創建軸TO的過程中,需要指定軸的名稱、類型、工藝、單位、連接的驅動、編碼器等信息。根據工藝要求,需要配置的三個軸的屬性如下表所示。名稱Name類型Type工藝Technology連接的驅動DriveMasterAxis虛軸,旋轉軸位置軸無Conveyorbelt實軸,旋轉軸跟隨軸ConveyorEjector實軸,直線軸跟

10、隨軸Eject   表3 本項目中軸TO的屬性        1. 創建虛主軸MasterAxis,步驟如下。AXES,雙擊insert axis可以插入一個軸。在彈出的窗口中配置軸的名稱為MasterAxis,工藝為Positioning(即為位置軸)。à        在離線情況下,在SCOUT軟件中依次打開D435圖4 插入軸點擊OK進入下一步,選擇軸的類型為旋轉軸Rotary、虛軸Virtual,單位采用默認

11、值。圖5 選擇軸類型點擊Next進入最后一步,這里可以看到所有配置的摘要信息,點擊Finish結束配置。圖6 軸配置完成        2.創建實軸Conveyorbelt,步驟如下。AXES,雙擊insert axis可以插入一個軸。在彈出的窗口中配置軸的名稱為Conveyorbelt,工藝為Synchronous operation(即為跟隨軸)。à        在離線情況下,在SCOUT軟件中依次打開D435圖7 插入同步軸點擊OK進入下

12、一步,選擇軸的類型為旋轉軸Rotary,電氣軸Electrical,模式為標準軸Standard,單位采用默認單位。圖8 選擇軸類型點擊Next進入下一步,選擇需要連接的驅動為SINAMICS_Integrated中的conveyor。圖9 選擇軸的驅動點擊Next進入下一步,編碼器的數據會自動識別出來,默認選擇使用的編碼器為驅動器的Encoder_1,該編碼器為絕對值編碼器。圖10 選擇軸的編碼器點擊Next進入最后一步,這里可以看到所有配置的摘要信息,點擊Finish結束配置。圖11 結束軸配置打開ConveyorBelt軸得機械配置部分進行模態軸的組態:圖12 組態軸參數設置該軸為模態軸

13、:圖13 配置模態軸         3.創建實軸Ejector,注意修改軸的類型為直線軸,回零方式修改為編碼器零脈沖(Encoder zero mark only),Conveyorbelt使用的是絕對值編碼器,所以無需設定回零模式。圖14 配置Ejector軸的回零步驟與Conveyorbelt基本相同,這里不再贅述。保存并且編譯下載后,可以使用控制面板對實軸進行測試。3.2.2齒輪同步TO的配置        在軸TO配置完成以后,需要配置

14、跟隨軸Conveyorbelt與主軸MasterAxis的互聯,在SCOUT軟件中,依次打開D435® AXES®Conveyorbelt®Conveyorbelt_SYNCHRONOUS_OPERATION(Conveyorbelt_GLEICHLAUF),雙擊其中的Interconnections,在右側窗口選擇使用虛主軸MasterAxis的設定值Setpoint。圖15 同步配置 3.2.3凸輪TO的配置        在配置Ejector軸與Conveyorbelt

15、軸之間的凸輪同步操作之前,需要先定義凸輪曲線。根據工藝要求,如果檢測到有空盒子,那么Ejector軸開始跟隨傳送帶移動,在1mm處建立同步以后,噴嘴打開吹出吹盒子,然后在4mm處關閉噴嘴,同時Ejector軸開始返回初始位置。這個操作過程中,Ejector軸與Conveyorbelt軸的位置關系可以用下面的曲線(橫縱坐標顯示為位置)來描述。圖16 凸輪曲線 第1段:建立同步過程中 第2段:已建立同步 第3段:返回初始位置         可以使用凸輪繪制工具CamTool來繪制這條曲線,CamTool軟件需要預先安

16、裝好。在SCOUT軟件中,依次打開D435®CAMS,雙擊Insert cam with CamTool即可打開編輯器,輸入CAM曲線的名稱為CAM_Ejector。如果沒有安裝CamTool軟件,也可以通過描點法插入這條CAM曲線,本文檔以CamTool為例進行說明。圖17 創建CAM曲線        在編輯窗口插入兩個插補點和一個線段。點擊工具欄上的插補點工具 ,在起點和終點附近插入兩個插補點,使用直線工具 在兩個插補點之間插入一條直線。圖18 創建CAM曲線    &

17、#160;   在畫出雛形以后,使用工具欄上的箭頭工具 ,設定插入的各個對象的參數。雙擊第一個插補點,在彈出的屬性窗口中指定其參數為x=0,y=0。同理可以設定直線段和第二個插補點的參數,如下圖所示。圖19 設定插入各個對象的參數          在參數修改完成以后,曲線如圖20所示:圖20 完成后的CAM曲線        最后指定坐標的范圍,在工作區的右鍵菜單中選擇Target Device Parameter

18、s,在Scaling選項卡中設置主軸范圍為360,從軸范圍為10,如下圖所示。這樣,就將Ejector軸與Conveyorbelt軸的位置對應了起來,在Conveyor軸到36º(0.1)時,Ejector軸到達1mm(0.1)位置,此時即已建立同步,同理在4mm(0.4)位置處開始解除同步,并返回初始位置。圖21 指定坐標的范圍3.2.4凸輪同步TO的配置        在凸輪曲線配置完成以后,可以配置軸Ejector與Conveyorbelt的互聯,在SCOUT軟件中依次打開D435®AXES

19、4;Ejector®Ejector_SYNCHRONOUS_OPERATION(Ejector_GLEICHLAUF),雙擊其中的Interconnections,在右側窗口選擇使用Conveyorbelt軸的設定值,并選擇互聯的CAM曲線為Cam_Ejector。圖22 配置軸的CAM互聯3.2.5快速點輸出TO的配置        OUTPUT CAM是SIMOTION中用于快速點輸出的TO。本項目中吹出器噴嘴的控制可以使用OUTPUT CAM功能實現,噴嘴的通斷由Ejector軸的位置決定,所以需要為Ejec

20、tor軸配置一個OUTPUT CAM TO。該TO通過SIMOTION D435集成的CU320上的DO點輸出。Control_Unit,雙擊其中的Inputs/outputs,在右側窗口中Bidirectional digital inputs/outputs選項卡下,設置P0728.8為輸出點,如下圖所示。àSINAMICS_Integratedà        本項目中使用DI/DO8作為該OUTPUT CAM的輸出通道,所以首先要將該通道配置為數字量輸出。在SCOUT軟件中,依次打開D435圖23

21、 設置P0728.8為輸出點           然后插入快速點輸出TO。在SCOUT軟件中,依次打開D435®AXES®Ejector®OUTPUT CAM,雙擊其中的Insert output cam,創建一個名稱為Valve的OUTPUT CAM TO。圖24 插入快速點輸出TO         然后配置該TO的通過SINAMICS_Integrated中的DO8輸出。在SCOUT

22、軟件中,依次打開D435®EjectoràAXES®OUTPUT CAM®Valve,雙擊其中的Configuration,在右側窗口中,選擇激活輸出,選擇 Fast digital output(DO) (D4xx,C240) ,然后點擊Output中的按鈕,可以瀏覽到SINAMICS_Integrated中配置的DO8。圖25 配置TO          在OUTPUT CAM TO配置完畢以后,如下圖所示。圖26 TO配置完畢   

23、;      這樣,本項目中所使用的TO就都配置完成了,此時的項目導航欄如下圖所示。圖27 本項目TO配置完畢3.3編寫程序并分配執行系統         SIMOTION提供的編程環境方便而靈活,可以使用不同的編程語言實現相同的功能,這完全取決于個人的編程習慣。SIMOTION程序的執行系統清晰而全面,不管是周期性執行,還是單次執行,不管是時間觸發,還是事件觸發,都可以按照優先級高低順序進行程序的分配。通過程序在執行系統中的合理分配,可以方便的實現各種運動控制功能

24、,SIMOTION的執行系統的示意圖如下圖所示。圖28 SIMOTION的執行系統示意圖圖29 項目功能分解        在使用SIMOTION創建項目時,首先需要對程序結構進行規劃,根據工藝要求,將所需的功能分解,編寫成多個獨立的程序,再將程序分門別類地分配到執行系統當中。在本項目中,根據工藝的要求,可以將程序分成幾部分,再將程序分配到相應的執行系統中,如圖29所示。PROGRAMS即可插入程序。àSIMOTION設備支持的程序語言有ST、MCC、LAD/FBD、DCC等,這些編程語言各有特點,其中使用MCC語

25、言可以方便地編寫運動控制程序,使用LAD/FBD語言可以方便地實現邏輯控制功能,使用DCC可以方便地實現工藝控制功能,使用ST語言可以方便地實現復雜的運動、邏輯和工藝控制功能。在SCOUT軟件中,依次打開D435圖30 插入程序        本項目中使用了ST、MCC和LAD/FBD三種編程語言。在使用MCC和LAD/FBD時,需要先插入程序單元(Unit),再在單元中插入程序(Program)。本項目中,使用ST編寫了pInit()和pHMIout()程序,使用MCC編寫了pAuto(),pEject(),pHoming

26、(),pProtDoor(),pTecFault()程序,使用LAD/FBD編寫了pLADFBD(),pPLCopenProg()程序,如圖31所示。圖31 項目中的程序Execution System即可以打開分配執行系統的畫面,分配結果詳見本文檔3.4.3節。然后在線連接設備,編譯并下載項目后,系統就可以正常運行了。à        在程序編寫并編譯完成以后,再分門別類地分配到執行系統中。在SCOUT軟件中,依次打開D435與SIMATIC PLC的程序不同的是,SIMOTION中沒有數據塊DB的概念,所有程序

27、都對變量進行操作,所在在縮寫SIMOTION程序時,需要按照以下步驟進行:1. 聲明變量2. 編寫程序3. 分配執行系統3.3.1聲明變量         在編寫程序之前,需要聲明變量。SIMOTION設備中的變量分為系統變量、全局變量和局部變量。其中系統變量在TO創建完成后,就已經由系統自動生成,比如軸TO的運行狀態等。全局變量包括IO變量、設備全局變量和程序單元變量三類,其中IO變量可以通過SCOUT軟件中的ADDRESS LIST來創建,設備全局變量可以通過GLOBAL DEVICE VARIABLES來創建

28、(本項目中沒有使用),而程序單元變量需要在程序單元中創建,可以在程序單元內使用。一個程序單元中的全局變量通過互聯,也可以用于其他程序單元。局部變量在單個程序中創建,只可以在本程序中使用。圖32 變量說明3.3.1.1創建IO變量        在SCOUT軟件中,雙擊D435下的ADDRESS LIST,即可在軟件下半窗口中配置全局的IO變量。在Name列輸入變量名稱,在I/O address一列指定輸入輸出類型以后,就可以直接在Assignment列點擊 按鈕瀏覽到系統中的IO變量。本項目中的IO變量配置如下圖所示。其中i

29、boEject為空盒子傳感器的DI信號,iboProtDoor為安全門的DI信號,iboStartBelt為生產線起動的DI信號。圖33 創建IO變量3.3.1.2創建程序單元變量和局部變量         根據編程語言的不同,程序單元變量的創建方式也不同。         (1)在ST語言中的聲明變量         使用ST語言時,可以在INTERFAC

30、E段聲明全局變量,其格式如下:變量名:數據類型(: =初始值);         比如pDefInit程序單元中一個名稱為gboProgEnd的布爾型變量,需要按以下格式聲明:INTERFACE             VAR_GLOBAL             gboProg

31、End : BOOL := FALSE;             END_VAREND_INTERFACE         這里聲明的全局變量只能在本程序單元中使用。如果需要在其他程序單元中訪問這些變量,那么需要在其他程序的INTERFACE段內添加USES語句,比如在pHMIout程序單元中就有這樣的語句,其格式如下:INTERFACE     

32、          USES pDefInit;END_INTERFACE        另外,在程序中IMPLEMENTATION段也可以聲明全局變量,這里聲明的變量只能在本程序單元中使用,無法被其他程序單元訪問,在本項目中并沒有在IMPLEMENTATION段中聲明全局變量。局部變量在程序內部的PROGRAM段內聲明,僅供本程序使用,無法被其他程序或程序單元訪問,其聲明格式與全局變量相同。本項目中也沒有在PROGRAM段聲明局部變量

33、。         (2)在MCC程序單元中聲明變量PROGRAM,雙擊其中的Insert MCC Unit即可插入一個程序單元,此時在右側的窗口中可以定義本程序單元的全局變量。à         在SCOUT軟件中,依次打開D435         MCC程序單元中的全局變量在數據表格中聲明,變量聲明的位置與ST語言是一致的。如果是全局變量,并希

34、望被其他程序單元訪問,那么變量在INTERFACE段聲明,如果不希望被其他程序單元訪問,那么變量在IMPLEMENTATION段聲明。比如在pProtDoor程序單元中定義了下面的全局變量。圖34 MCC程序單元中聲明變量         如果要訪問其他程序單元的變量,只需要在INTERFACE段的Connection選項卡下進行連接即可,這與ST語言中使用USES語句的功能相同,比如在pAuto程序單元中要引用在ST程序pDefInit中定義的全局變量,那么可按下圖所示的方法進行訪問。圖35 連接需訪問變量的程序

35、單元        在每個程序單元里都有一個插入程序的選項,比如pAuto程序單元中雙擊Insert MCC Chart即可以在右側窗口中打開程序的主編輯界面。在頂部的表格里,可以聲明本程序的局部變量,比如在圖中選項卡下,將變量名稱、數據類型和初始值填入表格即可,本項目中沒有定義局部變量。圖36 本項目無局部變量(3)在LAD/FBD程序單元中聲明變量        LAD/FBD程序單元中聲明變量的操作與MCC類似,這里不再贅述。另外,在LAD/FBD程

36、序編輯窗口中也可以直接聲明不存在的變量。比如在pLADFBD()程序中,將局部變量boResult修改為boResult1,此時系統會自動彈出一個變量boResult1的聲明窗口,在這里可選擇數據類型和變量類型等。這種聲明變量的方式非常方便。圖37 在LAD/FBD程序單元中聲明變量3.3.2編寫程序        項目程序需要根據實際工藝編寫,本項目中將工藝分解為回零、傳送帶運行、吹出器動作、安全門控制、錯誤處理等部分,分別編程進行處理,最后通過程序在執行系統中的分配,達到各程序協調工作的目的。由于相同的功能,可以使用不同

37、的編程語言實現,所以編程方式十分自由。本項目中使用ST語言編寫了數據初始化pDefInit和與HMI的數據交換pHMIout兩段程序,使用MCC語言編寫了與運動控制相關的程序,使用LAD/FBD編寫了周期性執行的邏輯控制程序。3.3.2.1使用ST語言編寫程序PROGRAMS,雙擊其中的Insert ST source file即可插入一段ST程序,在右側窗口會自動打開ST程序編程器。使用ST語言編寫的程序需要放在IMPLEMENTATION段中,以PROGRAM關鍵字開頭,以END_PROGRAM關鍵字結尾。程序編寫完成后,還需要在INTERFACE段進行聲明。比如pDefInit()程序的

38、ST程序如下。à        在SCOUT軟件中,依次打開D435INTERFACEVAR_GLOBAL                 /聲明全局變量             gboProgEnd : BOOL  &

39、#160;              := FALSE;             gboProtDoorOpen                    

40、; : BOOL := FALSE;             gr64VMasterAxis         : LREAL := 360;             gr64VMasterAxisOld      

41、60;         : LREAL := 0;             gi16Mode                         

42、0;       : INT := 0;             gboDriveActive                         : BOOL := FALSE;&#

43、160;            gboStartConveyor     : BOOL := FALSE;             gboStartEjector              

44、           : BOOL := FALSE;END_VARPROGRAM             pInit;      / 聲明程序pInitEND_INTERFACEIMPLEMENTATIONPROGRAM pInit;     /程序pInit開始  

45、           gboProgEnd             := FALSE;       / 賦值語句,初始化變量,下同             gboProtDoorOpen &

46、#160;             := FALSE;             gr64VMasterAxis     := 360;             gr64VMasterAxisOld&#

47、160;          := 0;             gi16Mode                          

48、;  := 0;             gboDriveActive                    := FALSE;END_PROGRAM  /程序pInit結束END_IMPLEMENTATION     

49、    用相同方法編寫pHMIout()程序,這里不再贅述。3.3.2.2使用MCC語言編寫程序PROGRAMS,雙擊其中的Insert MCC Unit,即可創建一個MCC程序單元,然后雙擊其中的Insert MCC Chart即可插入一段MCC程序,在右側窗口中會自動打開MCC編輯器,此時在工具欄上會出現MCC編程工具條à        在SCOUT軟件中,依次打開D435 ,所有的MCC指令都可以通過點擊工具條上的按鈕插入。下面以pAuto()程序為例,介紹MCC編輯器

50、的操作。pAuto()是用于控制生產線自動運行的程序,在所有軸都回零以后,即開始執行pAuto()中的程序。按照工藝要求,需要先將虛主軸MasterAxis使能,在接到起動信號iboStartBelt以后,傳送帶軸Conveyorbelt開始跟隨主軸做齒輪同步,同時將噴嘴閥門的OUTPUT CAM功能使能。由于此時軸Ejector仍處于停止狀態,所以噴嘴閥門一直關閉。然后起動虛主軸,如果虛主軸的速度設定值發生變化,那么要立即生效,要循環判斷設定值是否有變化。這樣在虛主軸起動以后,傳送帶軸也開始運動。當檢測到有停止信號gboProgEnd時,程序結束。   

51、0;    首先插入一個新程序,鼠標點擊編程窗口中的,然后選擇工具欄上的軸使能命令即可插入該功能塊,如圖38所示:圖38 軸使能命令雙擊Switch axis enable命令,在彈出窗口中設置其屬性,如圖39所示:圖39 設置軸使能命令屬性         插入Waiting for signal命令,并設置其屬性如下圖所示。圖40 Waiting for signal命令         然后插入Gea

52、ring On命令,并設置其Parameter和Synchronization選項卡內參數如下圖所示。圖41 Gearing On命令圖42 Gearing On命令         然后插入Switch output cam On命令,并設置其參數如圖43所示:圖43 Switch output cam On命令         同理插入其他命令塊并設置其屬性,程序編寫完畢后,如圖44所示:圖44 程序編寫完畢  

53、       點擊工具欄上的編譯按鈕完成編譯。在SCOUT軟件底部Compile/check output信息欄可以查看編譯狀態。圖45 查看編譯狀態         同理完成其他MCC程序的編寫和編譯。3.3.2.3使用LAD/FBD語言編寫程序        在SCOUT軟件中,依次打開D435®PROGRAMS,雙擊其中的Insert LAD/FBD Unit,即可創建一

54、個LAD/FBD程序單元,然后雙擊其中的Insert LAD/FBD Program即可插入一段LAD/FBD程序,在右側窗口中會自動打開LAD/FBD編輯器。通過工具欄上的按鈕或可以方便地在LAD和FBD兩種語言之間切換。在使用LAD時,工具欄上會出現編程工具條 ,在使用FBD時,工具欄上會出現編程工具條,所有的指令都可以通過點擊工具條上的按鈕插入。        下面以pLADFBD()程序為例,介紹LAD編輯器的操作。本項目中,在安全門打開時,所有設備停止運行,在安全門關閉以后,所以設備重新自動運行。pLAD

55、FBD()就是用于各MotionTask重新自動運行的程序。本程序中,自動判斷當前系統狀態并重新起動運動控制任務MotionTask_2和MotionTask_3。        首先插入第一行網絡,實現如下功能:如果驅動系統未準備好,就跳轉到end結束。點擊工具欄上的按鈕插入一個網絡,選中該網絡后點擊工具條上的按鈕插入一個常閉觸點,并在其頂部輸入變量名稱gboDriveActive,再點擊按鈕插入一個線圈,在其下拉菜單中選擇JMPN(Jump not),并在其頂部輸入變量名稱end,如圖46所示。圖46 LAD編程

56、0;       同理完成第二行網絡,如果安全門被打開,那么也跳轉到end結束。接下來的網絡3到網絡9是對MotionTask的操作。在SIMOTION中MotionTask的狀態模型如圖47所示:圖47 MotionTask的狀態模型圖中各任務狀態的意義如下: TS_INVALID任務不存在于執行系統中,在執行系統的參數設置中未使用。 TS_STOP_PENDIING任務已經收到一個停止信號,但仍然處于RUNNING 和STOPPED狀態之間。任務仍然可以執行動作直到被停止。 TS_STOPPED任務因下列動作已經被停止: 調用功能

57、 _resetTask() SIMOTION SCOUT執行了停止 TS_RUNNING任務因下列功能而運行: 調用功能 _startTask() (MotionTasks) 激活循環任務 (BackgroundTask 等) 相關事件已發生 (UserInterruptTask 等) TS_WAITING任務因下列功能之一而處于等待狀態: _waitTime() WAITFORCONDITION. TS_SUSPENDED任務通過功能 _suspendTask()被暫停 TS_WAIT_NEXT_CYCLETimerInterruptTask 正在等待其觸發信號 TS_WAIT_NEXT_I

58、NTERRUPTSystemInterruptTask 正在等待觸發報警,或者UserInterruptTask 正在等待觸發事件 TS_LOCKED任務通過功能 _disableScheduler() 被鎖定。通過系統功能_getStateOfTaskId可以讀取指定任務的當前狀態,該功能可以在命令庫中找到,如圖48所示:圖48 命令庫該功能的返回值為DWORD,返回值指示下列狀態:16#0000: 指定的任務不存在 (TASK_STATE_INVALID)16#0001: 從 RUN 變換到 STOP (TASK_STATE_STOP_PENDING)16#0002: 任務被停止 (TAS

59、K_STATE_STOPPED)16#0004: 任務正在運行 (TASK_STATE_RUNNING)16#0010: 任務正在等待 (TASK_STATE_WAITING)16#0020: 任務被暫停 (TASK_STATE_SUSPENDED)16#0040: 定時中斷任務等待下一個周期 (TASK_STATE_WAIT_NEXT_CYCLE)16#0080: 用戶中斷任務或者系統中斷任務等待下一個事件(TASK_STATE_WAIT_NEXT_INTERRUPT)16#0100 任務被 _disablescheduler 禁止 (TASK_STATE_LOCKED) 

60、0;      本程序中,判斷當前任務的狀態,如果任務處于被停止(16#0002)或暫停(16#0020)狀態,那么就使用系統功能_RestartTaskId()重新起動任務。在完成本段程序編寫后,程序如下:圖49 任務控制編程        在編寫完成后,點擊工具欄上的按鈕 完成編譯,在SCOUT軟件底部Compile/check output信息欄可以查看編譯狀態。圖50 編譯無誤同理完成其他LAD程序的編寫和編譯。3.3.3 分配執行系統Execution System

61、即可打開執行系統的配置畫面。在右側窗口中為不同的任務添加程序即可,配置完成后,重新編譯項目。可以參考下載中心應用文檔編號A0471來獲得更多與執行系統相關的信息。文檔名稱SIMOTION 的任務執行機制及系統時鐘 ,下載網址:à        在所有程序編寫并編譯完成后,再分配執行系統。在SCOUT軟件中,雙擊D435圖51 分配執行系統3.4連接HMI設備HMI(人機界面)可以通過PROFIBUS、IE或MPI網絡建立與SIMOTION設備的連接,HMI設備的組態需要使用WinCC Flexible軟件。在SIMOTION項目中添加HMI設備有兩種方式: HMI項目集成 在SIMOTION項目中通過打開SCOUT項目的網絡配置,在NetPro中插入HMI設備,可將WinCC Flexible項目集成到SIMOTION SCOUT項目中進行編輯。 HMI項目獨立于SIMOTION項目在WinCC Flexible中使用項目向導在“Integrate S7 Project”中選擇使用的SIMOTION項目,即可實現HMI與SIMOTION項目的集成。下面以使用第一種方式為例,介紹在SIMOTION項目中插入HMI設備的配置過程。本項目中,HMI設備采用

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論