可以通過SFC 51讀取CPU的指示燈狀態,使用的SSL_ID參數為16#74(16#19)讀取全部指示燈狀態 或者16#174(16#119)讀取單個指示燈狀態
2.1 編程
首先需要創建一個數據塊,用來存放讀取出來的指示燈狀態結果
圖1 創建DB1,存放讀取結果
打開OB1,在OB1的臨時變量區創建一個變量length,類型設置為Struct(結構)
圖2 創建名為length的結構變量
雙擊length變量,進入結構變量成員定義,創建兩個word類型的變量,本例中分別為size和number:
圖3 創建length的結構變量的兩個word成員
編寫SFC51程序:
CALL "RDSYSST"
REQ :=TRUE
SZL_ID :=W#16#74 //讀取全部指示燈狀態
INDEX :=W#16#0
RET_VAL :=MW0
BUSY :=M2.0
SZL_HEADER:=#length
DR :=P#DB1.DBX0.0 BYTE 500 //結果輸出到DB1數據塊中
DB1存放的結果即為模塊的指示燈狀態,每個指示燈有4個字節的長度來描述。
前兩個字節表示燈的類型(見表二),表示是SF燈還是BF燈等等。
第三個字節表示燈是亮還是滅,如果為1則燈亮,如果為0則燈的狀態是滅。
第四個字節表示燈是否閃爍,0表示不閃,1表示正常閃爍(2hz),2,表示慢閃(0.5hz)
燈的類型列表如下(不同的CPU會有不同數目的指示燈):
表2 前兩個字節的含義
16#1 | SF |
16#2 | INTF |
16#3 | EXTF |
16#4 | RUN |
16#5 | STOP |
16#6 | FORCE |
16#7 | CRST |
16#8 | BAF |
16#9 | USR |
16#A | USR1 |
16#B | BUS1F |
16#C | BUS2F |
16#D | REDF |
16#E |
MSTR |
-
cpu
+關注
關注
68文章
10902瀏覽量
212996 -
指示燈
+關注
關注
3文章
416瀏覽量
28381 -
SFC
+關注
關注
0文章
44瀏覽量
11330
原文標題:2 讀取CPU指示燈
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論