如何讀取DP或PN總線上各站點的狀態?
可以使用 SFC51 'RDSYSST' 讀出 SSL 部分列表或SSL 部分列表的摘錄。
下面的配置在文中所附的例程中創建。
下面的配置在文中所附的例程中創建:
圖01
在用戶程序(OB1)中,使用 SFC51 "RDSYSST" 讀出 CPU 的系統狀態列表。
調用 SFC51 "RDSYSST" 時,通過輸入參數 SSL_ID 指定了用戶想讀取的系統狀態列表。使用此方法可讀出下列數據,例如:
模板標識。
模板 LED 指示燈狀態。
DP 主站系統或 PROFINET I/O 系統中,已經連接上 CPU 集成的 DP 或 PN 口的站點狀態。
所有有關 SSL_ID 的具體的可用信息請參看手冊 :“用于 S7300/400系統和 標準功能的系統軟件 卷1&2”
當調用 SFC51 "RDSYSST" 時,在輸入參數INDEX,要以16進制格式指定 PROFIBUS DP 主站系統或者PROFINET IO 系統的編號,PROFIBUS DP 主站系統的編號或者PROFINET IO 系統的編號可以在硬件配置中找到(見圖.01)。
SFC51 "RDSYSST" 的參數分配根據使用不同的 CPU 而不同:
CPU 有集成的 DP 接口但是沒有集成的以太網接口
在 PN/DP CPU 中調用 SFC51 "RDSYSST" 的例子參數
圖02
圖03
輸入 SSL_ID=694(HEX) 以確定 DP 主站系統或者 PROFINET IO 系統連接到 PN/DP CPU 站點的狀態。指定所讀出的系統狀態列表數據(診斷數據)的存儲區域,診斷數據區大小為 258 字節。
表 01 為 258 字節長的診斷數據結構:
內容 | 長度 | 解釋 |
index | 1 word |
0: 中央機架 1-31: 在 PROFIBUS DP 主站系統中的遠程模塊 100-115: 在 PROFINET IO 系統中的遠程模塊 |
status_0 | BOOL |
組信息 1: 下面狀態位最少有一個值為 1 0: 下面所有狀態位值為 0 |
status_1 | BOOL |
站 1 狀態 1: 站 1 故障(僅對 694 有效) |
status_2 | BOOL |
站2 狀態 1: 站2 故障(僅對 694 有效) |
... | ||
status_2047 | BOOL |
站2047 狀態 1: 站2047 故障(僅對 694 有效) |
表 01
最大可以確定 2047 個站的狀態。在診斷數據存儲區域中每個站需要 1 bit。此外,需要另外 1 bit 作為組信息。就是說在診斷數據存儲區域中,256 字節分配給每個站點的狀態,2 字節為索引(關于 DP 主站系統或者 PROFINET IO 系統的信息)。
下面的例程中包含一個完整的 S7 站硬件組態,用戶程序中有 SFC51 "RDSYSST" 的調用。
SSL_Status_PNDP.zip( 686 KB )
在沒有集成以太網口的 CPU 中調用 SFC51 "RDSYSST" 的例子參數
圖04
輸入 SSL_ID=292(HEX) 以確定連接到只有集成 DP 接口的 CPU 所帶的 DP 主站系統中的站點狀態。指定所讀出的系統狀態列表數據(診斷數據)的存儲區域,診斷數據區大小為 16 字節。
表 02 為 16 字節長的診斷數據結構:
內容 | 長度 | 解釋 |
status_0 | 1 byte |
Bit 0:基本單元 (INDEX=0) 或站 1 Bit 1:擴展設備或站 2 ... Bit 7: 擴展設備或站 8 ... |
status_1 | 1 byte |
Bit 0: 擴展設備或站 9 Bit 1: 擴展設備或站 10 ... Bit 7: 擴展設備或站 16 ... |
status_2 | 1 byte |
Bit 0: 擴展設備或站 17 Bit 1: 擴展設備或站 18 ... Bit 7: 擴展設備或站 24 |
status_3 | 1 byte |
Bit 0: 擴展設備或站 25 Bit 1: 擴展設備或站 26 ... Bit 6: S5 區域中的擴展設備或站 31 Bit 7: S5 區域中的擴展設備或站 32 |
... | ||
status_15 | 1 byte |
Bit 0: S5 區域中的擴展設備或站 121 Bit 1: S5 區域中的擴展設備或站 122 ... Bit 7: S5 區域中的擴展設備或站 128 |
審核編輯:劉清
-
cpu
+關注
關注
68文章
10854瀏覽量
211578 -
LED指示燈
+關注
關注
2文章
94瀏覽量
12654 -
以太網接口
+關注
關注
0文章
147瀏覽量
17092 -
DP接口
+關注
關注
0文章
47瀏覽量
14297
原文標題:如何讀取DP或PN總線上各站點的狀態?
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論