Hi just trying out some alarming logic to work with siemens microwin s7-200 can anyone help me convert this simple ab logic to siemens microwin.
struggling with pointers ....
Thanks
struggling with pointers ....
Thanks
LANE 1
IS LOW +--- MOV -+
----+----| |-------| 1 |
| | N7:51 |
| LANE 1 +---------+
| IS LOW +--- MOV -+
+----|/|-------| 0 |
| N7:51 |
+---------+
LANE 2
IS LOW +--- MOV -+
----+----| |-------| 2 |
| | N7:52 |
| LANE 2 +---------+
| IS LOW +--- MOV -+
+----|/|-------| 0 |
| N7:52 |
+---------+
LANE 3
IS LOW +--- MOV -+
----+----| |-------| 3 |
| | N7:52 |
| LANE 3 +---------+
| IS LOW +--- MOV -+
+----|/|-------| 0 |
| N7:52 |
+---------+
MOVE THE POINTED TO REGISTER INTO THE MESSAGE REGISTER (N7:40)
CURRENT
MESSAGE
+--- NEQ -----+ +--- MOV ------+
---| N7:[N7:50] |-------| N7:[N7:50] |
| 0 | | N7:40 |
+-------------+ +--------------+
MESSAGE TIMER. NOTE THAT THE INDEXED MESSAGE IS CHECKED.
MESSAGE
TIMER
+--- NEQ -----+ T4:10/DN +--- TON -+
---| N7:[N7:50] |------|/|------| T4:10 |
| 0 | | 5 SEC |
+-------------+ +---------+
INCREMENT THE POINTER
CURRENT
MESSAGE POINTER
+--- EQU -----| +---- ADD -+
---+---| N7:[N7:50] |---+---| N7:50 |
| | 0 | | | 1 |
| +-------------+ | | N7:50 |
| | +----------+
| MESSAGE TIMER |
| T4:10/DN |
+--------| |----------+
IF POINTER IS BELOW THE BEGINNING OF THE RANGE,
OR WHEN THE POINTER GETS TO THE END, RESET IT
TO THE BEGINNING OF THE RANGE (THIS ENSURES THAT
WE NEVER GO ABOVE OR BELOW THE RANGE OF 41 TO 45)
POINTER POINTER
+--- GEQ -+ +---- MOV -+
---+---| N7:50 |---+---| 41 |
| | 44 | | | N7:50 |
| +---------+ | +----------+
| |
| +--- LEQ -+ |
+---| N7:50 |---+
| 40 |
+---------+
IF THERE ARE NO ERRORS, CLEAR THE MESSAGE
LANE 1 LANE 2 LANE 3
IS LOW IS LOW IS LOW +--- MOV -+
---|/|-----|/|-----|/|-----| 0 |
| N7:40 |
+---------+