ГОСТ Р МЭК 61784-3-12—2016
Переход
Условие
Действие
Следующее
состояние
PARA_FAIL3
(Frame.Command -
PlOCfiSSDdta
OR
Frame.Command -
FallSateData) AND
BytesToBeSent - 0 AND
Frame.ConnId <>
Connect ionld
LastCrc0;
OldMasterCrc
OldSlaveCrc
MasterSeqNo
0;
0?
1;
SlaveSeqNo1;
DataCommandFallSafeData;
CommFaultReason INVALID_CONNID;
SendFrame(Reset,
ADR(CommFaultReason», LastCrc,
0,
ADR(SiaveSeqNo), ADR(OldSlaveCrc),
FALSE);
SiaveSeqNo1;
Reset (Сброс)
PARA_FAlL4
(Frame.Commann -
PzocessDat-a
OR
Frame.Command -
FallSafeData) AND
BytesToBeSent о 0
ADR(CommFaultReason), LastCrc,
0,
ADR(SiaveSeqNo), ADR(DlaSlaveCrc),
FALSE);
SiaveSeqNo1;
LastCrc0;
Reset (Сброс)
OldMasterCrc 0;
OldSlaveCrc0;
MasterSeqNo1;
SiaveSeqNo 1;
DataCommandFaiISaleData;
CommFaultReason INVALID_CMD;
SendFrame(Reset,
PARA_STAY1
Frame.Commaria -
Parameter
AND
BytesToBeSent <> 0 AND
Frame.Connla -
Conneetaonld
a
nd
IS_CRC_CORRECT(Frame,
LastCrc,
ADR(MasterSeqNo),
ADR(OldMasterCrc),
TRUE) - TRUE
STORE_DATAi
ADR(SatePara| ExpectedSafeParaSixe-
BytesToBeSent)>, ADR(Frame.
SateData));
LastCrcFrame.CrcO;
SennFr ame(Parameter,
ADR(Frame.SateData), LastCrc,
Conrieetionia, ADR(SiaveSeqNo),
ADR(OldSlaveCrc), TRUE);
LastCrcSendFrame.CrcO;
BytesToBeSentUPDATE_BYTES_TO_BE_
SENT(
BytesToBeSent);
Parameter
(Параметр)
PARAFAIL5
Frame.Commana -
Parameter
AND
BytesToBeSent <> 0 AND
Frame.Connld -
ConnectionId AND
I S_CRC_CORRECT(Fr ame,
LastCrc,
ADR(MasterSeqNo>,
ADR(OldMasterCrc),
TRUE) - FALSE
LastCrc0;
OldMasterCrc0;
OlaSlaveCrc 0;
MasterSeqNo 1;
SiaveSeqNo 1;
DataCommand :» FallSafeData;
CommFaultReasonINVALID_CRC;
Sen dFrame(Reset ,
ADR(CommFaultReason), LastCrc,
0,
ADR(SiaveSeqNo), ADR(OldSlaveCrc),
FALSE);
SiaveSeqNo1;
Reset (Сброс)
61