资源描述
Cliquez pour modifier le style de titre du,Unity training course-V2.0-Module 3.4:Variables,Cliquez pour modifier les styles de texte du masque,Second niveau,Troisime niveau,Quatrime niveau,Cinquime niveau,*,第五章,变量及数据,变量,变量,是在程序执行期间可以修改的以,BOOL,WORD,DWORD,等为类型的内存实体,。,定位变量,是或者,与,I/O,模块输入输出通道相关联的变量,或者是与内存引用相关联的变量.例如,变量,Water_pressure,与内存字%,MW102,相关联.,Water_pressure,就是定位变量.,非定位变量,是既不与,I/O,模块也不与内存引用相关联的变量(其在存储器内的位置不可知).没有与地址关联的变量为非定位变量.,变量,(续),公共变量,是应用于功能块的变量.这些变量把数值传递到功能块.它们用于设定功能块参数.,私有变量,是一些功能块使用的变量.这些变量不能通过应用程序存储.,I/ODDT,是输入/输出导出数据类型,(,Input/Output Derived Data Type),的缩写.,I/ODDT,设计为结构化数据类型,代表一个,PLC,模块的通道.每个专用模块拥有它自己的,I/ODDT.,常数,是 位于常数域(%,K),中的,INT,DINT,或,REAL,类型变量,或直接寻址变量(%,KW,%KD,或%,KF).,在程序执行期间不能修改.,变量(续),每个变量在使用之前需要通过变量数据编辑器定义:,-,I/O,模块的,I/O Objects,对话框中,-既可以单独定义,或者双击结构树内,Variables&FB instance,.,-也可以在编程时定义,双击输入/输出管脚.,每个变量必须定义数据类型.,Unity Pro,软件提供基本和导出的数据类型,.,通用数据类型和范围,BOOL/EBOOL,:,布尔变量必须为,FALSE(0),或,TRUE(1).EBOOL,处理强制和边沿检测,WORD,:,代表“位串16”,意味着数据长度为 16 位,INT,:,代表整型数.数值范围从-32768 至+32767,UINT,:,代表无符号整型数.数值范围从 0 至 65535,REAL,:,代表浮点值.数值范围从-3.40,e+38,至 3.40,e+38,输入文本型数值,文本型数值用于给管脚赋值,或给变量赋值常数,但不意味着可以由程序更改.,可以输入文本型数值,二进制 2#1111111111111111,八进制 8#177777,十进制 65535(不需要 10#),十六进制 16#,FFFF,以上数值都相等,它们只是输入格式不同,变量名称,最长 32 个字符,可以以数字开头,非定位变量,不带硬件地址的标签名称,非定位变量不能周期设定.如果在项目中需要周期设定变量,使用定位变量,定位变量,带硬件地址的标签名称(静态,RAM),常量,具有写保护功能的变量,用于给变量赋固定值,配置,寻址和变量赋值,硬件 状态内存 变量列表 程序,直接寻址,每个直接地址有一个在序列中指示位置的参考值,或者是输入地址(只读)或者是输出地址(读/写).,0,x/%QXx,区域=位输出(离散)例 1:000001 是离散输出1 例 2:%,QX00001,是输出位 1,1,x/%IXx,区域=位输入(离散)例 1:100017 是离散输入 17 例 2:%,IX00017,是输入位 17,3,x/%IWx,区域=寄存器输入,例 1:300300 是寄存器输入 300 例 2:%,IW000300,是输入字 300,4,x/%QWx,区域=寄存器输出,例 1:400029 是寄存器输出 29 例 2:%,QW00029,是输出字 29,变量和,FB,实例目录,存储,变量,(基本和导出)和功能块实例,编辑变量,在,同一个工具中,作变量的类型定义和实例声明,3,标识符,非定位变量,数据类型,定位变量,双击单元进入编辑模式,2,1,过滤,通用类型(,EDT,.),或变量名称可以直接过滤,使用变量属性的漏斗过滤器(,类型,注释,地址,.),1,2,3,配置显示列,配置显示列,用户可以根据需要来配置想要显示的变量参数列.,列的显示顺序可以通过右侧按钮调整,选中名称前面的检查框可以显示相关列,.,1,2,1,2,数据属性(续),变量的所有参数可以在数据属性窗口中显示,.,编辑数据类型,数据类型可以从以前使用过的类型列表中选择,或通过按 按钮从变量类型中直接选择,2,1,1,2,IODDT,使用完整的,I/O,结构数据将模块通道映射到变量上,1,2,3,4,5,编辑导出功能块(,DFB),定义用户功能块类型,1,2,3-,DFB,程序段,4,编辑功能块(,EFB,DFB),使用功能块实例,1,2,导出数据类型,定义数组或结构类型,1,2,3,变量类型(,DDT),使用数组或结构实例,4,导出功能,可以使用不同选项导出整个程序段:,包含导出数据类型(,DDT),包含导出功能块(,DFB),包含子程序,1,2,3,1,2,3,导出功能(续),DDT,或,DFB,实例可以与相关类型同时导出,便于在新程序中的重复使用,导出,DDT,变量类型,导出,DFB,变量类型,1,2,2,1,导入功能,使用向导,可以改变变量、程序段的命名,.或映射地址,可以导入应用程序的部分或全部.,Unity Pro,提供,两种导入模式,:,直接导入,组件导入与导出时的状态完全相同.,通过导入向导(1),可以修改变量,程序段的名称,以及改变映射的地址.,在程序中编辑,变量可以在任何编辑器直接创建:,当输入变量时,智能分析器检查可用性,如果变量不存在,会弹出窗口,建议用户创建变量,可以在编辑器中调用数据属性窗口以显示和修改对象属性,窗口在选择时更新,I/O,对象,在硬件配置中提供新的服务,选择和显示由模块或,CPU,管理的所有对象,单击创建,IODDT,或拓扑,EDT,变量,预先使用一组,IODDT,变量或拓扑,EDT,变量符号,显示应用中使用的,I/O,对象,I/O,对象编辑,选择对象类型,更新网格表,选择其中一部分,定义前缀,创建变量,5,4,3,2,1,I/O,对象的人机工程学,I/O,对象在变量中映射或在程序中使用的采用粗体显示,可以只关注使用过的变量:点击,Filter on usage,按钮,实 验,实验一,步骤,动作,1,双击,Variables&FB instances,文件夹,访问数据编辑器,。,2,作下述定位变量定义:,为本地机架的,140,ACI 04000,的第,16,个通道定义1个变量,变量名为,anain,_16,(,提示,变量地址为,%IW1.4.16,或者,%,IW36,,,数据类型为,INT,),为本地机架的,140,DDO 35300,的第,32,个通道定义1个变量,变量名为,disout,_32,(,提示,变量地址为,%Q1.5.32,或者,%,M64,,,数据类型为,EBOOL,),为,RIO,机架的,140,ACO 13000,的第,8,个通道定义1个变量,变量名为,anaout,_8,(,提示,变量地址为,%QW2.21.2.8,或者,%,MW17,,,数据类型为,EBOOL,),为,DIO,机架的,140,DDI 35300,的第,32,个通道定义1个变量,变量名为,disin,_32,(,提示,变量地址为,%I3.11.2.32,或者,%,I96,,,数据类型为,EBOOL,),定义一个变量,VAR1,,,类型为,REAL,,,地址为,%,MW50,。,定义一个变量,VAR2,,,类型为,EBOOL,,,地址为,%,M50,。,3,作下述非定位变量定义:,定义变量,RUN、STOP、BOX、RUNNING、flash,,,类型均为,EBOOL,定义变量,TIMER1,,,类型为,TIME,定义变量,COUNTER1,,,类型为,UDINT,定义变量,reset1,,,类型为,BOOL,基本变量的定义,实验二,步骤,动作,1,双击,Variables&FB instances,文件夹,访问数据编辑器,。,2,定义一个包含16个 元素的,Word,类型的数组,变量名为,VAR3,,,首地址为,%,MW150,。,3,选择,DDT Types,选项卡,定义一个导出数据类型,MOTOR,,,包含下列元素:,Motor_Start,,,BOOL,类型,Motor_Stop,,,BOOL,类型,Motor_running,,,BOOL,类型,Motor_ Delay,,,TIME,类型,Motor_Counter,,,UDINT,类型,4,选择,Variables,选项卡,定义一个变量,VAR4,,,数据类型为,MOTOR,,,首地址为,%,MW180,5,修改导出数据类型,MOTOR,,,添加一个元素为,Motor,_,Speed,,,数据类型为,Real,。,6,右键,MOTOR,,,选择,Analyze Type,,,观察变量,VAR4,的元素及地址变化。,复杂数据类型和变量的定义,
展开阅读全文