Text auf CX Display

wolfi999

Level-1
Beiträge
55
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo miteinander,

Möchte gerne einen variierenden Text an das Display meines CX1100 ausgeben. Zuerst wollte ich jedoch probieren ob ein "konstanter" Text auch funktioniert. Hierfür habe ich den Funktionsblock FB_CX1000SetTextDisplay verwendet.
Jedoch tut sich nichts am Display? Habe nachfolgendes Programm geschrieben.

VAR
Schalter : Bool
e_CX1100_WriteLine1 : e_CX100_DisplayModes;
Display_Text1 : FB_CX1000SetTextDisplay;
VAR_END


Display_Text1(bExecute := Schalter,
nDevID := 3,
nMode := e_CX1100_WriteLine1,
stLine := 'Strecke',
nCursorPos := 0);

Was habe ich hier falsch gemacht. Muss ich zusätzlich etwas spezielles im TwinCat einstellen?

Danke für eure Hilfe.
mfg
wolfi
 
Hallo Wolfi!

Versuch es mal hiermit, sollte funktionieren:


Code:
PROGRAM MAIN
VAR
    Schalter             : BOOL;
    nMode               : E_CX1100_DisplayModes;
    Display_Text1    : FB_CXSetTextDisplay;
END_VAR
Code:
Display_Text1
(
bExecute           := Schalter,
nDevID              := 3,
nMode               := nMode,
stLine                := 'Strecke',
nCursorPos       := 0
);

nMode               := 10;
Mit dem Code " nMode :=10;" wird dem Baustein die Enumeration zugewiesen. In diesem Fall die 10 und im Klartext heißt es "e_CX1100_WriteLine1".
In der Info Sys unter TcPlcLibSystemCX.chm stehen auch noch die anderen Enumeration drin wie zum Beispiel "e_CX1100_WriteLine2" oder "e_CX1100_ClearDisplay" und und und...

Wenn Du mit deinem Programm Online bist, dann schau dir mal im FB_CXSetTextDisplay den nMode an, da steht er auf e_CX1100_DisplayNoAction. Also wird dem nMode die "Null" übergeben und er soll nicht tun.

Ich hoffe ich konnte helfen.

MFG Ch. Tiedeken
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn die Bibliothek TcSystemCX verwendet wird, lass die Deklaration
Code:
VAR
   Schalter    : Bool
   [B]e_CX1100_WriteLine1 : e_CX100_DisplayModes;[/B]
   Display_Text1 : FB_CX1000SetTextDisplay; 
VAR_END
komplett weg!!!

Damit deklariert ihr eine neue lokale Variable und überschreibt die ohnehin in der Bibliothek deklarierte Enumeration "E_CX1100_DisplayModes".

Probiert folgendes (zuvor TcSystemCX.lib einbinden):
Code:
VAR
    fbWriteDisplay:FB_CXSetTextDisplay;
    Schalter: BOOL;
END_VAR
--------------------------

fbWriteDisplay(
    bExecute:= Schalter,
    nDevID:= 3,                   (* ID des Displays*)
    nMode:=e_CX1100_WriteLine1 ,
    stLine:= 'hello',
    nCursorPos:= 0);
 
Zurück
Oben