EasyManua.ls Logo

Siemens 7 - The +++-Parser; Figure 10: State Diagram of the +++-Parser

Siemens 7
36 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Multiplexer Driver Developers Guide
7.5 The +++-Parser
s
Mux_Drv_DevGuide_v07 Page 34 of 36 2006-9-27
Confidential / Released
7.5 The +++-Parser
The following state diagram shows the states of the +++-parser.
Figure 10: State diagram of the +++-parser
Internal states of the ScanRequest Object for scanning each
character in a Send Request for one Port Object
PLUS
PLUS_TIMEOUTWAIT_BREAK
COMPLETE_PLUS
Timeout 1s and
rcv. BreakChar '+'
if BreakCount = 3
rcv. any character
with time differences over One
second to the last character
or the ScanRequest Timer go to zero
in the Timer
rcv. char. unequal '+'
or Timeout 1s
or difference between current and
last Request too big
1. If the next incoming request
has a TImeout to the last request,
then switch to WAIT_BREAK without
Timerfunction
Request-Flag =SCAN_LATER
2. if the ScanRequest Timer go to zero.
Send MSC
command with
ESCAPE =1
if receive the MSC Response
Timeout
WaitResponseTimer
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
If rcv. a SendRequest, then
Flag = SCAN_LATER
if Timer go to zero:
if STATE_PLUS then STATE_WAIT_CHAR
if STATE_PLUS_TIMEOUT then STATE_WAIT_BREAK
if Timer go to 0:
if STATE_WAIT_BREAK then STATE_WAIT_CHAR
WAIT_CHAR()
ScanRequest
->WaitResponse
Timer
ScanRequest
->Timer
if rcv "++" then
BreakCount +1

Table of Contents

Related product manuals