一、S7-200 模拟量使用简介
西门子plc S7-200系列产品可以采集标准的电压、电流模拟量信号和热电偶、热电阻温度传感器信号。普通的电压和电流信号经过A/D转换成为0~32000 或者-32000~32000 之间的整数。温度传感器信号被直接转换为摄氏度(或华氏度)温度值,省去了复杂的温度值换算。
S7-200系列可以提供的模拟量输出信号有-10V~ +10V之间的电压和0~20mA 的电流信号,能够满足大多数模拟量负载的需求。
S7-200系列的模拟量扩展模块选型灵活,用户可以根据实际需要选择使用CPU224XP集成的模拟量通道,或者使用4通道输入、8通道输入、2通道输出、4通道输出和输入输出混合模块。
224 XP在CPU上集成了两个模拟量输入端口和一个模拟量输出端口。
224 XP本体模拟量I/O规格表如下:
224 XP 的模拟量输入/输出通道的精度为 12位。 224 XP上的模拟量输入转换速度比模拟量扩展模块慢,因此要求高的场合请使用模拟量扩展模块。
分辨率是A/D模拟量转换芯片的转换精度,即用多少位的数值来表示模拟量。S7-200模拟量模块的转换分辨率是12位,能够反映模拟量变化的最小单位是满量程的1/4096。
模拟量转换的精度除了取决于A/D转换的分辨率,还受到转换芯片的外围电路的影响。在实际应用中,输入的模拟量信号会有波动、噪声和干扰,内部模拟电路也会产生噪声、漂移,这些都会对转换的最后精度造成影响。这些因素造成的误差要大于A/D芯片的转换误差。
二、CPU 224 XP本体集成的模拟量I/O接线图如下:
图中:
a:此处表示A+和B+都可以接±10V信号
b:电流型负载接在I和M端子之间
c:电压型负载接在V和M端子之间
S7-224 XP 的两路模拟量输入通道被出厂设置为电压信号(0-10V)输入。为了能够输入电流信号,必须在 A+ 与 M 端 (或 B+ 与 M 端) 之间并入一个500 欧姆的电阻。并必须确保外接电流源具有短路保护以防损坏。因为没有充分隔离,外接电阻也可成为干扰源。
为了得到尽量精确的测量结果,推荐使用公差尽可能小的电阻。当在500欧电阻两端施加最大 28.8V 的电压时,电阻消耗功率为1.66W。要选择功率大于1.66瓦的500欧电阻。
三、模拟量比例换算
S7-200 CPU内部用数值表示外部的模拟量信号,两者之间有一定的数学关系。这个关系就是模拟量/数值量的换算关系。例如,使用一个0 - 20mA的模拟量信号输入,在S7-200 CPU内部,0 - 20mA对应于数值范围0 - 32000;对于4 - 20mA的信号,对应的内部数值为6400 - 32000。
模拟量转换的目的不是在S7-200 CPU中得到一个0 - 32000之类的数值;对于编程和操作人员来说,得到具体的物理量数值(如压力值、流量值),或者对应物理量占量程的百分比数值更重要,这是换算的最终目标。
1、通用比例换算公式
模拟量的输入/输出都可以用下列的通用换算公式换算:
Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl
其中:
它们之间的关系可以图示如下:
2、实用指令库
为便于用户使用,用户可以将“自定义指令库”添加到自己的Micro/WIN编程软件中应用。下载并添加模拟量比例换算指令库如下图中的scale_E(V1.0),或scaling(V1.2)。
在这个指令库中,子程序Scale_I_to_R可用来进行模拟量输入到S7-200内部数据的转换;子程序Scale_R_I可用于内部数据到模拟量输出的转换。
四、模拟量编程实例
1、模拟电路图及接线如下图,24V电源采用S7-224 XP自带的电源。调节电位器可以得到0—9V的直流电压输出。