OpBCD
將兩位數的十進數轉換為二進化十進數 (BCD),並輸出到指定的位元組埠。
格式
OpBCD 連接埠編號, 輸出資料 [, Forced]
參數
- 連接埠編號
- 指定I/O的輸出位元組。如下所述,各指定數值與輸出位元對應。
連接埠編號 輸出位元 0 0-7 1 8-15 2 16-23 3 24-31 ... ... - 輸出資料
- 以0~99的整數值指定以連接埠編號指定的輸出群組的輸出模式。第2個位(1的位數)表示已選擇群組當中的輸出低階4位元;第1個位(10的位數)表示輸出高階4位元。
- Forced
- 可省略。通常會省略。
說明
OpBCD用於以BCD同時設定8個輸出位元。標準以及擴充輸出位元是以各8個為1組建立群組的。以OpBCD命令的連接埠編號參數指定使用的群組(具體的8個輸出位元)。例如,連接埠編號 = 0時,指定輸出位元0~7;連接埠編號 = 1時,指定輸出位元8~15。
選擇連接埠編號(8個輸出位元)之後,以輸出資料參數來定義特定輸出模式。輸出資料參數為1或2位數的值,有效範圍為0~99。第1個位(10的位數)表示以連接埠編號選擇的8個輸出位元當中的輸出高階4位元;第2個位(1的位數)表示以連接埠編號選擇的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 |
BCD只能用於指定十進位值。因此,對於使用BCD的OpBCD命令,無法啟用所有輸出位元。各位數的輸出編號最大值皆為「9」,而OpBCD可使用的最大值為「99」。從上表可看出,輸出編號值為「99」時,無法啟用所有輸出。在輸出編號值為「99」地情況下,0、3、4、7的輸出狀態為ON,其它皆為OFF。
注意
OpBCD和Out的差異
如下所述為SPEL+的Out和OpBCD的最大差異之處。
OpBCD命令使用兩位數BCD格式將指定的8位元連接埠的高4位元和低4位元輸出設定為開啟或關閉。因此,4位元的狀態無法設定為超過9(&B1001)的&B1010至&B1111。
Out命令將輸出資料值直接輸出到8位元連接埠。
例如:
Out 8, &hFF'連接埠編號8(64至71)的位元全部開啟。設為遠端的輸出位元
對於遠端設定的輸出位元,若指定啟用OpBCD,則發生錯誤。依照系統狀態自動啟用或停用遠端輸出位元。關於遠端的詳細內容,請參閱以下手冊。
「Epson RC+ 使用者指南」可從[設定]選單中顯示[系統設定]對話方塊,然後在[遠端]索引標籤上設定遠端連接器的各位元設定(設為遠端或I/O等)。
緊急停止時的輸出
機器人控制器具有緊急停止時停用所有輸出的功能。若要啟用或停用此功能,則從[設定]選單中顯示[控制器]對話方塊,再透過[環境]面板設定選項按鈕。
Forced旗標
在緊急停止時或打開安全門時,若要在NoPause工作、NoEmgAbort工作(執行Xqt時,指定NoPause或NoEmgAbort開始的特別工作)以及背景工作上啟用I/O輸出,指定此旗標。
在緊急停止時或打開安全門時,I/O輸出會發生變化,因此在系統設計上需加以注意。
參照
In、InBCD、MemOff、MemOn、MemSw、Off、On、Oport、Out、Sw、Wait
OpBCD範例
以下是用於啟動以「iotask」為名的主工作之程式。「iotask」是啟用輸出位元1和2之後,再啟用輸出位元0和3的簡易工作。一旦啟用輸出位元1和2,便停用輸出位元0和3。此外,若停用前者,則啟用後者。
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
> OpBCD 2,1 '啟用輸出8
> OpBCD 3, 91 '啟用輸出24、28、31