ASCII-Zeichen über Profibus

A

Anonymous

Guest
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo,
Ich bin neu hier und nach dem durchsehen vieler Beiträge sehe ich, daß hier ernsthaft und vorallem kompetent diskutiert wird. Vielleicht hat auch
jemand für mein Problem eine Lösung. Bis jetzt habe ich bei meinen S7-Steuerungen am Profibus die verschiedensten Teilnehmer gehabt, beim
Übertragen von Daten gab es auch nie Probleme. Ich habe eine Profibusfähige 4-zeilige LCD Anzeige von MicroSyst . Die Anzeige soll folgendes Aussehen haben:

Temp Soll: (Wert)
Temp Ist: (Wert)
Geschw: (Wert)

Bei dieser Anzeige müssen alle Buchstaben, Zeilenumbrüche, Zahlenwerte, Textformat usw als ASCII-Zeichen übermittelt werden.
Mir fehlt nun einfach der Ansatz, wie soetwas in der S7 programmiert werden muß? Hat schon jemand damit Erfahrungen? Gibt es eventuell
andere Anzeigen, die einfacher zu programmieren sind?

mit freundlichen Grüßen
Peter
 

tommy

Well-known member
Beiträge
49
Punkte Reaktionen
0
hallo,
versuch es doch mal als string...die zahlen setzt du aus char zusammen.

hatte mal sowas ähnliches mit einem barcode-leser:

AUF DB [#Bar_Code_DB1]

L #Adressbegin_source
L 11
+I
T #Adresse_code_source
SLD 3
LAR1
L DBB [AR1,P#5.0]
L 48
-I
T #einer

L DBB [AR1,P#4.0]
L 48
-I
L 10
*D
T #zehn


L DBB [AR1,P#3.0]
L 48
-I
L 100
*D
T #hundert

L DBB [AR1,P#2.0]
L 48
-I
L 1000
*D
T #tausend

L DBB [AR1,P#1.0]
L 48
-I
L 10000
*D
T #zehntausend

L DBB [AR1,P#0.0]
ITD
L L#48
-D
L L#100000
*D
T #hunderttausend
//
L #zehntausend
+D
L #tausend
+D
L #hundert
+D
L #zehn
+D
L #einer
+D
T #Auftrag


// L #Adressbegin_source
L #Adresse_code_source
L 6
+I
SLD 3
LAR1

L DBB [AR1,P#2.0]
L 48
-I
T #einer

L DBB [AR1,P#1.0]
L 48
-I
L 10
*I
T #zehn

L DBB [AR1,P#0.0]
L 48
-I
L 100
*I
T #hundert
L #zehn
+I
L #einer
+I
T #Stcknr
dies ist allerdings von string nach int, andersrum gehts auch nach dem prinzip

der anfang ist nur wegen der adressverschiebung
hoffe das hilft
mfg
 

Zottel

Well-known member
Beiträge
2.299
Punkte Reaktionen
277
Zuviel Werbung?
->Hier kostenlos registrieren
Ich kenne diese Anzeige auch nicht.
Zunächst einmal kann so eine Anzeige ja nach ganz verschidenen Prinzipien gesteuert werden:

1. So, wie hier gedacht, kann ein Block übertragen werden, der für jedes Angezeigte Zeichen ein Byte oder Word enthält.
Alternativ kann:
2. Ein Cursor über Steuerregister positioniert und ab dort ausgegeben werden.
3. Ein Cursor über Steuerzeichen positioniert und ab dort ausgegeben werden.
4. Der feste Teil eines Bildes kann in der Anzeige gespeichert werden und mit variablen Teilen aus über Profibus veränderlichen Variablen ergänzt werden (ähnlich den OPs).

Welchen dieser Wege der Hersteller gegangen ist, sollte man der Dokumentation entnehmen.
 

sps-concept

Well-known member
Beiträge
2.235
Punkte Reaktionen
251
Anzeige

Hallo Peter,

die Siemens-Op&s sind auf alle Fälle einfacher zu programmieren, auch wenn jeder über Siemens schimpft. Hast du eine Mitex-Anzeige? Die Kommunikation erfolgt über ein Togglebyte, einen Antwort-Code und den Nutzdaten. Dann musst du eine komplette Zeichenfolge in einem Datenbereich ablegen und diese mit dem benötigten Protokoll übertragen.

MfG
André Räppel
 
OP
A

Anonymous

Guest
Hallo,

Erst mal vielen Dank für eure Ratschläge. Mit den OP's von Siemens
würde es viel einfacher gehen. Die haben wir auch im Einsatz. Für
eine einfache Anzeige von Temperatur und Geschwindigkeit wäre aber
der Einsatz von OP's doch etwas übertrieben, denke ich. Übrigens ist
es eine Mitex LCD 192x64 die ich hier leihweise zur Verfügung habe.
Wenn es eine günstige Alternative gibt, könnte ich auch etwas anderes
nehmen. Ich brauche im Endeffekt 8 Azeigen, so daß Kosten der Anzeigen
und Programmieraufwand schon eine große Rolle spielt. Vielleicht hat ja
jemand von euch soetwas realisiert?

mit freundlichen Grüßen
Peter
 

sps-concept

Well-known member
Beiträge
2.235
Punkte Reaktionen
251
Zuviel Werbung?
->Hier kostenlos registrieren
Mitex

Hallo Peter,

wenn du nur die Onlinetexte ausgeben willst geht das schon. Du legst ein Array of Char an und schreibst die Festtexte übers Programm an die richtige Stelle. Dann wandelst du die Werte in ASCII und schreibst sie auch ein. Das Ganze mit Funktionscode und Togglebyte übertragen. Kannst mir auch mal mailen... hab paar Sachen auf Lager.

MfG
André Räppel
 
Oben