第五章
变量及数据
Unity training course - V2.0 - Module 3.4 : Variables
1
变量
 变量是在程序执行期间可以修改的以BOOL, WORD, DWORD等为类
型的内存实体。
 定位变量是或者与I/O模块输入输出通道相关联的变量,或者是与内存
引用相关联的变量.
例如, 变量 Water_pressure 与内存字 %MW102相关联.
Water_pressure 就是定位变量.
 非定位变量是既不与I/O模块也不与内存引用相关联的变量 (其在存储
器内的位置不可知). 没有与地址关联的变量为非定位变量.
Unity training course - V2.0 - Module 3.4 : Variables
2
变量 (续)
 公共变量是应用于功能块的变量. 这些变量把数值传递到功能块. 它们
用于设定功能块参数.
 私有变量是一些功能块使用的变量. 这些变量不能通过应用程序存储.
 I/ODDT 是输入/输出导出数据类型(Input/Output Derived Data Type)
的缩写. I/ODDT 设计为结构化数据类型,代表一个PLC模块的通道.
每个专用模块拥有它自己的 I/ODDT.
 常数是 位于常数域 (%K)中的INT, DINT 或 REAL 类型变量, 或直接寻
址变量 (%KW, %KD, 或 %KF). 在程序执行期间不能修改.
Unity training course - V2.0 - Module 3.4 : Variables
3
通用数据类型和范围
 BOOL/EBOOL : 布尔变量必须为 FALSE (0) 或 TRUE (1). EBOOL 处
理强制和边沿检测
 WORD : 代表 “位串16”, 意味着数据长度为 16 位
 INT : 代表整型数. 数值范围从 -32768 至 +32767
 UINT : 代表无符号整型数. 数值范围从 0 至 65535
 REAL : 代表浮点值. 数值范围从 -3.40e+38 至 3.40e+38
Unity training course - V2.0 - Module 3.4 : Variables
5
输入文本型数值
 文本型数值用于给管脚赋值, 或给变量赋值常数, 但不意味着可以由程序
更改.
 可以输入文本型数值
 二进制 2#1111111111111111
 八进制 8#177777
 十进制 65535 (不需要 10# )
 十六进制 16#FFFF
以上数值都相等, 它们只是输入格式不同
Unity training course - V2.0 - Module 3.4 : Variables
6
变量名称
 最长 32 个字符, 可以以数字开头
非定位变量
 不带硬件地址的标签名称
 非定位变量不能周期设定. 如果在项目中需要周期设定变量,使用定
位变量
定位变量
 带硬件地址的标签名称 (静态 RAM)
常量
 具有写保护功能的变量
 用于给变量赋固定值
Unity training course - V2.0 - Module 3.4 : Variables
7
配置, 寻址和变量赋值
硬件
Unity training course - V2.0 - Module 3.4 : Variables
状态内存
变量列表
程序
8
直接寻址
 每个直接地址有一个在序列中指示位置的参考值,或者是输入地址 (
只读) 或者是输出地址 (读 / 写).
 0x / %QXx 区域 = 位输出 (离散) – 例 1: 000001 是离散输出1 –
例 2: %QX00001 是输出位 1
Unity training course - V2.0 - Module 3.4 : Variables

1x / %IXx 区域 = 位输入 (离散) – 例 1: 100017 是离散输入 17 –
例 2: %IX00017 是输入位 17

3x / %IWx 区域 = 寄存器输入, – 例 1: 300300 是寄存器输入 300
– 例 2: %IW000300 是输入字 300

4x / %QWx 区域 = 寄存器输出, – 例 1: 400029 是寄存器输出 29
– 例 2: %QW00029 是输出字 29
9
变量和 FB 实例目录
 存储 变量 (基本和导出)和功能块实例
Unity training course - V2.0 - Module 3.4 : Variables
10
编辑变量
 在 同一个工具中作变量的类型定义和实例声明
3
标识符
2
非定位变量
双击单元进入编
辑模式
数据类型
1
Unity training course - V2.0 - Module 3.4 : Variables
定位变量
11
过滤
 通用类型 (EDT, ...) 或变量名称可以直接过滤
 使用变量属性的漏斗过滤器 (类型, 注释, 地址,...)
1
Unity training course - V2.0 - Module 3.4 : Variables
2
3
12
配置显示列
 配置显示列
 用户可以根据需要来配置想要显示的变量参数列.
1
2
1
列的显示顺序可以通过右侧按钮调整
2
选中名称前面的检查框可以显示相关列
.
Unity training course - V2.0 - Module 3.4 : Variables
13
数据属性 (续)
 变量的所有参数可以在数据属性窗口中显示.
Unity training course - V2.0 - Module 3.4 : Variables
14
编辑数据类型
 数据类型可以从以前使用过的类型列表中选择
 或通过按 […] 按钮从变量类型中直接选择
1
Unity training course - V2.0 - Module 3.4 : Variables
1
2
2
15
IODDT
 使用完整的 I/O 结构数据将模块通道映射到变量上
5
2
1
3
4
Unity training course - V2.0 - Module 3.4 : Variables
16
编辑导出功能块 (DFB)
 定义用户功能块类型
4
1
2
Unity training course - V2.0 - Module 3.4 : Variables
3 - DFB 程序段
17
编辑功能块 (EFB, DFB)
 使用功能块实例
1
Unity training course - V2.0 - Module 3.4 : Variables
2
18
导出数据类型
 定义数组或结构类型
1
2
3
Unity training course - V2.0 - Module 3.4 : Variables
19
变量类型 (DDT)
 使用数组或结构实例
4
Unity training course - V2.0 - Module 3.4 : Variables
20
导出功能
 可以使用不同选项导出整个程序段:
1
1
包含导出数据类型 (DDT)
2
包含导出功能块 (DFB)
3
包含子程序
2
3
Unity training course - V2.0 - Module 3.4 : Variables
21
导出功能 (续)
 DDT 或 DFB 实例可以与相关类型同时导出,便
于在新程序中的重复使用
1
2
1
Unity training course - V2.0 - Module 3.4 : Variables
导出DDT变量类型
导出DFB变量类型
2
22
导入功能
 使用向导可以改变变量、程序段的命名,
... 或映射地址
 可以导入应用程序的部分或全部.
 Unity Pro 提供两种导入模式:
 直接导入, 组件导入与导出时的状
态完全相同.
 通过导入向导 (1), 可以修改变量,
程序段的名称, 以及改变映射的地
址.
Unity training course - V2.0 - Module 3.4 : Variables
23
在程序中编辑
 变量可以在任何编辑器直接创建 :
 当输入变量时, 智能分析器检查可用性
 如果变量不存在,会弹出窗口,建议用户
创建变量
 可以在编辑器中调用数据属性窗口以显示和修
改对象属性

Unity training course - V2.0 - Module 3.4 : Variables
窗口在选择时更新
24
I/O 对象
 在硬件配置中提供新的服务
 选择和显示由模块或CPU 管理的所有对象
 单击创建 IODDT 或拓扑 EDT 变量
 预先使用一组 IODDT 变量或拓扑EDT变
量符号
 显示应用中使用的 I/O 对象
Unity training course - V2.0 - Module 3.4 : Variables
25
I/O 对象编辑
1 选择对象类型
2 更新网格表
3 选择其中一部分
4 定义前缀
5 创建变量
Unity training course - V2.0 - Module 3.4 : Variables
26
I/O 对象的人机工程学
 I/O 对象在变量中映射或在程序中使用的采用粗体显示
 可以只关注使用过的变量 :点击 Filter on usage 按钮
Unity training course - V2.0 - Module 3.4 : Variables
27
实
Unity training course - V2.0 - Module 3.4 : Variables
验
28
实验一
 基本变量的定义
步骤
动作
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
(提示,变量地址为%QW\2.2\1.2.8 或者 %MW17,数据类型为 EBOOL )
为 DIO 机架的140 DDI 35300 的第32个通道定义1个变量,变量名为 disin_32
(提示,变量地址为%I\3.1\1.2.32 或者 %I96,数据类型为 EBOOL )
 定义一个变量 VAR1,类型为 REAL, 地址为 %MW50。
 定义一个变量 VAR2,类型为 EBOOL, 地址为 %M50。
3
作下述非定位变量定义:
 定义变量 RUN、 STOP、 BOX 、RUNNING、flash,类型均为 EBOOL
 定义变量 TIMER1,类型为 TIME
 定义变量 COUNTER1,类型为 UDINT
 定义变量 reset1,类型为 BOOL
Unity training course - V2.0 - Module 3.4 : Variables
29
实验二
 复杂数据类型和变量的定义
步骤
动作
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的元素及地址变化。
Unity training course - V2.0 - Module 3.4 : Variables
30
Descargar

Aucun titre de diapositive