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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 16 von 16

Thema: 7Segment-Anzeige mit Profibusschnittstelle

  1. #11
    t3kaese ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    12.04.2007
    Beiträge
    27
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Also ich habe meinen, sich selber um 4 aufaddierenden Wert, als INT hinterlegt, ich bekomme diesen Wert aber absolut nicht in eine Zeichenkette gewandelt...

  2. #12
    Registriert seit
    22.09.2006
    Ort
    Bodenseeraum
    Beiträge
    1.022
    Danke
    61
    Erhielt 136 Danke für 122 Beiträge

    Beitrag

    Hi,
    ist schon klar, das mit einem INT die 5-stellige Anzeige von z.B. "99999" nicht möglich ist? Der FC16 wandelt INT to STRING...bis "+32767"
    Jede STRING Variable hat zwei Byte davor:
    - in dem ersten steht wie lang die überhaupt deklariert ist
    - in dem zweiten stehen die Anzahl der Zeichen, die aktuel drin sind
    - ab dem 3-en Byte fangen die ASCII Zeichen an

    Da muss man sich was zusammenbasteln..

    V.
    ______________________________________
    relax, take it easy
    Zitieren Zitieren Ok..  

  3. #13
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.218
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Zitat Zitat von t3kaese Beitrag anzeigen
    Ja daran hing ich gerade eben,-welches ist denn das "Verwaltungsbyte"? und wie kann ich es ändern?

    edit: hab es gerade gefunden in der Hilfe,allerdings funktioniert es mit dem Bsp.-Programm auch nicht...
    So sollte es gehen:

    Im DB101

    Code:
    DBW 0    --> int_Wert    INT    0        
    ab DBW 2 --> str_Wert    STRING[254]    ''
    in einem FC

    Code:
          L     254
          T     DB101.DBB    2
    
          CALL  "I_STRNG"
           I      :=MW120
           RET_VAL:="DB_IntTo_Str".str_Wert
    Du kannst Werte von +32767 bis -32768 wandeln.

    Nach der Wandlung steht in DB101: (Auszug aus der VAT)

    Code:
    MW   120            DEZ    -32768    -32768
                        
    DB101.DBB    2                                         HEX    B#16#FE   
    DB101.DBB    3                                         HEX    B#16#06  
    DB101.DBB    4    "DB_IntTo_Str".str_Wert[1]        ZEICHEN    '-'    
    DB101.DBB    5    "DB_IntTo_Str".str_Wert[2]        ZEICHEN    '3'    
    DB101.DBB    6    "DB_IntTo_Str".str_Wert[3]        ZEICHEN    '2'    
    DB101.DBB    7    "DB_IntTo_Str".str_Wert[4]        ZEICHEN    '7'    
    DB101.DBB    8    "DB_IntTo_Str".str_Wert[5]        ZEICHEN    '6'    
    DB101.DBB    9    "DB_IntTo_Str".str_Wert[6]        ZEICHEN    '8'    
    DB101.DBB   10    "DB_IntTo_Str".str_Wert[7]        HEX    B#16#00    
    DB101.DBB   11    "DB_IntTo_Str".str_Wert[8]        HEX    B#16#00    
    DB101.DBB   12    "DB_IntTo_Str".str_Wert[9]        HEX    B#16#00    
    DB101.DBB   13    "DB_IntTo_Str".str_Wert[10]        HEX    B#16#00
    Du kannst dann die DBB 4,5,6,7,8,9 nehmen und in deinen Sendestring einbauen. In DBB3 steht die tatsächliche Länge des Strings, falls du z.Bsp. 120 wandelst steht dort 4, da auch das + im String erscheint!

    PS: Der String darf auch kürzer sein als 254, dann das Ganze entsprechend ändern, bei den roten Zeichen, 6 sollte genügen!
    Geändert von Ralle (10.07.2008 um 11:15 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

  4. Folgender Benutzer sagt Danke zu Ralle für den nützlichen Beitrag:

    t3kaese (10.07.2008)

  5. #14
    t3kaese ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    12.04.2007
    Beiträge
    27
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard

    meinen verbindlichsten Dank!! werd das direkt ausprobieren!!

  6. #15
    Registriert seit
    22.09.2006
    Ort
    Bodenseeraum
    Beiträge
    1.022
    Danke
    61
    Erhielt 136 Danke für 122 Beiträge

    Beitrag

    Hi,
    @Ralle: sory, aber das muss nicht unbedingt sein
    Code:
    L     254
          T     DB101.DBB    2
    
          CALL  "I_STRNG"
           I      :=MW120
           RET_VAL:="DB_IntTo_Str".str_Wert
    denn nach der Deklaration im DB ist die Länge ja schon bekannt.

    V.
    ______________________________________
    relax, take it easy
    Zitieren Zitieren String  

  7. #16
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.218
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    @Vladi

    Ja, da hast du absolut Recht, das kann man auch weglassen. Da ich oft mit Temp-Var als String hantiere hat sich das bei mir schon so eingeschliffen, den String grundsätzlich vorher zu initialisieren. Muß also bei einem DB mit angelegtem String nicht sein.

    Es reicht dann auch:

    Code:
           CALL  "I_STRNG"
           I      :=MW120
           RET_VAL:="DB_IntTo_Str".str_Wert
    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

Ähnliche Themen

  1. Profibusschnittstelle CU 320 2 DP deaktiviert
    Von slot23 im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 09.10.2011, 10:10
  2. 7Segment Anzeige SPS
    Von Wilhelm im Forum Simatic
    Antworten: 23
    Letzter Beitrag: 30.10.2009, 09:02
  3. MPI-Profibusschnittstelle Field PG4
    Von tisler im Forum PC- und Netzwerktechnik
    Antworten: 1
    Letzter Beitrag: 18.01.2008, 19:21
  4. 7Segment an SPS
    Von Hansi im Forum Programmierstrategien
    Antworten: 5
    Letzter Beitrag: 03.05.2006, 21:47
  5. Profibusschnittstelle auswählen
    Von x108 im Forum Feldbusse
    Antworten: 5
    Letzter Beitrag: 30.05.2005, 13:59

Lesezeichen

Berechtigungen

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