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