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

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

Thema: Problem mit STRING_TO_BUF

  1. #1
    Registriert seit
    25.06.2008
    Ort
    Blomberg/Lippe
    Beiträge
    1.293
    Danke
    51
    Erhielt 130 Danke für 124 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,

    erstmal ein frohes neues Jahr noch. Hoffe ihr habt nicht all zu doll gefeiert, so dass ihr mein Problem bestimmt schnell lösen könnt.

    Also ich nutze FILE_WRITE um etwas in eine TXT zu schreiben, muss aber vorher den String den ich schreiben will in einem Puffer ablegen. Dies mach ich mit STRING_TO_BUF. Aber nun weiß ich nicht welche Parameter welche Werte bekommen, z.B. um "Hello World!" in den Puffer zu schreiben.

    Ich nutze übrigens PC WORX 6.00.25 SP 3.73.
    Gruß
    Mobi


    „Das Einfache kompliziert zu machen ist alltäglich. Das Komplizierte einfach zu machen –
    das ist Kreativität“ (Charles Mingus).
    Zitieren Zitieren Problem mit STRING_TO_BUF  

  2. #2
    Registriert seit
    01.09.2008
    Ort
    Berlin
    Beiträge
    172
    Danke
    51
    Erhielt 51 Danke für 44 Beiträge

    Standard

    Hi,

    schau mal hier unter "3.12 Funktionsbausteine zum Umgang mit Dateien auf dem Parametrierungsspeicher":
    http://select.phoenixcontact.com/cgi-bin2/pcdwlfile3.sh/um_de_ilc_370_390_7062_de_06.pdf

  3. #3
    Avatar von Mobi
    Mobi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    25.06.2008
    Ort
    Blomberg/Lippe
    Beiträge
    1.293
    Danke
    51
    Erhielt 130 Danke für 124 Beiträge

    Standard

    Danke, aber das hatte ich schon u.a.. Da steht auch nicht drin wie genau STRING_TO_BUF belegt werden muss. Am besten wäre ein Beispiel anhand von "Hello World!".
    Gruß
    Mobi


    „Das Einfache kompliziert zu machen ist alltäglich. Das Komplizierte einfach zu machen –
    das ist Kreativität“ (Charles Mingus).

  4. #4
    Registriert seit
    01.09.2008
    Ort
    Berlin
    Beiträge
    172
    Danke
    51
    Erhielt 51 Danke für 44 Beiträge

    Standard

    Leider habe ich PCWorkx momentan nicht zur Verfügung und ich kenne auch nur String_to_Buffer, dort gilt die folgende Belegung:

    Code:
    Parameter            Data type   Description
    
    STR_IN               STRING      input string
    BUFFER               BYTE        buffer
    BUF_LEN              INT         number of characters copied to the buffer
    STRING_TO_BUFFER     INT         output value
    Code:
    VAR
     buffer : ARRAY[0..100] OF BYTE;
     str_in : STRING := "Hallo World!";
     buf_len : INT := 100;
     string_to_byte : INT; // Rückgabewert, Status
    END_VAR
    Dabei muss das Array groß genug sein um jeden zuerwartenden String aufnehmen zu können.
    Vielleicht hilft dir das weiter, wenn nicht sag mal was String_to_Buf für Schnitstellen hat. Aber es sollte ähnlich sein.

  5. #5
    Avatar von Mobi
    Mobi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    25.06.2008
    Ort
    Blomberg/Lippe
    Beiträge
    1.293
    Danke
    51
    Erhielt 130 Danke für 124 Beiträge

    Standard

    Ne ne, der heißt schon String_To_Buf. Beim String_To_Buffer weiß ich Bescheid. Den gibts auch.

    Parameter von String_To_Buf siehe Anhang.

    REQ, DONE, ERROR und STATUS sind mir klar, nur die restlichen nicht.
    Angehängte Grafiken Angehängte Grafiken
    Gruß
    Mobi


    „Das Einfache kompliziert zu machen ist alltäglich. Das Komplizierte einfach zu machen –
    das ist Kreativität“ (Charles Mingus).

  6. #6
    Registriert seit
    01.09.2008
    Ort
    Berlin
    Beiträge
    172
    Danke
    51
    Erhielt 51 Danke für 44 Beiträge

    Standard

    Ok, das Teil kenn ich auch nicht. Hab aber noch ne Kurzbeschreibung da:

    Code:
    Parameter   Data types        Description
    REQ         BOOL              a rising edge starts the copy ac- tion of the function block
    BUF_FORMAT  BOOL              a value of TRUE indicates that the buffer data are in MOTO- ROLA format, whereas a value of FALSE indicates that the buffer data are in INTEL format
                                  // Motorola-Format = Big-Endian
                                  // Intel-Format = Little-Endian
    
    BUF_OFFS   DINT               byte address in the buffer
                                  // = 0
    BUF_CNT    DINT               amount of bytes to be copied
                                  // kann ruhig die Buffergröße sein, die Stringlänge wird von der Funktion erkannt
    SRC        * or ARRAY_OF_*    source array or variable of standard data type *
                                  // oder String
    BUFFER     ANY                destination array (byte stream)
    DONE       BOOL               a value of ’TRUE’ indicates that the data are copied
    ERROR      BOOL               a value of ’TRUE’ indicates an occurred error
    STATUS     INT                indicates the status of the copy process.

  7. #7
    Avatar von Mobi
    Mobi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    25.06.2008
    Ort
    Blomberg/Lippe
    Beiträge
    1.293
    Danke
    51
    Erhielt 130 Danke für 124 Beiträge

    Standard

    Ich habs auch auf Deutsch , ist ja schließlich in der Hilfe drin.

    Aber schön wäre ein Beispiel, da ich auch nich weiß welches Format ich angeben muss und ob mit Bytelänge auch Stringlänge gemeint ist, da die Beschreibung für alle *_TO_BUF Bausteine geschrieben wurde, also auch für REAL_TO_BUF und so, also nur allgemein gehalten.
    Gruß
    Mobi


    „Das Einfache kompliziert zu machen ist alltäglich. Das Komplizierte einfach zu machen –
    das ist Kreativität“ (Charles Mingus).

  8. #8
    Registriert seit
    01.09.2008
    Ort
    Berlin
    Beiträge
    172
    Danke
    51
    Erhielt 51 Danke für 44 Beiträge

    Standard

    Sag doch gleich das du alles hast.^^
    Das Format kannst du ja durchprobieren, es gibt ja nur zwei möglichkeiten.
    Ich hab wie gesagt von PhoenixContact nicht so viel Ahnung.

    BUF_CNT gibt die Anzahl der zu kopierenden Byte an, der Wert sollte nicht größer als der selbst Buffer sein.
    Es ist dabei nicht zwingend erforderlich genau die Stringlänge anzugeben, die "restlichen" Byte's werden dann halt mit Nullen aufgefüllt.

    Wenn du die Software da hast kannst du ja mal ein bischen probieren...
    Leider kann ich dir kein Bsp. schreiben, da ich selbst die SW nicht habe.

  9. #9
    Avatar von Mobi
    Mobi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    25.06.2008
    Ort
    Blomberg/Lippe
    Beiträge
    1.293
    Danke
    51
    Erhielt 130 Danke für 124 Beiträge

    Standard

    So nun klappt es. Hab selber ein Beispiel direkt auf unseren Server gefunden .

    Aber wie kann ich den einen neuen Text unter und nicht neben dem alten schreiben? Also wie mache ich ein "Enter".
    Gruß
    Mobi


    „Das Einfache kompliziert zu machen ist alltäglich. Das Komplizierte einfach zu machen –
    das ist Kreativität“ (Charles Mingus).

  10. #10
    Registriert seit
    05.11.2010
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    mit dem ASCII-Zeichen sollte es klappen!
    z.B. BYTE#16#0D

Ähnliche Themen

  1. OPC Problem routen problem
    Von kpeter im Forum Hochsprachen - OPC
    Antworten: 1
    Letzter Beitrag: 25.08.2010, 19:54

Lesezeichen

Berechtigungen

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