QQ登录

只需一步,快速开始

如何转换西门子 S7-1200 CPU模拟量

[ 复制链接 ]
如何转换S7-1200 CPU模拟量

问题:在S7-1200 CPU中,如何实现模拟量数值与工程量数值之间的转换?

回答:本文档提供了程序库例程FC105,FC106,用户可以使用它们将模拟量输入/输出的整数数值与工程量单位之间进行转换。用户需要将此例程安装到程序库中。

步骤1:解压缩“analog_convert.rar”

请点击此处下载

查看状态:已购买或有权限

您的用户组是:游客

文件名称:201111817528726.rar 
文件大小:308.58 KB 
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

文件到一个文件夹。

步骤2:打开STEP7 Basic中的“Libraries Tab”, 点击“Open global library”图标

如何转换西门子 S7-1200 CPU模拟量

如何转换西门子 S7-1200 CPU模拟量

图1

步骤3:选择“analog_convert”库所解压的文件夹。

如何转换西门子 S7-1200 CPU模拟量

如何转换西门子 S7-1200 CPU模拟量
图2

步骤4:在添加程序库后,FC105(SCALE),FC106(UNSCALE)即可以被添加到用户程序中。

如何转换西门子 S7-1200 CPU模拟量

如何转换西门子 S7-1200 CPU模拟量
图3

参数解释:
1. 用户可以使用本例子所提供的FC105将模拟量输入模板的整数数值转换为工程量数值。对于FC105的输入/输出参数解释如下:

参数
类型
数据类型
存储区
描述
EN
输入
BOOL
I, Q, M, D, L
信号状态 “1”,激活该块。
ENO
输出
BOOL
I, Q, M, D, L
块执行无错误时,输出信号状态 “1”。
IN
输入
INT
I, Q, M, D, L,常数
需转化的整数输入值。
HI_LIM
输入
REAL
I, Q, M, D, L,常数
物理单位的高限值。
LO_LIM
输入
REAL
I, Q, M, D, L,常数
物理单位的低限值。
BIPOLAR
输入
BOOL
I, Q, M, D, L,常数
信号状态“1” 表示双极性输入值。
信号状态“0” 表示单极性输入值。
OUT
输出
REAL
I, Q, M, D, L,
转化后的工程量结果。
RET_VAL
输出
WORD
Q, M, D, L,
当操作没有错误,输出值 W#16#0000。

表1:FC105 参数

参数转化关系:
OUT = [((FLOAT (IN) – K1)/ (K2–K1)) * (HI_LIM–LO_LIM)] + LO_LIM
注意:如果用户使用的输入/输出类型为双极性(如±10V,±5V等),BIPOLAR参数应当给定为TRUE,此时K1=-27648,K2=27648,否则K1=0,K2=27648。

例如:假设模拟量模块所接传感器为0-20mA 类型,其测量对象为温度,当温度为0℃时电流为0 mA,当温度为100℃时电流为20 mA。此时模拟量输入模块得到的对应数值0 mA对应为0,20 mA对应为27648。如果当前电流值为10 mA,则模拟量模块得到的输入值为13824,如果用户希望在CPU中得到一个最终的实际温度值,则可以调用FC105,将模拟量输入模块的数值赋给参数IN,工程量上限值给定为100.0,下限值给定为0.0,即可在输出参数OUT得到实际温度值50℃。

如何转换西门子 S7-1200 CPU模拟量

如何转换西门子 S7-1200 CPU模拟量

图4:FC105 使用例子

2. 用户可以使用本例子所提供的FC106将工程量值转换为模拟量输出模板所需要的数值。
对于FC106的输入/输出参数解释如下:

参数
类型
数据类型
存储区
描述
EN
输入
BOOL
I, Q, M, D, L
信号状态 “1”,激活该块。
ENO
输出
BOOL
I, Q, M, D, L
块执行无错误时,输出信号状态 “1”。
IN
输入
INT
I, Q, M, D, L,常数
工程量给定值。
HI_LIM
输入
REAL
I, Q, M, D, L,常数
物理单位的高限值。
LO_LIM
输入
REAL
I, Q, M, D, L,常数
物理单位的低限值。
BIPOLAR
输入
BOOL
I, Q, M, D, L,常数
信号状态“1” 表示双极性输入值。
信号状态“0” 表示单极性输入值。
OUT
输出
REAL
I, Q, M, D, L,
转化后的整数结果。
RET_VAL
输出
WORD
Q, M, D, L,
当操作没有错误,输出值 W#16#0000。

表2:FC106 参数

参数转化关系:
OUT = [ ((IN–LO_LIM)/(HI_LIM–LO_LIM)) * (K2–K1) ] + K1
注意:如果用户使用的输入/输出类型为双极性(如±10V等),BIPOLAR参数应当给定为TRUE,此时K1=-27648,K2=27648,否则K1=0,K2=27648。

例如:假设模拟量输出模块输出设置为0-20mA 类型,其所连接的执行器为调节阀。当电流为0 mA时阀门开度为0%,当电流为20 mA时阀门开度为100%。如果用户希望阀门开度为50%,则可以调用FC106,将开度给定值赋给参数IN,工程量上限值给定为100.0,下限值给定为0.0,将模拟量输出模块的地址赋给参数OUT,此时OUT数值为13824,即可使模拟量输出模块输出电流值为10 mA,即阀门开度为50%。

如何转换西门子 S7-1200 CPU模拟量

如何转换西门子 S7-1200 CPU模拟量

图5:FC106 使用例子

关键词
S7-1200,STEP7 Basic,模拟量转换

附件下载:

请点击此处下载

查看状态:已购买或有权限

您的用户组是:游客

文件名称:Desktop.zip 
文件大小:815.49 KB 
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我



回复

使用道具 举报

快速回复 返回列表 客服中心 搜索