您好!欢迎光临工博士商城

西门子SIEMENS服务商

产品:160    
联系我们
站内搜索
 
联系方式
  • 联系人:李刚 
  • 电话:17312666086
  • 手机:15821840878
新闻分类
  • 暂无分类
荣誉资质
  • 暂未上传
友情链接
首页 > 新闻中心 > 西门子PLC 如何转换S7-1200 CPU模拟量
新闻中心
西门子PLC 如何转换S7-1200 CPU模拟量
发布时间:2023-11-27        浏览次数:27        返回列表

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

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

步骤1:解压缩“analog_convert.rar”(201111817528726.rar ( 307 KB ) )文件到一个文件夹。
步骤2:打开STEP7 Basic中的“Libraries Tab”, 点击“Open global library”图标



图1

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


图2

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


图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℃。



图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时阀门开度为***。如果用户希望阀门开度为50%,则可以调用FC106,将开度给定值赋给参数IN,工程量上限值给定为100.0,下限值给定为0.0,将模拟量输出模块的地址赋给参数OUT,此时OUT数值为13824,即可使模拟量输出模块输出电流值为10 mA,即阀门开度为50%。



图5:FC106 使用例子


分享到: 


 

联系热线:15821840878 联系人:李刚 联系地址:上海市嘉定区南翔镇众仁路399号B座20楼

技术和报价服务:星期一至星期六8:00-22:00 西门子SIEMENS服务商

返回
顶部