S7-300/400 PLC模拟量输入/输出的量程转换

2020-12-01

1;模拟量输入/输出量程转换的概念

实际的工程量,如压力、温度、流量、物位等要采用各种类型传感器进行测量。传感器将输出 标准电压、电流、温度、或电阻信号供 PLC;采集,PLC;的模拟量输入模板将该电压、电流、温度、或电阻信号等模拟量转换成数字量——整形数(INTEGER)。在 PLC;程序内部要对相应的信号进行比较、运算时,常需将该信号转换成实际物理值(对应于传感器的量程)。而经程 序运算后得到的结果要先转换成与实际工程量对应的整形数,再经模拟量输出模板转换成电压、电流信号去控制现场执行机构。这样就需要在程序中调用功能块完成量程转换。

如一个压力调节回路中,压力变送器输出 4-20mA DC 信号到SM331 模拟量输入模板,

SM331 模板将该信号转换成 0-27648 的整形数,然后在程序中要调用 FC105 将该值转换成 0- 10.0(MPa)的工程量(实数),经 PID 运算后得到的结果仍为实数,要用 FC106 转换为对应阀门开度 0-100%的整形数 0-27648 后,经 SM332 模拟量输出模板输出 4-20mA DC 信号到调节阀的执行机构。

本文主要讨论 S7-300/400 PLC 编程中模拟量的量程转换。

2;S7-300/400 PLC;模拟量输入/输出模板

2.1;需要使用的模板

使用西门子 S7-300/400 PLC 进行模拟量输入/输出需要使用的模板:

S7-300;系列 PLC:SM331;系列模拟量输入模板;SM332;系列模拟量输出模板;SM334/335 系列模拟量输入/输出模板。

S7-400;系列 PLC:SM431;系列模拟量输入模板;SM432;模拟量输出模板。

2.2 涉及的信号类型

电压,电流,温度,电阻。

3 STEP;7;中模拟量输入/输出的编程

3.1;FC105/FC106;在哪里

在编程界面下,在 Program;elements;中的Libraries;下的 Standard;Library;下的TI-S7 Converting;Blocks;中就可以找到,见下图:

S7-300/400 PLC模拟量输入/输出的量程转换图片1

S7-300/400 PLC模拟量输入/输出的量程转换图片2

注意:请不要使用 S5-S7 Converting Blocks 下的FC105, FC106,该路径下的功能是用于S5

输入输出模板的,在 S7 输入输出模板上无法使用。

3.2 FC105/FC106;功能描述

在编程界面下选中该功能块,按一下计算机键盘上的 F1 功能键,即可打开关于该功能块的在线帮助,包括该功能块的功能,管脚参数定义、例子程序等。建议用户使用 STEP 7 在线帮助,可以提供全面的编程帮助。

3.2.1;FC105;功能描述

SCALE(FC105)功能将一个整形数 INTEGER(IN)转换成上限、下限之间的实际的工程值(LO_LIM and HI_LIM),结果写到 OUT。公式如下:

OUT = [ ((FLOAT (IN) – K1)/(K2–K1)) * (HI_LIM–LO_LIM)] LO_LIM

常数K1 和 K2 的值取决于输入值(IN)是双极性 BIPOLAR 还是单极性UNIPOLAR。

➢;双极性 BIPOLAR:即输入的整形数为 –27648;到 27648,此时 K1;= –27648.0;, K2;=

27648.0。

➢;单极性 UNIPOLAR:即输入的整形数为 0;到 27648,此时 K1;= 0.0;, K2;= 27648.0。

如果输入的整形数大于 K2,输出 (OUT) 限位到 HI_LIM, 并返回错误代码。 如果输入的整形数小于K1,输出限位到 LO_LIM,并返回错误代码。

反向定标的实现是通过定义 LO_LIM;; HI_LIM 来实现的。反向定标后的输出值随着输入值的增大而减小。

3.2.2;FC106;功能描述

UNSCALE(FC106)功能将一个实数REAL (IN) 转换成上限、下限之间的实际的工程值

(LO_LIM and HI_LIM),数据类型为整形数。结果写到 OUT。公式如下: OUT = [ ((IN–LO_LIM)/(HI_LIM–LO_LIM)) * (K2–K1);] K1

常数K1 和 K2 的值取决于输入值(IN)是双极性 BIPOLAR 还是单极性UNIPOLAR。

➢;双极性 BIPOLAR:即输出的整形数为 –27648;到 27648,此时 K1;= –27648.0;, K2;=

27648.0。

➢;单极性 UNIPOLAR:即输出的整形数为 0;到 27648,此时 K1;= 0.0;, K2;= 27648.0。

如果输入值在下限 LO_LIM 和上限 HI_LIM 的范围以外,输出 (OUT) 限位到与其相近的上限或下限值(视其单极性 UNIPOLAR 或双极性 BIPOLAR 而定),并返回错误代码。

参数 类型 数据类型 存储区 描述
EN 输入 BOOL I,Q,M,D,L 使能输入,高电平有效
ENO 输出 BOOL I,Q,M,D,L 使能输出,如正确执行完毕,则为 1
IN 输入 INT I,Q,M,D,L,P, Constant 要转换为工程量的输入值
HI_LIM 输入 REAL I,Q,M,D,L,P, Constant 工程量上限
LO_LIM 输入 REAL I,Q,M,D,L,P, Constant 工程量下限
;

BIPOLAR

;

输入

;

BOOL

;

I,Q,M,D,L

1;表示输入为双极性,0;表示输入为单极

OUT 输出 REAL I,Q,M,D,L,P 量程转换结果
;

RET_VAL

;

输出

;

WORD

;

I,Q,M,D,L,P

返回值 W#16#0000 代表指令执行正

确。如返回值不是 W#16#0000,则需在错误信息中查该值的含义

错误信息:

如输入的整形数大于 K2,则输出(OUT) 限位到 HI_LIM,并返回错误值。如输入的整形数小于

K1,输出限位到LO_LIM,并返回错误值。ENO 端的信号状态置为 0 且返回值 RET_VAL 为

W#16#0008。

3.2.2 FC106;的参数定义

参数 声明 数据类型 存储区 描述
EN 输入 BOOL I,Q,M,D,L 使能输入,高电平有效
ENO 输出 BOOL I,Q,M,D,L 使能输出,如正确执行完毕,则为 1
;

IN

输入 ;

REAL

I,Q,M,D,L,P,

Constant

;

要转换成整形数的输入值

;

HI_LIM

输入 ;

REAL

I,Q,M,D,L,P,

Constant

工程量上限
LO_LIM 输入 ;

REAL

I,Q,M,D,L,P,

Constant

工程量下限
;

BIPOLAR

输入 ;

BOOL

;

I,Q,M,D,L

1 表示输入为双极性,0 表示输入为单

极性

OUT 输出 INT I,Q,M,D,L,P 量程转换结果
;

;

RET_VAL

;

输出

;

;

WORD

;

;

I,Q,M,D,L,P

返回值 W#16#0000 代表指令执行正确。如返回值不是 W#16#0000,则需在错误代码表中查该值的含义

错误信息:

如果输入值在下限 LO_LIM;和上限 HI_LIM;的范围以外,输出 (OUT) 限位到与其相近的上限或下限值(视其单极性 UNIPOLAR;或双极性 BIPOLAR;而定),并返回错误代码。ENO;端的信号状态置为 0;且返回值 RET_VAL;为 W#16#0008。

3.4;例子程序

3.4.1;FC105;例子程序

如输入I0.0 为 1,SCALE 功能被执行。下面的例子中,整形数 22 将被转换成 0.0 到 100.0 的实数并写到 OUT。输入是双极性 BIPOLAR,用 I2.0 来设置。

S7-300/400 PLC模拟量输入/输出的量程转换图片3

IN----------------------MW10=22执行前:

HI_LIM---------------MD20=100.0

LO_LIM--------------MD30=0.0

OUT-------------------MD40=0.0 BIPOLAR------------I2.0=TRUE

执行后:

OUT------------------MD40=50.03978588

3.4.2 FC106;例子程序

如输入I0.0 为 1,UNSCALE 功能被执行。下面的例子中,实数 50.03978588 将被转换成 0.0

到 100.0 的工程量,再转换成整形数并写到 OUT。输入是双极性BIPOLAR,用 I2.0 来设置。

S7-300/400 PLC模拟量输入/输出的量程转换图片4

执行前:

IN---------------------- MD10=50.03978588 HI_LIM---------------MD20=100.0

LO_LIM--------------MD30=0.0

OUT-------------------MW40=0 BIPOLAR------------I2.0=TRUE

执行后:

OUT------------------MW40=22

注意:通常在一个项目都有不只一个模拟量需要转换,FC105 和FC106 在程序中都可多次调用,调用的方法同上述例子程序。

上一篇

下一篇

坤玛机电-工业机电产品一站式采购中心-上海坤玛机电有限公司    西门子PLC    常见问题    S7-300/400 PLC模拟量输入/输出的量程转换

坤玛机电,专业致力于提供齐全优质的全球工业机电配件、机电备品备件产品及本地化技术响应的服务商。

借助互联网技术帮助中小企业降本增效,促进产业从业人员增加收入,为产业赋能的平台。

机电维修、更新,选择坤玛易采小程序,一键询价成交还可获丰厚佣金。

立即咨询

坤玛机电  PLC控制柜生产厂家

 

专业设计制作电气控制柜

 

低压成套配电设备及自动化系统集成