版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档精品文档如何创建和参数化UDT数据类型中的变量及IN,OUT,IN_OUT参数?说明:从数据类型的意义上说UDT并不被CPU所识别,而是在离线程序中自定义(组合)的数据类型。S7程序的自定义数据类型并不能装载到S7CPU中。UDT是由递增的编辑器创建并编辑或由源文件的编译而生成。当在块调用中进行变量传递时是不能将UDT作为内存地址区域来传递的。因此推荐将传递的变量指定为字节数据类型并与其数据长度相一致,或者使用UDT的符号名来定义IN,OUT和IN_OUT参数,因为系统将自动生成相对应的地址。下表介绍了如何创建和参数化UDT类型变量的过程。我们将以两组各十台相同的电机为例。UDT1对应这些电机的所有输入变量。序号步骤1在STEP7项目中插入自定义数据类型。如图01鼠标选中“block”文件夹并点击右键,再弹出菜单中选择命令InsertNewObject>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并输入相关数据类型的变量及其初始值。图03为UDT1变量声明的例子。□灯|c|斜|少|冋先阂》!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项目中添加一个数据块DB1,并在“Properties-DataBlock”属性对话框中为其定义符号名(例如此例为“Halle_Motoren”(Hall-Motors))。点击OK确认。图04打开DB1将变量数据类型定义为UDT1(符号名“Motor”)。例如图055所示:两个数组(ARRAY)变量,每组包括10个以UDT1为数据类型的变量(编号1到10)。
4.04.0图05LAD/STL/FBD-[DB1--”HBllo_MotorEn”-UDT_ProjektVSIMATIC300(1)\CPU31QFileEditInsertPLCDebugViewOptionsWindowHelp选择菜单命令“View>DataView”可显示所有DB1数据。由于此例两组电机是独立的,所以在DB1中要为每一组电机创建数据结构。例如第一组的数据结构定义为数据类型为UDT14.04.0图05LAD/STL/FBD-[DB1--”HBllo_MotorEn”-UDT_ProjektVSIMATIC300(1)\CPU31QFileEditInsertPLCDebugViewOptionsWindowHelp选择菜单命令“View>DataView”可显示所有DB1数据。由于此例两组电机是独立的,所以在DB1中要为每一组电机创建数据结构。例如第一组的数据结构定义为数据类型为UDT1的数组“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釧目务|釧遂|汕回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釧目务|釧遂|汕回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注意事项:在数据块中变量定义为UDT情况下只能对实际值进行编辑。即可以在数据块的数据视图中输入变量的当前值。初始值“InitialValue”纵栏显示的是在定义UDT变量时所设的初值。只是在DB块第一次存储时将初值作为当前值。为FC或FB定义UDT1类型的IN参数创建FB或FC时,可以定义UDT1(Motor)类型的IN参数,如图07所示。例如,与操作语句:“UOn)例如,与操作语句:“UOn)#Eingabe.Einschalten"(A#Input.SwitchEingabe:FC1的IN参数变量•Einschalten:UDT1中的一个变量名^^LAD/STUEBD-[FCV-P_UDnSIMAfjp300(13^-2DljjOFileEditInsertPLCDebugViewOptionsWindowHelp•X侮•引営|咕|□H:S]]|釧冋务知CantentsOf:1EnviroiiiLLent\InterfsInterfaceNameDataTjqpeCojTwnentEingaLieHot-or~gahe••••旦-t=]-t=]-taOUT<"「匸【FCl:Title:FetiTOrkJNotausTeiiiperatu]Jl>:Title:UTIMUNUUN#Eingal:ie.Einschalt-enftEingahim.EUTIMUNUUNftEiiiga}:ie-TeiiiperaturIRiT40图07UDT数据类型同样适用于OUT和IN_OUT参数,方法同上。数据块DB1的寻址及编程图08所示为变量定义为UDT1类型数据结构的DB1的编程例子。例如与操作:U“Halle_Motoren”Halle_l_Motor[2].Einschalten(“UHall_Motors.Hall_1_Motor[2].SwitchOn)Halle_Motoren:DB1的符号名Halle_l_Motor[2]:DB块数组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中参数化IN参数当调用FC1时,UDT类型的输入变量必须赋值,例如可以用如下语句将第一组电机地址指针赋给输入参数。“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詁创匐黑淹1*B|也c刚釧河先|卅|!纟ContentsOf:1Envirotiiiient.\Interfat-辽£InterfaceName+瘙TEHPTEHP0E1:"HainPrograniSweep(Cycle)fet-iiorkCALLFC1EingmljE!:=丄丄□匸口芝总吐”.Ha丄丄□匸口]:[丄]PltDEl_DEXO.U图09这种参数化过程同样适用于定义为UDT类型的OUT和IN—OUT参数的其它变量。在交叉参考表中可以显示S7用户程序所用地址及应用(例如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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河北省保定市部分高中2024-2025学年高一上学期11月期中物理试题 含解析
- 2024年度云服务租赁合同
- 关于土地纠纷调解的协议书
- 交通事故赔偿协议书模板10篇
- 2024年国内公路建设施工服务协议版B版
- 2024年企业股权转换协议样本版
- 2024年邢台道路客运从业资格证考试模拟试题
- 双方调解协议书范本8篇
- 2024年陕西考客运资格证答题技巧和方法
- 2024年呼和浩特客运从业资格证模拟考试题库答案解析
- AEAS词汇语法模拟试题-澳洲原版教材50题精选
- 产品质量异常处理流程图
- 道路运输企业风险辨识风险分级管控制度(16页)
- 半导体专业用语
- 武汉大学考博推荐信
- 火力发电厂建筑设计防火要点释疑
- BOT项目运作程序及建设报批流程(政府各级部门)
- 建筑防火设计_课程设计报告书
- ESD防护控制流程图及要求
- AGSt品牌保护程序和表格最新版完整
- 最新整理土木工程监理社会调查报告
评论
0/150
提交评论