用于从FP0R-AD8单元读取的功能块。
此功能块从模拟量单元的模拟输入通道读取转换后的数字值。来自模拟量单元的转换后数字值按通道存储在输出变量iInChannel0至iInChannel7中。
模拟量输入范围也使用此功能块设置。
通道数必须使用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 |
设置模拟量输入通道的电压或电流范围。
输出
通过通道从模拟量单元返回转换后的数字数据。
DIP开关1和2必须为ON才能使用14位模式。DIP开关3和4用于设置通道数,DIP开关5用于打开或关闭平均处理。
当电源关闭后再打开时,DIP开关设置将生效。
2(0和1) |
4(0至3) |
6(0至5) |
8(0至7) |
|
---|---|---|---|---|
无平均处理:在每个通道上为各个A/D转换的指定输入触点区域设置转换数据。
平均:在每个通道上,对于各个A/D转换,排除最近十次数据的最大值和最小值,对其他八次的数据求平均值并设置结果。
无平均处理 |
平均 |
|
---|---|---|
电压输入 |
电流输入 |
---|---|
在V和COM终端之间连接输入仪器。 |
连接V和I终端。在桥接器和COM终端之间连接输入仪器。 |
-10V至+10V DC输入 |
-5V至+5V DC输入 |
0V至5V DC输入 |
|||
---|---|---|---|---|---|
数字值 (INT) |
模拟量值 |
数字值 (INT) |
模拟量值 |
数字值 (INT) |
模拟量值 |
-8000 |
-10V |
-8000 |
-5V |
0 |
0,0V |
-4000 |
-5V |
-4000 |
-2,5V |
4000 |
1,25V |
0 |
0V |
0 |
0V |
8000 |
2,5V |
+4000 |
+5V |
+4000 |
+2,5V |
8000 |
3,75V |
+8000 |
+10V |
+8000 |
+5V |
16000 |
5,0V |
0V至10V DC输入 |
0mA至20mA输入 |
||
---|---|---|---|
数字值 (INT) |
模拟量值 |
数字值 (INT) |
模拟量值 |
0 |
0,0V |
0 |
0,0mA |
4000 |
2,5V |
3200 |
4,0mA |
8000 |
5,0V |
6400 |
8,0mA |
12000 |
7,5V |
9600 |
12,0mA |
16000 |
10,0V |
12800 |
16,0mA |
16000 |
20,0mA |
此命令描述仅提供基本硬件文档。有关详细的技术信息,请参阅手册:
所有用于编程此函数的输入和输出变量已在POU头中声明。 所有编程语言使用相同的POU头。
VAR
Inst_FP0R_AD8: Unit_AnalogInput_FP0R_AD8;
iAnalogIn0: INT:=0;
iAnalogIn1: INT:=0;
iAnalogIn2: INT:=0;
iAnalogIn3: INT:=0;
iAnalogIn4: INT:=0;
iAnalogIn5: INT:=0;
iAnalogIn6: INT:=0;
iAnalogIn7: 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 := 12 ;
NETWORK_BODY
B(B_COMMENT,,FP0R-A80,2,0,17,1,);
B(B_VARIN,,6,17,2,19,4,);
B(B_FB,Unit_AnalogInput_FP0R_AD8!,Inst_FP0R_AD8,19,1,34,12,,?BiIOWordOffset?BwInChannel0_Config?BwInChannel1_Config?BwInChannel2_Config?BwInChannel3_Config?BwInChannel4_Config?BwInChannel5_Config?BwInChannel6_Config?BwInChannel7_Config?CiInChannel0?CiInChannel1?CiInChannel2?CiInChannel3?CiInChannel4?CiInChannel5?CiInChannel6?CiInChannel7);
B(B_VAROUT,,iAnalogIn0,35,2,37,4,);
B(B_VARIN,,3,17,3,19,5,);
B(B_VAROUT,,iAnalogIn1,35,3,37,5,);
B(B_VARIN,,2,17,4,19,6,);
B(B_VAROUT,,iAnalogIn2,35,4,37,6,);
B(B_VARIN,,2,17,5,19,7,);
B(B_VAROUT,,iAnalogIn3,35,5,37,7,);
B(B_VARIN,,2,17,6,19,8,);
B(B_VAROUT,,iAnalogIn4,35,6,37,8,);
B(B_VARIN,,2,17,7,19,9,);
B(B_VAROUT,,iAnalogIn5,35,7,37,9,);
B(B_VARIN,,2,17,8,19,10,);
B(B_VAROUT,,iAnalogIn6,35,8,37,10,);
B(B_VARIN,,2,17,9,19,11,);
B(B_VAROUT,,iAnalogIn7,35,9,37,11,);
B(B_VARIN,,2,17,10,19,12,);
L(1,0,1,12);
L(34,3,35,3);
L(34,4,35,4);
L(34,5,35,5);
L(34,6,35,6);
L(34,7,35,7);
L(34,8,35,8);
L(34,9,35,9);
L(34,10,35,10);
END_NETWORK_BODY
END_NET_WORK
END_BODY
Inst_FP0R_AD8(iIOWordOffset := 6,
wInChannel0_Config := 3,
wInChannel1_Config := 2,
wInChannel2_Config := 2,
wInChannel3_Config := 2,
wInChannel4_Config := 2,
wInChannel5_Config := 2,
wInChannel6_Config := 2,
wInChannel7_Config := 2,
iInChannel0 => iAnalogIn0,
iInChannel1 => iAnalogIn1,
iInChannel2 => iAnalogIn2,
iInChannel3 => iAnalogIn3,
iInChannel4 => iAnalogIn4,
iInChannel5 => iAnalogIn5,
iInChannel6 => iAnalogIn6,
iInChannel7 => iAnalogIn7);