




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、SIMOTION項(xiàng)目實(shí)戰(zhàn) D435 Beginner1概述 本文檔通過一個(gè)實(shí)際項(xiàng)目來介紹SIMOTION項(xiàng)目組態(tài)、配置和編程的過程。在SIMOTION SCOUT軟件的安裝包里提供了一個(gè)供初學(xué)者學(xué)習(xí)的項(xiàng)目“D435_BEGINNER”,該項(xiàng)目位于軟件光盤路徑. Utilities_ApplicationssrcExamplesExampleForBeginners文件夾內(nèi),該項(xiàng)目提供了完整的項(xiàng)目文 件和介紹文檔,該項(xiàng)目可以在SIMOTION D435 演示設(shè)備上模擬運(yùn)行。圖1 項(xiàng)目實(shí)戰(zhàn)圖示 該項(xiàng)目要實(shí)現(xiàn)的功能是將生產(chǎn)線上的空盒子吹出生產(chǎn)線,其工作過程如下:按下起動(dòng)按鈕后,盒子在傳送帶上從上游運(yùn)
2、輸?shù)较掠危绻谶\(yùn)輸途中被檢測(cè)出是空的, 那么載有噴嘴的吹出器會(huì)跟隨空盒子運(yùn)動(dòng),建立同步以后在指定的位置打開噴嘴將空盒子吹出傳送帶,然后吹出器重新返回等待位置。在運(yùn)行過程中,如果安全門被 打開,那么生產(chǎn)線立即停止,在安全門關(guān)上以后,又自動(dòng)恢復(fù)運(yùn)行。復(fù)位起動(dòng)按鈕后,生產(chǎn)線停止。該項(xiàng)目中使用的運(yùn)動(dòng)控制功能有: 齒輪同步Gearing 凸輪同步Camming 快速點(diǎn)輸出Output Cam2項(xiàng)目中使用的硬件和軟件2.1項(xiàng)目中使用的硬件 項(xiàng)目使用的硬件基于SIMOTION D435(可以轉(zhuǎn)換到其他SIMOTION硬件),具體的產(chǎn)品如下表所示。編號(hào)名稱數(shù)量訂貨號(hào)/備注1SIMOTION D43516AU
3、1435-0AA00-0AA12 / 762CF卡16AU1400-2PA01-0AA03SIMOTION多軸授權(quán)包16AU1820-0AA43-0AB04端子板TB3016SL3055-0AA00-2TA05智能型電源模塊SLM 5KW16SL3130-6AE15-0AB06雙軸電機(jī)模塊DMM 21.6KW16SL3120-2TE13-0AA37傳送帶電機(jī)11FK7022-5AK71-0LG08吹出器電機(jī)11FK7022-5AK71-0AG09起動(dòng)按鈕1數(shù)字量輸入,常開點(diǎn)10安全門1數(shù)字量輸入,常閉點(diǎn)11空盒子傳感器1數(shù)字量輸入,常開點(diǎn)12吹出器噴嘴閥門1數(shù)字量輸出13連接電纜若干動(dòng)力電纜、
4、信號(hào)電纜等表1 本項(xiàng)目所使用的硬件列表2.2項(xiàng)目中使用的軟件編號(hào)名稱版本1Windows XPSP3, Professional2STEP7V5.5 SP2 HF13SIMOTION SCOUTV4.3 SP1 HF34WinCC Flexible2008 SP2 Upd125SIMOTION D435 FirmwareV4.3,with SINAMICS V2.6.2表2 本項(xiàng)目所使用的軟件列表3項(xiàng)目配置 SIMOTION SCOUT項(xiàng)目的基本配置步驟如下:1. 配置驅(qū)動(dòng)器2. 配置工藝對(duì)象TO3. 編寫程序并分配執(zhí)行系統(tǒng)4. 連接HMI設(shè)備3.1配置驅(qū)動(dòng)器 本項(xiàng)目中有兩臺(tái)電機(jī),由雙軸電機(jī)模
5、塊驅(qū)動(dòng),可以參考下載中心應(yīng)用文檔編號(hào)A0309(視頻教程)來完成驅(qū)動(dòng)器配置文檔名稱SIMOTION D435調(diào)試入門,其下載網(wǎng)址如下:http: /配置完成以后,可以將驅(qū)動(dòng)重命名為conveyor和eject,項(xiàng)目如下圖所示:圖2 項(xiàng)目配置 配置完成以后,重新進(jìn)行對(duì)SIMOTION和SINAMICS進(jìn)行下載并保存數(shù)據(jù)(Copy RAM to ROM)。此時(shí)本項(xiàng)目中SINAMICS_Integrated的基本配置已結(jié)束,接下來的工作需要在SIMOTION D435中繼續(xù)配置。3.2配置工藝對(duì)象TO SIMOTION運(yùn)行系統(tǒng)摒棄了傳統(tǒng)的面向各種功能的執(zhí)行方式,采用了更為先進(jìn)的面向?qū)ο蟮姆绞?,而每?/p>
6、個(gè)對(duì)象即為各種不同類型的TO (Technology Object,工藝對(duì)象)。這些TO被用于工藝和運(yùn)動(dòng)控制,每個(gè)TO都集成了特定的功能,例如,一個(gè)軸TO包含了與驅(qū)動(dòng)的通訊功能、測(cè)量值的處理功能、位 置控制功能。在組態(tài)的時(shí)候這些TO被創(chuàng)建并進(jìn)行參數(shù)化之后,便可以在SIMOTION系統(tǒng)的內(nèi)核中運(yùn)行了,在用戶程序中編寫合適的命令就能夠使用TO的各 種功能。除了軸TO以外,外部編碼器、同步操作、CAM曲線等等都可以配置成一個(gè)TO。每個(gè)TO都獨(dú)立地處理各自的任務(wù),同時(shí)輸出相應(yīng)的狀態(tài)信息,如下圖 所示。圖3 SIMOTION中TO示意圖 本項(xiàng)目中有兩個(gè)實(shí)軸Conveyorbelt和Ejector,分別對(duì)
7、應(yīng)SINAMICS_Integrated中的兩個(gè)驅(qū)動(dòng)conveyor和 eject。另外,為了提高系統(tǒng)可靠性,我們引入一個(gè)虛軸作為整個(gè)系統(tǒng)的主軸MasterAxis,Conveyorbelt軸與MasterAxis軸 作齒輪同步,Ejector軸與Conveyorbelt軸作凸輪同步,凸輪曲線需要根據(jù)工藝?yán)L制??焖冱c(diǎn)輸出(CamOutput TO)根據(jù)Ejector軸的位置控制吹出器的噴嘴。所以本項(xiàng)目中使用的TO有: 軸TO:MasterAxis、Conveyorbelt、Ejector 齒輪同步TO:Conveyorbelt與MasterAxis之間的齒輪同步 凸輪TO:Ejctor與Con
8、veyorbelt之間的位置凸輪曲線 凸輪同步TO:Ejector與Conveyorbelt之間的凸輪同步 快速點(diǎn)輸出TO:Valve,由Ejector的位置決定噴嘴的通斷3.2.1軸TO的配置 在創(chuàng)建軸TO的過程中,需要指定軸的名稱、類型、工藝、單位、連接的驅(qū)動(dòng)、編碼器等信息。根據(jù)工藝要求,需要配置的三個(gè)軸的屬性如下表所示。名稱Name類型Type工藝Technology連接的驅(qū)動(dòng)DriveMasterAxis虛軸,旋轉(zhuǎn)軸位置軸無(wú)Conveyorbelt實(shí)軸,旋轉(zhuǎn)軸跟隨軸ConveyorEjector實(shí)軸,直線軸跟隨軸Eject表3 本項(xiàng)目中軸TO的屬性 1. 創(chuàng)建虛主軸MasterAxis
9、,步驟如下。AXES,雙擊insert axis可以插入一個(gè)軸。在彈出的窗口中配置軸的名稱為MasterAxis,工藝為Positioning(即為位置軸)。 在離線情況下,在SCOUT軟件中依次打開D435圖4 插入軸點(diǎn)擊OK進(jìn)入下一步,選擇軸的類型為旋轉(zhuǎn)軸Rotary、虛軸Virtual,單位采用默認(rèn)值。圖5 選擇軸類型點(diǎn)擊Next進(jìn)入最后一步,這里可以看到所有配置的摘要信息,點(diǎn)擊Finish結(jié)束配置。圖6 軸配置完成 2.創(chuàng)建實(shí)軸Conveyorbelt,步驟如下。AXES,雙擊insert axis可以插入一個(gè)軸。在彈出的窗口中配置軸的名稱為Conveyorbelt,工藝為Synchr
10、onous operation(即為跟隨軸)。 在離線情況下,在SCOUT軟件中依次打開D435圖7 插入同步軸點(diǎn)擊OK進(jìn)入下一步,選擇軸的類型為旋轉(zhuǎn)軸Rotary,電氣軸Electrical,模式為標(biāo)準(zhǔn)軸Standard,單位采用默認(rèn)單位。圖8 選擇軸類型點(diǎn)擊Next進(jìn)入下一步,選擇需要連接的驅(qū)動(dòng)為SINAMICS_Integrated中的conveyor。圖9 選擇軸的驅(qū)動(dòng)點(diǎn)擊Next進(jìn)入下一步,編碼器的數(shù)據(jù)會(huì)自動(dòng)識(shí)別出來,默認(rèn)選擇使用的編碼器為驅(qū)動(dòng)器的Encoder_1,該編碼器為絕對(duì)值編碼器。圖10 選擇軸的編碼器點(diǎn)擊Next進(jìn)入最后一步,這里可以看到所有配置的摘要信息,點(diǎn)擊Finis
11、h結(jié)束配置。圖11 結(jié)束軸配置打開ConveyorBelt軸得機(jī)械配置部分進(jìn)行模態(tài)軸的組態(tài):圖12 組態(tài)軸參數(shù)設(shè)置該軸為模態(tài)軸:圖13 配置模態(tài)軸 3.創(chuàng)建實(shí)軸Ejector,注意修改軸的類型為直線軸,回零方式修改為編碼器零脈沖(Encoder zero mark only),Conveyorbelt使用的是絕對(duì)值編碼器,所以無(wú)需設(shè)定回零模式。圖14 配置Ejector軸的回零步驟與Conveyorbelt基本相同,這里不再贅述。保存并且編譯下載后,可以使用控制面板對(duì)實(shí)軸進(jìn)行測(cè)試。3.2.2齒輪同步TO的配置 在軸TO配置完成以后,需要配置跟隨軸Conveyorbelt與主軸MasterAxi
12、s的互聯(lián),在SCOUT軟件中,依次打開D435AXESConveyorbeltConveyorbelt_SYNCHRONOUS_OPERATION(Conveyorbelt_GLEICHLAUF),雙擊其中的Interconnections,在右側(cè)窗口選擇使用虛主軸MasterAxis的設(shè)定值Setpoint。圖15 同步配置3.2.3凸輪TO的配置 在配置Ejector軸與Conveyorbelt軸之間的凸輪同步操作之前,需要先定義凸輪曲線。根據(jù)工藝要求,如果檢測(cè)到有空盒子,那么 Ejector軸開始跟隨傳送帶移動(dòng),在1mm處建立同步以后,噴嘴打開吹出吹盒子,然后在4mm處關(guān)閉噴嘴,同時(shí)Ej
13、ector軸開始返回初始位置。這 個(gè)操作過程中,Ejector軸與Conveyorbelt軸的位置關(guān)系可以用下面的曲線(橫縱坐標(biāo)顯示為位置)來描述。圖16 凸輪曲線 第1段:建立同步過程中 第2段:已建立同步 第3段:返回初始位置 可以使用凸輪繪制工具CamTool來繪制這條曲線,CamTool軟件需要預(yù)先安裝好。在SCOUT軟件中,依次打開D435CAMS,雙擊Insert cam with CamTool即可打開編輯器,輸入CAM曲線的名稱為CAM_Ejector。如果沒有安裝CamTool軟件,也可以通過描點(diǎn)法插入這條CAM曲線,本文檔以CamTool為例進(jìn)行說明。圖17 創(chuàng)建CAM曲線
14、 在編輯窗口插入兩個(gè)插補(bǔ)點(diǎn)和一個(gè)線段。點(diǎn)擊工具欄上的插補(bǔ)點(diǎn)工具 ,在起點(diǎn)和終點(diǎn)附近插入兩個(gè)插補(bǔ)點(diǎn),使用直線工具 在兩個(gè)插補(bǔ)點(diǎn)之間插入一條直線。圖18 創(chuàng)建CAM曲線 在畫出雛形以后,使用工具欄上的箭頭工具 ,設(shè)定插入的各個(gè)對(duì)象的參數(shù)。雙擊第一個(gè)插補(bǔ)點(diǎn),在彈出的屬性窗口中指定其參數(shù)為x=0,y=0。同理可以設(shè)定直線段和第二個(gè)插補(bǔ)點(diǎn)的參數(shù),如下圖所示。圖19 設(shè)定插入各個(gè)對(duì)象的參數(shù) 在參數(shù)修改完成以后,曲線如圖20所示:圖20 完成后的CAM曲線 最后指定坐標(biāo)的范圍,在工作區(qū)的右鍵菜單中選擇Target Device Parameters,在Scaling選項(xiàng)卡中設(shè)置主軸范圍為360,從軸范圍為1
15、0,如下圖所示。這樣,就將Ejector軸與 Conveyorbelt軸的位置對(duì)應(yīng)了起來,在Conveyor軸到36(0.1)時(shí),Ejector軸到達(dá)1mm(0.1)位置,此時(shí)即已建立同 步,同理在4mm(0.4)位置處開始解除同步,并返回初始位置。圖21 指定坐標(biāo)的范圍3.2.4凸輪同步TO的配置 在凸輪曲線配置完成以后,可以配置軸Ejector與Conveyorbelt的互聯(lián),在SCOUT軟件中依次打開D435AXESEjectorEjector_SYNCHRONOUS_OPERATION(Ejector_GLEICHLAUF),雙擊其中的Interconnections,在右側(cè)窗口選擇使
16、用Conveyorbelt軸的設(shè)定值,并選擇互聯(lián)的CAM曲線為Cam_Ejector。圖22 配置軸的CAM互聯(lián)3.2.5快速點(diǎn)輸出TO的配置 OUTPUT CAM是SIMOTION中用于快速點(diǎn)輸出的TO。本項(xiàng)目中吹出器噴嘴的控制可以使用OUTPUT CAM功能實(shí)現(xiàn),噴嘴的通斷由Ejector軸的位置決定,所以需要為Ejector軸配置一個(gè)OUTPUT CAM TO。該TO通過SIMOTION D435集成的CU320上的DO點(diǎn)輸出。Control_Unit,雙擊其中的Inputs/outputs,在右側(cè)窗口中 Bidirectional digital inputs/outputs選項(xiàng)卡下,
17、設(shè)置P0728.8為輸出點(diǎn),如下圖所示。SINAMICS_Integrated 本項(xiàng)目中使用DI/DO8作為該OUTPUT CAM的輸出通道,所以首先要將該通道配置為數(shù)字量輸出。在SCOUT軟件中,依次打開 D435圖23 設(shè)置P0728.8為輸出點(diǎn) 然后插入快速點(diǎn)輸出TO。在SCOUT軟件中,依次打開D435AXESEjectorOUTPUT CAM,雙擊其中的Insert output cam,創(chuàng)建一個(gè)名稱為Valve的OUTPUT CAM TO。圖24 插入快速點(diǎn)輸出TO 然后配置該TO的通過SINAMICS_Integrated中的DO8輸出。在SCOUT軟件中,依次打開D435Eje
18、ctorAXESOUTPUT CAMValve,雙擊其中的Configuration,在右側(cè)窗口中,選擇激活輸出,選擇 Fast digital output(DO) (D4xx,C240) ,然后點(diǎn)擊Output中的按鈕,可以瀏覽到SINAMICS_Integrated中配置的DO8。圖25 配置TO 在OUTPUT CAM TO配置完畢以后,如下圖所示。圖26 TO配置完畢 這樣,本項(xiàng)目中所使用的TO就都配置完成了,此時(shí)的項(xiàng)目導(dǎo)航欄如下圖所示。圖27 本項(xiàng)目TO配置完畢3.3編寫程序并分配執(zhí)行系統(tǒng) SIMOTION提供的編程環(huán)境方便而靈活,可以使用不同的編程語(yǔ)言實(shí)現(xiàn)相同的功能,這完全取決于
19、個(gè)人的編程習(xí)慣。SIMOTION程序的執(zhí)行系統(tǒng)清晰而 全面,不管是周期性執(zhí)行,還是單次執(zhí)行,不管是時(shí)間觸發(fā),還是事件觸發(fā),都可以按照優(yōu)先級(jí)高低順序進(jìn)行程序的分配。通過程序在執(zhí)行系統(tǒng)中的合理分配,可以 方便的實(shí)現(xiàn)各種運(yùn)動(dòng)控制功能,SIMOTION的執(zhí)行系統(tǒng)的示意圖如下圖所示。圖28 SIMOTION的執(zhí)行系統(tǒng)示意圖圖29 項(xiàng)目功能分解 在使用SIMOTION創(chuàng)建項(xiàng)目時(shí),首先需要對(duì)程序結(jié)構(gòu)進(jìn)行規(guī)劃,根據(jù)工藝要求,將所需的功能分解,編寫成多個(gè)獨(dú)立的程序,再將程序分門別類地分配到執(zhí)行 系統(tǒng)當(dāng)中。在本項(xiàng)目中,根據(jù)工藝的要求,可以將程序分成幾部分,再將程序分配到相應(yīng)的執(zhí)行系統(tǒng)中,如圖29所示。PROGRA
20、MS即可插入程序。SIMOTION設(shè)備支持的程序語(yǔ)言有ST、MCC、LAD/FBD、DCC等,這些編程語(yǔ)言各有特點(diǎn),其中使用MCC語(yǔ)言可以方便地編寫運(yùn)動(dòng)控制程序, 使用LAD/FBD語(yǔ)言可以方便地實(shí)現(xiàn)邏輯控制功能,使用DCC可以方便地實(shí)現(xiàn)工藝控制功能,使用ST語(yǔ)言可以方便地實(shí)現(xiàn)復(fù)雜的運(yùn)動(dòng)、邏輯和工藝控制功 能。在SCOUT軟件中,依次打開D435圖30 插入程序 本項(xiàng)目中使用了ST、MCC和LAD/FBD三種編程語(yǔ)言。在使用MCC和LAD/FBD時(shí),需要先插入程序單元(Unit),再在單元中插入程序 (Program)。本項(xiàng)目中,使用ST編寫了pInit()和pHMIout()程序,使用MCC
21、編寫了pAuto(),pEject(), pHoming(),pProtDoor(),pTecFault()程序,使用LAD/FBD編寫了pLADFBD(),pPLCopenProg() 程序,如圖31所示。圖31 項(xiàng)目中的程序Execution System即可以打開分配執(zhí)行系統(tǒng)的畫面,分配結(jié)果詳見本文檔3.4.3節(jié)。然后在線連接設(shè)備,編譯并下載項(xiàng)目后,系統(tǒng)就可以正常運(yùn)行了。 在程序編寫并編譯完成以后,再分門別類地分配到執(zhí)行系統(tǒng)中。在SCOUT軟件中,依次打開D435與SIMATIC PLC的程序不同的是,SIMOTION中沒有數(shù)據(jù)塊DB的概念,所有程序都對(duì)變量進(jìn)行操作,所在在縮寫SIMOT
22、ION程序時(shí),需要按照以下步驟進(jìn)行:1. 聲明變量2. 編寫程序3. 分配執(zhí)行系統(tǒng)3.3.1聲明變量 在編寫程序之前,需要聲明變量。SIMOTION設(shè)備中的變量分為系統(tǒng)變量、全局變量和局部變量。其中系統(tǒng)變量在TO創(chuàng)建完成后,就已經(jīng)由系統(tǒng)自動(dòng)生成, 比如軸TO的運(yùn)行狀態(tài)等。全局變量包括IO變量、設(shè)備全局變量和程序單元變量三類,其中IO變量可以通過SCOUT軟件中的ADDRESS LIST來創(chuàng)建,設(shè)備全局變量可以通過GLOBAL DEVICE VARIABLES來創(chuàng)建(本項(xiàng)目中沒有使用),而程序單元變量需要在程序單元中創(chuàng)建,可以在程序單元內(nèi)使用。一個(gè)程序單元中的全局變量通過互聯(lián),也可以 用于其他程
23、序單元。局部變量在單個(gè)程序中創(chuàng)建,只可以在本程序中使用。圖32 變量說明創(chuàng)建IO變量 在SCOUT軟件中,雙擊D435下的ADDRESS LIST,即可在軟件下半窗口中配置全局的IO變量。在Name列輸入變量名稱,在I/O address一列指定輸入輸出類型以后,就可以直接在Assignment列點(diǎn)擊 按鈕瀏覽到系統(tǒng)中的IO變量。本項(xiàng)目中的IO變量配置如下圖所示。其中iboEject為空盒子傳感器的DI信號(hào),iboProtDoor為安全門的DI 信號(hào),iboStartBelt為生產(chǎn)線起動(dòng)的DI信號(hào)。圖33 創(chuàng)建IO變量創(chuàng)建程序單元變量和局部變量 根據(jù)編程語(yǔ)言的不同,
24、程序單元變量的創(chuàng)建方式也不同。 (1)在ST語(yǔ)言中的聲明變量 使用ST語(yǔ)言時(shí),可以在INTERFACE段聲明全局變量,其格式如下:變量名:數(shù)據(jù)類型(: =初始值); 比如pDefInit程序單元中一個(gè)名稱為gboProgEnd的布爾型變量,需要按以下格式聲明:INTERFACE VAR_GLOBAL gboProgEnd : BOOL := FALSE; END_VAREND_INTERFACE 這里聲明的全局變量只能在本程序單元中使用。如果需要在其他程序單元中訪問這些變量,那么需要在其他程序的INTERFACE段內(nèi)添加USES語(yǔ)句,比如 在pHMIout程序單元中就有這樣的語(yǔ)句,其格式如下:
25、INTERFACE USES pDefInit;END_INTERFACE 另外,在程序中IMPLEMENTATION段也可以聲明全局變量,這里聲明的變量只能在本程序單元中使用,無(wú)法被其他程序單元訪問,在本項(xiàng)目中并沒有在 IMPLEMENTATION段中聲明全局變量。局部變量在程序內(nèi)部的PROGRAM段內(nèi)聲明,僅供本程序使用,無(wú)法被其他程序或程序單元訪問,其聲明格式與全局變量相同。本項(xiàng)目中也沒有在PROGRAM段聲明局部變量。 (2)在MCC程序單元中聲明變量PROGRAM,雙擊其中的Insert MCC Unit即可插入一個(gè)程序單元,此時(shí)在右側(cè)的窗口中可以定義本程序單元的全局變量。 在SCO
26、UT軟件中,依次打開D435 MCC程序單元中的全局變量在數(shù)據(jù)表格中聲明,變量聲明的位置與ST語(yǔ)言是一致的。如果是全局變量,并希望被其他程序單元訪問,那么變量在 INTERFACE段聲明,如果不希望被其他程序單元訪問,那么變量在IMPLEMENTATION段聲明。比如在pProtDoor程序單元中定義了下 面的全局變量。圖34 MCC程序單元中聲明變量 如果要訪問其他程序單元的變量,只需要在INTERFACE段的Connection選項(xiàng)卡下進(jìn)行連接即可,這與ST語(yǔ)言中使用USES語(yǔ)句的功能相同, 比如在pAuto程序單元中要引用在ST程序pDefInit中定義的全局變量,那么可按下圖所示的方法
27、進(jìn)行訪問。圖35 連接需訪問變量的程序單元 在每個(gè)程序單元里都有一個(gè)插入程序的選項(xiàng),比如pAuto程序單元中雙擊Insert MCC Chart即可以在右側(cè)窗口中打開程序的主編輯界面。在頂部的表格里,可以聲明本程序的局部變量,比如在圖中選項(xiàng)卡下,將變量名稱、數(shù)據(jù)類型和初始值填入表格即可,本項(xiàng)目中沒有定義局部變量。圖36 本項(xiàng)目無(wú)局部變量(3)在LAD/FBD程序單元中聲明變量 LAD/FBD程序單元中聲明變量的操作與MCC類似,這里不再贅述。另外,在LAD/FBD程序編輯窗口中也可以直接聲明不存在的變量。比如在pLADFBD()程序中,將局部變量boResult修改為 boResult1,此時(shí)
28、系統(tǒng)會(huì)自動(dòng)彈出一個(gè)變量boResult1的聲明窗口,在這里可選擇數(shù)據(jù)類型和變量類型等。這種聲明變量的方式非常方便。圖37 在LAD/FBD程序單元中聲明變量3.3.2編寫程序 項(xiàng)目程序需要根據(jù)實(shí)際工藝編寫,本項(xiàng)目中將工藝分解為回零、傳送帶運(yùn)行、吹出器動(dòng)作、安全門控制、錯(cuò)誤處理等部分,分別編程進(jìn)行處理,最后通過程序在執(zhí)行 系統(tǒng)中的分配,達(dá)到各程序協(xié)調(diào)工作的目的。由于相同的功能,可以使用不同的編程語(yǔ)言實(shí)現(xiàn),所以編程方式十分自由。本項(xiàng)目中使用ST語(yǔ)言編寫了數(shù)據(jù)初始化pDefInit和與HMI的數(shù)據(jù)交換pHMIout兩段程序,使用MCC語(yǔ)言編寫了與運(yùn)動(dòng)控制相關(guān)的程序,使用LAD/FBD編寫了周期性執(zhí)行
29、的邏輯控制程序。使用ST語(yǔ)言編寫程序PROGRAMS,雙擊其中的Insert ST source file即可插入一段ST程序,在右側(cè)窗口會(huì)自動(dòng)打開ST程序編程器。使用ST語(yǔ)言編寫的程序需要放在IMPLEMENTATION段中,以 PROGRAM關(guān)鍵字開頭,以END_PROGRAM關(guān)鍵字結(jié)尾。程序編寫完成后,還需要在INTERFACE段進(jìn)行聲明。比如pDefInit()程序 的ST程序如下。 在SCOUT軟件中,依次打開D435INTERFACEVAR_GLOBAL /聲明全局變量 gboProgEnd : BOOL := FALSE; gboProtDoorOpen : BOO
30、L := FALSE; gr64VMasterAxis : LREAL := 360; gr64VMasterAxisOld : LREAL := 0; gi16Mode : INT := 0; gboDriveActive : BOOL := FALSE; gboStartConveyor : BOOL := FALSE; gboStartEjector : BOOL := FALSE;END_VARPROGRAM pInit; / 聲明程序pInitEND_INTERFACEIMPLEMENTATIONPROGRAM pInit; /程序pInit開始 gboProgEnd := FALS
31、E; / 賦值語(yǔ)句,初始化變量,下同 gboProtDoorOpen := FALSE; gr64VMasterAxis := 360; gr64VMasterAxisOld := 0; gi16Mode := 0; gboDriveActive := FALSE;END_PROGRAM /程序pInit結(jié)束END_IMPLEMENTATION 用相同方法編寫pHMIout()程序,這里不再贅述。使用MCC語(yǔ)言編寫程序PROGRAMS,雙擊其中的Insert MCC Unit,即可創(chuàng)建一個(gè)MCC程序單元,然后雙擊其中的Insert MCC Chart即可插入一段MCC程序,在右側(cè)
32、窗口中會(huì)自動(dòng)打開MCC編輯器,此時(shí)在工具欄上會(huì)出現(xiàn)MCC編程 在SCOUT軟件中,依次打開D435工具條,所有的MCC指令都可以通過點(diǎn)擊工具條上的按鈕插入。下面以pAuto()程序?yàn)槔?,介紹MCC編輯器的操作。pAuto()是用于控制生產(chǎn)線自動(dòng)運(yùn)行的程序,在所有軸都回零以后,即開始執(zhí)行pAuto() 中的程序。按照工藝要求,需要先將虛主軸MasterAxis使能,在接到起動(dòng)信號(hào)iboStartBelt以后,傳送帶軸Conveyorbelt開始 跟隨主軸做齒輪同步,同時(shí)將噴嘴閥門的OUTPUT CAM功能使能。由于此時(shí)軸Ejector仍處于停止?fàn)顟B(tài),所以噴嘴閥門一直關(guān)閉。然后起動(dòng)虛主軸,如果虛主
33、軸的速度設(shè)定值發(fā)生變化,那么要立即生效,要 循環(huán)判斷設(shè)定值是否有變化。這樣在虛主軸起動(dòng)以后,傳送帶軸也開始運(yùn)動(dòng)。當(dāng)檢測(cè)到有停止信號(hào)gboProgEnd時(shí),程序結(jié)束。 首先插入一個(gè)新程序,鼠標(biāo)點(diǎn)擊編程窗口中的,然后選擇工具欄上的軸使能命令即可插入該功能塊,如圖38所示:圖38 軸使能命令雙擊Switch axis enable命令,在彈出窗口中設(shè)置其屬性,如圖39所示:圖39 設(shè)置軸使能命令屬性 插入Waiting for signal命令,并設(shè)置其屬性如下圖所示。圖40 Waiting for signal命令 然后插入Gearing On命令,并設(shè)置其Parameter和Synchroniz
34、ation選項(xiàng)卡內(nèi)參數(shù)如下圖所示。圖41 Gearing On命令圖42 Gearing On命令 然后插入Switch output cam On命令,并設(shè)置其參數(shù)如圖43所示:圖43 Switch output cam On命令 同理插入其他命令塊并設(shè)置其屬性,程序編寫完畢后,如圖44所示:圖44 程序編寫完畢 點(diǎn)擊工具欄上的編譯按鈕完成編譯。在SCOUT軟件底部Compile/check output信息欄可以查看編譯狀態(tài)。圖45 查看編譯狀態(tài) 同理完成其他MCC程序的編寫和編譯。使用LAD/FBD語(yǔ)言編寫程序 在SCOUT軟件中,依次打開D435PROGRAMS,雙擊其中
35、的Insert LAD/FBD Unit,即可創(chuàng)建一個(gè)LAD/FBD程序單元,然后雙擊其中的Insert LAD/FBD Program即可插入一段LAD/FBD程序,在右側(cè)窗口中會(huì)自動(dòng)打開LAD/FBD編輯器。通過工具欄上的按鈕或可以方便地在LAD和FBD兩種語(yǔ)言之間切換。在使用LAD時(shí),工具欄上會(huì)出現(xiàn)編程工具條,在使用FBD時(shí),工具欄上會(huì)出現(xiàn)編程工具條,所有的指令都可以通過點(diǎn)擊工具條上的按鈕插入。 下面以pLADFBD()程序?yàn)槔?,介紹LAD編輯器的操作。本項(xiàng)目中,在安全門打開時(shí),所有設(shè)備停止運(yùn)行,在安全門關(guān)閉以后,所以設(shè)備重新自動(dòng)運(yùn)行。 pLADFBD()就是用于各MotionTask重
36、新自動(dòng)運(yùn)行的程序。本程序中,自動(dòng)判斷當(dāng)前系統(tǒng)狀態(tài)并重新起動(dòng)運(yùn)動(dòng)控制任務(wù)MotionTask_2 和MotionTask_3。 首先插入第一行網(wǎng)絡(luò),實(shí)現(xiàn)如下功能:如果驅(qū)動(dòng)系統(tǒng)未準(zhǔn)備好,就跳轉(zhuǎn)到end結(jié)束。點(diǎn)擊工具欄上的按鈕插入一個(gè)網(wǎng)絡(luò),選中該網(wǎng)絡(luò)后點(diǎn)擊工具條上的按鈕插入一個(gè)常閉觸點(diǎn),并在其頂部輸入變量名稱gboDriveActive,再點(diǎn)擊按鈕插入一個(gè)線圈,在其下拉菜單中選擇JMPN(Jump not),并在其頂部輸入變量名稱end,如圖46所示。圖46 LAD編程 同理完成第二行網(wǎng)絡(luò),如果安全門被打開,那么也跳轉(zhuǎn)到end結(jié)束。接下來的網(wǎng)絡(luò)3到網(wǎng)絡(luò)9是對(duì)MotionTask的操作。在SIMOTI
37、ON中MotionTask的狀態(tài)模型如圖47所示:圖47 MotionTask的狀態(tài)模型圖中各任務(wù)狀態(tài)的意義如下: TS_INVALID任務(wù)不存在于執(zhí)行系統(tǒng)中,在執(zhí)行系統(tǒng)的參數(shù)設(shè)置中未使用。 TS_STOP_PENDIING任務(wù)已經(jīng)收到一個(gè)停止信號(hào),但仍然處于RUNNING 和STOPPED狀態(tài)之間。任務(wù)仍然可以執(zhí)行動(dòng)作直到被停止。 TS_STOPPED任務(wù)因下列動(dòng)作已經(jīng)被停止: 調(diào)用功能 _resetTask() SIMOTION SCOUT執(zhí)行了停止 TS_RUNNING任務(wù)因下列功能而運(yùn)行: 調(diào)用功能 _startTask() (MotionTasks) 激活循環(huán)任務(wù) (Backgrou
38、ndTask 等) 相關(guān)事件已發(fā)生 (UserInterruptTask 等) TS_WAITING任務(wù)因下列功能之一而處于等待狀態(tài): _waitTime() WAITFORCONDITION. TS_SUSPENDED任務(wù)通過功能 _suspendTask()被暫停 TS_WAIT_NEXT_CYCLETimerInterruptTask 正在等待其觸發(fā)信號(hào) TS_WAIT_NEXT_INTERRUPTSystemInterruptTask 正在等待觸發(fā)報(bào)警,或者UserInterruptTask 正在等待觸發(fā)事件 TS_LOCKED任務(wù)通過功能 _disableScheduler() 被鎖
39、定。通過系統(tǒng)功能_getStateOfTaskId可以讀取指定任務(wù)的當(dāng)前狀態(tài),該功能可以在命令庫(kù)中找到,如圖48所示:圖48 命令庫(kù)該功能的返回值為DWORD,返回值指示下列狀態(tài):16#0000: 指定的任務(wù)不存在 (TASK_STATE_INVALID)16#0001: 從 RUN 變換到 STOP (TASK_STATE_STOP_PENDING)16#0002: 任務(wù)被停止 (TASK_STATE_STOPPED)16#0004: 任務(wù)正在運(yùn)行 (TASK_STATE_RUNNING)16#0010: 任務(wù)正在等待 (TASK_STATE_WAITING)16#0020: 任務(wù)被暫停 (
40、TASK_STATE_SUSPENDED)16#0040: 定時(shí)中斷任務(wù)等待下一個(gè)周期 (TASK_STATE_WAIT_NEXT_CYCLE)16#0080: 用戶中斷任務(wù)或者系統(tǒng)中斷任務(wù)等待下一個(gè)事件(TASK_STATE_WAIT_NEXT_INTERRUPT)16#0100 任務(wù)被 _disablescheduler 禁止 (TASK_STATE_LOCKED) 本程序中,判斷當(dāng)前任務(wù)的狀態(tài),如果任務(wù)處于被停止(16#0002)或暫停(16#0020)狀態(tài),那么就使用系統(tǒng)功能_RestartTaskId ()重新起動(dòng)任務(wù)。在完成本段程序編寫后,程序如下:圖49 任務(wù)控制編程 在編寫完成
41、后,點(diǎn)擊工具欄上的按鈕 完成編譯,在SCOUT軟件底部Compile/check output信息欄可以查看編譯狀態(tài)。圖50 編譯無(wú)誤同理完成其他LAD程序的編寫和編譯。3.3.3 分配執(zhí)行系統(tǒng)Execution System即可打開執(zhí)行系統(tǒng)的配置畫面。在右側(cè)窗口中為不同的任務(wù)添加程序即可,配置完成后,重新編譯項(xiàng)目。可以參考下載中心應(yīng)用文檔編號(hào)A0471來 獲得更多與執(zhí)行系統(tǒng)相關(guān)的信息。文檔名稱SIMOTION 的任務(wù)執(zhí)行機(jī)制及系統(tǒng)時(shí)鐘 ,下載網(wǎng)址: 在所有程序編寫并編譯完成后,再分配執(zhí)行系統(tǒng)。在SCOUT軟件中,雙擊D435圖51 分配執(zhí)行系統(tǒng)3.4連接HMI設(shè)備HMI(人機(jī)界面)可以通過P
42、ROFIBUS、IE或MPI網(wǎng)絡(luò)建立與SIMOTION設(shè)備的連接,HMI設(shè)備的組態(tài)需要使用WinCC Flexible軟件。在SIMOTION項(xiàng)目中添加HMI設(shè)備有兩種方式: HMI項(xiàng)目集成 在SIMOTION項(xiàng)目中通過打開SCOUT項(xiàng)目的網(wǎng)絡(luò)配置,在NetPro中插入HMI設(shè)備,可將WinCC Flexible項(xiàng)目集成到SIMOTION SCOUT項(xiàng)目中進(jìn)行編輯。 HMI項(xiàng)目獨(dú)立于SIMOTION項(xiàng)目在WinCC Flexible中使用項(xiàng)目向?qū)г凇癐ntegrate S7 Project”中選擇使用的SIMOTION項(xiàng)目,即可實(shí)現(xiàn)HMI與SIMOTION項(xiàng)目的集成。下面以使用第一種方式為例,
43、介紹在SIMOTION項(xiàng)目中插入HMI設(shè)備的配置過程。本項(xiàng)目中,HMI設(shè)備采用PC670,通過以太網(wǎng)與SIMOTION D435進(jìn)行通訊。在HMI上指示傳送帶、安全門、吹出器等設(shè)備的狀態(tài)。3.4.1配置網(wǎng)絡(luò)并插入HMI設(shè)備 首先使用STEP7-SIMATIC Manager打開D435_Beginner項(xiàng)目,點(diǎn)擊工具欄上的 按鈕打開網(wǎng)絡(luò)配置畫面。項(xiàng)目中已經(jīng)存在一個(gè)SIMOTION設(shè)備和PG/PC站。本項(xiàng)目中,PC機(jī)與SIMOTION D435的IE2接口連接在網(wǎng)絡(luò)Ethernet(1)上,并計(jì)劃將HMI設(shè)備PC670也連接到Ethernet(1)上。圖52 配置網(wǎng)絡(luò)SIMATIC HMI St
44、ation,并將其拖動(dòng)到主工作區(qū)。首先在右側(cè)目錄中找到Stations圖53 SIMATIC HMI StationPC 670 15” Key,并在General選項(xiàng)卡下修改設(shè)備名稱為RunTime_15Zoll,點(diǎn)擊OK。SIMATIC Panel PC 670 此時(shí)會(huì)自動(dòng)彈出HMI設(shè)備選擇的窗口,在窗口中選擇Panel PC圖54 選擇Panel PC 等待一段時(shí)間后,在工作區(qū)里就出現(xiàn)了新插入的HMI站。雙擊該站點(diǎn),打開硬件組態(tài)畫面,修改其通訊接口。CP Industrial Ethernet中找到。 刪掉第4行的CP5611,再在第1行添加一個(gè)HMI IE的接口。HMI IE可以在右側(cè)
45、硬件目錄中的SIMATIC HMI Station圖55 插入HMI IE 將HMI IE拖動(dòng)到框架中第1行,在彈出窗口中配置網(wǎng)絡(luò)連接的屬性,選擇網(wǎng)絡(luò)Ethernet(1)后,IP地址會(huì)自動(dòng)調(diào)整為網(wǎng)絡(luò)上未被占用的地址。點(diǎn)擊OK確認(rèn) 配置。圖56 設(shè)置HMI的網(wǎng)絡(luò)連接保存后再返回網(wǎng)絡(luò)組態(tài)畫面。圖57 網(wǎng)絡(luò)組態(tài)畫面保存并編譯配置。圖58 保存并編譯配置3.4.2配置連接、標(biāo)簽和HMI畫面 在網(wǎng)絡(luò)配置完成后,返回Step7-SIMATIC Manager主畫面,可以看到添加的HMI站。圖59 項(xiàng)目中添加的HMI站Connection (Verbindungen),在右側(cè)窗口中雙擊Connection
46、(Verbindungen)即可以打開WinCC Flexible軟件。在右側(cè)網(wǎng)絡(luò)連接的配置畫面上,可以看到項(xiàng)目中已經(jīng)有一個(gè)PC670與SIMOTION設(shè)備的連接,將現(xiàn)有的以太網(wǎng)連接改為激活狀態(tài) (Active一列改為On),并修改連接名稱為D435。此時(shí)畫面如下圖所示,網(wǎng)絡(luò)連接的配置數(shù)據(jù),比如通訊接口、地址等會(huì)自動(dòng)從之前的網(wǎng)絡(luò)組態(tài)中獲 得。Communication(Kommunikation) 依次打開其中的RunTime_15Zoll圖60 HMI網(wǎng)絡(luò)連接ActualVelocity中找到。在選擇所需要的變量以后,系統(tǒng) 會(huì)自動(dòng)生成Tag的名稱、數(shù)據(jù)類型、地址等信息。MotionState
47、DataConveyorBeltTOsD435SIMOTION DTags可以打開標(biāo)簽的配置畫面,直接在右側(cè)窗口中Symbol一列的下拉菜單中,可以瀏 覽到SIMOTION項(xiàng)目中所有可能連接的系統(tǒng)變量和全局變量,比如Conveyorbelt軸的實(shí)際速度可以在 D435_Beginner在WinCC Flexible軟件中,依次打開Communication圖61 HMI中的變量 根據(jù)項(xiàng)目要求,插入其他Tag。 最后完成畫面繪制。在WinCC Flexible中,依次打開ScreensAdd Screen可以插入一個(gè)畫面。使用右側(cè)工具欄中提供的工具,完成畫面的繪制,最后如下圖所示。圖62 HMI畫面畫面繪制完成以后,保存、編譯項(xiàng)目并向HMI設(shè)備下載即可。4 項(xiàng)目實(shí)例 參考附件壓縮文件:ExampleForBeginners.zip( 6810 KB )SINAMICS S120大功率整流回饋單元SLM 進(jìn)線斷路器的聯(lián)鎖控制推薦文檔: 西門子工程師推
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度浙江省二級(jí)造價(jià)工程師之建設(shè)工程造價(jià)管理基礎(chǔ)知識(shí)通關(guān)試題庫(kù)(有答案)
- 心理健康疏導(dǎo)課件
- 腫瘤標(biāo)志物的臨床意義
- 正常孩子的日常護(hù)理
- 反恐安全意識(shí)培訓(xùn)教材
- 校園防火安全教育
- 高考物理核心考點(diǎn)考前沖刺 勻變速直線運(yùn)動(dòng)位移與時(shí)間的關(guān)系(含解析)
- 幼兒園小班數(shù)學(xué)《小幫手》課件
- 幼兒園小班美術(shù)教案《花被子》
- 消防急救技能培訓(xùn)
- 2025年河南省中考地理試題(含答案)
- 人教鄂教版六年級(jí)下冊(cè)科學(xué)期末專題訓(xùn)練:實(shí)驗(yàn)題、綜合題(含答案)
- 2025屆湖北省武漢市武昌區(qū)南湖中學(xué)英語(yǔ)七年級(jí)第二學(xué)期期末達(dá)標(biāo)檢測(cè)試題含答案
- 2025年度安全生產(chǎn)月培訓(xùn)課件
- 2025課件:紅色基因作風(fēng)建設(shè)七一黨課
- 2025春季學(xué)期國(guó)開電大本科《人文英語(yǔ)4》一平臺(tái)機(jī)考真題及答案(第七套)
- 2025年河北省萬(wàn)唯中考定心卷生物(一)
- 國(guó)家開放大學(xué)《中文學(xué)科論文寫作》形考任務(wù)1-4參考答案
- 長(zhǎng)輸管道工程施工組織設(shè)計(jì)
- SAP-SD信用管理實(shí)施總結(jié)
- 最新2022年監(jiān)理工程旁站及平行檢驗(yàn)項(xiàng)目列表
評(píng)論
0/150
提交評(píng)論