Smart S7-200模拟量输入与输出功能解读
当我们在实际的应用中需要对当前的温度或是压力进行采集显示的时候,我们需要用到模拟量模块来对模拟量信号进行采集,在这里我们以S7-200smart PLC的EMAE04模拟输入模块为例来说明如何使用这个模块来采集温度或是压力。 例如:现需要实时监控发电机机组的温度,假设变送器输出的信号为0到10V的电压信号,最大温度值为150。最小温度值为0度。
要完成正确读取实际的温度值,需要进行以下三步操作:
第一、正确的接线
第二、正确的硬件组态
第三、编写正确的程序
1、按照变送器提供的信号输出接线方式进行正确的接线,对于EMAE04模块的信号接入如图所示:
若变送器为三线制输出的变送器,则接线时,先把变送器的24V电源接上,变送器上的信号输出接端0+,0-端子接24V电源负
2、打开S7-200smart的编程软件,打开其系统 块对其进行硬件组态。如图所示:
注意:对于信号类型的选择,通道0的设置对通道1的设置也有效,通道2的设置对通道3 也同样有效。
3、编写转换程序
S7-200smartPLC来说其最大的数字量为27648。我们可以根据其得到的数字量的大小转换成我们实际的温度值。 对其转换程序,我们可以使用S7-200中的scaling模拟量转换库,使用库移植的方法把其移植到S7-200smart的软件中。其移植方法可以参考前面所介绍的内容。
Input :表示需要转换的数字量,即采样所的数字量
Ish:换算对象的高限,即最大模拟量所对应的数字量值(27648)
Isl: 换算对象的低限,即最小模拟量所对应的数字量值(0)
Osh:换算结果的高限,即测量范围最大值
Osl:换算结果的底限,即测量范围最小值。
VD100:换算结果所存储的值。
SCALE(V1.0)库文件的使用
以下公式由计算换算值的图表中得出:Ov= (Osh - Osl) / (Ish - Isl) * (Iv - Isl)+ Osl "Scale" 库的描述:"scale.mwl" 库包括从 INTEGER(整数)到 REAL (S_ITR)(实数)、从REAL(实数) to REAL (S_RTR)(实数)及从REAL(实数)到 INTEGER (S_RTI)(整数)类型数据的比例换算。
3.2 模拟量输入换算为REAL数据格式的输出值 (S_ITR): S_ITR 功能块可用来将模拟量输入信号转换成0.0到1.0之间的标么值( 类型 REAL )。
此调用为4-20MA的偏移量,读入模拟量转换为0.0-1.0之间的量程存入到VD100
3.3 REAL格式数据比例换算(S_RTR): S_RTR 功能块可用来转换在范围内的REAL 格式的值(例如将0.0 到1.0输入值转化为百分数输出)。
本子程序调用为前面读取来的0.0-1.0量程转换为百分比0-100数值转出到DV200
3.4转换为 INTEGER格式数据的模拟量输出(S_RTI): S_RTI 功能块可用来将 REAL 数转换为 INTEGER数据类型的模拟量输出。
本子程序调用:把模拟量量程0.0-1.0 数字转换成0-20MA的信号输出
模拟量模块的一点说明:在模拟量模块的拔码开关对应的数字ON/OFF表达不同的量程(
输入范围 :
电压(单极性)0~10V 0~5V 0~1V 0~500mV 0~100mV 0~50mV
电压(双极性)±10V ±5V ±2.5V ±1V ±500mV ±250mV ±100mV ±50mV ±25mV 电流0~20mA
数据字格式 :
双极性 全量程范围-32000~+32000
单极性 全量程范围0~32000
分辨率 :
12位A/D转换器
模拟量输出特性:
模拟量输出点数 1
信号范围 :
电压输出 ±10V
电流输出0~20mA
数据字格式:
电压-32000~+32000
电流0~32000
分辨率电流:
电压12位
电流11位
,在不同量程下,读取或输出得到不同的结果。 一次函数表达示:Y=KX+b(不过原点),Y=KX(过原点
上一篇: 如何在MATLAB中改变界面背景色
下一篇: 轻松掌握Android lmkd操作指南