西门子S7-200模拟量编程

来源:互联网 发布:棋牌源码哪个好 编辑:程序博客网 时间:2024/05/01 14:43

西门子S7-200模拟量编程

 

本文以EM235为例讲解S7-200模拟量编程,主要包括以下内容:

1、模拟量扩展模块接线图及模块设置

2、模拟量扩展模块的寻址

3、模拟量值和A/D转换值的转换

4、编程实例

 

模拟量扩展模块接线图及模块设置

 

EM235是最常用的模拟量扩展模块,它实现了4路模拟量输入和1路模拟量输出功能。下面以EM235为例讲解模拟量扩展模块接线图,如图1

西门子S7-200模拟量编程

1

1演示了模拟量扩展模块的接线方法,对于电压信号,按正、负极直接接入X+和X-;对于电流信号,将RXX+短接后接入电流输入信号的“+”端;未连接传感器的通道要将X+和X-短接。

对于某一模块,只能将输入端同时设置为一种量程和格式,即相同的输入量程和分辨率。(后面将详细介绍)

EM235的常用技术参数:

模拟量输入特性

模拟量输入点数

4

输入范围

电压(单极性)010V 05V 01V      0500mV 0100mV 050mV

电压(双极性)±10V ±5V ±2.5V±1V  ±500mV  ±250mV ±100mV±50mV  ±25mV

电流020mA

数据字格式

双极性 全量程范围-32000+32000
单极性 全量程范围032000

分辨率

12A/D转换器

模拟量输出特性

模拟量输出点数

1

信号范围

电压输出 ±10V
电流输出020mA

数据字格式

电压-32000+32000
电流032000

分辨率电流

电压12
电流11

下表说明如何用DIP开关设置EM235扩展模块,开关16可选择输入模拟量的单/双极性、增益和衰减。

 

EM235开关

/双极性选择

增益选择

衰减选择

SW1

SW2

SW3

SW4

SW5

SW6

 

 

 

 

 

ON

单极性

 

 

 

 

 

 

 

OFF

双极性

 

 

 

 

 

OFF

OFF

 

 

X1

 

 

 

 

OFF

ON

 

 

X10

 

 

 

 

ON

OFF

 

 

X100

 

 

 

 

ON

ON

 

 

无效

 

ON

OFF

OFF

 

 

 

 

 

0.8

OFF

ON

OFF

 

 

 

 

 

0.4

OFF

OFF

ON

 

 

 

 

 

0.2

由上表可知,DIP开关SW6决定模拟量输入的单双极性,当SW6ON时,模拟量输入为单极性输入,SW6OFF时,模拟量输入为双极性输入。

SW4SW5决定输入模拟量的增益选择,而SW1SW2SW3共同决定了模拟量的衰减选择。

根据上表6DIP开关的功能进行排列组合,所有的输入设置如下表:

单极性

满量程输入

分辨率

SW1

SW2

SW3

SW4

SW5

SW6

ON

OFF

OFF

ON

OFF

ON

050mV

12.5μV

OFF

ON

OFF

ON

OFF

ON

0100mV

25μV

ON

OFF

OFF

OFF

ON

ON

0500mV

125uA

OFF

ON

OFF

OFF

ON

ON

01V

250μV

ON

OFF

OFF

OFF

OFF

ON

05V

1.25mV

ON

OFF

OFF

OFF

OFF

ON

020mA

5μA

OFF

ON

OFF

OFF

OFF

ON

010V

2.5mV

双极性

满量程输入

分辨率

SW1

SW2

SW3

SW4

SW5

SW6

ON

OFF

OFF

ON

OFF

OFF

±25mV

12.5μV

OFF

ON

OFF

ON

OFF

OFF

±50mV

25μV

OFF

OFF

ON

ON

OFF

OFF

±100mV

50μV

ON

OFF

OFF

OFF

ON

OFF

±250mV

125μV

OFF

ON

OFF

OFF

ON

OFF

±500

250μV

OFF

OFF

ON

OFF

ON

OFF

±1V

500μV

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6DIP开关决定了所有的输入设置。也就是说开关的设置应用于整个模块,开关设置也只有在重新上电后才能生效。

输入校准

模拟量输入模块使用前应进行输入校准。其实出厂前已经进行了输入校准,如果OFFSETGAIN电位器已被重新调整,需要重新进行输入校准。其步骤如下:

A、 切断模块电源,选择需要的输入范围。

B、 接通CPU和模块电源,使模块稳定15分钟。

C、 用一个变送器,一个电压源或一个电流源,将零值信号加到一个输入端。

D、 读取适当的输入通道在CPU中的测量值。

E、 调节OFFSET(偏置)电位计,直到读数为零,或所需要的数字数据值。

F、 将一个满刻度值信号接到输入端子中的一个,读出送到CPU的值。

G、 调节GAIN(增益)电位计,直到读数为32000或所需要的数字数据值。

H、 必要时,重复偏置和增益校准过程。

EM235输入数据字格式

下图给出了12位数据值在CPU的模拟量输入字中的位置

西门子S7-200模拟量编程

2

可见,模拟量到数字量转换器(ADC)的12位读数是左对齐的。最高有效位是符号位,0表示正值。在单极性格式中,3个连续的0使得模拟量到数字量转换器(ADC)每变化1个单位,数据字则以8个单位变化。在双极性格式中,4个连续的0使得模拟量到数字量转换器每变化1个单位,数据字则以16为单位变化。

EM235输出数据字格式

3给出了12位数据值在CPU的模拟量输出字中的位置:

西门子S7-200模拟量编程3

数字量到模拟量转换器(DAC)的12位读数在其输出格式中是左端对齐的,最高有效位是符号位,0表示正值。

 

模拟量扩展模块的寻址

每个模拟量扩展模块,按扩展模块的先后顺序进行排序,其中,模拟量根据输入、输出不同分别排序。模拟量的数据格式为一个字长,所以地址必须从偶数字节开始。例如:AIW0AIW2AIW4……AQW0AQW2……。每个模拟量扩展模块至少占两个通道,即使第一个模块只有一个输出AQW0,第二个模块模拟量输出地址也应从AQW4开始寻址,以此类推。

4演示了CPU224后面依次排列一个4输入/4输出数字量模块,一个8输入数字量模块,一个4模拟输入/1模拟输出模块,一个8输出数字量模块,一个4模拟输入/1模拟输出模块的寻址情况,其中,灰色通道不能使用。

西门子S7-200模拟量编程

4

模拟量值和A/D转换值的转换

假设模拟量的标准电信号是A0Am(如:420mA),A/D转换后数值为D0Dm(如:640032000),设模拟量的标准电信号是AA/D转换后的相应数值为D,由于是线性关系,函数关系AfD)可以表示为数学方程:

A=(DD0)×(AmA0)/(DmD0)+A0

根据该方程式,可以方便地根据D值计算出A值。将该方程式逆变换,得出函数关系DfA)可以表示为数学方程:

D=(AA0)×(DmD0)/(AmA0)+D0

具体举一个实例,以S7-200420mA为例,经A/D转换后,我们得到的数值是640032000,即A04Am20D06400Dm32000,代入公式,得出:

A=(D6400)×(204)/(320006400)+4

假设该模拟量与AIW0对应,则当AIW0的值为12800时,相应的模拟电信号是6400×162560048mA

又如,某温度传感器,-1060℃与420mA相对应,以T表示温度值,AIW0PLC模拟量采样值,则根据上式直接代入得出:

T=70×(AIW06400)/2560010

可以用T 直接显示温度值。

模拟量值和A/D转换值的转换理解起来比较困难,该段多读几遍,结合所举例子,就会理解。为了让您方便地理解,我们再举一个例子:

某压力变送器,当压力达到满量程5MPa时,压力变送器的输出电流是20mAAIW0的数值是32000。可见,每毫安对应的A/D值为32000/20,测得当压力为0.1MPa时,压力变送器的电流应为4mAA/D值为(32000/20)×46400。由此得出,AIW0的数值转换为实际压力值(单位为KPa)的计算公式为:

VW0的值=(AIW0的值-6400)(5000100)/(320006400)100(单位:KPa

 

编程实例

您可以组建一个小的实例系统演示模拟量编程。本实例的的CPUCPU222,仅带一个模拟量扩展模块EM235,该模块的第一个通道连接一块带420mA变送输出的温度显示仪表,该仪表的量程设置为0100度,即0度时输出4mA100度时输出20mA。温度显示仪表的铂电阻输入端接入一个220欧姆可调电位器,简单编程如下:

西门子S7-200模拟量编程

温度显示值=(AIW0-6400/256

 

编译并运行程序,观察程序状态,VW30即为显示的温度值,对照仪表显示值是否一致。

 

 

3 0
原创粉丝点击