SFC 68 具體參數(shù)定義
劉玉蓉
發(fā)布于2014-10-14 17:52
396
0
標簽:
300 與 200 MPI 通訊 調(diào)用SFC 68
CALL "X_PUT" //SFC68
REQ :=M0.0
CONT :=M0.5
DEST_ID :=W#16#4
VAR_ADDR:=P#Q0.0 BYTE1
SD :=P#DB50.DBX0.0 BYTE 1
RET_VAL :=MW3
BUSY :=M0.6
NOP 0
300里面已經(jīng)將 16#1111 寫到DB50.DBD0
現(xiàn)遇到問題:
1 , REQ :=M0.0 當我在300里面設(shè)置M0.0為常閉時,當300重新熱啟動那一下能看到200的Q0.0-Q-0.7輸出指示燈亮,但是過后就不亮了。
若將M0.0 用 定時器 將其定義為 5S 為 1 5S 為 0 時 就連 重新熱啟動那一下也 不能見到200的Q0.0-Q-0.7輸出指示燈亮了。
請問 這個REQ的參數(shù)該怎么設(shè)置?
2,CONT :=M0.5 這個參數(shù)怎么設(shè)置?起什么作用的?
3,RET_VAL :=MW3 有時為16# 7000 有時候為16#7002 有時候為- (我的CPU 為 313C ,只有1個MPI口,所以在監(jiān)測RET_VAL 的時候沒有與200連上線)
BUSY :=M0.6 當 REQ =1 的時候它就為1,REQ =0的時候它就為0
現(xiàn)在請 幫我解答我上面遇到的問題 出在哪里?撥特率設(shè)置是一致的,200的MPI地址也設(shè)為了4 。
佳答案
通過SFC 68 "X_PUT"將數(shù)據(jù)寫入本地S7 站以外的通訊伙伴:
1、請問 這個REQ的參數(shù)該怎么設(shè)置?
REQ:控制參數(shù)“請求激活”。
輸入?yún)?shù)REQ:
輸入?yún)?shù)REQ(請求激活)是電平觸發(fā)控制參數(shù)。其用于觸發(fā)作業(yè)(數(shù)據(jù)傳送或連接
中止):
? 如果為當前沒有激活的作業(yè)調(diào)用SFC,則通過REQ=1來觸發(fā)該作業(yè)。如果當?shù)?br />一次調(diào)用通訊SFC時,沒有到通訊伙伴的連接,則在數(shù)據(jù)傳送開始之前首先建立
連接。
? 如果觸發(fā)一個作業(yè),并且當為同樣的作業(yè)重新調(diào)用SFC時該作業(yè)還沒有結(jié)束,
則SFC不能使用REQ。
2、CONT :=M0.5 這個參數(shù)怎么設(shè)置?起什么作用的?
CONT:控制參數(shù)“繼續(xù)”;當=M0.5為0或1時,見下述:
輸入?yún)?shù)CONT:
輸入?yún)?shù)CONT(繼續(xù))是一個控制參數(shù)。通過此參數(shù)可以決定:作業(yè)結(jié)束之后是否保
持建立與通訊伙伴的連接。
? 如果在次調(diào)用時選擇CONT=0,則在數(shù)據(jù)傳送結(jié)束之后將再次終止連接。
然后,連接可重新用于與新通訊伙伴進行數(shù)據(jù)交換。
這種方法確保了只在實際使用時才占用連接資源。
? 如果在次調(diào)用時選擇CONT=1,則在數(shù)據(jù)傳送結(jié)束時保持建立連接。
這種方法用于,例如,在兩個站之間循環(huán)地交換數(shù)據(jù)。
3、有關(guān)RET_VAL :
如果在函數(shù)執(zhí)行時出錯,則返回值包含相應(yīng)出錯信息。
有時為16# 7000: 初始調(diào)用;未傳送活動數(shù)據(jù)記錄
有時候為16#7002:中間調(diào)用;已激活數(shù)據(jù)記錄傳送
詳見下述文檔中8-10與19-10的相關(guān)章節(jié):
<S7-300400的系統(tǒng)軟件和標準功能>下載:
https://www2.ad.siemens.com.cn/download/Upload/AS/manual/1023.pdf