S7-200模拟量换算
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
因为A/D(模/数)、(D/A)数/模转换之间的对应关系,S7-200 CPU 内部用数值表示外部的模拟量信号,两者之间有一定的数学关系。
这个关系就是模拟量/数值量的换算关系。
例如,使用一个0 - 20mA的模拟量信号输入,在S7-200 CPU内部,0 - 20mA对应于数值范围0 - 32000;对于4 - 20mA的信号,对
应的内部数值为6400 - 32000。
如果有两个传感器,量程都是0 - 16MPa,但是一个是0 - 20mA 输出,另一个是4 - 20mA输出。
它们在相同的压力下,变送的模拟量电流大小不同,在S7-200内部的数值表示也不同。
显然两者之间存在比例换算关系。
模拟量输出的情况也大致相同。
上面谈到的是0 - 20mA与4 - 20mA之间换算关系,但模拟量转换的目的显然不是在S7-200 CPU中得到一个0 - 32000之类的数值;对于编程和操作人员来说,得到具体的物理量数值(如压力值、流量值),或者对应物理量占量程的百分比数值要更方便,这是换算的最终目标。
如果使用编程软件Micro/WIN32中的PID Wizard(PID向导)生成PID功能子程序,就不必进行0 - 20mA与4 - 20mA信号之间的换
算,只需进行简单的设置。
通用比例换算公式
模拟量的输入/输出都可以用下列的通用换算公式换算:
Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl
其中:
O
v:
换算结果
I
v:
换算对象
O sh:换算结果的
高限
O sl:换算结果的
低限
I sh:
换算对象的高限
I sl:
换算对象的低限
它们之间的关系可以图示如下:
图1. 模拟量比例换算关系
实用指令库
在Step7 - Micro/WIN Programming Tips(Micro/WIN编程技巧中)的Tip38就是关于如何实现上述转换的例程。
为便于使用,现已将其导出成为”自定义指令库“,可以添加到自己的Micro/WIN编程软件中应用。
在这个指令库中,子程序Scale_I_to_R可用来进行模拟量输入到S7-200内部数据的转换;子程序Scale_R_I可用于内部数据到模拟量
输出的转换。
其中scale_I_R程序段例:
将4 - 20mA模拟量输入转换为内部百分比值
将内部百分比值转换为4 - 20mA模拟量输出
对于精度要求不高的地方,4-20ma转换成0-20ma 可按比例计算
公式 =((ai-4)/16)*20
其程序段实例:。