close

切換布幕(畫面)函式:

swscreen(type, kind, datanum, default, pmc, address)

 

說明:

image

image

 

type 引數 : 

image

  • type = 0:切換到暫存器(PMC or Macro)中儲存的編號。 當暫存器內存為0時,切換到default引數。
  • type = 1:在類型和數據參數中寫入默認參數的屏幕號後,切換到種類和數據的布幕號。當該功能被指定為用輸入寫入控制功能時,指定該過程分區。 屏幕上的輸入值取自默認參數。
  • type = 2:將目前布幕編號寫到暫存器(PMC or Macro)。此功能不會切換布幕。
  • type = 3:與type 1 類似,還沒理解正確的用法。
  • type = 4:根據暫存器(PMC or Macro)陣列,指定的主布幕和子布幕的組合。在刪除彈出屏幕時,除主屏幕編號外的所有子屏幕編號都指定0。
  • type = 5:讀取目前顯示的主布幕或子布幕編號。

 

kind 引數:

image

kind 是指暫存器的編號,共三碼,

開頭為1XX表示使用PMC暫存器,

開頭為2XX表示使用Macro,

  • 目前使用這種方式有遇到問題,Button按了兩次才執行換頁

開頭為3XX表示使用P Code Macro,

但我只用過PMC暫存器,

  • 當type = 0~3:主布幕要規劃PMC 4 Byte的暫存器
  • 當type = 4:主布幕要規劃PMC 4 Byte的暫存器,子布幕要規劃PMC 2 Byte的暫存器,共24Byte 的暫存器。
  • 當type = 5:這個是讀取布幕號的不使用暫存器。
  • 如果是使用Macro,無論主布幕或子布幕就都使用一個變數存一個編號。

 

datanum 引數:

image

暫存器位址,type = 0~4 時使用。當type = 5時,請帶入0。

 

default 引數:

image

  • type = 0:當kind = 0 & datanum = 0,切換到 default 內存的布幕編號。
  • type = 1:(我沒使用過先不解釋)
  • type = 2:不使用default,請帶入0。
  • type = 3:當kind = 0 & datanum = 0,切換到 default 內存的布幕編號。
  • type = 4:不使用default,請帶入0。
  • type = 5:default = 0時,回傳主布幕編號。default = 1~10時,回傳子布幕編號。

 

pmc、address 引數:

需要回傳通知時使用,我目前沒在使用,因此固定pmc=99,address=0。

 

它有一些限制,連我自己都會常常忘記。

image

*此函式不可在Startup中使用。

此函式不可在Timer中使用。

呼叫的MainScreen必須有Structure元件。

*呼叫的SubScreen不可以有Structure元件。

*僅type 4可以切換子布幕。

*畫面設計時,請從Sub 2  切畫面到另一個 Sub 2,如果切錯層(EX:在Sub3)時,會出現此訊息

 

*當Main Screen 設定不存在的Screen Number時,會說找不到

 

*SubScreen明明就有在Detail 定義Screen Number ,卻說找不到,是因為該元件並沒有在Sturcture 裡的SubScreen

(抱怨:明明Change Screen 這個元件能將Sub Screen 切換到另一個Sub Screen,此SubScreen 也沒有在Structure中,沒道理script做不到)

解決上述SubScreen問題之密技:

我用了Change Screen 元件放在不明顯的地方(無法放置元件在畫面外),

與背景色相同,Screen Type : Sub Screen,

Screen Name是我要切換的Sub Screen,

script 就能夠正常使用該Sub Screen。

 

 

範例 & 註解:

  • swscreen(0, 105, 6020, 3, 99, 0)  #切換到R6020,若R6020為0時,切換到3,不含清除pop-up Screen 指令
  • swscreen(2, 105, 6020, 0, 99, 0)  #將目前的布幕編號寫到R6020
  • swscreen(3, 105, 6020, 3, 99, 0)  #切換到R6020,若R6020為0時,切換到3,含清除pop-up Screen 指令
  • swscreen(4, 105, 6020, 0, 99, 0)  #切換到R6020~R6043 (Main R6020, Sub1 R6024, Sub2 R6026, Sub3 R6028, Sub4 R6030 ... Sub10 R6042),含清除pop-up Screen 指令
  • no = swscreen(5, 0, 0, 0, 99, 0)  #讀取目前主布幕編號
  • sub_no = swscreen(5, 0, 0, 1, 99, 0)  #讀取目前子布幕1的編號

 

參考:

 

返回《 Script整理

返回《 FANUC PICTURE 9.2

arrow
arrow
    文章標籤
    FANUC PICTURE script swscreen
    全站熱搜

    史克威爾凱特 發表在 痞客邦 留言(0) 人氣()