Appearance
变量管理简介
变量管理是项目最基本的组成,代表现场实际的运行数据最小单位、例如:温度、压力、流量、COD、PH、开机状态、关机状态等等 Scada支持3类变量:
设备变量: 关联实际的现场设备
自定义变量: 自定义变量不连接实际设备,属于系统内部用于数据之间的计算、转换等场景
系统变量: 系统的内部时间参数、硬件状态、运行状态,便于用户查询的。
添加变量
变量ID: 系统内部根据变量ID进行识别,由字母+数字组成,不能重复
变量名称: 设置变量的名称,变量名里可以包含英文字母、数字、中文字符等。
名称规范
1、同一工程中的变量不能重名
2、变量名区分大小写
3、变量名最长不能超过50个字符
4、不能包含空格字符和如下28个无效字符:,:;+-*/%&!~|^<>={}.`’ ”?
例如:温度、压力、液位、var1等均可以作为变量名。
分组名称: 对变量进行分组归类
设备名称: 现场实际的PLC或者仪器仪表类名称
变量地址: 实际的PLC地址
数据类型: 本系统支持
数据类型 | 说明 |
---|---|
bool | 二进制变量 |
uint8 | 无符号 8 位数 |
int8 | 有符号 8 位数 |
uint16 | 无符号 16 位数 |
int16 | 有符号 16 位数 |
bcd16 | BCD16位数 |
uint32 | 无符号 32 位数 |
int32 | 有符号 32 位数 |
bcd32 | BCD32位数 |
float32 | 浮点数 32 位IEEE 754 |
long | 64位整数 |
bcd64 | 地方 |
double | 浮点数 64 位 IEEE 754文本变量,8 位字符集 |
String | 字符串,编码格式支持:UTE-8、GB2312、ANSI,长度自定 |
读写:
类型 | 说明 |
---|---|
只读 | 用户读取变量数值,不允许给变量写值 |
读写 | 默认, 允许读取变量的数据并对变量写入数据 |
只写 | 只能对变量写入数据,不允许读取 |
采集周期(s): 变量间隔多长时间采集一次,和设备管理的高级设置有关系,当高级设置设置的间隔时间过长,同样会影响采集周期。
保存参数:
在系统运行中,修改8个扩展字段和低低,低,高,高高,报警的属性,会保存下来。下次运行以最后一次修改的值启动
备注: 对变量进行不需要显示的标记
批量添加
红框中的内容会根据规则进行自增
类型 | 说明 |
---|---|
变量名称 | 变量名称后缀自增:1#var、1#var1、1#var2 |
地址偏移 | 会根据 增量 的数值进行累加 |
数量 | 默认:100,取值1~100 |
主地址 | 通常针对整数地址,例如4001、4002 |
从地址 | 通常针对小数地址,例如4001.01、4001.02 |
线性换算
整数或者浮点数类型变量提供线性转换,非线性转换需要通过脚本实现,通过开启操作展示对应的列。
内部公式:y=ax+b
如果只是倍数关系,那么只需要关心a的数值即可,如果非倍数关系,则将原始的(最小和最大值)和结果的(最小和最大值)输入进行即可自动算出结果
举例:原始数值为30
类型 | 缩小10 | 放大5倍 |
---|---|---|
输入最小值 | 0 | 0 |
输入最大值 | 100 | 1 |
输出最小值 | 0 | 0 |
输出最大值 | 10 | 5 |
目标数据类型 | float32 | int16 |
实际值 | 3.0 | 150 |
变量扩展域
对变量进行属性标记,在组态画面和数据分析功能中进行关联使用
变量报警
报警根据数据类型分为:0到1报警、1到0报警;低低限、低限、高限、高高限报警;通过报警图标调出来进行设置。如果需要进行逻辑判断或者计算的报警,请参考复杂报警
BOOL 类型报警
0到1报警: 变量的值由0变为1时产生的报警
1到0报警: 变量的值由1变为0时产生的报警
报警等级: 通常用于标记 “一般、重要、紧急”;“报警、警告”等等
报警延迟: 报警延时是对系统当前产生的报警信息不显示和记录,而是进行延时,在延时时间到后,如果该报警不存在了,表明该报警可能是一个误报警,不用理会,系统自动清除;如果延时到后,该报警还存在,表明这是一个真实的报警,系统将进行显示和记录。如果定时期间,有新的报警产生,则重新开始定时,报警延时以秒为单位
整数或者浮点数报警
在变量值发生变化时,如果跨越某一个限值,立即发生受限报警,某个时刻,对于一个变量,只可能越一种限,因此只产生一种受限报警,例如:如果变量的值超过高高限,就会产生高高限报警,而不会产生高限报警。另外,如果两次越限,就得看这两次越的限是否是同一种类型,如果是,就不再产生新报警,也不表示该报警已经恢复;如果不是,则先恢复原来的报警,再产生新报警。受限报警产生和恢复的算法为:
1、大于低低限时恢复低低限,小于等于低低限时产生报警
2、大于低限时恢复低限,小于等于低限时报警产生报警
3、大于等于高限时报警,小于高限时恢复高限
4、大于等于高高限时报警,小于高高限时恢复高高限
功能 | 说明 |
---|---|
报警开关 | 每一种报警可以单独进行控制 |
报警等级 | 通常用于标记 “一般、重要、紧急”;“报警、警告”等等 |
报警详情 | 设置报警说明描述文本,长度不超过128个字符,每一种报警类型都有自己单独的报警描述文本 |
死区开关 | 启用死区功能 |
死区值 | 报警死区的作用是为了防止变量值在报警限上下频繁波动时,产生许多不真实的报警,在原报警限上下增加一个报警限的阈值,使原报警限界线变为一条报警限带,当变量的值在报警限带范围内变化时,不会产生和恢复报警,而一旦超出该范围时,才产生报警信息。这样对消除波动信号的无效报警有积极的作用。对于限值报警的死区值,必须在0和最大值减最小值的值之间,同时死区应该在任意两个限值的差之间,原理见下图 |
报警延迟 | 报警延时是对系统当前产生的报警信息不显示和记录,而是进行延时,在延时时间到后,如果该报警不存在了,表明该报警可能是一个误报警,不用理会,系统自动清除;如果延时到后,该报警还存在,表明这是一个真实的报警,系统将进行显示和记录。如果定时期间,有新的报警产生,则重新开始定时,报警延时以秒为单位。 |
死区原理图
导入导出变量
魔数值工程中的变量可以导出到xml、xls、xlsx格式的文档中,也可从这三个格式的文档中导入到工程中。由于表头有所区别,导出的变量表有3个子表,分别为:离散量、模拟量、字符串;
导入逻辑
采用增量导入的方式,内部以变量的ID为基准,支持变量的添加与修改,删除则需要再Scada里面进行操作。
举例说明:当一个工程有10台PLC,可单独对某一台的PLC进行导入导出操作,而不用整个变量列表全量操作。
操作方法如下:
扫描OPC
仿真策略
仿真常用于工程的模拟调试或者工程临时演示阶段,配合工程的模拟运行使用,操作步骤:先创建仿真规则-->在规则中添加变量
添加仿真规则
模拟类型 | 说明 | 说明 |
---|---|---|
随机 | 取值范围 | 0~65535,每间隔一秒随机生成一个数值 |
自增 | 循环反复 | 增长到最大之后,继续从最小值-->最大值递增,如果不勾选,到达最大值之后,数值停止增长 |
自增 | 取值范围 | 设置数值的最小到最大值范围 |
自增 | 布进值 | 每次增加多少数值 |
自增 | 触发间隔 | 数值间隔多长时间变化一次 |
自减 | 循环反复 | 减少到最小之后,继续从最大值-->最小值递减,如果不勾选,到达最小值之后,数值停止增长 |
自减 | 取值范围 | 设置数值的最大到最小值范围 |
自减 | 布进值 | 每次减少多少数值 |
自减 | 触发间隔 | 数值间隔多长时间变化一次 |
规则添加变量