发表于:2019/2/10 12:02:33
#0楼
附上程序,已经归档,需要在软件恢复即可,版本是V15 大家尽量下载适用V15版本
步骤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时阀门开度为100%。如果用户希望阀门开度为50%,则可以调用FC106,将开度给定值赋给参数IN,工程量上限值给定为100.0,下限值给定为0.0,将模拟量输出模块的地址赋给参数OUT,此时OUT数值为13824,即可使模拟量输出模块输出电流值为10 mA,即阀门开度为50%。
我有个温度变送器是4-20MA的电流信号,经过隔离信号转0-10V?请问一下用标准化在公式应当填写那些参数,变送器温度量程0-100度,PLC自带两路0-10V模拟量输入信号,求解。我已经用西门子论坛那个案例项目程序下载了。我修改了MAX?MIN?就是不知道温度是不是一致?
程序下载后,录一个视频(已剪辑过,上传抖音)
上面的温度变送器是电流信号我通过隔离器转的电压信号 用本体的电压信号模拟量输入,实现温度转换及标准化公式,主要就是验证我的做的程序符号设计内容,是否可以准确
附件:
[本地下载]附件:
[本地下载]步骤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时阀门开度为100%。如果用户希望阀门开度为50%,则可以调用FC106,将开度给定值赋给参数IN,工程量上限值给定为100.0,下限值给定为0.0,将模拟量输出模块的地址赋给参数OUT,此时OUT数值为13824,即可使模拟量输出模块输出电流值为10 mA,即阀门开度为50%。
我有个温度变送器是4-20MA的电流信号,经过隔离信号转0-10V?请问一下用标准化在公式应当填写那些参数,变送器温度量程0-100度,PLC自带两路0-10V模拟量输入信号,求解。我已经用西门子论坛那个案例项目程序下载了。我修改了MAX?MIN?就是不知道温度是不是一致?
程序下载后,录一个视频(已剪辑过,上传抖音)
上面的温度变送器是电流信号我通过隔离器转的电压信号 用本体的电压信号模拟量输入,实现温度转换及标准化公式,主要就是验证我的做的程序符号设计内容,是否可以准确
[此贴子已经被jint于2019/2/14 9:59:14编辑过]