用SFC14/SFC15進行數據傳輸時,每包最多32字節,只能保證當前這32字節被接收的完整性和實時性,不能保證80k的數據包的完整性和實時性。
我現在如果不用SFC14/SFC15進行數據傳輸時,直接用Unit進行DP之間的數據通訊,317和315之間能否保證數據的及時性,這邊必須確保一次性檢測的數據的完整性,然后再判斷相應的條件去執行動作,在傳輸的數據段中多加幾個判斷標識,標識一下一段數據傳輸完成,直至所有的數據都傳輸完畢。
再補充問一下,317與315之間進行數據傳輸時,是不是每次都從定義的初始地址開始傳輸數據,也就是說,我如果定義了80Byte的字節的數據交互區,用于存放317的Q區數據,是不是每次都是從0-80依次將數據傳輸給315,時間上有些延遲沒關系,但就是要確保一次能夠將數據完整的傳輸過來。這樣的話,就可以根據一個表示信號來判斷數據是否傳輸完成了。
在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
如果需要了解更多,請點擊
如果需要了解更多,請點擊