The +++-Parser; Figure 10: State Diagram Of The +++-Parser - Siemens 7 Developer's Manual

Multiplexer driver
Hide thumbs Also See for 7:
Table of Contents

Advertisement

Multiplexer Driver Developer's Guide

7.5 The +++-Parser

7.5
The +++-Parser
The following state diagram shows the states of the +++-parser.
Internal states of the ScanRequest Object for scanning each
if BreakCount > 0, then send first
the breaks. After check for incoming
Request also check if Break
Count>0 and then '+' characters.
SerMuxSend(), BreakCount=0
If rcv. a SendRequest, then
Flag = SCAN_LATER
COMPLETE_PLUS
if receive the MSC Response
W AIT_BREAK
If rcv. a SendRequest, then
Flag = SCAN_LATER
if Timer go to zero:
if STATE_PLUS then STATE_W AIT_CHAR
if STATE_PLUS_TIMEOUT then STATE_W AIT_BREAK
ScanRequest
->Timer
Mux_Drv_DevGuide_v07
Confidential / Released
character in a Send Request for one Port Object
W AIT_CHAR()
or the ScanRequest Timer go to zero
Timeout
W aitResponseTimer
Send MSC
command with
ESCAPE =1
1. If the next incoming request
has a TImeout to the last request,
then switch to W AIT_BREAK without
Timerfunction
Request-Flag =SCAN_LATER
2. if the ScanRequest Timer go to zero.

Figure 10: State diagram of the +++-parser

Page 34 of 36
rcv. char. unequal '+'
or Timeout 1s
or difference between current and
last Request too big
rcv. any character
with time differences over One
second to the last character
in the Timer
PLUS_TIMEOUT
if Timer go to 0:
if STATE_W AIT_BREAK then STATE_W AIT_CHAR
ScanRequest
->W aitResponse
Timer
s
Timeout 1s and
rcv. BreakChar '+'
PLUS
if rcv "++" then
BreakCount +1
if BreakCount = 3
2006-9-27

Advertisement

Table of Contents
loading

Table of Contents