s7-200 模拟量使用简介
s7-200系列产品可以采集标准的电压、电流模拟量信号和热电偶、热电阻温度传感器信号以及电阻信号。普通的电压和电流信号经过a/d转换成为0~32000 或者-32000~32000 之间的整数。温度传感器信号被直接转换为摄氏度(或华氏度)温度值的的10倍,省去了复杂的温度值换算。
s7-200系列可以提供的模拟量输出信号有-10v~ +10v之间的电压和0~20ma 的电流信号,能够满足巨大多数模拟量负载的需求。
s7-200系列的模拟量扩展模块选型灵活,用户可以根据实际需要选择使用cpu224xp集成的模拟量通道,或者使用4通道输入、8通道输入、2通道输出、4通道输出和输入输出混合模块。
概览
1.1 大i/o扩展能力
s7-200的大i/o能力取决于以下几个因素,这些因素之间互相影响、制约,必须综合考虑:
1.
cpu 的输入/输出过程变量映像区大小:
128 di/128 do;16 ai/16 ao(cpu 221/222);32 ai/32 ao(cpu 224 以上)
2.
cpu本体的i/o点数:
cpu221(6di/4do);cpu222(8di/6do);cpu224/cpu224 xp(14di/10do);cpu226(24di/16d)
3.
cpu带扩展模块的数目
4.
cpu的5vdc电源是否满足所有扩展模块的需要
5.
cpu所带智能模块对i/o地址的占用
注意
智能模块(如em277、cp243-1)占用扩展模块的数量。这就意味着如果用了这些模块,则相应的i/o扩展模块的数量就要减少。
详情可参考《s7-200系统手册》、《s7-200产品目录》。
表. s7-200 大 i/o (纯 i/o 模块时)
模块
5 v电源/ma
di
do
ai
ao
cpu 221
不能扩展
cpu
340
8
6
cpu 222
max.
di/do
1 x em 223 32 di/32 do
1 x em 223 8 di/8 do
dc/dc
- 320
40
40
1 x em 223 32 di/32 do
1 x em 223 8 di/8 do
dc/relay
- 285
总计
> 0
48
46
max.
ai
cpu
340
8
6
2 x em 235 4 ai/1 ao
- 60
8
2
总计
> 0
8
6
8
2
max.
ao
cpu
340
8
6
2 x em 232 2ao
- 40
0
4
总计
> 0
8
6
0
4
cpu 224
/224 xp
max.
di/relay
out
cpu
660
14
10
3 x em 223 32 di/32 do
- 615
96
96
1 x em 223 4 di/4 do
- 40
4
4
总计
> 0
114
110
max.
di/dc
out
cpu
660
14
10
2 x em 223 32 di/32 do
- 480
64
64
1 x em 223 16 di/16 do
- 150
16
16
总计
> 0
94
90
cpu 226
max.
di/relay
out
cpu
1000
24
16
3 x em 223 32 di/32 do
- 615
96
96
1 x em 223 16 di/16 do
- 150
16
16
总计
> 0
128
128
max.
di/dc
out
cpu
1000
24
16
3 x em 223 32 di/32 do
- 720
96
96
1 x em 223 16 di/16 do
- 160
16
16
总计
> 0
128
128
cpu 224
/(cpu 226)
max.
ai
cpu
> 660
14 (24)
10 (16)
7 x em 235 4 ai/1 ao
- 210
281
72
总计
> 0
14 (24)
10 (16)
281
72
max.
ao
cpu
> 660
14 (24)
10 (16)
7 x em 232 2 ao
- 140
0
143
总计
> 0
14 (24)
10 (16)
0
143
1. cpu 224 xp 为 30
2. cpu 224 xp 为 8
3. cpu 224 xp 为 15
不同型号的cpu所带的扩展模块数目不同。
表. 扩展模块连接个数
cpu型号
模块连接个数
cpu221
-
cpu222
2
cpu224/224 xp
7
cpu226
7
1.2. 模拟量模块总览
表. s7-200 cn em 订货号
型号
规格
订货号
em 231 cn
模拟量输入模块,4 输入
6es7 231-0hc22-0xa8
模拟量输入模块,8 输入
6es7 231-0hf22-0xa0
2 路输入热电阻
6es7 231-7pb22-0xa8
4 路输入热电阻
6es7 231-7pc22-0xa0
4 路输入热电偶
6es7 231-7pd22-0xa8
8 路输入热电偶
6es7 231-7pf22-0xa0
em 232 cn
模拟量输出模块,2 输出
6es7 232-0hb22-0xa8
模拟量输出模块,4 输出
6es7 232-0hd22-0xa0
em 235 cn
模拟量输入/输出模块,
4 输入/1 输出
6es7 235-0kd22-0xa8
目前还没有 s7-200 cn 系列产品。可使用 simatic s7-200 产品代替。
1.3. 模块安装
每个s7-200 模块都自带一根带状i/o总线电缆,如果该电缆满足模块之间的安装宽度需求,可直接将该电缆插接在其它模块上的10针插槽内,如下图:
1.4 modbus rtu 主站例程
模拟量输入模块有两个参数容易混淆:
1.
模拟量转换的分辨率
2.
模拟量转换的精度(误差)
分辨率是a/d模拟量转换芯片的转换精度,即用多少位的数值来表示模拟量。s7-200模拟量模块的转换分辨率是12位,能够反映模拟量变化的小单位是满量程的1/4096。
模拟量转换的精度除了取决于a/d转换的分辨率,还受到转换芯片的外围电路的影响。在实际应用中,输入的模拟量信号会有波动、噪声和干扰,内部模拟电路也会产生噪声、漂移,这些都会对转换的后精度造成影响。这些因素造成的误差要大于a/d芯片的转换误差。
2电压电流模拟量信号
用户可以使用cpu224xp本体集成的模拟量通道和扩展模块上的模拟量通道接入或者输出相应信号量程的模拟量信号。
2.1 cpu 224 xp(si)的集成模拟量i/o
新产品cpu 224 xp在cpu上集成了两个模拟量输入端口和一个模拟量输出端口。模拟量i/o有自己的一组端子,如果不用,端子可以移走。
技术规格
表. cpu 224 xp本体模拟量i/o规格
电压信号
电流信号
模拟量输入x 2
±10 v
-
模拟量输出x 1
0 - 10 v
0 - 20 ma
cpu 224 xp 的模拟量输入/输出通道的精度为 12位。具体参数请看《s7-200系统手册》的附录-cpu224 xp模拟量i/o参数表。 cpu 224 xp上的模拟量输入转换速度比模拟量扩展模块慢,要求高的场合请使用模拟量扩展模块。
cpu 224 xp 集成模拟量i/o接线
cpu 224 xp本体集成的模拟量i/o接线图如下:
图. 接线图
图中:
a:此处表示a+和b+都可以接±10v信号
b:电流型负载接在i和m端子之间
c:电压型负载接在v和m端子之间
cpu 224 xp 模拟量相关常问问题
cpu 224 xp本体上有没有电流信号模拟量输入?
没有。
cpu 224 xp本体上的模拟量输入为何响应速度是250ms,不同于模拟量扩展模块的数据?
是这样的。cpu 224 xp本体上的模拟量i/o芯片与模拟量模块所用的不同,应用的转换原理不同,因此精度和速度不一样。
cpu 224 xp的本体模拟量i/o如何寻址?
cpu 224 xp本体上的模拟量输入通道的地址为aiw0和aiw2;模拟量输出通道的地址为aqw0。
cpu 224 xp后面挂的模拟量模块的地址如何分配?
s7-200的模拟量i/o地址总是以2个通道/模块的规律增加。所以cpu 224 xp后面的个模拟量输入通道的地址为aiw4;个输出通道的地址为aqw4,aqw2不能用。
cpu 224 xp上的模拟量输入是否需要在“系统块”中设置滤波?
由于cpu 224 xp本体上的模拟量转换芯片的原理与扩展模拟量模块不同,不需要选择滤波。
怎样使用 s7-224 xp 的模拟量输入通道接收电流信号?
s7-224 xp 的两路模拟量输入通道被出厂设置为电压信号(0-10v)输入。为了能够输入电流信号,必须在 a+ 与 m 端 (或 b+ 与 m 端) 之间并入一个500 欧姆的电阻。
与传感器以及电压源的两线制连接方式如图2 所示:
图2
与传感器以及电压源的 3 线制连接方式如图 3 所示:
图3
与传感器以及电压源的 4 线制连接方式如图 4 所示:
图4
与电压输出的变送器及电流源的 4 线制连接方式如图5所示:
图5
注意:
在所有的连接方式中都必须确保外接电流源具有短路保护以防损坏。
以上所示的各种连接方式同样适用于logo!基本型 (logo! 24?和 logo! 12/24) 的模拟量输入。
因为没有充分隔离,外接电阻也可成为干扰源。
为了得到尽量精确的测量结果,推荐使用公差尽可能小的电阻。
应确保当在500欧电阻两端施加大 28.8v 的电压时,输出功率为 1.66w。 市面上流通的电阻的功率大都是 0.25w到 0.5w。
2.3 em231 4ai和em235模块的电压电流输入
模拟量模块设置
应用模拟量模块时,需要根据输入信号的规格设置右下角的dip开关(configuration开关)。dip开关只对输入信号有效,并且对所有的输入通道都是相同的。
em231、em235带模拟量输入通道的模块,还分别有电位器用于对输入信号进行校正。em231和em235上的gain(增益)电位器用于调整输入信号和转换数值的放大关系;em235上的offset(偏置)用于对输入信号调零。如果没有精确的信号源,请不要调整。详细调整方法请参照《s7-200系统手册》。
注意:
gain(增益)和offset(偏置)电位器不能用于调整0 - 20ma和4 - 20ma输入转换!
s7-200模拟量模块没有0 - 20ma与4 - 20ma电流型输入的选择开关,0/4 - 20ma模拟量信号的dip开关设置一样,但相应的变换必须用程序实现。
dip开关设置
表. em231 4ai dip开关设置
单极性
满量程输入
分辨率
sw1
sw2
sw3
on
off
on
0 - 10v
2.5mv
on
off
0 - 5v
1.25mv
0 - 20ma
5μa
双极性
满量程输入
分辨率
sw1
sw2
sw3
off
off
on
±5v
2.5mv
on
off
±2.5v
1.25mv
表. em235dip开关设置
单极性
满量程输入
分辨率
sw1
sw2
sw3
sw4
sw5
sw6
on
off
off
on
off
on
0 - 50 mv
12.5μv
off
on
off
on
off
on
0 - 100 mv
25μv
on
off
off
off
on
on
0 - 500 mv
125μv
off
on
off
off
on
on
0 - 1 v
250μv
on
off
off
off
off
on
0 - 5 v
1.25mv
0 - 20 ma
5μa
off
on
off
off
off
on
0 - 10 v
2.5mv
双极性
满量程输入
分辨率
sw1
sw2
sw3
sw4
sw5
sw6
on
off
off
on
off
off
±25 mv
12.5μv
off
on
off
on
off
off
±50 mv
25μv
off
off
on
on
off
off
±100 mv
50μv
on
off
off
off
on
off
±250 mv
125μv
off
on
off
off
on
off
±500 mv
250μv
off
off
on
off
on
off
±1 v
500μv
on
off
off
off
off
off
±2.5 v
1.25mv
off
on
off
off
off
off
±5 v
2.5 mv
off
off
on
off
off
off
±10 v
5 mv
模拟量接线图
下列各图是各种传感器连接到s7-200 模拟量输入模块的示例:
图. 四线制-外供电-电流型信号接线
图 . 二线制-电流测量接线
上图中的l+和m属于为模拟量模块供电的 cpu 传感器电源。如果使用其他外接电源,只要用相应电源的输出端取代上图中的l+和m,而且要使其 m 和为模块供电的 m 连接起来,如图 三线制电流信号测量接线 。
图 . 四线制电压信号测量
图 . 三线制电压信号测量
一个模拟量输入模块的不同通道,可以同时分别连接两线制信号、三线制信号和四线制信号。
2.5. em231 8ai模块的电压电流输入
simatic s7-200 新的模拟量模块 8 输入模拟量 em231新发布。新模块的尺寸与现有模块 em231 和 em235 的尺寸完全相同,8 输入模拟量 em231模块只占用一个扩展模块的位置,这就使系统可以使用更多的模拟量通道。
新的 8 输入模拟量 em231模块与现有的4输入em231模块不同,只有 6 和 7 通道支持电流输入。
技术参数
表. 新 em 231 8 模拟量输入规格表
产品
em231, 8 模拟量输入
订货号
6es7 231-0hf22-0xa0
尺寸 (w, h, d)
71.2mm, 80mm, 62mm
vdc 需求:
+5v dc (背板):20ma +24v dc:60ma
输入通道数:
8 个
数据字格式:
· 双极性
· 单极性
-32000 到 +32000
0 到 32000
精度:
· 双极性
· 单极性
11位 加 1 个符号位
11 位
输入范围:
· 0 至 5通道:
· 6 至 7 通道:
+10v, +5v, +/-5v, +/-2,5v
+10v, +5v, +/-5v, +/-2,5v和 0-20ma
em231 8 输入配置开关表
按照下面的表格来配置拨码开关。其中使用开关 3, 4,5 来选择模拟量输入范围,使用开关 1,2 来选择电流输入模式(只有通道 6 和 7 可以用作电流输入)。并且当后两个通道使用电流信号时,前6个通道的电压测量范围必须是0-5v,而不能使用0-10v的信号。所以,当您需要接入8路电流信号时,只能使用两个em231的4通道的模块。
8输入的em231模块只有第6、7两通道可以用做电流输入,使用拨码开关1、2对其进行设置:当开关1为“on”时,通道6用做电流输入;开关2为“on”时,通道7用做电流输入。反之,当1、2开关为“off”时,6、7通道用做电压输入。
表. 新 em 231 8 模拟量输入配置开关表
单极性
满量程输入
分辨率
sw1
sw2
sw3
sw4
sw5
off
off
on
off
on
0至10v
2.5mv
off
off
on
on
off
0至5v
1.25mv
x
x
on
on
off
x可选择第6、7通道:0到20ma
5ua
双极性
满量程输入
分辨率
sw1
sw2
sw3
sw4
sw5
off
off
off
off
on
±5v
2.5mv
off
off
off
on
off
±2.5v
1.25mv
接线图
图. 新 em 231 8 模拟量输入接线图
2.7. em232和em235的模拟量输出
技术参数
表. 4 输出模拟量模块 em232 规格表
产品
em232, 2 模拟量输出
em232, 4 模拟量输出
em235 4ai/1aq
定货号
6es7 232-0hb22-0xa8
6es7 232-0hd22-0xa0
6es7 235-0kd22-0xa8
尺寸 (w, h, d)
46mm, 80mm, 62mm
71.2mm, 80mm, 62mm
vdc 需求:
+5v dc (背板):20ma +24v dc:70ma
+5v dc (背板):20ma +24v dc:100ma
+5v dc (背板):30ma +24v dc:60ma
输出通道数:
2个
4个
1个
数据字格式:
· 双极性
· 单极性
-32000 到 +32000
0 到 32000
精度:
· 双极性
· 单极性
11位 加 1 个符号位
11 位
信号范围:
电压输出:-10v~10v
电流输出: 0-20ma
误差:
+/- 0.5% (25°c), +/- 2% (55°c)
接线图
图1. 4 输出模拟量模块 em232 接线图
图2. 混合模拟量模块 em235 接线图
补充说明:
• 电压负载接在v和m之间,电流负载接在i和m之间,m为参考点。
• simatic s7-200与s7-200cn接线图与技术参数一致
2.8. 电压电流信号常问问题
em231的后三位dip开关有什么作用?
正如 新 em 231 8 模拟量输入配置开关表 所示,没有作用。
什么是单极性、双极性?
双极性就是信号在变化的过程中要经过“零”,单极性不过零。由于模拟量转换为数字量是有符号整数,所以双极性信号对应的数值会有负数。
在s7-200中,单极性模拟量输入/输出信号的数值范围是 0 - 32000;双极性模拟量信号的数值范围是 -32000-+32000。
同一个模块的不同通道是否可以分别接电流和电压型输入信号?
可以分别按照电流和电压型信号的要求接线。但是dip开关设置对整个模块的所有通道有效,在这种情况下,电流、电压信号的规格必须能设置为相同的dip开关状态。em231 4输入和em235模块的0 - 5v和0 - 20ma信号具有相同的dip设置状态,可以接入同一个模拟量模块的不同通道。
em235是否能用于热电阻测温?
em235不是用于与热电阻连接测量温度的模块,勉强使用容易带来问题。
建议使用em231 rtd模块。
为什么使用s7-200 模拟量输入模块时接收到一个变动很大的不稳定的值?
可能是如下原因:
1.
你可能使用了一个自供电或隔离的传感器电源,两个电源没有彼此连接,即模拟量输入模块的电源地和传感器的信号地没有连接。这将会产生一个很高的上下振动的共模电压,影响模拟量输入值。
2.
另一个原因可能是模拟量输入模块接线太长或绝缘不好。
可以用如下方法解决:
1.
连接传感器输入的负端与模块上的公共m 端以补偿此种波动。(但要注意确保这是两个电源系统之间的**联系。)
背景是:
◦ 模拟量输入模块内部是不隔离的;
◦ 共模电压不应大于 12v;
◦ 对于60hz干扰信号的共模抑制比为40db。
◦ 选择模拟量输入滤波;
◦ 选择 “number of samples”和“deadband”
图1. 设置模拟量滤波
“number of samples”指定了选中进行滤波的通道进行平均值计算的采样数。滤波得出的数值就是已采样的n个数值的平均值,而n就是“number of samples”的值。
死区(deadband)定义了允许偏离于平均值的大值。
s7-200的模拟量输入/输出模块是否带信号隔离?
不带隔离。如果用户的系统中需要隔离,请另行购买信号隔离器件。
模拟量信号的传输距离有多远?
电压型的模拟量信号,由于输入端的内阻很高(s7-200的模拟量模块为10兆欧),极易引入干扰,所以讨论电压信号的传输距离没有什么意义。一般电压信号是用在控制设备柜内电位器设置,或者距离非常近、电磁环境好的场合。
电流型信号不容易受到传输线沿途的电磁干扰,因而在工业现场获得广泛的应用。
电流信号可以传输比电压信号远得多的距离。理论上,电流信号的传输距离受到以下几个因素的制约:
• 信号输出端的带载能力,以欧姆数值表示(如700ω)
• 信号输入端的内阻
• 传输线的静态电阻值(来回是双线)
信号输出端的负载能力必须大于信号输入端的内阻与传输线电阻之和。当然实际情况不会完全符合理想的计算结果,传输距离过长会造成信号衰减,也会引入干扰。
如果负载能力足够,一个电流信号可以串接多个信号输入端。例如一个4 - 20ma的模拟量转速给定信号可以输出给两台变频器的4 - 20ma模拟量输入端口。
s7-200模拟量模块的输入/输出阻抗指标是多少?
详情可见《s7-200系统手册》的附录a. (模拟量输入/输出规范) 。
模拟量输入阻抗:
• 电压型信号:≥ 10mω
• 电流型信号:250ω
模拟量输出阻抗:
• 电压型信号:≥ 5kω
• 电流型信号:≤ 500ω2.
使用模拟量输入滤波器。
在micro/win 中进入“view > system block> tab: analog input filters”
模拟量模块的电源指示灯正常,为何信号输入灯不亮?
模拟量模块的外壳按照通用的形式设计和制造,实际上没有模拟量输入信号指示灯。凡是没有印刷标记的灯窗都是无用空置的。
为何模拟量值的低三位有非零的数值变化?
模拟量的转换精度为12位,但模块将数模转换后的数值向高位移动了三位。如果将此通道设置为使用模拟量滤波,则当前的数值是若干次采样的平均值,低三位是计算得出的数值;如果禁用模拟量滤波,则低三位都是零。
s7-200测量0-20ma和4-20ma的电流信号时需要选择不同的模块吗?设置上有差异吗?
不需要选择不同的模块。选择同一种模块,如em231(订货号:6es7 231-0hc22-0xa0)即可实现。对于s7-200模拟量模块而言,量程设定是通过拨码开关来实现的,对于4-20ma和0-20ma两种量程,其拨码设置是完全一样的。二者的区别是4-20ma对应的数字量范围是6400-32000。而0-20ma对应的数字量范围是0-32000。
3.2. em231 rtd 4ai dip开关设置
3.3. 热电阻模块接线
em231 rtd 模块支持的信号类型有铂(pt),铜(cu),镍(ni)或电阻,dips开关的详细信息请参考《s7-200系统手册》附录a有关模拟量模块的部分。
因为热电阻分2线制、3线制、4线制,所以rtd模块与热电阻的接线有3种方式,如图所示。其中,精度高的是4线连接,精度低的是2线连接。
231 rtd模块占用的模拟量通道,在系统块中设置模拟量通道滤波时,应禁止滤波功能。
3.4. 热电阻常问问题
热电阻模块上的sf红灯为何闪烁?
sf红灯闪烁有两个原因:模块内部软件检测出外接热电阻断线,或者输入超出范围。由于上述检测是两个输入通道共用的,所以当只有一个通道外接热电阻时,sf灯必然闪烁。解决方法是将一个100 ohm的电阻,按照与已用通道相同的接线方式连接到空的通道;或者将已经接好的那一路热电阻的所有引线,一一对应连接到空的通道上。
什么是正向标定、负向标定?
正向标定值是3276.7度(华氏或摄氏),负向标定值是-3276.8度。如果检测到断线、输入超出范围时,相应通道的数值被自动设置为上述标定值。
热电阻的技术参数不是很清楚,如何在dip开关上设置类型?
应该尽量弄清楚热电阻的参数。否则可以使用缺省设置。
热电偶传感器
4.1. 热电偶模块的技术参数
技术参数 如下表. em231 tc 热电偶模块规格表所示
产品
em231 tc, 4模拟量输入
em231 tc, 8 模拟量输入
订货号
6es7 231-7pd22-0xa8
6es7 231-7pf22-0xa0
尺寸 (w, h, d)
71.2mm, 80mm, 62mm
vdc 需求:
+5v dc (背板):87ma
+24v dc:60ma
输入通道数:
4 个
8 个
输入范围:
支持的热电偶型号:s, t, r, e, n, k, j, 电压测量+/- 80mv
精度:
0.1 °c 或 0.1°f
15 位加符号位
误差:
0.1% fs (电压测量 )
0.05% fs
拨码开关设置与 em231 tc, 4 模拟量输入模块相同
simatic s7-200 新的模拟量模块 8 输入em231 tc 热电偶模块新发布。新模块的尺寸与现有模块 em231tc 的尺寸完全相同,8 输入模拟量 em231tc 模块只占用一个扩展模块的位置,这就使系统可以使用更多的模拟量通道。
新的模块不能用在s7-200 cpu 的 21x 系列上。
4.2. dip开关的设置
热电偶模块的dip开关设置参考下表:
表 . 组态热电偶模块dip开关
4.3. 热电偶模块的接线
热电偶模块接线如下图:
em231 tc 模块占用的模拟量通道,在系统块中设置模拟量通道滤波时,应禁止滤波功能。
4.4. 热电偶常问问题
em231 tc(热电偶)模块是否支持b型热电偶?
em231 tc支持j、k、e、n、s、t和r型热电偶,不支持b型热电偶。
em231 tc是否需要补偿导线?
em231 tc可以设置为由模块实现冷端补偿,但仍然需要补偿导线进行热电偶的自由端补偿。
em231 tc模块sf灯为何闪烁?
原因可能是:
•如果选择了断线检测,则可能是断线。应当短接未使用的通道,或者并联到旁边的实际接线通道上。
•输入超出范围
5编程软件中的使用
5.1. s7-200模拟量数据格式与寻址
模拟量输入/输出数据是有符号整数,占用一个字长(两个字节),所以地址必须从偶数字节开始。模拟量的转换精度为12位,但在plc中表示为-32000-+32000之间的整数值(实际上数值可以是整个16位有符号整数的范围,但标准输入信号如10v/20ma被标定为对应32000,模拟量超过标准值一点也因此可以表示)。
在s7-200中,单极性模拟量输入/输出信号的数值范围是 0 - 32000;双极性模拟量信号的数值范围是 -32000-+32000。
格式:
• 输入:aiw[起始字节地址]——如aiw6
• 输出:aqw[起始字节地址]——如aqw0
每个模拟量输入模块,按模块的先后顺序和输入通道数目,以固定的递增顺序向后排地址。 例如: aiw0、aiw2、aiw4、aiw6、aiw8等。
对于em231 rtd(热电阻)两通道输入模块,不再占用空的通道,后面的模拟量输入点是紧接着排地址的。
每个有模拟量输出的模块占两个输出通道。即使个模块只有一个输出aqw0,第二个模块的输出地址也应从aqw4开始寻址(aqw2被个模块占用),依此类推。
温度模拟量输入模块(em231 tc、em231 rtd)也按照上述规律寻址,但是所读取的数据是温度测量值的10倍(摄氏或华氏温度)。如520相当于52.0度。
注意: 每一模块的起始地址都可在step 7-micro/win中的菜单“plc > information”里在线读到。
5.2. 模拟量滤波器
s7-200允许你为每一路模拟量输入选择软件滤波器。一般情况下选用s7-200的模拟量滤波功能就不必再另行编制用户的滤波程序。
如果对某个通道选用了模拟量滤波,cpu将在每一程序扫描周期前自动读取模拟量输入值,这个值就是滤波后的值,是所设置的采样数的平均值。模拟量的参数设置(采样数及死区值)对所有模拟量信号输入通道有效。
如果对某个通道不滤波,则cpu不会在程序扫描周期开始时读取平均滤波值,而只在用户程序访问此模拟量通道时,直接读取当时实际值。
模拟量滤波器使用步骤如下:
1. 在micro/win 中进入view>component>system block,并选择analog input filters选项,进入模拟量滤波器。
2. 设置模拟量滤波器:
图1. 模拟量通道滤波设置
a.设置模拟量采样数,例:此处设置的64表示模拟量滤波后的值为包括当前采样的前64个采样值的平均值。
b.
死区值,定义了计算模拟量平均值的取值范围
◾如果采样值都在这个范围内,就计算采样数所设定的平均值;如果当前新采样的值超过了死区的上限或下限,则该值立刻被采用为当前的新值,并作为以后平均值计算的起始值(如图2所示)
◾这就允许滤波器对模拟量值的大的变化有一个快速响应
◾死区值设为0,表示禁止死区功能,即所有的值都进行平均值计算,不管该值有多大的变化
◾对于快速响应要求,不要把死区值设为0,而把它设为可预期的大的扰动值(320为满量程32000的1%)
c.选择需要滤波的模拟量通道,打钩的为使能的模拟量输入,缺省设置是为所有的模拟量输入使用滤波器
d.cpu224xp上的aiw0、aiw2(cpu本体上的模拟量输入通道)不必滤波
图2. 死区示意图
3. 点击ok并下载修改后的系统块到s7-200中。
注意:
•为变化比较缓慢的模拟量输入选用滤波器可以抑制波动
•为变化较快的模拟量输入选用较小的采样数和死区值会加快响应速度
•对高速变化的模拟量值不要使用滤波器
•如果用模拟量传递数字量信号,或者使用热电阻(em231 rtd)、热电偶(em231 tc)、as-interface(cp243-2)模块时,不能使用滤波器
5.3. 模拟量比例换算
因为a/d(模/数)、d/a(数/模)转换之间的对应关系,s7-200 cpu内部用数值表示外部的模拟量信号,两者之间有一定的数学关系。这个关系就是模拟量/数值量的换算关系。
例如,使用一个0 - 20ma的模拟量信号输入,在s7-200 cpu内部,0 - 20ma对应于数值范围0 - 32000;对于4 - 20ma的信号,对应的内部数值为6400 - 32000。
如果有两个传感器,量程都是0 - 16mpa,但是一个是0 - 20ma输出,另一个是4 - 20ma输出。它们在相同的压力下,变送的模拟量电流大小不同,在s7-200内部的数值表示也不同。显然两者之间存在比例换算关系。模拟量输出的情况也大致相同。
上面谈到的是0 - 20ma与4 - 20ma之间换算关系,但模拟量转换的目的显然不是在s7-200 cpu中得到一个0 - 32000之类的数值;对于编程和操作人员来说,得到具体的物理量数值(如压力值、流量值),或者对应物理量占量程的百分比数值要更方便,这是换算的终目标。
如果使用编程软件micro/win32中的pid wizard(向导)生成pid功能子程序,就不必进行0 - 20ma与4 - 20ma信号之间的换算,只需进行简单的设置。
通用比例换算公式
模拟量的输入/输出都可以用下列的通用换算公式换算:
ov = [(osh - osl)*(iv - isl)/(ish - isl)] + osl
其中:
ov:
换算结果
iv:
换算对象
osh:
换算结果的高限
osl:
换算结果的低限
ish:
换算对象的高限
ish:
换算对象的低限
它们之间的关系可以图示如下:
图1. 模拟量比例换算关系
实用指令库
在step 7-micro/win programming tips(micro/win编程技巧中)的tip38就是关于如何实现上述转换的例程。
为便于用户使用,现已将其导出成为“自定义指令库”,用户可以添加到自己的micro/win编程软件中应用。
模拟量比例换算指令库和例子
注意:此指令库/程序的作者和拥有者对于该软件的功能性和兼容性不负任何责任。使用该软件的风险完全由用户自行承担。由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。
在这个指令库中,子程序scale_i_to_r可用来进行模拟量输入到s7-200内部数据的转换;子程序scale_r_i可用于内部数据到模拟量输出的转换。
编程举例