用SFC14/SFC15進(jìn)行數(shù)據(jù)傳輸時,每包最多32字節(jié),只能保證當(dāng)前這32字節(jié)被接收的完整性和實時性,不能保證80k的數(shù)據(jù)包的完整性和實時性。
我現(xiàn)在如果不用SFC14/SFC15進(jìn)行數(shù)據(jù)傳輸時,直接用Unit進(jìn)行DP之間的數(shù)據(jù)通訊,317和315之間能否保證數(shù)據(jù)的及時性,這邊必須確保一次性檢測的數(shù)據(jù)的完整性,然后再判斷相應(yīng)的條件去執(zhí)行動作,在傳輸?shù)臄?shù)據(jù)段中多加幾個判斷標(biāo)識,標(biāo)識一下一段數(shù)據(jù)傳輸完成,直至所有的數(shù)據(jù)都傳輸完畢。
再補(bǔ)充問一下,317與315之間進(jìn)行數(shù)據(jù)傳輸時,是不是每次都從定義的初始地址開始傳輸數(shù)據(jù),也就是說,我如果定義了80Byte的字節(jié)的數(shù)據(jù)交互區(qū),用于存放317的Q區(qū)數(shù)據(jù),是不是每次都是從0-80依次將數(shù)據(jù)傳輸給315,時間上有些延遲沒關(guān)系,但就是要確保一次能夠?qū)?shù)據(jù)完整的傳輸過來。這樣的話,就可以根據(jù)一個表示信號來判斷數(shù)據(jù)是否傳輸完成了。
在S7-300PLC通過 profibus 與 MM440 變頻器通訊時,須要用到SFC14(讀)和SFC15(寫)兩個塊。
1:例程上通常SFC14和SFC15同時使用,這是必須的嗎?
2:例程上都是把SFC14寫在前面,而SFC15寫在后面,如下:
A M 20.0
= L 20.0
A L 20.0
JNB _003
CALL "DPRD_DAT"
LADDR :=W#16#100
RET_VAL:=MW2
RECORD :=P#DB1.DBX8.0 BYTE 4
_003: NOP 0
A L 20.0
JNB _004
CALL "DPWR_DAT"
LADDR :=W#16#100
RECORD :=P#DB1.DBX2.0 BYTE 4
RET_VAL:=MW4
_004: NOP 0
如果需要了解更多,請點(diǎn)擊http://siemensdianji.gongboshi.com
如果需要了解更多,請點(diǎn)擊http://siemensdianji.gongboshi.com