發(fā)布時(shí)間:2019-08-24 來源:眾智博遠(yuǎn)
首先為Active端編寫程序。在SIMATIC 315PN-1的塊中創(chuàng)建DB101,定義一個(gè)變量DB_VAR,變量類型為UDT65。如圖15所示。
圖15
在OB1中依次調(diào)用FB65,FB63,FB64,FB66,如圖16,17,18,19所示:
圖16
程序中的參數(shù)說明見表1
參數(shù)名 | 參數(shù)說明 |
REQ | 上升沿觸發(fā)建立通信連接 |
ID | 連接ID |
CONNECT | 與變量類型為UDT65的變量相連 |
DONE | 為1時(shí),連接正確建立 |
BUSY | 為1時(shí),正建立連接 |
ERROR | 為1時(shí),有故障發(fā)生 |
STATUS | 故障代碼 |
表1 FB65參數(shù)說明
圖17
程序中的參數(shù)說明見表2
參數(shù)名 | 參數(shù)說明 |
REQ | 上升沿觸發(fā) |
ID | 連接ID |
LEN | 數(shù)據(jù)發(fā)送的最大長度 |
DATA | 數(shù)據(jù)發(fā)送的區(qū)域 |
DONE | 為1時(shí),連接正確建立 |
BUSY | 為1時(shí),正建立連接 |
ERROR | 為1時(shí),有故障發(fā)生 |
STATUS | 故障代碼 |
表2 FB63參數(shù)說明
圖18
程序中的參數(shù)說明見表3
參數(shù)名 | 參數(shù)說明 |
EN_R | 為1時(shí)使能 |
ID | 連接ID |
LEN | 接收區(qū)域的長度 |
DATA | 接收數(shù)據(jù)區(qū) |
NDR | 為1時(shí),接收完成 |
BUSY | 為1時(shí),正在接收 |
ERROR | 為1時(shí),有故障發(fā)生 |
STATUS | 故障代碼 |
RCVD_LEN | 實(shí)際接收的數(shù)據(jù)長度 |
表3 FB64參數(shù)說明
圖19
程序中的參數(shù)說明見表4
參數(shù)名 | 參數(shù)說明 |
REQ | 上升沿觸發(fā) |
ID | 連接ID |
DONE | 為1時(shí),斷開連接完成 |
BUSY | 為1時(shí),正斷開連接 |
ERROR | 為1時(shí),有故障發(fā)生 |
STATUS | 故障代碼 |
表4 FB66參數(shù)說明
OB1編寫完成后,SIMATIC 315PN-1的程序塊如圖20所示:
圖20
同理,為SIMATIC 315PN-2站編寫程序,與SIMATIC 315PN-1類似,在DB101中定義數(shù)據(jù)類型為UDT65的變量,在OB1中調(diào)用FB65,FB63,FB64,FB66。將硬件組態(tài)和程序分別下到兩個(gè)S7300站中。
在cpu運(yùn)行的情況下分別監(jiān)控兩個(gè)站OB1的狀態(tài)。首先在兩個(gè)站的FB65中,將“REQ”置1,使連接建立。然后將SIMATIC 315PN-1 MB100-MB109賦值B#16#12,同時(shí)在SIMATIC 315PN-2站中將FB64的EN_R置1,接著在SIMATIC 315PN-1的FB63中,將M0.2設(shè)置上升沿信號(hào),此時(shí)SIMATIC 315PN-2站的MB200-MB209接收到來自SIMATIC 315PN-1站的數(shù)據(jù)B#16#12,如圖21所示:
圖21
同樣的操作,將SIMATIC 315PN-2的MB100-MB109賦值B#16#03,SIMATIC 315PN-1的MB200-MB209接收到B#16#03,圖22所示。
圖22