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

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

Thema: Array of Byte to string umwandeln(Dint to String) (FC5 ! FC16 ! FC38)

  1. #1
    Registriert seit
    10.09.2009
    Beiträge
    19
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo

    Bei mir im DB14 ist als typ STRUCK definiert und in Position 32 also db14.dbd32 ist ein ARRAY[1..12] Of Byte, und das schreiben diese Position 32 erfolgt in FB113 , (ich bin leider erst Anfänger im Step7 )
    ich kann dir erzählen was ist gemacht habe: ich habe in fb113 diese FC5 hinzugefügt, habe als Input db14.dbd32 eingegeben, und im OUTPUT “ RETV_VAL“ wollte ich wieder diese DB14.DBD32 eingeben damit ich das Ergebnis als String bekomme ., es war nicht möglich wegen die Fehler Meldung :< COMILER INFORMATION : UNGÜLTIGER PARAMETER IM AUFRUF >
    dann habe ich in die Schnittstelle in der Temporären Daten einen Name “ERGEBNIS“ als String [12]definiert, und danach habe ich gehofft dass ich diese ERGEBNIs laden kann und dann zu DB14.DBD32 transferiere , leider Kamm wieder ein Fehlermeldung : <VARIABLE HÖHEREN TYPS KANN NICHT VERWENDET WERDEN>
    und kann mir bitte jemanden sagen wie ich weiter komme und ob was ich bis jetzt gemacht habe richtig oder nicht??
    ich Hoffe Ihr könnt mich weiter helfen.

    Danke
    MFG
    I.S






    FB113
    Code:
    Netzwerk Nr 4 :Schreiben die Werte in DB14
    U       T          121
    FP      #STAT8
    SPBN  M002
    L       DB14.DBD 32
    L       1
    +D
    T       DB14.DBD 32
    T       DB14.DBD 4 "DB_PMT".WSID_1 -- Werkstück ID
    U(
    L       DB14.DBD 32
    L       L#99999999
    >D
    )
    SPBNB M004
    L       L#1
    T       DB14.DBD 32
    T       DB14.DBD 4 "DB_PMT".WSID_1 -- Werkstück ID
    M004: NOP 0
    L       DB14.DBD 32
    L       L#50
    MOD
    L 0
    <>D
    SPB M003
    S      DB14.DBX 13.1 "DB_PMT".WS1NIO_1 -- Werkstück 1 NIO (Werkstückstatus)
    R      DB14.DBX 13.0 "DB_PMT".WS1IO_1 -- Werkstück 1 IO (Werkstückstatus)
    SPA M005
    M003: NOP 0
    R     DB14.DBX 13.1 "DB_PMT".WS1NIO_1 -- Werkstück 1 NIO (Werkstückstatus)
    S     DB14.DBX 13.0 "DB_PMT".WS1IO_1 -- Werkstück 1 IO (Werkstückstatus)
    M005: NOP 0
    L 1
    T     DB14.DBW 0 "DB_PMT".KOORD -- Koordinierungswort
    M002: NOP 0
     
    CALL FC 5 GP_DIAG -- Diagnosis alarm and Modul failure
    I :=DB14.DBD32
    RET_VAL:=#ERGEBNIS

    DB14
    Code:
     Adresse          Name              Typ                   Anfangswert
     
    +13.7            RES137            BOOL                 FALSE               
    +14.0            SANRT_1        ARRAY[1..18] 
    *1.0 BYTE
    +32.0 S         ENRT_1         ARRAY[1..12] 
    *1.0 BYTE
    +44.0            LIRT_1         ARRAY[1..10] 
    *1.0 BYTE
    +54.0           SANFT_1       ARRAY[1..18] 
    *1.0 BYTE
    +72.0           SPSTAT_1        BYTE               B#16#0
    Db 14 Komplet ist angehängt.
    Danke
    Geändert von sb9674 (22.09.2009 um 13:22 Uhr)
    Zitieren Zitieren Array of Byte to string umwandeln(Dint to String) (FC5 ! FC16 ! FC38)  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.405 Danke für 2.002 Beiträge

    Standard

    Junge, Junge,
    war gar nicht leicht, deinen Beitrag zu lesen ...

    In deinem Programm arbeitest du nicht wirklich mit Einzel-Bytes sondern mit DINT's. Schön wäre es dann, wenn du diese Variablen im DB dann auch als DINT deklarierst - dann kann der Wandlungs-FC (FC5 DINT_to_String) auch etwas damit anfangen, denn dieser macht eine Typprüfung an der Schnittstelle. Um das Wandlungs-Ergebnis dann irgendwo hinschreiben zu können muß in dem DB dann natürlich die Ziel-Variable auch als STRING mit entsprechender Länge deklariert sein.

    Gruß
    LL

  3. #3
    sb9674 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    10.09.2009
    Beiträge
    19
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo
    Habe bei mir im Programm die Position 32 (db14.dbd32) als Dint deklariert, aber die Sache, das heißt beim FC5
    Gilt als Beispiel: DB14.dbd32 als Eingang und als Ausgang wollte ich es auch im DB14.DBD32 schreiben, aber das geht nicht .
    Als anhang ist die DB14 und die FB113 .
    Danke
    Gruss
    Sam
    Geändert von sb9674 (19.10.2009 um 09:56 Uhr)

  4. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.405 Danke für 2.002 Beiträge

    Standard

    ... wie ich schon geschrieben habe :
    Um das Wandlungs-Ergebnis dann irgendwo hinschreiben zu können muß in dem DB dann natürlich die Ziel-Variable auch als STRING mit entsprechender Länge deklariert sein.
    ... und diese Variable kann und darf natürlich nicht die schon vorher genannte gleiche Adresse sein - soll heißen, dass du in deinem DB mindestens noch den einen (wahrscheinlich aber noch ein paar mehr STRING's) mit einbauen mußt ...
    Wie sieht es aus ...?

  5. #5
    sb9674 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    10.09.2009
    Beiträge
    19
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo
    Habe das Ergebnis in ein neue DB6 schreiben lassen , bei mir war String länge10, habe ich den zerlegt , dann jede Byte(DB6.DBB0 bis DB6.DBB10) in neue DB9 transferiert und es hat funktioniert , aber kann man das ganze String[10] zum Beispiel ohne Zerlegung nicht anzeigen ? oder sollte das irgendwie gehen ?
    Gruß
    sam

  6. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.405 Danke für 2.002 Beiträge

    Standard

    Hallo,
    den Inhalt von Strings kannst du dir nur Doppelwortweise (maximal) anzeigen lassen - außer in der Visualisierung ... die kann den ganzen String anzeigen.

    Gruß
    LL

  7. #7
    sb9674 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    10.09.2009
    Beiträge
    19
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    visialisierung , meinst du wie winncc oder HMI Pro CS ,da ich auch jetzt ein simulator von sinumerik 840D SL aber da muss ich dort auch einzelne bit eingeben, damit ich zur ergebnis komme .
    Gruss
    Sam

  8. #8
    sb9674 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    10.09.2009
    Beiträge
    19
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Daumen hoch

    hallo nochmal
    doch bei visualisierung kann man den kompleten String anzeigen.
    Gruß sam

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

    Standard

    Zitat Zitat von sb9674 Beitrag anzeigen
    .....aber kann man das ganze String[10] zum Beispiel ohne Zerlegung nicht anzeigen ? oder sollte das irgendwie gehen ?
    Gruß
    sam
    du kannst dir das aber in einer vat anzeigen lassen.
    Angehängte Grafiken Angehängte Grafiken
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  10. #10
    sb9674 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    10.09.2009
    Beiträge
    19
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    hallo
    ja das kenne ich aber eine anzeige des gesamten String ohne zerlegung Von einzelnen Byte ist nicht machbar ,Zum Beispiel : DB1.DBX0.0 ....

Ähnliche Themen

  1. INT oder DINT in CHAR/BYTE Umwandeln
    Von MAVI im Forum Simatic
    Antworten: 41
    Letzter Beitrag: 29.04.2016, 12:51
  2. Array of Byte in String mit Step 7 V10.5
    Von Lord Cartman im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 09.12.2010, 09:34
  3. Array of Byte to String[12] ,S7
    Von sb9674 im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 28.09.2009, 19:15
  4. FC16 Integer in String wandeln
    Von peraho im Forum Simatic
    Antworten: 27
    Letzter Beitrag: 09.04.2009, 08:05
  5. Byte to String umwandeln S7-315 2PN DP
    Von Sunny4251 im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 28.08.2008, 09:31

Lesezeichen

Berechtigungen

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