版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
精品文檔精品文檔如何創(chuàng)建和參數(shù)化UDT數(shù)據(jù)類型中的變量及IN,OUT,IN_OUT參數(shù)?說明:從數(shù)據(jù)類型的意義上說UDT并不被CPU所識別,而是在離線程序中自定義(組合)的數(shù)據(jù)類型。S7程序的自定義數(shù)據(jù)類型并不能裝載到S7CPU中。UDT是由遞增的編輯器創(chuàng)建并編輯或由源文件的編譯而生成。當在塊調(diào)用中進行變量傳遞時是不能將UDT作為內(nèi)存地址區(qū)域來傳遞的。因此推薦將傳遞的變量指定為字節(jié)數(shù)據(jù)類型并與其數(shù)據(jù)長度相一致,或者使用UDT的符號名來定義IN,OUT和IN_OUT參數(shù),因為系統(tǒng)將自動生成相對應(yīng)的地址。下表介紹了如何創(chuàng)建和參數(shù)化UDT類型變量的過程。我們將以兩組各十臺相同的電機為例。UDT1對應(yīng)這些電機的所有輸入變量。序號步驟1在STEP7項目中插入自定義數(shù)據(jù)類型。如圖01鼠標選中“block”文件夾并點擊右鍵,再彈出菜單中選擇命令I(lǐng)nsertNewObject>DataType。--2圖01□_DFileEditInsertPLCViewOptionsWindowHelp麗|謁勢|為|噩||鈕可電-爲UDT_ProjektSymbolicnameGreatHalleMotorenVariableTableGSIMATICManager-UDT_Projekt瓏UDT_Projekt-尸:岳止MENSVSTEP7\s7proj\UDT_ProjBausteine|DataTypeCtrl+XCtrl+CCtrl+VSTLSTLDBSTLCutCopyPaste在"Properties-DataType"對話框中輸入UDT1的符號名(這里以"Motor"為例)后點擊OK確認。SIMATIC300(1)UCPU315-2DP-2ZJS7-Programm(1)_DJQuellenA蠱pIHE<NoFilter>Objectname蠡SystemdatenO-0B1O-FC1O-DB1尸JI」□T■!DeleteDelInsertNewObject"IPLC?Rewire...CompareBlocks...RefereneeData?匚heckBlock匚onsistency,..Print?RenameF2ObjectProperties...Alt+ReturnSpecialObjectProperties?OrganizationBlockFunctionEib匚kFunctionDataBlockOKHeIpEl-JIjSTRUCT圖02?|x|個|沁ITl^lbnF^operties-DataType3打開UDT1并輸入相關(guān)數(shù)據(jù)類型的變量及其初始值。圖03為UDT1變量聲明的例子?!鯚魘c|斜|少|(zhì)冋先閡》!I哩STRUCTBOOLFALSEBOOLFALSEBOOLFALSEBOOLFALSEBOOLFALSEBOOLFALSETiJOPI:-W#16#0=4.0hJs]■AddressNameInitialvalue+CL0Einschalten+D.丄Stcp+0Ereiiisen+0.3P.echtslauf+0.4Liiiks1auf+0.5Notaus+£?0TemperaturProjectPath:DAProgramFiles\Siemens\Step7\s7proi\P_UDTInterface01/22/200709:54:34AMComment:CancelStoragelocationofproject:Datecreated:Lastmodified:P_UDT\SIMATIC300(1]\CPU315-2DP\S7-Programm(1)\Bausteine\UDT1Code01/22/200709:51:41AM01/22/200709:54:34AM口FileEditInsertPLCDebugViewOptionsWindowHelpLAD/STL/FBD-[UDT1-"Motor"UDT_Projekt\SIMATIC300(1)\CPU315-2DP\...Name:UDT1Symbolic忖ame:MotorSymbolComment:「General-Part1General-Part2CallsAttributes圖03然后通過菜單命令“Insert>S7Block>DataBlock”在STEP7項目中添加一個數(shù)據(jù)塊DB1,并在“Properties-DataBlock”屬性對話框中為其定義符號名(例如此例為“Halle_Motoren”(Hall-Motors))。點擊OK確認。圖04打開DB1將變量數(shù)據(jù)類型定義為UDT1(符號名“Motor”)。例如圖055所示:兩個數(shù)組(ARRAY)變量,每組包括10個以UDT1為數(shù)據(jù)類型的變量(編號1到10)。
4.04.0圖05LAD/STL/FBD-[DB1--”HBllo_MotorEn”-UDT_ProjektVSIMATIC300(1)\CPU31QFileEditInsertPLCDebugViewOptionsWindowHelp選擇菜單命令“View>DataView”可顯示所有DB1數(shù)據(jù)。由于此例兩組電機是獨立的,所以在DB1中要為每一組電機創(chuàng)建數(shù)據(jù)結(jié)構(gòu)。例如第一組的數(shù)據(jù)結(jié)構(gòu)定義為數(shù)據(jù)類型為UDT14.04.0圖05LAD/STL/FBD-[DB1--”HBllo_MotorEn”-UDT_ProjektVSIMATIC300(1)\CPU31QFileEditInsertPLCDebugViewOptionsWindowHelp選擇菜單命令“View>DataView”可顯示所有DB1數(shù)據(jù)。由于此例兩組電機是獨立的,所以在DB1中要為每一組電機創(chuàng)建數(shù)據(jù)結(jié)構(gòu)。例如第一組的數(shù)據(jù)結(jié)構(gòu)定義為數(shù)據(jù)類型為UDT1的數(shù)組“Array[1..10]”,符號名為“Halle丄Motor”。cSTRUCTAP.PAY[1__10]"Motor=80.0EI-JIjSTP.UCTAddressName+CL0Halle_l_H.=.tcrAP.PAY[1__10]+40.0Type6QFileEditInsertPLCDebugViewOptionsWindowHelp□|a|詁舊|冒|為淹|直|十|斜i釧目務(wù)|釧遂|汕回NameTypeAddressHallelHotor[1].StopHalle1Hotor[1].EremsenHalle1Hotor[1].P.echtslaufHalle1Hotor[1].Link31aufHalle1Hotor[1].NotausHal1elHotcr[1].TeiiiperaturHallelHotor[Z].StopHalle1Hotor[Z].EremsenHal1e1Hotcir[Z].P.echtslaufHalle1Hotor[2].Link31aufHalle1Hotor[Z].NotausHal1elHot?jr[2].TeiiiperaturHallelHot.or[3].St-opHalle1Hotor[3].EremsenHalle1Hotor[3].P.echts1aufHalle1Hotor[3].Links1aufHalle1Hot?jr[3].NetausHalle1Hotor[1].Einscha丄七enHalle1Hot?jr[2].Einschai七enHalle1Hotor[3].EinschaitenEOOLEOOLEOOLEOOLEOOLEOOLWOPPEOOLEOOLEOOLEOOLEOOLEOOLUOPI:'EOOLEOOLEOOLEOOLEOOLEOOLFALSEFALSEFALSEFALSEFALSEFALSEWlbttOFALSEFALSEFALSEQFileEditInsertPLCDebugViewOptionsWindowHelp□|a|詁舊|冒|為淹|直|十|斜i釧目務(wù)|釧遂|汕回NameTypeAddressHallelHotor[1].StopHalle1Hotor[1].EremsenHalle1Hotor[1].P.echtslaufHalle1Hotor[1].Link31aufHalle1Hotor[1].NotausHal1elHotcr[1].TeiiiperaturHallelHotor[Z].StopHalle1Hotor[Z].EremsenHal1e1Hotcir[Z].P.echtslaufHalle1Hotor[2].Link31aufHalle1Hotor[Z].NotausHal1elHot?jr[2].TeiiiperaturHallelHot.or[3].St-opHalle1Hotor[3].EremsenHalle1Hotor[3].P.echts1aufHalle1Hotor[3].Links1aufHalle1Hot?jr[3].NetausHalle1Hotor[1].Einscha丄七enHalle1Hot?jr[2].Einschai七enHalle1Hotor[3].EinschaitenEOOLEOOLEOOLEOOLEOOLEOOLWOPPEOOLEOOLEOOLEOOLEOOLEOOLUOPI:'EOOLEOOLEOOLEOOLEOOLEOOLFALSEFALSEFALSEFALSEFALSEFALSEWlbttOFALSEFALSEFALSEFALSEFALSEFALSEWlbttOFALSEFALSEFALSEFALSEFALSEFALSEFALSE^HFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSEW16#0FALSEFALSEFALSEFALSEFALSEFALSEInitialvaliActualv圖06注意事項:在數(shù)據(jù)塊中變量定義為UDT情況下只能對實際值進行編輯。即可以在數(shù)據(jù)塊的數(shù)據(jù)視圖中輸入變量的當前值。初始值“InitialValue”縱欄顯示的是在定義UDT變量時所設(shè)的初值。只是在DB塊第一次存儲時將初值作為當前值。為FC或FB定義UDT1類型的IN參數(shù)創(chuàng)建FB或FC時,可以定義UDT1(Motor)類型的IN參數(shù),如圖07所示。例如,與操作語句:“UOn)例如,與操作語句:“UOn)#Eingabe.Einschalten"(A#Input.SwitchEingabe:FC1的IN參數(shù)變量?Einschalten:UDT1中的一個變量名^^LAD/STUEBD-[FCV-P_UDnSIMAfjp300(13^-2DljjOFileEditInsertPLCDebugViewOptionsWindowHelp?X侮?引営|咕|□H:S]]|釧冋務(wù)知CantentsOf:1EnviroiiiLLent\InterfsInterfaceNameDataTjqpeCojTwnentEingaLieHot-or~gahe????旦-t=]-t=]-taOUT<"「匸【FCl:Title:FetiTOrkJNotausTeiiiperatu]Jl>:Title:UTIMUNUUN#Eingal:ie.Einschalt-enftEingahim.EUTIMUNUUNftEiiiga}:ie-TeiiiperaturIRiT40圖07UDT數(shù)據(jù)類型同樣適用于OUT和IN_OUT參數(shù),方法同上。數(shù)據(jù)塊DB1的尋址及編程圖08所示為變量定義為UDT1類型數(shù)據(jù)結(jié)構(gòu)的DB1的編程例子。例如與操作:U“Halle_Motoren”Halle_l_Motor[2].Einschalten(“UHall_Motors.Hall_1_Motor[2].SwitchOn)Halle_Motoren:DB1的符號名Halle_l_Motor[2]:DB塊數(shù)組2的變量Einschalten:UDT1中的一個變量名fet^iork:J:TitleU"Halle_Hotoren".Halls1_Motor[£].EinschaltenDE丄.DBX4-TJN"HalleHotorph.".Halle1Motor[£].StopDB1-DBX4.UN"HalleHotoren".Halle1Motor[Z].E:remssnDE丄.DBX4-U"HalleHotoren".Halle1Motor[£].P.echtslaufDE丄.DBX4-UN"HalleHotorph.".Halle1Motor[2].LiiikslaufDB1.DBX4-UN"HalleHotoren".Halle1Motor[£].NotausDE:丄.DBX4-=H1CL£L"Halle_Hotoren".Halle1_Motor[Z].TeiiiperaturDE:丄.DBW6TMW50FCZ:Title:o1Z345圖089在FC或FB中參數(shù)化IN參數(shù)當調(diào)用FC1時,UDT類型的輸入變量必須賦值,例如可以用如下語句將第一組電機地址指針賦給輸入?yún)?shù)。“Halle_Motoren".Halle_l_Motor[l](“Hall_Motors".Hall—l—Motor[l])LAD/STLZEBD£001_-PJJDTkSIMA'QC300(1)?:?11-31DP]口FileEditInsertF'LCDebugViewOptionsWindowHelp?H漁|銅13|垢]|□3詁創(chuàng)匐黑淹1*B|也c剛釧河先|卅|!纟ContentsOf:1Envirotiiiient.\Interfat-遼£InterfaceName+瘙TEHPTEHP0E1:"HainPrograniSweep(Cycle)fet-iiorkCALLFC1EingmljE!:=丄丄□匸口芝總吐”.Ha丄丄□匸口]:[丄]PltDEl_DEXO.U圖09這種參數(shù)化過程同樣適用于定義為UDT類型的OUT和IN—OUT參數(shù)的其它變量。在交叉參考表中可以顯示S7用戶程序所用地址及應(yīng)用(例如DB1)的列表。
I雷S7-Programm(1)(Cross-references)--UDT_TestASIMAJ^aOOtl)\CP|J314C-2PtP13:ISAddress(symbol)BlockTypLanquagLocationDB1.DBBO(HalleMotoren.HallelMotor)OBIR5TLNW1Sta1AALLDB1.DBXO.0(HalleMotoren.HallelMotor[l].Einschalten)FC1R.5TLNW1Sta9/LDB1.DBXO.1(HalleMotoren.HallelMotor[l].Stop)FC1R5TLNW1Sta10/LNDB1.DBXO.2(HalleMotoren.Hallel
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 七年級生物下冊 4.6.1 人體對外界環(huán)境的感知教學實錄1 (新版)新人教版
- 辭職申請書集錦15篇
- 植樹節(jié)演講稿范文錦集8篇
- 全國人教版信息技術(shù)八年級下冊第二單元第8課《創(chuàng)建操作按鈕》教學實錄
- 2024秋八年級英語上冊 Unit 2 How often do you exercise Section A(1a-2d)教學實錄 (新版)人教新目標版
- 我的心愛之物作文素材大全10篇
- 2024年度水電設(shè)施安裝與調(diào)試合同屋3篇
- 本科畢業(yè)自我鑒定
- 二年級語文下冊 課文5 17 要是你在野外迷了路教學實錄 新人教版
- 江蘇省興化市高中地理 第二章 城市與城市化 2.2 不同等級城市的服務(wù)功能教學實錄 新人教版必修2
- 馬克思主義基本原理+2024秋+試題 答案 國開
- 《地震災(zāi)害及其防治》課件
- 2023年深圳市云端學校應(yīng)屆生招聘教師考試真題
- 全國園地、林地、草地分等定級數(shù)據(jù)庫規(guī)范1123
- 建設(shè)項目全過程工程咨詢-終結(jié)性考試-國開(SC)-參考資料
- 藥品經(jīng)營使用和質(zhì)量監(jiān)督管理辦法2024年宣貫培訓課件
- 如何高效學習學習通超星期末考試答案章節(jié)答案2024年
- 寧夏銀川一中2024-2025學年高一數(shù)學上學期期末考試試題
- 國家開放大學《合同法》章節(jié)測試參考答案
- 【全國】2023年4月自學考試11742商務(wù)溝通方法與技能真題
- 等傾、等厚干涉的研究及應(yīng)用
評論
0/150
提交評論