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

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

Thema: negatives dword - ist das möglich?

  1. #1
    Registriert seit
    29.01.2005
    Beiträge
    277
    Danke
    4
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo!

    Ich habe bei einer Anlage (S7-313C-2DP) von uns ein kleines Verständnisproblem. An diese SPS ist ein Servoumrichter von Stöber über Profibus angeschlossen. Ausserdem ist an die Steuerung ein OP7 angeschlossen, von dem aus die Zielpositionen des Servoreglers geändert werden können.

    Der Servomotor bewegt ein Handlingsystem, welches kleine Glasscheiben von einem senkrecht stehenden Stapel auf ein wagerecht stehendes Band gelegt werden.

    Nun soll nach dem ansaugen der Scheibe der Servo einen Weg X in negative Richtung relativ verfahren.

    Die Daten für die Zielposition werden an den Regler als DWORD übergeben - jedenfalls ist das so in dem Instanz-DB deklariert.

    Die Position - in dem Fall der relative Weg - wird als DWORD von dem OP7 in einem DB gespeichert, und von dem DB dann nach Änderung als DWORD in den Instanz-DB übergeben.

    Wie kann ich das erreichen das dieser Wert als negativer Wert übergeben wird? Ich bin ratlos...

    Viele Grüße, Tobias
    Zitieren Zitieren negatives dword - ist das möglich?  

  2. #2
    Registriert seit
    14.01.2004
    Ort
    Hattorf
    Beiträge
    3.201
    Danke
    297
    Erhielt 311 Danke für 266 Beiträge

    Standard

    Hallo,
    wenn ich das Recht verstanden habe: kannst Du nicht mit -1 multiplizieren? bei Ganzzahlen *D oder *R bei Realzahlen.


    mfg

    dietmar

  3. #3
    Registriert seit
    13.04.2005
    Beiträge
    264
    Danke
    2
    Erhielt 2 Danke für 1 Beitrag

    Standard

    Hallo,
    mit MOVE kann man von DWORD nach DINT und zurück konvertieren.
    Ob aber ein negativer Wert an der Stelle richtig ist, glaube ich nicht. Es wird vielleicht eine absolute Adresse (vielleicht sogar in BCD ) erwartet.
    Gruß Wilfried

  4. #4
    Avatar von lefrog
    lefrog ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.01.2005
    Beiträge
    277
    Danke
    4
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Hallo!

    Genau das habe ich ja auch gedacht...

    Ich habe also folgendes programmiert:

    L DB90.DBD90
    L -1
    *D
    T DB9.DBD12

    .. soweit so gut.. nur wenn ich das so mache, dann steht, wenn in DB90.DBD90 1 eingetragen ist, in dem DB9.DBD12 in der Statusansicht 65535, wenn ich mit -1 multipliziere... Daher meine Frage - ich weiß nicht wo ich den Denkfehler mache..
    In Protool, im Datenbaustein, überall ist die Variable als DWORD deklariert.

    Viele Grüße, Tobias

  5. #5
    Avatar von lefrog
    lefrog ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.01.2005
    Beiträge
    277
    Danke
    4
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Hallo!

    Nach ein wenig Probieren mit dem Simulator habe ich folgendes herausgefunden

    Und zwar funktioniert das, wenn ich folgendes Programmiere:

    L DB90.DBD90
    L L#-1
    *D
    T DB9.DB12

    also anstatt -1 musste ich L#-1 eintragen - ist das so richtig?

    Viele Grüße, Tobias

  6. #6
    Registriert seit
    14.01.2004
    Ort
    Hattorf
    Beiträge
    3.201
    Danke
    297
    Erhielt 311 Danke für 266 Beiträge

    Standard

    Hallo,
    ist schon klar, bei z.B. Word kannst Du von 0 bis 65535 hochzählen, bei INT von -32768 bis +32767 das ist der Unterschied, also in INT ist 65535 = -1 also wandele alles in DI bei Ganzzahlen.

    mfg

    dietmar

  7. #7
    Avatar von lefrog
    lefrog ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.01.2005
    Beiträge
    277
    Danke
    4
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Hallo!

    Also das Problem an der ganzen Sache ist das, dass der Regler den Wert als DWORD haben muss. Das kann man nicht ändern...

    Ich versuche morgen mal ob das so klappt, wie es mit dem Simulator geklappt hat - ich habe aber meine bedenken...

    Viele Grüße, Tobias

  8. #8
    Registriert seit
    14.01.2004
    Ort
    Hattorf
    Beiträge
    3.201
    Danke
    297
    Erhielt 311 Danke für 266 Beiträge

    Standard

    Hallo,
    gerade überzeug kling das nicht, mal ein Beispiel: wenn Du den Taschenrechner von Miocrosoft nimmst (unter Zubehör, den wissentschaftlichen) dann gib mal -1 ein, danach wandele es in bin um, und danach in dez , dann siehst das auch ein Wandlungsfehler ensteht.

    mfg

    dietmar

  9. #9
    Registriert seit
    06.10.2003
    Beiträge
    3.403
    Danke
    447
    Erhielt 502 Danke für 406 Beiträge

    Standard

    Hallo Tobias,

    vermutlich wird ganz einfach die Soll-Position als DWORD übertragen, und nicht der relative Weg? Es gibt also garkeine negativen Werte?


    Gruss, Onkel
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  10. #10
    Avatar von lefrog
    lefrog ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.01.2005
    Beiträge
    277
    Danke
    4
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo!

    Vielleicht mache ich bei der ganzen Sache einen Denkfehler - ich weiß es nicht...
    Ich habe aber in dem Regler den relativen Wert für den Rückzug immer negativ eingegeben - daher denke ich das das auch negativ übermittelt werden muss....

    Hier einmal der Link zu der Beschreibung der Profibus-Karte für den Regler - vielleicht überseh ich bei der ganzen Sache auch einfach etwas... Ich muss zu meiner Entschuldigung sagen das dieses eines meiner ersten Profibus-Projekte ist...

    http://www.stoeber.de/TDE/MIBAL/SDS4000/441525_0002.pdf

    Viele Grüße, Tobias
    Angehängte Grafiken Angehängte Grafiken

Ähnliche Themen

  1. SCL Bit in Dword
    Von enter im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 25.08.2010, 00:08
  2. DWord to Array
    Von kai86 im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 02.03.2010, 13:05
  3. Dword vergleichen
    Von mitchih im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 27.08.2009, 21:58
  4. dword
    Von 1schilcher im Forum Programmierstrategien
    Antworten: 21
    Letzter Beitrag: 14.02.2007, 10:34

Lesezeichen

Berechtigungen

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