用SFC14/SFC15進(jìn)行數(shù)據(jù)傳輸時(shí),每包最多32字節(jié),只能保證當(dāng)前這32字節(jié)被接收的完整性和實(shí)時(shí)性,不能保證80k的數(shù)據(jù)包的完整性和實(shí)時(shí)性。
我現(xiàn)在如果不用SFC14/SFC15進(jìn)行數(shù)據(jù)傳輸時(shí),直接用Unit進(jìn)行DP之間的數(shù)據(jù)通訊,317和315之間能否保證數(shù)據(jù)的及時(shí)性,這邊必須確保一次性檢測(cè)的數(shù)據(jù)的完整性,然后再判斷相應(yīng)的條件去執(zhí)行動(dòng)作,在傳輸?shù)臄?shù)據(jù)段中多加幾個(gè)判斷標(biāo)識(shí),標(biāo)識(shí)一下一段數(shù)據(jù)傳輸完成,直至所有的數(shù)據(jù)都傳輸完畢。
再補(bǔ)充問(wèn)一下,317與315之間進(jìn)行數(shù)據(jù)傳輸時(shí),是不是每次都從定義的初始地址開始傳輸數(shù)據(jù),也就是說(shuō),我如果定義了80Byte的字節(jié)的數(shù)據(jù)交互區(qū),用于存放317的Q區(qū)數(shù)據(jù),是不是每次都是從0-80依次將數(shù)據(jù)傳輸給315,時(shí)間上有些延遲沒(méi)關(guān)系,但就是要確保一次能夠?qū)?shù)據(jù)完整的傳輸過(guò)來(lái)。這樣的話,就可以根據(jù)一個(gè)表示信號(hào)來(lái)判斷數(shù)據(jù)是否傳輸完成了。
在S7-300PLC通過(guò) profibus 與 MM440 變頻器通訊時(shí),須要用到SFC14(讀)和SFC15(寫)兩個(gè)塊。
1:例程上通常SFC14和SFC15同時(shí)使用,這是必須的嗎?
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
如果需要了解更多,請(qǐng)點(diǎn)擊http://siemensdianji.gongboshi.com
如果需要了解更多,請(qǐng)點(diǎn)擊http://siemensdianji.gongboshi.com