Unit_AnalogInOut_FP0R_A42FP0R-A42ユニットとの間で書き込みおよび読み出しを行うためのファンクションブロック。
このファンクションは、アナログユニットのアナログ出力チャンネルにデジタルデータを書き込み、アナログ入力チャンネルから変換後のデジタルデータを読み出します。アナログ値として変換、出力されるデジタル値はiOutChannel0およびiOutChannel1に指定します。アナログユニットからの変換後のデジタル値は、出力変数iInChannel0~iInChannel3にチャンネルごとに保存されます。
アナログ出力レンジと入力レンジもこのファンクションブロックで設定されます。
電圧または電流出力はディップスイッチを使用して設定する必要があります。

入力
アナログユニットの装着位置に従って、WX/WYの先頭アドレスのオフセットを設定します。
CPUに直接接続されているアナログ増設ユニット(アダプタなし)の場合: ExpansionUnitToIOWordOffset_FP0を使用するか、以下の設定を行います。ユニット番号1は2 (WX2/WY2)、ユニット番号2は4 (WX4/WY4)、ユニット番号3は6 (WX6/WY6)。
アダプタを介して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 |
アナログユニットによって変換、出力されるデジタル値を設定します。
アナログ出力チャンネルの電圧または電流範囲を設定します。
アナログ入力チャンネルの電圧または電流範囲を設定します。
出力
I/Oコンフィグレーションが完了し、ユニットの準備が完了するとTRUE
アナログユニットで変換されたデジタルデータをチャンネルごとに返します。
14ビットモードを使用するには、ディップスイッチ1と2をONにする必要があります。ディップスイッチ3はチャンネル0の電圧または電流出力を設定するために使用されます。ディップスイッチ4はチャンネル1の電圧または電流出力を設定するために使用されます。ディップスイッチ5は平均化のオン/オフを切り替えるために使用されます。
ディップスイッチの設定は、電源をOFFからONにすると有効になります。
チャンネル0 |
チャンネル1 |
|||
|---|---|---|---|---|
電圧出力 |
電流出力 |
電圧出力 |
電流出力 |
|
平均化なし: 変換データは、各チャンネルの、各A/D変換ごとに、指定された入力接点エリアにセットされます。
平均処理あり: 各チャンネルの、各A/D変換ごとに、最新の10回のデータのうち、最大値と最小値を除き、残りの8回のデータを平均して結果が決定されます。
平均化なし |
平均処理あり |
|
|---|---|---|
この例は、入力チャンネル0と1、および出力チャンネル0の配線を示しています。
電圧入力 |
電流入力 |
|---|---|
IN/VとIN/COM端子間に入力機器を接続します。 |
IN/VとIN/I端子を接続します。ブリッジとIN/COM端子間に入力機器を接続します。 |
電圧出力 |
電流出力 |
|---|---|
OUT/VとOUT/COM端子間に出力機器を接続します。 |
OUT/IとOUT/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 |
12000 |
3.75V |
+8000 |
+10V |
+8000 |
+5V |
16000 |
5.0V |
0V~10V DC入力または出力 |
0mA~20mA入力または出力 |
4mA~20mA出力 |
|||
|---|---|---|---|---|---|
デジタル値(INT) |
アナログ値 |
デジタル値(INT) |
アナログ値 |
デジタル値(INT) |
アナログ値 |
0 |
0.0V |
0 |
0.0mA |
0 |
4.0mA |
4000 |
2.5V |
3200 |
4.0mA |
4000 |
8.0mA |
8000 |
5.0V |
6400 |
8.0mA |
8000 |
12.0mA |
12000 |
7.5V |
9600 |
12.0mA |
12000 |
16.0mA |
16000 |
10.0V |
12800 |
16.0mA |
16000 |
20.0mA |
16000 |
20.0mA |
||||
このコマンドの説明では、基本的なハードウェアのドキュメンテーションのみを提供します。技術的な内容の詳細については、マニュアルを参照してください。

POUヘッダには、このプログラムで使用するすべての入力変数と出力変数を宣言します。 POUヘッダは全プログラム言語で使用できます。

Inst_FP0R_A42(iIOWordOffset := 4,
iOutChannel0 := iAnalogOut0,
iOutChannel1 := iAnalogOut1,
iOutChannel0_Config := 0,
iOutChannel1_Config := 0,
iInChannel0_Config := 0,
iInChannel1_Config := 0,
iInChannel2_Config := 0,
iInChannel3_Config := 0,
bConfigIsDone => bIO_Config_done,
iInChannel0 => iAnalogIn0,
iInChannel1 => iAnalogIn1,
iInChannel2 => iAnalogIn2,
iInChannel3 => iAnalogIn3);
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-A42,2,1,17,2,);
B(B_FB,Unit_AnalogInOut_FP0R_A42!,Inst_FP0R_A42,19,1,34,12,,?BiIOWordOffset?BiOutChannel0?BiOutChannel1?BiOutChannel0_Config?BiOutChannel1_Config?BiInChannel0_Config?BiInChannel1_Config?BiInChannel2_Config?BiInChannel3_Config?CbConfigIsDone?CiInChannel0?CiInChannel1?CiInChannel2?CiInChannel3);
B(B_VARIN,,4,17,2,19,4,);
B(B_VAROUT,,bIO_Config_done,34,2,36,4,);
B(B_VARIN,,iAnalogOut0,17,3,19,5,);
B(B_VAROUT,,iAnalogIn0,34,3,36,5,);
B(B_VARIN,,iAnalogOut1,17,4,19,6,);
B(B_VAROUT,,iAnalogIn1,34,4,36,6,);
B(B_VARIN,,0,17,5,19,7,);
B(B_VAROUT,,iAnalogIn2,34,5,36,7,);
B(B_VARIN,,0,17,6,19,8,);
B(B_VAROUT,,iAnalogIn3,34,6,36,8,);
B(B_VARIN,,0,17,7,19,9,);
B(B_VARIN,,0,17,8,19,10,);
B(B_VARIN,,0,17,9,19,11,);
B(B_VARIN,,0,17,10,19,12,);
L(1,0,1,12);
END_NETWORK_BODY
END_NET_WORK
END_BODY
Inst_FP0R_A42(iIOWordOffset := 4,
iOutChannel0 := iAnalogOut0,
iOutChannel1 := iAnalogOut1,
iOutChannel0_Config := 0,
iOutChannel1_Config := 0,
iInChannel0_Config := 0,
iInChannel1_Config := 0,
iInChannel2_Config := 0,
iInChannel3_Config := 0,
bConfigIsDone => bIO_Config_done,
iInChannel0 => iAnalogIn0,
iInChannel1 => iAnalogIn1,
iInChannel2 => iAnalogIn2,
iInChannel3 => iAnalogIn3);