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

Ergebnis 1 bis 5 von 5

Thema: Idee für Positionsregister

  1. #1
    Registriert seit
    20.09.2005
    Beiträge
    63
    Danke
    1
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo

    Ich bräuchte mal eine kleine Hilfestellung für einen Programmieransatz. Komme da bei meinem Problem gerade nicht weiter

    In der Anlage, die ich gerade Programmiere gibt es für die Teile die gehandelt werden, verschiedene Daten die mitgeführt werden müssen. Die Teile können auf unterschiedlichen Stationen abgelegt werden wo sie dann bearbeitet werden und später wieder weiter transportiert werden. Jetzt hab ich für jede Station eine ID vergeben die mir mein Hanldingsroboter bei einem Greif - bzw. Ablegevorgang als Bytevariable übergibt und anhand derer ich feststellen kann von welcher Quellstation auf welche Zielstation ein Transport stattfindet. Ich muss dann in der SPS dafür sorgen, dass die Daten umkopiert werden. Für die Daten der Teile habe ich einen UDT Baustein angelegt, und einen DB in dem für jede Station ein Datenbereich vom Typ des UDT reserviert wurde.

    Was ich aber noch brauche ist ja die Zuordnung der Stationsnummer zu der entsprechenden Startadresse in dem DB. Die Stationsnummer kommt vom Roboter in einer Bytevariable und kann Dezimal verarbeitet werden. Hab zuerst gedacht, dass ich mir eine Tabelle anlege die die Startadressen mit den Stationsnummern verknüpft, aber dazu bräuchte ich ja so was ähnliches wie eine Key/Value Beziehung.

    Könnt ihr mir eine Hilfestellung beim Lösungsansatz dazu geben?

    Vielen Dank schon mal im Voraus!

    Grüße
    Daimonion
    Zitieren Zitieren Idee für Positionsregister  

  2. #2
    Registriert seit
    21.07.2008
    Beiträge
    1.066
    Danke
    51
    Erhielt 140 Danke für 136 Beiträge

    Standard

    Für soetwas ist SCL ne feine Sache

    Kannst du nicht einfach "Station * 10 = Anfangsadresse" machen?

  3. #3
    Registriert seit
    19.12.2011
    Ort
    Bremen
    Beiträge
    13
    Danke
    9
    Erhielt 6 Danke für 6 Beiträge

    Standard

    Was ich aber noch brauche ist ja die Zuordnung der Stationsnummer zu der entsprechenden Startadresse in dem DB. Die Stationsnummer kommt vom Roboter in einer Bytevariable
    In einem DW (32 Bit). Zum Beispiel: linkes Byte (8 Bit) - für Stationsnummer;
    rechte 3 Bytes (24Bit) – für Startadresse.
    AWL-Operationen:SLD; SRD; OD; UD.
    mfg

    Michael

  4. #4
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.850
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    das ist leicht zu berechnen und bedarf nicht wirklich scl

    Code:
          L     DB20.DBW    4 //stationsnummer
          L     DB450.DBW    2 //größe des datenbereichs in byte
          *I    
          L     DB450.DBW    2
          -I    //startadresse
          SLD   3
          LAR1                              //pointer auf startadresse
    wenn dein bereich klein ist kannst du die daten nun über das adressregister kopieren.
    wenn er grösser ist baust du dir aus der startadresse einen anyzeiger den du an die sfc20 hängen kannst
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  5. #5
    Registriert seit
    11.09.2007
    Ort
    Suedwestpfalz
    Beiträge
    917
    Danke
    81
    Erhielt 209 Danke für 192 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von volker Beitrag anzeigen

    Code:
          L     DB20.DBW    4 //stationsnummer
          L     DB450.DBW    2 //größe des datenbereichs in byte
          *I    
          L     DB450.DBW    2
          -I    //startadresse
          SLD   3
          LAR1                              //pointer auf startadresse
    Volker, bist Du sicher?
    sollte es nicht so sein:

    Code:
          L     DB20.DBW    4 //stationsnummer
          L     1                   // Dekremtieren um Offset zu verhindern
          -I
          L     DB450.DBW    2 //größe des datenbereichs in byte
          *I    
          SLD   3
          LAR1                              //pointer auf startadresse
    Oder bin ich auf dem falschen Dampfer?
    Das Grauen lauert in der Zwischenablage !!

Ähnliche Themen

  1. Maxdome im Ausland, ne Idee?
    Von Krumnix im Forum Stammtisch
    Antworten: 4
    Letzter Beitrag: 19.01.2015, 09:33
  2. Idee für schnellen Wechsel auf sinamic.
    Von Ludger im Forum Antriebstechnik
    Antworten: 20
    Letzter Beitrag: 20.04.2011, 18:54
  3. Idee für Aufwandsminimierung?
    Von jackjones im Forum Programmierstrategien
    Antworten: 4
    Letzter Beitrag: 11.10.2008, 21:15
  4. FB... suche Idee
    Von delacasa im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 28.09.2006, 17:33
  5. Hat jemand eine IDEE
    Von 1schilcher im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 08.06.2006, 12:05

Lesezeichen

Berechtigungen

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