用于从FP0-RTD6单元读取的功能块(转换后的数字值属于REAL数据类型)
此功能块从模拟量单元的模拟输入通道读取转换后的数字值。来自模拟量单元的转换后数字值按通道存储在输出变量rChannel0至rChannel5中。
对于测量RTD输入数据,可以使用以下设备:Pt100(根据IEC751)、Pt1000(根据IEC751)、Ni1000(根据DIN43760)或电阻器。
测量设备必须使用DIP开关和功能块设置。
采样周期必须使用DIP开关设置。
输入
根据模拟量单元的安装位置设置其首个WX/WY地址的偏移量。
对于直接连接到CPU的模拟量扩展单元(无适配器):使用ExpansionUnitToIOWordOffset_FP0或进行以下设置:2(WX2/WY2)用于单元编号1,4(WX4/WY4)用于单元编号2,6(WX6/WY6)用于单元编号3
对于通过适配器连接到CPU的模拟量扩展单元:使用ExpansionUnitToIOWordOffset_FPX_FP0或从表中选择偏移量。
相对于适配器的单元位置 |
相对于CPU的适配器位置 |
|||||||
---|---|---|---|---|---|---|---|---|
第1个单元 |
第2个单元 |
第3个单元 |
第4个单元 |
第5个单元 |
第6个单元 |
第7个单元 |
第8个单元 |
|
第1个单元 |
30 |
40 |
50 |
60 |
70 |
80 |
90 |
100 |
第2个单元 |
32 |
42 |
52 |
62 |
72 |
82 |
92 |
102 |
第3个单元 |
34 |
44 |
54 |
64 |
74 |
84 |
94 |
104 |
设置相应通道的分辨率。
请勿在运行时更改此值。否则转换会有1s的误差。
设置温度单位。
设置RTD设备。
设置必须匹配DIP开关设置。
输出
通过通道从模拟量单元返回转换后的数字数据。
示例:
热电偶,低分辨率:20,12°C → 20,1(测量值超出范围:819,1)
热电偶,高分辨率20,12°C → 20,12(测量值超出范围:81,91)
电阻器,低分辨率:25W → 25(测量值超出范围:16383)
电阻器,高分辨率:25,4W → 25,4(测量值超出范围:1638,3)
在电源接通和首个有效转换数据之间,数字值为8191或16383。编程时,请务必不要使用在此期间获得的数据。
当RTD损坏时,数字值将变为8191或16383。编程时,请避免因损坏的RTD而导致任何风险。损坏的RTD需要进行更换。
当电源关闭后再打开时,DIP开关设置将生效。
Pt100 |
Pt1000 |
Ni1000 |
电阻器 |
|
---|---|---|---|---|
Pt100 |
Pt1000 |
Ni1000 |
电阻器 |
|
---|---|---|---|---|
0,1s |
1s |
|
---|---|---|
分辨率:0,1K/0,1F、1Ω
Pt100 |
Pt1000 |
Ni1000 |
电阻器 |
||||
---|---|---|---|---|---|---|---|
°C/°F |
°C/°F |
°C/°F |
Ω |
||||
模拟量值 |
数字值 |
模拟量值 |
数字值 |
模拟量值 |
数字值 |
模拟量值 |
数字值 |
-200,0/-328,0 |
-2000/-3280 |
-200,0/-328,0 |
-2000/-3280 |
-30,0/-22,0 |
-300/-220 |
+20 |
+20 |
+500,0/+800,0 |
+5000/+8000 |
+300,0/+572,0 |
+3000/+5720 |
+150,0/+302,0 |
+1500/+3020 |
+2200 |
+2200 |
分辨率:0,01K/0,01F、0,1Ω
Pt100 |
Pt1000 |
Ni1000 |
电阻器 |
||||
---|---|---|---|---|---|---|---|
°C/°F |
°C/°F |
°C/°F |
Ω |
||||
模拟量值 |
数字值 |
模拟量值 |
数字值 |
模拟量值 |
数字值 |
模拟量值 |
数字值 |
-80,00/-80,00 |
-8000/-8000 |
-80,00/-80,00 |
-8000/-8000 |
-30,00/-22,00 |
-3000/-2200 |
+20,0 |
+200 |
+80,00/+80,00 |
+8000/+8000 |
+80,00/+80,00 |
+8000/+8000 |
+80,00/+80,00 |
+8000/+8000 |
+1630,0 |
+16300 |
此命令描述仅提供基本硬件文档。有关详细的技术信息,请参阅手册:
所有用于编程此函数的输入和输出变量已在POU头中声明。 所有编程语言使用相同的POU头。
VAR
Inst_FP0_RTD_REAL: Unit_AnalogInput_FP0_RTD_REAL;
rRTD_In0: REAL:=0;
rRTD_In1: REAL:=0;
rRTD_In2: REAL:=0;
rRTD_In3: REAL:=0;
rRTD_In4: REAL:=0;
rRTD_In5: REAL:=0;
END_VAR
使用ExpansionUnitNumberToIOWordOffset_FP0或ExpansionUnitNumberToIOWordOffset_FPX_FP0计算连接到CPU的模拟量单元的字偏移量。
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 13 ;
NETWORK_BODY
B(B_FB,Unit_AnalogInput_FP0_RTD_REAL!,Inst_FP0_RTD_REAL,19,1,37,13,,?BiIOWordOffset?BbChannel0HighResolution?BbChannel1HighResolution?BbChannel2HighResolution?BbChannel3HighResolution?BbChannel4HighResolution?BbChannel5HighResolution?BbTemperatureInFahrenheit?BbChannel012DIPSwitchSetToResistor?BbChannel345DIPSwitchSetToResistor?CrChannel0?CrChannel1?CrChannel2?CrChannel3?CrChannel4?CrChannel5);
B(B_VARIN,,2,17,2,19,4,);
B(B_VAROUT,,rRTD_In0,37,2,39,4,);
B(B_VARIN,,false,17,3,19,5,);
B(B_VAROUT,,rRTD_In1,37,3,39,5,);
B(B_VARIN,,false,17,4,19,6,);
B(B_VAROUT,,rRTD_In2,37,4,39,6,);
B(B_VARIN,,false,17,5,19,7,);
B(B_VAROUT,,rRTD_In3,37,5,39,7,);
B(B_VARIN,,false,17,6,19,8,);
B(B_VAROUT,,rRTD_In4,37,6,39,8,);
B(B_VARIN,,false,17,7,19,9,);
B(B_VAROUT,,rRTD_In5,37,7,39,9,);
B(B_VARIN,,false,17,8,19,10,);
B(B_VARIN,,false,17,9,19,11,);
B(B_VARIN,,false,17,10,19,12,);
B(B_VARIN,,false,17,11,19,13,);
L(1,0,1,13);
END_NETWORK_BODY
END_NET_WORK
END_BODY
Inst_FP0_RTD_REAL(iIOWordOffset := 2,
bChannel0HighResolution := false,
bChannel1HighResolution := false,
bChannel2HighResolution := false,
bChannel3HighResolution := false,
bChannel4HighResolution := false,
bChannel5HighResolution := false,
bTemperatureInFahrenheit := false,
bChannel012DIPSwitchSetToResistor := false,
bChannel345DIPSwitchSetToResistor := false,
rChannel0 => rRTD_In0,
rChannel1 => rRTD_In1,
rChannel2 => rRTD_In2,
rChannel3 => rRTD_In3,
rChannel4 => rRTD_In4,
rChannel5 => rRTD_In5);