模拟量处理.docx

上传人:b****8 文档编号:11354406 上传时间:2023-02-28 格式:DOCX 页数:16 大小:115.91KB
下载 相关 举报
模拟量处理.docx_第1页
第1页 / 共16页
模拟量处理.docx_第2页
第2页 / 共16页
模拟量处理.docx_第3页
第3页 / 共16页
模拟量处理.docx_第4页
第4页 / 共16页
模拟量处理.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

模拟量处理.docx

《模拟量处理.docx》由会员分享,可在线阅读,更多相关《模拟量处理.docx(16页珍藏版)》请在冰豆网上搜索。

模拟量处理.docx

模拟量处理

全集成自动化(TIA)

解决方案培训教材

第二部分第二章

模拟量处理

 

 

这个手册由西门子自动化与驱动集团教育合作部(automationanddrivetechnology,SiemensA&DCooperateswithEducation)以培训为目的编写。

西门子对其内容不做任何形式的保证。

手册的传播或者复制,包括其内容的使用与发表仅作为公共教育及职业培训之用。

其他情况需要西门子自动化与驱动集团教育合作部的书面许可(Knust先生,E-Mail:

michael.knust@hvr.siemens.de)。

违者必究。

西门子保留所有权力,包括翻译,以及专利权、实用新型或外观设计专有权。

感谢MichaelDziallasEngineering公司、职业学校的教师们,和其他有关朋友为本手册的编写做出的贡献。

 

目录:

1.前言4

2.模拟信号6

3.STEP7中的数据类型8

4.数学运算10

4.1固定小数点数的计算(INT和DINT)10

4.2浮点数运算(REAL)11

4.3数据格式转换操作12

5.输入/输出模拟量13

5.1.输入和规格化模拟量14

5.2.规格化和输出模拟量14

 

下列符号代表的含义:

信息

 

程序

 

示例

 

注意

 

1.前言

第二章第二部分介绍的是STEP7程序的附加功能。

基本STEP7编程

2-3天第一部分

STEP7编程晋级

2-3天第二部分

工业总线系统

2-3天第四部分

序列编程

2-3天第三部分

过程可视化

2-3天第六部分

SIMATICS7IT-通讯

1-2天第五部分

 

学习目标:

这一章,读者将学习模拟量怎样在SIMATICS7中输入、处理和输出

模拟信号

STEP7中的数据类型

数学运算

STEP7中的数据类型转化

输入和规格化模拟量

规格化和输出模拟量

 

基本条件:

为了这部分内容的顺利进行,我们希望读者具备以下的基础知识:

Windows95/98/2000/ME/NET的基本操作知识

用STEP7对PLC编程的基本知识(例如学习了第一部分第三章)

 

需要的硬件和软件:

1PC,Windows95/98/2000/ME/NET的操作系统,以及

最小:

133MHz,64MB的RAM,65MB的空余磁盘空间。

最佳:

500MHz,128MB的RAM,65MB的空余磁盘空间。

2STEP75.x软件。

3一个PC用MPI接口。

4一个装有CPU315-2DP的PLCSIMATICS7—300,

组态举例:

-电源:

PS3072A

-CPU:

CPU315-2DP

-数字式输入:

DI16xDC24V

-数字式输出:

DO16xDC24V/0.5A

1PC

2STEP7

4S7-300

3PCAdapter

 

2.模拟信号

模拟信号与数字信号不同,数字信号只接受两种信号“电压达到24伏”和“电压未达到0伏”,而模拟信号能在某一范围内划分出你想得到的很多电压。

一个典型的例子是作为模拟信号传送器的电压计。

通过调节电阻旋钮的位置可以达到从零开始直到最大电压。

下面是模拟量测量在控制系统技术中的例子:

⏹温度-50—+150°C

⏹流量0—200l/min

⏹转速500—1500R/min

⏹等等...

这些模拟量通过测量传感器都可以变成电信号。

举例来说,500—1500R/min的转速可以转换成0—10V的电压,当转速为865R/min时,测量传感器输出的电压为+3.65V。

 

如果想用可编程序控制器(PLC)来实现相同的测量,电压、电流或电阻值必须首先转换成数字信号,这称为模—数转换(A/D转换)。

这意味着上面例子中3.65V的电压可转化成相同含义的二进制数字信号。

更多时候用二进制数字来表示数字信号。

如果只用1位,例如描述0—10V的电压范围,那么只能代表一个区域。

如果用2位来描述0—5V或5—10V的电压范围,那么可以划分成四个单独的区域,0—2.5/2.5—5/5—7.5/7.5—10V。

通常模数转换在控制系统工程中占8或11位。

8位可以有256个单独区域,11位可以有2048个单独区域。

3.STEP7中的数据类型

在SIMATICS7提供了很多种不同格式的数据类型,下表列出了基本数据类型。

类型和描述

所占

位数

格式选项

范围及数值表示法(最低值及最高值)

示例

BOOL(位)

1

布尔文本

TRUE/FALSE

TRUE

BYTE(字节)

8

十六进制数

B#16#0toB#16#FF

B#16#10

WORD(字)

16

二进制数

2#0to2#1111_1111_1111_1111

2#0001_0000_0000_0000

十六进制数

W#16#0toW#16#FFFF

W#16#1000

BCD

C#0toC#999

C#998

无符号的十进制数

B#(0,0)toB#(255,255)

B#(10,20)

DWORD(双字)

32

二进制数

2#0to2#1111_1111_1111_1111_1111_1111_1111_1111

2#1000_0001_0001_1000_1011_1011_0111_1111

十六进制数

DW#16#0000_0000toDW#16#FFFF_FFFF

DW#16#00A2_1234

无符号的十进制数

B#(0,0,0,0)toB#(255,255,255,255)

B#(1,14,100,120)

INT(整数)

16

有符号的十进制数

-32768to32767

1

DINT(整数,32位)

32

有符号的十进制数

L#-2147483648toL#2147483647

L#1

REAL(浮点数)

32

IEEE浮点数

上限:

±3.402823e+38

下限:

±1.175495e-38

1.234567e+13

S5TIME

(SIMATIC时间)

16

S7时间,每步10ms(缺省值)

S5T#0H_0M_0S_10MStoS5T#2H_46M_30S_0MSand

S5T#0H_0M_0S_0MS

S5T#0H_1M_0S_0MS

S5TIME#1H_1M_0S_0MS

TIME

(IEC时间)

32

IEC时间,每步1ms,带符号整数

-T#24D_20H_31M_23S_648MSto

T#24D_20H_31M_23S_647MS

T#0D_1H_1M_0S_0MS

TIME#0D_1H_1M_0S_0MS

DATE

(IEC日期)

16

IEC日期,每步1天

D#1990-1-1toD#2168-12-31

DATE#1994-3-15

TIME_OF_DAY(时间)

32

时间每步1ms

TOD#0:

0:

0.0toTOD#23:

59:

59.999

TIME_OF_DAY#1:

10:

3.3

CHAR(字符)

8

ASCII字符

´A´,´B´etc.

´B´

 

注意:

在模拟量处理中,INT和REAL的数据格式扮演了很重要的角色,因为输入的模拟量在INT格式中以实数的形式存在。

由于INT格式会造成舍入误差,在更精确的数据处理中,只能使用REAL格式。

4.数学运算

4.1固定小数点数的计算(INT和DINT)

使用固定小数点数,加、减、乘、除等整数的数学操作成为可行。

然而,由于不考虑小数点后面的数,会造成舍入误差。

 

操作

所占位数

功能

+I

16

将累加器1低字中的内容与累加器2低字中的内容相加,结果保存到累加器1低字中。

-I

16

将累加器2低字中的内容减去累加器1低字中的内容,结果保存到累加器1中。

*I

16

将累加器2低字中的内容乘以累加器1低字中的内容,结果保存到累加器1中。

/I

16

将累加器2低字中的内容除以累加器1低字中的内容,商保存到累加器1低字中,余数保存到累加器1的高字中。

+D

32

将累加器1中的内容与累加器2中的内容相加,结果保存到累加器1中。

-D

32

将累加器2中的内容减去累加器1中的内容,结果保存到累加器1中。

*D

32

将累加器2中的内容乘以累加器1中的内容,结果保存到累加器1中。

/D

32

将累加器2中的内容除以累加器1中的内容,仅把商保存到累加器1中。

MOD

32

将累加器2中的内容除以累加器1中的内容,仅把余数保存到累加器1中。

 

4.2浮点数运算(REAL)

使用浮点数可以完成很多的数学操作。

小数点的正确位置在这里要尤其注意。

 

Operation

Function

+R

将累加器1(32位标准IEEE浮点数,下同)和累加器2(32位标准IEEE浮点数,下同)中的内容相加,结果保存在累加器1中。

-R

将累加器2中内容减去累加器1中的内容,结果保存在累加器1中。

*R

将累加器2中内容乘以累加器1中的内容,结果保存在累加器1中。

/R

将累加器2中内容除以累加器1中的内容,结果保存在累加器1中。

SQRT

对累加器1中的内容求平方根,结果保存在累加器1中。

SQR

对累加器1中的内容求平方,结果保存在累加器1中。

LN

对累加器1中的内容求自然对数,结果保存在累加器1中。

EXP

对累加器1中的内容求指数(以e为底),结果保存在累加器1中。

SIN

把累加器1中的内容作为以弧度表示的角度,求其正弦,结果保存在累加器1中。

COS

把累加器1中的内容作为以弧度表示的角度,求其余弦,结果保存在累加器1中。

TAN

把累加器1中的内容作为以弧度表示的角度,求其正切,结果保存在累加器1中。

ASIN

计算累加器1中内容的反正弦,结果保存在累加器1中。

ACOS

计算累加器1中内容的反余弦,结果保存在累加器1中。

ATAN

计算累加器1中内容的反正切,结果保存在累加器1中。

 

4.3数据格式转换操作

因为数字的格式不总是适合以后重要的操作,因此要对数字进行格式转换操作。

Operation

Function

BTI

BCD转成整数(16位)。

将累加器1低字中的二进制编码十进制数转换成整数(16位)。

BTD

BCD转成整数(32位)。

将累加器1中的二进制编码十进制数转换成整数(32位)。

ITB

整数(16位)转成BCD。

将累加器1低字中的整数(16位)转换成二进制编码十进制数。

ITD

整数(16位)转成双整数(32位)。

将累加器1低字中的整数(16位)转换成双整数(32位)。

DTB

双整数(32位)转换成BCD。

将累加器1中的双整数(32位)转换成二进制编码十进制数。

DTR

双整数(32位)转换成浮点数(32位,IEEE-FP)。

将累加器1中的双整数(32位)转换成浮点数(32位,IEEE-FP)。

RND

取整。

将累加器1中的32位IEEE浮点数转换成32位整数(双整数)。

如果被转换数字的小数部分位于奇数和偶数之间,该指令选择偶数结果。

RND+

取整为较大的双整数。

该指令将结果取整为大于或等于该浮点数的最小整数。

RND-

取整为较小的双整数。

该指令将结果取整为小于或等于该浮点数的最大整数。

TRUNC

截尾取整。

该指令取结果为被转换浮点数的整数部分。

 

注意:

在模拟量处理的情况下,模拟量处于INT格式,由于INT格式的舍入误差,应该将其转换成REAL格式。

如果不能直接转换,就先用ITD指令将其转换成DINT格式,然后再用DTD指令转换成REAL格式。

.

 

5.输入/输出模拟量

模拟量输入在PLC中作为一个字的信息,这个字的存取使用以下指令:

LPIWx作为“模拟输入字的装入”

TPQWx作为“模拟输出字的传送”

 

每一个模拟量(“信道”)都分配了一个外围的输入输出字。

格式是整数的INT型。

输入输出字的地址依赖于模块的初始地址。

如果把模拟模块插在插槽4,那么它的缺省初始地址为256。

以后的模拟模块的初始地址按每个插槽16来增加。

这个缺省的初始地址可以在硬件配置表中逐条显示并核对。

插槽6的第一路模拟输入的地址是PIW288,第二路模拟输入的地址是PIW290,第一路模拟输出的地址是PQW288,等等。

在PLC的进一步操作(数字化)中,模拟量转换与模拟输入输出相同。

SM334模块带有4路模拟输入和2路模拟输出,当模拟信号从0到10V,0to20mA时,数字量的范围如下:

01382427648

模拟量的区域

 

在PLC中数字量的进一步操作

0A/0V10mA/5V20mA/10V

 

这些数字量需要经常通过PLC中的进一步处理来规格化。

 

5.1.输入和规格化模拟量

如果一个模拟量已转化成了数字量,在PLC能处理它之前还必须经过规格化。

同样的,从外围设备来的模拟输出量也需要规格化。

在STEP7的程序中,规格化在数学操作中进行。

所以数学操作应该尽可能的精确。

将要规格化的值必须转化成REAL的数据类型,这样舍入误差的影响可以最小。

练习:

在下面的例子中,从0到10V的值中输入到插在插槽6的模拟模块中。

目前这个值是一个整数(16位),应该规格化100到1000之间的REAL格式,并以双字MD10保存在位储存器中。

语句表的解决方案:

LPIW288//0到10V的模拟量输入包含0到27648个整数(16位)

ITD//16位整数值转换成32位整数

DTR//32位整数转化成实数

L2.7648e+4//

/R//除以实数27648

L9.000e+2//

*R//乘以实数900(1000-100)

L1.000e+2//

+R//加上实数100(补偿值)

TMD10//把100到1000规格化成REAL格式

 

5.2.规格化和输出模拟量

如果一个额定值正在或将要用于模拟输出模块,则必须将它规格化。

在STEP7的程序中,规格化在数学操作中进行。

要被规格化的数据必须转化成REAL的数据类型,这样舍入误差可以尽可能的小。

 

举例:

下面的例子中,100到1000的值以REAL格式的双字MD20保存在位储存器中,应该用模拟输出模块SM334(PQW288)把从0到10V的值规格化。

语句表的解决方案:

LMD20//实数格式100到1000的值

L1.000e+2//

-R//减去实数值100(补偿值)

L9.000e+2//

/R//除以实数值900

L2.7648e+4//

*R//乘以实数值27648

RND//舍入成整数

TPQW288//实数0到27648(16位)对应模拟输出值0到10V

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1