【西门子自动化课程】 (23)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

全集成自动化(T I A) 解决方案培训教材
第二局部第二章
模拟量处置
这个手册由西门子自动化与驱动集团教育合作部(automation and drive technology, Siemens A&D Cooperates with Education)以培训为目的编写。

西门子对其内容不做任何形式的包管。

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

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

违者必究。

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

感谢Michael Dziallas Engineering公司、职业学校的教师们,和其他有关伴侣为本手册的编写做出的奉献。

目录:
1.前言 (4)
2.模拟信号 (6)
3.STEP 7中的数据类型 (7)
4.数学运算 (9)
4.1 固定小数点数的计算〔INT和DINT〕 (9)
4.2 浮点数运算〔REAL〕 (9)
4.3 数据格式转换操作 (10)
5.输入/输出模拟量 (12)
5.1. 输入和规格化模拟量 (12)
5.2. 规格化和输出模拟量 (13)
以下符号代表的含义:
信息
程序
例如
注意
1. 前言
第二章第二局部介绍的是STEP 7程序的附加功能。

学习目标:
这一章,读者将学习模拟量怎样在SIMATIC S7中输入、处置和输出
•模拟信号
•STEP 7中的数据类型
•数学运算
•STEP 7中的数据类型转化
•输入和规格化模拟量
•规格化和输出模拟量
底子条件:
为了这局部内容的顺利进行,我们但愿读者具备以下的根底常识:•Windows 95/98/2000/ME/NET的底子操作常识
•用STEP 7对PLC编程的底子常识〔例如学习了第一局部第三章〕需要的硬件和软件:
1 PC , Windows 95/98/2000/ME/NET的操作系统,以及
最小:133MHz,64MB 的RAM ,65MB的空余磁盘空间。

最正确: 500MHz,128MB 的 RAM,65MB 的空余磁盘空间。

2 STEP 7 5.x 软件。

3 一个PC用MPI接口。

4 一个装有CPU 315-2DP的 PLC SIMATIC S7—300,
组态举例:
-电源: PS 307 2A
-CPU : CPU 315-2DP
-数字式输入:DI 16x DC 24V
-数字式输出: DO 16x DC 24V/0.5A
2 STEP 7
1 PC
3 PC Adapter
4 S7-300
2. 模拟信号
模拟信号与数字信号不同,数字信号只接受两种信号“电压达到24伏〞和“电压
未达到0伏〞,而模拟信号能在某一范围内划分出你想得到的很多电压。

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

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

下面是模拟量测量在控制系统技术中的例子:
⏹温度 -50 —+150°C
⏹流量 0 — 200l/min
⏹转速 500 — 1500 R/min
⏹等等...
这些模拟量通过测量传感器都可以变成电信号。

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

365
1000 R/min
10V 10V: 1000 R/min = 0,01 V/R/min 365 R/min x 0,01 V/R/min = 3,65
0 V+10V
5008651500 R/min
如果想用可编程序控制器〔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个单独区域。

11 Bit 10V: 2048 = 0,0048828 电压差异
<5mV 可以鉴别
02048
0A/0V20mA/10V
3. STEP 7中的数据类型
在SIMATIC S7提供了很多种不同格式的数据类型,下表列出了底子数据类型。

类型和描述所占
位数格式选项范围及数值暗示法〔最低值及最高
值〕
例如
BOOL 〔位〕 1 布尔文本TRUE/FALSE TRUE
BYTE 〔字节〕8 十六进制数B#16#0 to B#16#FF B#16#10
WORD 〔字〕16 二进制数2#0 to 2#1111_1111_1111_1111 2#0001_0000_0000_0000
十六进制数W#16#0 to W#16#FFFF W#16#1000
BCD C#0 to C#999 C#998
无符号的十进制

B#(0,0) to B#(255,255) B#(10,20)
DWORD 〔双字〕32 二进制数2#0 to
2#1111_1111_1111_1111_1111_1
111_1111_1111
2#1000_0001_0001_1000
_1011_1011_0111_1111
十六进制数DW#16#0000_0000 to
DW#16#FFFF_FFFF
DW#16#00A2_1234
无符号的十进制

B#(0,0,0,0) to B#(255,255,255,255) B#(1,14,100,120)
INT 〔整数〕16 有符号的十进制

-32768 to 32767 1
DINT 〔整数,32位〕32 有符号的十进制

L#-2147483648 to L#2147483647 L#1
REAL 〔浮点数〕32 IEEE 浮点数上限:±3.402823e+38
下限:±1.175495e-38
1.234567e+13
S5TIME 〔SIMATIC时间〕16 S7时间,每步
10ms 〔缺省值〕
S5T#0H_0M_0S_10MS to
S5T#2H_46M_30S_0MS and
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_648MS to
T#24D_20H_31M_23S_647MS
T#0D_1H_1M_0S_0MS
TIME#0D_1H_1M_0S_0M
S
DATE (IEC日期) 16 IEC日期,每步1

D#1990-1-1 to D#2168-12-31 DATE#1994-3-15
TIME_OF_DAY
(时间)
32 时间每步1ms TOD#0:0:0.0 to TOD#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 中作为一个字的信息,这个字的存取使用以下指令:
L PIW x 作为“模拟输入字的装入〞
T PQW x 作为“模拟输出字的传送〞
每一个模拟量〔“信道〞〕都分配了一个外围的输入输出字。

格式是整数的INT 型。

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

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

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

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

插槽6的第一路模拟输入的地址是PIW 288,第二路模拟输入的地址是PIW 290,第一路模拟输出的地址是PQW 288,等等。

在PLC 的进一步操作〔数字化〕中,模拟量转换与模拟输入输出不异。

SM334模块带有4路模拟输入和2路模拟输出,当模拟信号从0到10V ,0 to 20mA 时,数字量的范围如下:
5 V N e n n b e r e i c h d e s A n w e n d u n g s b e r e i c h A n a l o g e i n g a n g s 200U G R 3500 V 500O G R 10
V
这些数字量需要经常通过PLC 中的进一步处置来规格化。

5.1. 输入和规格化模拟量
0 13824 27648 模拟量的区域 在PLC 中数字量的进一步操作 0A/0V 10mA/5V 20mA/10V
如果一个模拟量已转化成了数字量,在PLC能处置它之前还必需颠末规格化。

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

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

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

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

操练:
鄙人面的例子中,从0到10V的值中输入到插在插槽6的模拟模块中。

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

语句表的解决方案:
L PIW 288 //0到10V的模拟量输入包含0到27648个整数〔16位〕
ITD //16位整数值转换成32位整数
DTR //32位整数转化成实数
L 2.7648e+4 //
/R //除以实数27648
L 9.000e+2 //
*R // 乘以实数900〔1000-100〕
L 1.000e+2 //
+R // 加上实数100〔抵偿值〕
T MD10 //把100到1000规格化成REAL格式
5.2. 规格化和输出模拟量
如果一个额定值正在或将要用于模拟输出模块,那么必需将它规格化。

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

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

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

语句表的解决方案:
L MD20 //实数格式100到1000的值
L 1.000e+2 //
-R // 减去实数值100〔抵偿值〕
L 9.000e+2 //
/R // 除以实数值900
L 2.7648e+4 //
*R // 乘以实数值27648
RND // 舍入成整数
T PQW 288 // 实数0到27648〔16位〕对应模拟输出值0到10V。

相关文档
最新文档