用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
如果需要了解更多,请点击 http://siemensdianji.m.eepottsltd.com
如果需要了解更多,请点击 http://siemensdianji.m.eepottsltd.com