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

Seite 2 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 11 bis 20 von 34

Thema: Anfängerfragee CODESYS V3.5 SP8

  1. #11
    Registriert seit
    11.07.2011
    Beiträge
    65
    Danke
    0
    Erhielt 4 Danke für 4 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Wieso interessiert eigentlich welche Adresse dahinter steht?
    Man arbeitet doch mit der Variable (dem Array), oder?
    Mich hat noch nie interessiert wo die genau liegt.

  2. #12
    Registriert seit
    19.10.2010
    Beiträge
    264
    Danke
    14
    Erhielt 21 Danke für 17 Beiträge

    Standard

    Erschwerend kommt hinzu, dass je nach Byteorder es auch noch IX. 0-7 bzw 0-15 gibt

  3. #13
    Registriert seit
    24.07.2013
    Beiträge
    346
    Danke
    1
    Erhielt 108 Danke für 90 Beiträge

    Standard

    Noch eine Anmerkung zu diesem Zitat:
    >Bei 3S findet man leider nur sehr wenige Informationen zu ihrem Produkt.
    Ich weis man macht es nicht gerne (ich manchmal auch nicht - heutzutage "googelt" man erst mal los bevor man das Naheliegende (die CODESYS Hilfe mit F1) durchsucht)
    Hast du mal die Hilfe aufgerufen hier findest du unter:

    CODESYS Development System > Referenz Programmierung > Operanden > Adressen

    Da ist es eigentlich schon auch beschrieben.
    Grüße
    Geändert von HausSPSler (04.06.2016 um 07:18 Uhr)
    Edwin Schwellinger
    3S-Smart Software Solutions GmbH

  4. #14
    mario1 ist offline Benutzer
    Themenstarter
    Registriert seit
    27.06.2009
    Beiträge
    41
    Danke
    5
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Moin,

    ich habe mal wieder ein paar Fragen und Probleme bei der mir die CODESYS Hilfe mit F1 auch nicht weiter helfen kann!

    Ich habe eine Modusverbindung zwischen einem Energiemessgerät und einem Raspberry hergestellt. Die Kommunikationsverbindung war sehr leicht einzurichten

    Bild1.JPG
    die Register wurden gemapt auf IW9 u. IW10, IW11 u. IW12, IW13 u. IW14.
    2.JPG
    wenn mann mehrfach mit der linken Maustaste auf das IW klickt erscheint ein M im blauen Kreis. Was ist das?
    Die zwei Modbusregister pro Kanal beinhalten einen Messwert in Float32. Da es leider nach IEC Programmierung nicht möglich ist das ganze als Doppelwort aufzurufen und die Wörter zu tauschen wie z.B

    L ED9
    TAK
    T Real

    habe ich das ganze versucht so zu lösen

    3.JPG
    Die zwei Wörter nach Schmiermerker und dann Merkerdoppelwort laden.
    So, nun alles in richtiger Reihenfolge in temp2 (Datentyp Real)
    Erwarteter Wert 213.41623 . Wieso wird mir der falsche Wert angezeigt?
    Im Netzerk 12 habe ich versucht einen Float32 in dualer Darstellung (2#0100001101000111111100100001010) = (199.97281dez) in die Variable temp4 (Datentyp Real) zu übertragen.
    Ich bekomme aber einen Wert angezeigt (siehe Bild) der einer ganz anderen Dualzahl entspricht.

    mfG
    Geändert von mario1 (08.06.2016 um 08:49 Uhr)

  5. #15
    Registriert seit
    07.06.2007
    Beiträge
    142
    Danke
    2
    Erhielt 24 Danke für 24 Beiträge

    Standard

    ==== gelöscht ====

  6. #16
    Registriert seit
    24.07.2013
    Beiträge
    346
    Danke
    1
    Erhielt 108 Danke für 90 Beiträge

    Standard

    Hi,
    das blaue 'M' bedeutet das du manuell Adressen festlegen willst/kannst würde ich nie tun... das kann doch CODESYS selber automatisch besser. (steht in der Hilfe, schimpf mich nicht dafür )
    ja, ja Modbus kennt halt nur Wörter sonst nichts darum musst du die reals eben selber zusammenbauen IEEE
    Standard 754 format. Das kann ja auch von Slave zu Slave unterschiedlich sein ob du noch swappen musst oder eben nicht. Ein gepfrickel eben... (Vielleicht hört man das ich nicht so der Modbus Fan bin... geht noch nichts über einen modernen Feldbus mit dem man auch die SLaves einfach scannen usw... kann)
    Grüße
    Angehängte Grafiken Angehängte Grafiken
    Geändert von HausSPSler (08.06.2016 um 20:11 Uhr)
    Edwin Schwellinger
    3S-Smart Software Solutions GmbH

  7. Folgender Benutzer sagt Danke zu HausSPSler für den nützlichen Beitrag:

    mario1 (09.06.2016)

  8. #17
    mario1 ist offline Benutzer
    Themenstarter
    Registriert seit
    27.06.2009
    Beiträge
    41
    Danke
    5
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hallo,

    jetzt habe ich nur noch das Problem mit der Gleitpunktzahl.
    Float32 ist doch das selbe wie Datentyp Real. Nach dem move wird doch die Dualzahl nur anders interpretiert.

    mfG

  9. #18
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    9.556
    Danke
    825
    Erhielt 2.825 Danke für 2.274 Beiträge

    Standard

    Zeigt Codesys beim Beobachten des AWL-Programms die Werte der Operation oder das was am Zyklusende in der Variable steht? Vielleicht ist der falsch angezeigte Wert in "temp2" nur ein Beobachtungsproblem?

    16#4355_6A8E = 2#01000011_01010101_01101010_10001110 = 213.41623

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  10. #19
    mario1 ist offline Benutzer
    Themenstarter
    Registriert seit
    27.06.2009
    Beiträge
    41
    Danke
    5
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Ich habe es auch mit einem Merkerdoppelwort versucht und in der Visu angezeigt.
    In der Visualisierung habe ich aber keine Möglichkeit gefunden das Merkerdoppelwort bei der Textvariable s%MD40 als Gleitpunktzahl interpretieren zu lassen.
    Gibt es bei CoDeSys die Möglichkeit die Typprüfung auszuschalten?

    mfG

  11. #20
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    9.556
    Danke
    825
    Erhielt 2.825 Danke für 2.274 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich kenne mich mit Codesys nicht aus, habe aber eine Idee: Kann man in Codesys eine REAL-Variable und eine DWORD-Variable per UNION oder AT auf die selbe Adresse legen?

    Alternativ: Kann man in Codesys-AWL sowas programmieren?
    Code:
    VAR
      dwVar : DWORD;
      rVar : REAL;
      pt_REAL : POINTER TO REAL;
    END_VAR
    
    LD 16#43556A8E
    ST dwVar
    
    LD dwVar
    ADR
    ST pt_REAL
    LD pt_REAL^
    ST rVar
    Wenn es in AWL nicht funktioniert, dann programmiere in ST:
    Code:
    dwVar := 16#43556A8E;  //Testwert
    
    pt_REAL := ADR(dwVar);
    rVar : = pt_REAL^;     //sollte hier 213.41623 ergeben
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

Ähnliche Themen

  1. Codesys V3 Visu betrieb an einer Codesys V2 CPU möglich?
    Von mnuesser im Forum CODESYS und IEC61131
    Antworten: 0
    Letzter Beitrag: 29.12.2015, 12:36
  2. Antworten: 1
    Letzter Beitrag: 07.04.2015, 13:50
  3. Codesys - FB im ST
    Von Babustino im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 29.04.2014, 15:23
  4. Codesys V2.3
    Von sailor im Forum CODESYS und IEC61131
    Antworten: 4
    Letzter Beitrag: 17.05.2012, 10:36
  5. Codesys V2.x VS V3 ?
    Von Humbe im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 19.04.2011, 07:50

Lesezeichen

Berechtigungen

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