TIA Name oder Wort an feldgerät rausgeben

zackbum

Level-1
Beiträge
22
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

Sorry für die vielen Fragen die ich hier stelle, aber finde in der suche und im Netz irgendwie nichts passendes. Bin noch neu in der ganzen Thematik.

Frage: Ich habe hier ein elektrisches Testsystem im Profinet an einer S 1212C dran. TIA V11. Jetzt will ich dem Testsystem sagen was für ein Programm es laden soll und zwar über den namen. z.B. "programm 1", "BMW X5" "Stecker 128. Pol" usw..
aber wie schreibe ich das am besten raus? Der Name kann max 32 Byte lang sein. Muss ich das Byte für Byte, also buchstabe für buchstabe rausschieben oder geht das auch einfacher?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Byte für Byte ... ?
Es kommt hier auf dein "Testsystem" an. Außerdem auf den definierten Übertragungsbereich (dessen Größe und wie der vom Testsystem ausgelegt wird).
Dazu hast du ja vorsichtshalber nichts geschrieben ...

Gruß
Larry
 
Ich hätte jetzt halt für den Programmnamen "Program1" 8 Variablen vom Typ Char angelegt und die ins Byte 4 - 11 vom testsystem geschrieben.

Doku vom Tester:

Outputspeicher:
...
Byte 4 - 35 | Prüfprogrammname mit max 32 zeichen | Datentyp String (Leerzeichen werden intern gelöscht, als abschlusszeichen kann das Zeichen 0 verwendet werden)
...

Wie vorsichthalber? hab doch oben schon geschrieben 32 Byte groß.
 
Wie willst du programmieren ?
Ggf. mit SCL ?
Ich würde die Variablen-Namen als String in der SPS hinterlegen. In SCL könntest du eine AT-Sicht auf den String machen, der den Nutzdatenbereich desselben als Array_of_Char interpretiert. Diesen dann z.B.. in einer Schleife auf den Ausgabebereich schreiben. Ist die verwendete Stringlänge kleiner 32 Zeichen dann schreibst du an Position "verwendete Stringlänge" +1 zusätzliche einen chr(0) in den Ausgabebereich.

Kannst du damit etwas anfangen ?

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hab zwar kein V11 mehr da, nur V13, aber zum vergleichen von Strings gibts die Anweisung "S_COMP" unter Erweiterte Anweisungen.

Hoffe ich hab deine Frage richtig verstanden.
 
Micha_RW ich glaube nicht;)

@Larry

Ich weis was du meinst. Muss jetzt nur mal schauen wies mit der Ausführung klappt;)
 
... du kannst sogar (fällt mir gerade so ein) auf deinen Ausgabe-Bereich auch noch eine AT-Sicht machen (je nachdem, wie du das aufgebaut hast) und dann per Zuweisung die Teil-Elemente übergeben.
Also auf deinen Ausgabe-Bereich eine AT-Sicht mit einer Struktur legen, die ein Array_of_Char in gleicher Größe beinhaltet wie dein String es beinhaltet. Dann kannst du einfach Array_Ziel := Array_Quelle programmieren - ohne Schleife.

Wenn es hängt dann melde dich - gerne dann mit deinem bis dahin erstellten Code.

Gruß
Larry
 
Zurück
Oben