Out

用于同时设置(输出)8个输出位。

格式
Out 端口编号, 输出数据 [, Forced]

参数

端口编号
指定I/O的输出字节。按如下所述,指定数值对应各自的输出位。

端口编号 输出位
0 0-7
1 8-15
... ...
输出数据
以0~255的整数值指定由端口编号指定的输出组的输出模式。以16进制数显示时,范围为&H0~&HFF。低数位表示低位(或最初的4个输出位),高数位表示高位(或后续的4个输出位)。
Forced
可省略。通常会省略。

说明
Out用于通过组合端口编号与输出数据,同时设置8个输出位。利用端口编号参数指定使用哪组(哪8个输出位)。比如,端口编号 = 0 时指定输出位0~7。端口编号 = 1 时指定输出位8~15。

首先,利用端口编号指定8个输出位之后,利用输出数据参数来指定特定的输出模式。输出数据参数可获取的值为0~255,以16进制数或10进制数的整数进行指定。(&H0~&HFF或0~255)

下表所示为部分I/O组合示例,以及端口编号为“0”和“1”时分别对应的输出数据值。

端口编号=0时的输出设置(输出位编号)

输出数据值 7 6 5 4 3 2 1 0
01 Off Off Off Off Off Off Off On
02 Off Off Off Off Off Off On Off
03 Off Off Off Off Off Off On On
08 Off Off Off Off On Off Off Off
09 Off Off Off Off On Off Off On
10 Off Off Off Off On Off On Off
11 Off Off Off Off On Off On On
99 Off On On Off Off Off On On
255 On On On On On On On On

端口编号=1时的输出设置(输出位编号)

输出数据值 15 14 13 12 11 10 9 8
01 Off Off Off Off Off Off Off On
02 Off Off Off Off Off Off On Off
03 Off Off Off Off Off Off On On
08 Off Off Off Off On Off Off Off
09 Off Off Off Off On Off Off On
10 Off Off Off Off On Off On Off
11 Off Off Off Off On Off On On
99 Off On On Off Off Off On On
255 On On On On On On On On

注意


  • OpBCD与Out的差异

    SPEL+的Out与OpBCD之间的最大差异表现在下述方面。

    • OpBCD命令用于为指定设为ON/OFF的8个输出位而使用2进制编码的10进制数(BCD)格式。由于2进制编码的10进制数格式不能使用&HA、&HB、&HC、&HD、&HE、&HF等的值,因此,不能满足8个输出位的所有组合。
    • Out命令用于对将输出设为ON/OFF的8位值使用0~255的值(OpBCD时,为0~99)。这样的话,可满足8位输出组的所有可能的组合,并根据用户的规格进行指定。
  • Forced标志

    在要通过NoPause任务、NoEmgAbort任务(执行Xqt时指定NoPause或NoEmgAbort以开始的特别任务)以及后台任务,在紧急停止期间或安全门打开时将I/O输出设为ON的情况下,指定此标志。

    紧急停止期间或安全门打开时,I/O输出会发生变化,因此,在系统设计方面需要注意。


参阅
In、InBCD、MemOff、MemOn、MemOut、MemSw、Off、On、Oport、Sw、Wait

Out使用示例
如下所示为启动名为“iotask”的主任务的程序。“iotask”是将输出位的0~3设为ON/OFF的简单任务。如果使用Out命令,则可利用1个命令进行上述操作,而不必单独将输出位设为ON/OFF。

Function main

  Xqt iotask
  Do
    Go P1
    Go P2
  Loop
Fend

Function iotask

  Do
    Out 0, &H0F
    Out 0, &H00
    Wait 10
  Loop
Fend

如下所示为利用命令窗口的简单操作示例。

> Out 1,6    '将输出9和10设为ON
> Out 2,1    '将输出8设为ON
> Out 3,91   '将输出24、25、27、28、30设为ON