OpBCD

用于以2进制编码的10进制数(BCD)同时设置8位输出。

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

参数

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

端口编号 输出位
0 0-7
1 8-15
2 16-23
3 24-31
... ...
输出数据
以0~99的整数值指定由端口编号指定的输出组的输出模式。第2位(个位)表示所选组中的低4位输出位,第1位(10位)表示高4位输出位。
Forced
可省略。通常会省略。

说明
OpBCD用于以BCD同时设置8个输出位。按每8个为一组,对标准和扩展输出位进行分组。利用OpBCD命令的端口编号参数指定使用哪组(哪8个输出位)。比如,端口编号 = 0 时指定输出位0~7,端口编号 = 1 时指定输出位8~15。

选择端口编号(8个输出位)之后,利用输出数据参数来定义特定输出模式。输出数据参数为1或2位的值,有效范围为0~99。第1位(10位)表示由端口编号选择的8个输出位中的高4位输出位,第2位(个位)表示由端口编号选择的8个输出位中的低4位输出位。

由于BCD的各个位的有效值在0~9范围,因此,不能满足I/O的所有组合。下表所示为端口编号=0时的I/O组合示例以及所对应的输出编号值。

输出设置(输出编号)

输出编号 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 On Off Off Off Off
11 Off Off Off On Off Off Off On
99 On Off Off On On Off Off On

只能用10进制数值指定BCD。因此,如果是使用BCD的OpBCD命令,则不能将所有输出位都设为ON。由于各个位的输出编号最大值均为“9”,因此,OpBCD可使用的最大值为“99”。从上表可以看出,为“99”时不能打开所有输出。输出编号值为“99”时的输出状态:0、3、4、7为ON状态,其它均为OFF状态。

注意


  • 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位输出组的所有可能的组合,并根据用户的规格进行指定。
  • 远程设置的输出位

    如果针对远程设置的输出位,指定OpBCD为ON,则会发生错误。远程输出位会根据系统的状态自动设为ON/OFF。有关远程的详细说明,请参阅以下手册。
    《Epson RC+ 用户指南》

    通过[设置]菜单 - [系统配置] - [控制器] - [远程控制]面板,可设置远程连接器的各个位(设为远程或I/O等)。

  • 紧急停止时的输出

    机器人控制器具有发生紧急停止时将所有输出都设为OFF的功能。要将该功能设为有效或OFF,可通过[设置]菜单-[系统设置]-[控制器]-[环境设置]面板的[紧急停止时将输出端口设为OFF]复选框进行设置。

  • Forced标志

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

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


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

OpBCD使用示例
如下所示为启动名为“iotask”的主任务的程序。“iotask”是将输出位1和2设为ON之后,将输出位0和3设为ON的简单任务。如果将输出位1和2设为ON,输出位0和3则会被设为OFF。另外,前者为OFF时,后者则变为ON状态。

Function main
    Xqt 2, iotask
    Go P1
    .
    .
    .
Fend

Function iotask
    Do
        OpBCD 0, 6
        OpBCD 0, 9
        Wait 10
    Loop
Fend

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

> OpBCD 1,6    '将输出1和2设为ON
> OpBCD 2,1    '将输出8设为ON
> OpBCD 3, 91  '将输出24、28、31设为ON