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」的ON信號後才啟動應用程式。在程式範例中,取得位元組連接埠2的8個輸入位元狀態並確認輸入位元20、21、22、23皆為ON後再進入下一步。若任一輸入位元不是ON(用任一輸入位元傳回「1」),則顯示錯誤訊息並停止工作。

此時,為了讓輸入位元20、21、22、23皆為ON,In(2)的傳回值必須大於240。為了確認這一點,對變數「var1」與數值239進行比較。(在此,無需意識到輸入位元16、17、18、19。若傳回值為240~255的值,則繼續執行程式。)

Function main
    Integer var1
    var1 = In(2)   '取得位元組連接埠2的8個輸入位元之狀態
    If var1 > 239 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是ON為前提。其它輸入皆為OFF。

> print In(0)
34
> print In(1)
128
> print In(2)
0