ГОСТ Р МЭК 61784-3-12—2016
Переход
Условие
Действие
Следующее
сосгояиие
PARA_FAIL2
Frame.Command
-
Parameter
AND
Frame.Connld - ConnData.
ConnId
AND
IS_SAFEDATA_CORR£CT(Frame,
ADR(SdlePard>
,
Sd£ePdraSa2e-
BytesToBeSent) - FALSE
LastCrc0
OloMasterCrcG;
OloSlaveCrc 0;
MasterSeqNo 2;
SlaveSeqNo I;
DataCommand
:—
F
ailSafa
D
at a;
CommFaultReasonINVALID_
DATA;
SendFrame(Reset
,
Reset (Сброс)
ADR(CommFaultReason»
,
LastCrc, 0,
ADR(MasterSeqNo»
,
ADR(OloMasterCrc»
,
FALSE»;
MasterSeqNo1; START_
WD(Sa£ePara.Watchdog»
;
PARA_FAIL3
Frame.Command
-
Paramefer
AND
Frame.Connld
<>
ConnData.Connia
CommFaultReasonINVALID_
CONNID;
SenaFrame(Reset
,
LastCrc0
Reset (Сброс)
OldMasterCrc 0;
GIJSlaveCre 0;
MasterSeqNo 1;
SlaveSeqNo1;
DataCommand
:»
F
ailSat&
D
a
ta;
ADR(CommFaultReason»
,
LastCrc, 0,
ADR(MasterSeqNo»
,
ADR(OldMasterCrc»
,
FALSE);
MasterSeqNo1; START_
WD(Sa£ePara.V»atchaog>
;
PARASTAY1
Frame.Command
-
Parameter
AND
BytesToBeSent
<>
0
AND
Frame.Connld
-
ConnData.
Connld
AND
IS_3AFEDATA_C0RRECT(Frame,
ADR(Sa£ePara»
,
SateParaSrze-
BytesToBeSent
>
- TRUE
AND
IS_CRC_CORRECT(Frame,
LastCrc, ADR (SiaveSeqNoJ
,
ADR(01dSlaveCrC>
,
TRUE)
-
TRUE
LastCrcFrame.CrcO;
SenaFrame
(
Parameter,
ADR(Sa£eParaISa£eParaSize-
BytesToBeSent
] »,
Frame.CrcO,
ConnData.Connld,
ADR(MasterSeqNo;
,
ADR(OldMasterCrc)
,
TRUE»
;
LastCrcSendFrame.CrcO;
BytesToBeSentUPDATE_BYTES_
TO_BE_SENT
(
BytesToBeSent»
;
START_
WD(Sa£ePara.Watchdog»
;
Parameter
(Параметры)
39