In関数
指定された入力ポートの状態をバイト単位で返します。バイトポートは、8個の入力ビットで構成されます。
書式
In(バイトポート番号)
パラメーター
- バイトポート番号
- I/Oのバイトポートを指定します。
戻り値
0~255の整数を返します。戻り値は8ビットで、各ビットが入力ビット1個に対応します。
解説
Inでは、8個の入力ビットの値を同時に見ることができます。In命令は、8個のI/Oビットの状態を1つの変数の値として保存したり、Wait命令とともに用いることで、「2個以上のI/Oビットの状態が特定の条件に一致するまで待機させる」といった使い方ができます。
1度に8個の入力ビットをチェックすることができるので、戻り値は、0~255の範囲の整数値になります。下記表で、戻り値の各整数値が、それぞれの入力ビットにどのように対応しているか参照してください。
入力ビット表 (バイトポート0使用時)
| 戻り値 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|
| 1 | Off | Off | Off | Off | Off | Off | Off | On |
| 5 | Off | Off | Off | Off | Off | On | Off | On |
| 15 | Off | Off | Off | Off | On | On | On | On |
| 255 | On | On | On | On | On | On | On | On |
入力ビット表 (バイトポート2使用時)
| 戻り値 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
|---|---|---|---|---|---|---|---|---|
| 3 | Off | Off | Off | Off | Off | Off | On | On |
| 7 | Off | Off | Off | Off | Off | On | On | On |
| 32 | Off | Off | On | Off | Off | Off | Off | Off |
| 255 | On | On | On | On | On | On | On | On |
参照
InBCD, MemIn, MemOff, MemOn, MemSw, Off, On, OpBCD, Oport, Out, Sw, Wait
In関数使用例
下記のプログラム例は、入力ビット20, 21, 22, 23がセンサーデバイスに接続されており、アプリケーションは、その各々から"準備OK"を示すオン信号が戻ってから始動する、という仮定に基づいて記述されています。プログラム例では、バイトポート2の8個の入力ビットの状態を取得し、入力ビット20, 21, 22, 23がすべてオンであることを確認してから次に進んでいます。もし、いずれかの入力ビットがオンでないと (いずれかで"1"が返されると)、エラーメッセージが表示され、タスクは停止します。
Function main
Integer var1
var1 = In(2) 'バイトポート2の8個の入力ビットの状態を取得
If (var1 And &B11110000) = &B11110000 Then
Go P1
Go P2
'他の動作コマンドをここで実行
'.
'.
Else
Print "Error in initialization!"
Print "Sensory Inputs not ready for cycle start"
Print "Please check inputs 20,21,22 and 23 for"
Print "proper state for cycle start and then"
Print "start program again"
EndIf
Fend
コマンドウィンドウからは、入力を設定することはできませんが、確認することはできます。下記の例では、入力ビット1, 5, 15がオンであることを前提にしています。その他の入力はすべてオフになっています。
> print In(0)
34
> print In(1)
128
> print In(2)
0
← ImportPoints InBCD関数 →