Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Programmierfehler?

  1. #1
    Registriert seit
    07.05.2008
    Beiträge
    54
    Danke
    36
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    AUF "db_platz"
    L 0
    T MD 215 // alle Belegtmerker zurücksetzen
    L P#215.0 // Pointer Belegtmerker
    T #pointer1
    L P#104.0 // Pointer Belegtwort
    T #pointer2
    L 30
    ret1: T #loop
    L DBW [#pointer2] // Belegtwort Platz XX
    L 1
    >=I
    S M [#pointer1] // Belegtmerker Platz XX
    L #pointer1 // Pointer Belegtmerker
    L 1
    +D
    T #pointer1
    L #pointer2 // Pointer Belegtworte
    L P#10.0
    +D
    T #pointer2
    L #loop
    LOOP ret1


    Kann mir wer sagen warum meine CPU auf Stop geht sobald ich den Baustein online anschaue indem dieses Netzwerk enthalten ist bzw ich in dieses Netzwerk reinklicke? Pointerformate stimmen soweit.. (manchmal geht sie sofort auf Stop und manchmal erst nachdem ich in dieses NW reinklicke).
    Zitieren Zitieren Programmierfehler?  

  2. #2
    Registriert seit
    15.10.2007
    Ort
    St.Pölten
    Beiträge
    875
    Danke
    98
    Erhielt 200 Danke für 188 Beiträge

    Standard

    L DBW [#pointer2] // Belegtwort Platz XX

    das geht nicht.

    Code:
     
    l dbw [AR1,P#104.0]
    würde ich so machen wenn es ein fixwert wäre
    Beginne jeden Tag mit einem lächeln,es kann dir nämlich während des Tages sehr schnell vergehen.

  3. Folgender Benutzer sagt Danke zu Gerhard K für den nützlichen Beitrag:

    tuneit (15.10.2008)

  4. #3
    tuneit ist offline Benutzer
    Themenstarter
    Registriert seit
    07.05.2008
    Beiträge
    54
    Danke
    36
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Zitat Zitat von Gerhard K Beitrag anzeigen
    L DBW [#pointer2] // Belegtwort Platz XX

    das geht nicht.

    Code:
     
    l dbw [AR1,P#104.0]
    würde ich so machen wenn es ein fixwert wäre

    ok danke erstmal.
    aber warum lässts es dann zu ? bzw wenn pointerformat nicht passen würde,würde die cpu ja beim überspielen in stop gehen. in dem fall läuft das prg ja schon damit nur beim beobachten schmeistsie sich weg..komische sache


    bzw wa sgenau ist falsch daran?einfach nur die schreibweise?
    Geändert von tuneit (15.10.2008 um 15:49 Uhr)

  5. Folgender Benutzer sagt Danke zu tuneit für den nützlichen Beitrag:

    Gerhard K (15.10.2008)

  6. #4
    Registriert seit
    15.10.2007
    Ort
    St.Pölten
    Beiträge
    875
    Danke
    98
    Erhielt 200 Danke für 188 Beiträge

    Standard

    also wenn ich deinen code übernehme sind die 2 anweisungen
    L DBW [#pointer2]
    S M [#pointer1]
    rot
    Beginne jeden Tag mit einem lächeln,es kann dir nämlich während des Tages sehr schnell vergehen.

  7. #5
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.269
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    Zitat Zitat von Gerhard K Beitrag anzeigen
    L DBW [#pointer2] // Belegtwort Platz XX

    das geht nicht.

    Code:
     
    l dbw [AR1,P#104.0]
    würde ich so machen wenn es ein fixwert wäre
    Doch, das sollte erstmal gehen, da er ja einen Pointer in #Pointer2 kopiert hat. ABer Gerhards Version ist trotzdem die, die ichauch bevorzuge.

    Aber,wenn du Pointert addierst, müsen auch beide Werte ein Pointer sein.
    ALso nicht 1 aufaddieren (das wäre ein Bit weiter, sondern

    L #Pointer
    L 1
    SLD 3
    +D

    Pointerformat erzeugen, dann addieren.

    Aufpassen, den richtigen DB öffnen, er ist im Pointer nicht enthalten.

    PS: Hab grad nachgesehen, das ist in dem Code richtig

    L 1
    +D

    da ja wirklich das nächste Bit genommen wird.
    Geändert von Ralle (15.10.2008 um 16:14 Uhr)
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  8. #6
    Registriert seit
    15.10.2007
    Ort
    St.Pölten
    Beiträge
    875
    Danke
    98
    Erhielt 200 Danke für 188 Beiträge

    Standard

    also ich glaube nicht dass das funktioniert.das werde ich gleich mal probieren.
    Beginne jeden Tag mit einem lächeln,es kann dir nämlich während des Tages sehr schnell vergehen.

  9. #7
    tuneit ist offline Benutzer
    Themenstarter
    Registriert seit
    07.05.2008
    Beiträge
    54
    Danke
    36
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Zitat Zitat von Gerhard K Beitrag anzeigen
    also ich glaube nicht dass das funktioniert.das werde ich gleich mal probieren.

    dieser code stammt nicht von mir sondernt ist von einem gekauften prg. und ist so im einsatz!

  10. #8
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.269
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    Zitat Zitat von tuneit Beitrag anzeigen
    dieser code stammt nicht von mir sondernt ist von einem gekauften prg. und ist so im einsatz!
    Lies doch mal den Diagnosespeicher aus, da steht die Stopursache drin und du kannst dahin springen, wo der Stop erfolgte.
    Beim Online beobachten kann sich die Zykluszeit in Schleifen (LOOP) extrem erhöhen.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  11. #9
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.269
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    Habs nochmal angesehen der Code stimmt.

    Code:
     
    L 1
    >=I 
    S M [#pointer1] // Belegtmerker Platz XX
    L #pointer1 // Pointer Belegtmerker
    L 1
    +D 
    T #pointer1
    Das ist korrekt, es werden ja so Bits adressiert, 1 addiert, heißt nächstes Bit.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  12. #10
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    der fehler ist hier nicht im code zu suchen, sondern in der zykluszeit die sich beim beobachten erhöht.

    schau dir einmal an, welche zykluszeit du hast, welche beim beobachten zu stande kommt und wie der wert der zykluszeitüberwachung eingestellt ist.

    darüber hinaus empfiehlt es sich, die CPU im prozess- und nicht im testbetrieb zu betreiben.
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  13. Folgender Benutzer sagt Danke zu vierlagig für den nützlichen Beitrag:

    tuneit (15.10.2008)

Ähnliche Themen

  1. Programmierfehler ??
    Von Waelder im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 06.11.2006, 14:56

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •