一个回路具有两个输入变量:设定值SP及过程变量PV。设定值通常为固定数值,类似汽车定速控制的速度设定。过程变量是与回路输出相关的量,因此可测量回路输出对被控制系统的影响。在汽车定速驾驶的例子中,过程变量为测量轮胎转速的转速输入。
设定值及过程变量均为实际数值,它们的大小、范围及工程单位可能不同。在这些实际数值可用于PID指令之前,必须将其转换成标准化的浮点数表示形式。
1.实际数值转换成实数
将实际数值从16位整数数值转换成浮点或实数数值,可使用下列指令序列。
XORD ACO,ACO //清除累加器
MOVW AIW0,AC0 //在累加器内保存模拟数值
LDW>= AC0,0 //如果模拟数值为正或者为零
JMP 0 //将其转换成实数
NOT //否则
ORD 16#FFFF0000,AC0 //对ACO内的数值进行符号扩展
LBL 0 //跳转指令的入口
DTR AC0,AC0 //将32位整数转换成实数(www.xing528.com)
2.数值标准化
将数值的实数表示转换成0.0~1.0的标准化数值。可采用下列公式对设定值及过程变量实现这种转换。
式中,Rnorm——实际数值的标准化的表示;
Rraw——实际数值的非标准化或原值表示;
Offset——对单极数值为0.0,对双极数值为0.5;
Span——值域,等于最大可能数值减去最小可能数值,对于单极性为32 000(典型值),对于双极性为64 000(典型值)。
下列指令说明如何对AC0内的双极性数值(间距为64 000)进行标准化(是上一指令序列的继续):
/R 64000.0,AC0 //对累加器内的数值进行标准化
+R 0.5,AC0 //数值距离范围0.0~1.0的偏移量
MOVR AC0,VDl00 //将标准化的数值存储在回路表内
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。