模拟量换算
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模拟量的输入/输出都可以用下列的通用换算公式换算:Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl
其中:
Ov: 换算结果
Iv: 换算对象
Osh: 换算结果的高限
Osl: 换算结果的低限
Ish: 换算对象的高限
Isl: 换算对象的低限
转换模拟量值到工程量值
问题: 是否有功能块能转换模拟量值到工程量值?
解答: 在Step7 中,standard library T1-S7 Converting Blocks FC105。
例如:转换一个模拟量PIW256到0.0~200.0工程范围
Call FC105
IN:=PIW256 (模拟量,范围-27648~27648)
HI_LIM:=200.0 (上限)
LO_LIM:=0.0 (下限)
BIPOLAR:=M2.1 (极性
如M2.1为1,对应的PIW256 为-27648~27648;
如M2.1为0,对应的PIW256为0~27648)
RET_V AT:=MW4 (错误返回值)
OUT:=MD50 (工程值
例子:从0到10V的值中输入到插在插槽6的模拟模块中。目前这个值是一个整数(16位),应该规格化100到1000之间的REAL格式,并以双字MD10保存在位储存器中。
语句表的解决方案:
L PIW 288 //0到10V的模拟量输入包含0到27648个整数(16位)
ITD //16位整数值转换成32位整数
DTR //32位整数转化成实数
L 2.7648e+4 //
/R //除以实数27648
L 9.000e+2 //
*R // 乘以实数***(1000-100)
L 1.000e+2 //
+R // 加上实数100(补偿值)
T MD10 //把100到1000规格化成REAL格式