1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > S7-300/400 PLC 模拟量输入/输出的量程转换

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

时间:2021-11-06 03:46:55

相关推荐

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

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

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

2.1 需要使用的模板..........................................................................................................3

2.2 涉及的信号类型..........................................................................................................3

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

3.1 FC105/FC106 在哪里.................................................................................................3

3.2 FC105/FC106 功能描述.............................................................................................5

3.2.1 FC105 功能描述....................................................................................................5

3.2.2 FC106 功能描述....................................................................................................5

3.3 FC105/FC106 参数定义.............................................................................................6

3.3.1 FC105 的参数定义...............................................................................................6

3.3.2 FC106 的参数定义................................................................................................6

3.4 例子程序.....................................................................................................................7

3.4.1 FC105 例子程序....................................................................................................7

3.4.2 FC106 例子程序....................................................................................................8

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 模拟量输出模板。

目前常用的模板规格型号参见模板手册,请链接到如下网址下载模板手册:

S7-300: http://support./WW/view/en/8859629

S7-400: http://support./WW/view/en/1117740

2.2 涉及的信号类型

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

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

3.1 FC105/FC106 在哪里

在编程界面下,在Program elements 中的Libraries 下的Standard Library 下的TI-S7

Converting Blocks 中就可以找到,见下图:

注意:请不要使用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 而定),并返回错误代码。

3.3 FC105/FC106 参数定义

3.3.1 FC105 的参数定义

错误信息:

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

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

W#16#0008。

3.3.2 FC106 的参数定义

错误信息:

如果输入值在下限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 来设置。

执行前:

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 来设置。

执行前:

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 在程序中都可多次调

用,调用的方法同上述例子程序。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。