用于从FP0-RTD6单元读取的功能块(转换后的数字值属于INT数据类型)。
此功能块从模拟量单元的模拟输入通道读取转换后的数字值。来自模拟量单元的转换后数字值按通道存储在输出变量iChannel0至iChannel5中。
对于测量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 → 201(测量值超出范围:8191)
热电偶,高分辨率20,12°C → 2012(测量值超出范围:8191)
电阻器,低分辨率:25Ω → 25(测量值超出范围:16383)
电阻器,高分辨率:25,4Ω → 254(测量值超出范围:16383)
在电源接通和首个有效转换数据之间,数字值为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_INT: Unit_AnalogInput_FP0_RTD_INT;
iRTD_In_Ch0: INT:=0;
iRTD_In_Ch1: INT:=0;
iRTD_In_Ch2: INT:=0;
iRTD_In_Ch3: INT:=0;
iRTD_In_Ch4: INT:=0;
iRTD_In_Ch5: INT:=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_INT!,Inst_FP0_RTD_INT,20,1,38,13,,?BiIOWordOffset?BbChannel0HighResolution?BbChannel1HighResolution?BbChannel2HighResolution?BbChannel3HighResolution?BbChannel4HighResolution?BbChannel5HighResolution?BbTemperatureInFahrenheit?BbChannel012DIPSwitchSetToResistor?BbChannel345DIPSwitchSetToResistor?CiChannel0?CiChannel1?CiChannel2?CiChannel3?CiChannel4?CiChannel5);
B(B_VARIN,,2,18,2,20,4,);
B(B_VAROUT,,iRTD_In_Ch0,38,2,40,4,);
B(B_VARIN,,FALSE,18,3,20,5,);
B(B_VAROUT,,iRTD_In_Ch1,38,3,40,5,);
B(B_VARIN,,FALSE,18,4,20,6,);
B(B_VAROUT,,iRTD_In_Ch2,38,4,40,6,);
B(B_VARIN,,FALSE,18,5,20,7,);
B(B_VAROUT,,iRTD_In_Ch3,38,5,40,7,);
B(B_VARIN,,FALSE,18,6,20,8,);
B(B_VAROUT,,iRTD_In_Ch4,38,6,40,8,);
B(B_VARIN,,FALSE,18,7,20,9,);
B(B_VAROUT,,iRTD_In_Ch5,38,7,40,9,);
B(B_VARIN,,FALSE,18,8,20,10,);
B(B_VARIN,,FALSE,18,9,20,11,);
B(B_VARIN,,FALSE,18,10,20,12,);
B(B_VARIN,,FALSE,18,11,20,13,);
L(1,0,1,13);
END_NETWORK_BODY
END_NET_WORK
END_BODY
Inst_FP0_RTD_INT(iIOWordOffset := 2,
bChannel0HighResolution := false,
bChannel1HighResolution := false,
bChannel2HighResolution := false,
bChannel3HighResolution := false,
bChannel4HighResolution := false,
bChannel5HighResolution := false,
bTemperatureInFahrenheit := false,
bChannel012DIPSwitchSetToResistor := false,
bChannel345DIPSwitchSetToResistor := false,
iChannel0 => iRTD_In_Ch0,
iChannel1 => iRTD_In_Ch1,
iChannel2 => iRTD_In_Ch2,
iChannel3 => iRTD_In_Ch3,
iChannel4 => iRTD_In_Ch4,
iChannel5 => iRTD_In_Ch5);