1、西门子 S7-200 模拟量编程韩耀旭本文以 EM235 为例讲解 S7-200 模拟量编程,主要包括以下内容:1、模拟量扩展模块接线图及模块设置2、模拟量扩展模块的寻址3、模拟量值和 A/D 转换值的转换4、编程实例1、模拟量扩展模块接线图及模块设置EM235 是最常用的模拟量扩展模块,它实现了 4 路模拟量输入和 1 路模拟量输出功能。下面以 EM235 为例讲解模拟量扩展模块接线图,如图 1。图 1图 1 演示了模拟量扩展模块的接线方法,对于电压信号,按正、负极直接接入 X和 X;对于电流信号,将 RX 和 X短接后接入电流输入信号的“”端;未连接传感器的通道要将 X和 X短接。对于某一
2、模块,只能将输入端同时设置为一种量程和格式,即相同的输入量程和分辨率。 (后面将详细介绍)EM235 的常用技术参数:模拟量输入特性模拟量输入点数 4电压(单极性)010V 05V 01V 0500mV 0100mV 050mV 电压(双极性)10V 5V 2.5V 1V 500mV 250mV 100mV 50mV 25mV输入范围电流 020mA数据字格式 双极性 全量程范围-32000+32000单极性 全量程范围 032000分辨率 12 位 A/D 转换器模拟量输出特性模拟量输出点数 1信号范围 电压输出 10V电流输出 020mA数据字格式 电压-32000+32000电流 032
3、000分辨率电流 电压 12 位电流 11 位下表说明如何用 DIP 开关设置 EM235 扩展模块,开关 1 到 6 可选择输入模拟量的单/双极性、增益和衰减。EM235 开关 SW1 SW2 SW3 SW4 SW5 SW6 单/双极性选择 增益选择 衰减选择ON 单极性 OFF 双极性 OFF OFF X1 OFF ON X10 ON OFF X100 ON ON 无效 ON OFF OFF 0.8OFF ON OFF 0.4OFF OFF ON 0.2由上表可知,DIP 开关 SW6 决定模拟量输入的单双极性,当 SW6 为 ON 时,模拟量输入为单极性输入,SW6 为 OFF 时,模拟
4、量输入为双极性输入。SW4 和 SW5 决定输入模拟量的增益选择,而 SW1,SW2,SW3 共同决定了模拟量的衰减选择。根据上表 6 个 DIP 开关的功能进行排列组合,所有的输入设置如下表:6 个 DIP 开关决定了所有的输入设置。也就是说开关的设置应用于整个模块,开关设置也只有在重新上电后才能生效。输入校准模拟量输入模块使用前应进行输入校准。其实出厂前已经进行了输入校准,如果 OFFSET 和 GAIN 电位器已被重新调整,需要重新进行输入校准。其步骤如下:A、切断模块电源,选择需要的输入范围。B、接通 CPU 和模块电源,使模块稳定 15 分钟。C、用一个变送器,一个电压源或一个电流源
5、,将零值信号加到一个输入端。D、读取适当的输入通道在 CPU 中的测量值。E、调节 OFFSET(偏置)电位计,直到读数为零,或所需要的数字数据值。F、将一个满刻度值信号接到输入端子中的一个,读出送到 CPU 的值。G、调节 GAIN(增益)电位计,直到读数为 32000 或所需要的数字数据值。H、必要时,重复偏置和增益校准过程。EM235 输入数据字格式下图给出了 12 位数据值在 CPU 的模拟量输入字中的位置单极性SW1 SW2 SW3 SW4 SW5 SW6 满量程输入 分辨率ON OFF OFF ON OFF ON 0 到 50mV 12.5V OFF ON OFF ON OFF O
6、N 0 到 100mV 25V ON OFF OFF OFF ON ON 0 到 500mV 125uA OFF ON OFF OFF ON ON 0 到 1V 250VON OFF OFF OFF OFF ON 0 到 5V 1.25mV ON OFF OFF OFF OFF ON 0 到 20mA 5AOFF ON OFF OFF OFF ON 0 到 10V 2.5mV 双极性SW1 SW2 SW3 SW4 SW5 SW6 满量程输入 分辨率ON OFF OFF ON OFF OFF 25mV 12.5V OFF ON OFF ON OFF OFF 50mV 25VOFF OFF ON
7、ON OFF OFF 100mV 50V ON OFF OFF OFF ON OFF 250mV 125VOFF ON OFF OFF ON OFF 500 250VOFF OFF ON OFF ON OFF 1V 500V ON OFF OFF OFF OFF OFF 2.5V 1.25mV OFF ON OFF OFF OFF OFF 5V 2.5mV OFF OFF ON OFF OFF OFF 10V 5mV 图 2可见,模拟量到数字量转换器(ADC)的 12 位读数是左对齐的。最高有效位是符号位,0 表示正值。在单极性格式中,3 个连续的 0 使得模拟量到数字量转换器(ADC)每变化
8、 1 个单位,数据字则以 8 个单位变化。在双极性格式中,4 个连续的 0 使得模拟量到数字量转换器每变化 1 个单位,数据字则以 16 为单位变化。EM235 输出数据字格式图 3 给出了 12 位数据值在 CPU 的模拟量输出字中的位置:图 3数字量到模拟量转换器(DAC)的 12 位读数在其输出格式中是左端对齐的,最高有效位是符号位,0 表示正值。2、模拟量扩展模块的寻址每个模拟量扩展模块,按扩展模块的先后顺序进行排序,其中,模拟量根据输入、输出不同分别排序。模拟量的数据格式为一个字长,所以地址必须从偶数字节开始。例如:AIW0,AIW2,AIW4、AQW0,AQW2。每个模拟量扩展模块
9、至少占两个通道,即使第一个模块只有一个输出 AQW0,第二个模块模拟量输出地址也应从 AQW4 开始寻址,以此类推。图 4 演示了 CPU224 后面依次排列一个 4 输入/4 输出数字量模块,一个 8输入数字量模块,一个 4 模拟输入/1 模拟输出模块,一个 8 输出数字量模块,一个 4 模拟输入/1 模拟输出模块的寻址情况,其中,灰色通道不能使用。图 43、模拟量值和 A/D 转换值的转换假设模拟量的标准电信号是 A0Am(如:420mA) ,A/D 转换后数值为D0Dm(如:640032000) ,设模拟量的标准电信号是 A,A/D 转换后的相应数值为 D,由于是线性关系,函数关系 Af
10、(D)可以表示为数学方程:A(DD0)(AmA0)(DmD0)A0。根据该方程式,可以方便地根据 D 值计算出 A 值。将该方程式逆变换,得出函数关系 Df(A)可以表示为数学方程:D(AA0)(DmD0)(AmA0)D0。具体举一个实例,以 S7-200 和 420mA 为例,经 A/D 转换后,我们得到的数值是 640032000,即 A04,Am20,D06400,Dm32000,代入公式,得出:A(D6400)(204)(320006400)4假设该模拟量与 AIW0 对应,则当 AIW0 的值为 12800 时,相应的模拟电信号是 6400162560048mA。又如,某温度传感器,
11、1060与 420mA 相对应,以 T 表示温度值,AIW0 为 PLC 模拟量采样值,则根据上式直接代入得出:T=70(AIW06400)2560010可以用 T 直接显示温度值。模拟量值和 A/D 转换值的转换理解起来比较困难,该段多读几遍,结合所举例子,就会理解。为了让您方便地理解,我们再举一个例子:某压力变送器,当压力达到满量程 5MPa 时,压力变送器的输出电流是20mA,AIW0 的数值是 32000。可见,每毫安对应的 A/D 值为 32000/20,测得当压力为 0.1MPa 时,压力变送器的电流应为 4mA,A/D 值为(32000/20)46400。由此得出,AIW0 的数
12、值转换为实际压力值(单位为 KPa)的计算公式为:VW0 的值(AIW0 的值6400)(5000100)/(320006400)100(单位:KPa)4、编程实例您可以组建一个小的实例系统演示模拟量编程。本实例的的 CPU 是CPU222,仅带一个模拟量扩展模块 EM235,该模块的第一个通道连接一块带 420mA 变送输出的温度显示仪表,该仪表的量程设置为 0100 度,即 0 度时输出 4mA,100 度时输出 20mA。温度显示仪表的铂电阻输入端接入一个 220 欧姆可调电位器,简单编程如下:温度显示值(AIW0-6400)/256编译并运行程序,观察程序状态,VW30 即为显示的温度值,对照仪表显示值是否一致。就写这些吧,希望能对您有所帮助,也欢迎您完整转载。