Quantcast
Channel: SPS-Forum - Automatisierung und Elektrotechnik
Viewing all articles
Browse latest Browse all 46411

Step 7 Pointer für DB erstellen von Multiinstanz

$
0
0
Hallo,

ich versuche einen aus einem Multiinstanz DB 30 einzelne Bits in einem anderen DB 503 zu verschieben.
Das herauslesen funktioniert, die CPU meldet jedoch einen internen Fehler bei den Pointer-Zeilen (Adressüberschreitung).
Das laden in den 503 funktioniert gar nicht.

Wie würde es richtiger ausschauen? Bin nicht so der Profi wie ihr seht ;)

Code:

//--- Pointing first ZM instance
L P#0.0
T #ZM_Adr

L 220                                      //Start adresse
T #ZM_AdrDest


L 64
NEXT: T #ZM_loop
//*** Starting Loop *********

AUF DB 30                                  // Activ DB Read

L #ZM_Adr
//---------------------------
LAR1

L DBB [AR1,P#25.0]                // Load DBB 25 Status
T #ZM_BZM1                          // xxxx xxxx
L B#16#1                              // 0000 0001
UW                                        // ---- ---x 25.0 frg
T #ZM_BZM2                        // 0000 000x

L #ZM_BZM1                        // xxxx xxxx
L B#16#80                          // 1000 0000
UW                                        // x--- ---- 25.7 SEV
SRW 5                                    // ---- -x--
L #ZM_BZM2                    // 0000 000x
OW
T #ZM_BZM2                        // 0000 0x0x

L DBB [AR1,P#24.0]                // Load DBB 24 Status
T #ZM_BZM1                      // xxxx xxxx
L B#16#1                            // 0000 0001
UW                                  // ---- ---x 24.0 SER
SLW 1                                // ---- --x-
L #ZM_BZM2                        // 0000 0x0x
OW
T #ZM_BZM2                        // 0000 0xxx

L #ZM_BZM1                          // xxxx xxxx
L B#16#8                          // 0000 1000
UW                                  // ---- x--- 24.3 STO
L #ZM_BZM2                      // 0000 0xxx
OW
T #ZM_BZM2                      // 0000 xxxx

//--- Pointing next ZM instance

L P#26.0                              // Offset
L #ZM_Adr                          // Adr ZM act
+D                                    // Adr +Offset
T #ZM_Adr                            //=Adr ZM next


AUF DB 504                            //Transfer to DB
L #ZM_BZM2
T DBB [#ZM_AdrDest]
L P#1.0
L #ZM_AdrDest
+I


// Oder:
// L #ZM_AdrDest
// LAR1
// AUF DB 504
// L #ZM_BZM2
// T DBB [AR1,P#1.0]



//*** Ending Loop ************
L #ZM_loop
LOOP NEXT


Wäre wirklich dankbar wenn ihr weiter helfen könntet

Viewing all articles
Browse latest Browse all 46411


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>