Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

Sonderzeichen WAGO 750-841 mit Pro-Face AGP3300

radiator
2006-07-12
2023-08-17
  • radiator - 2006-07-12

    Hallo zusammen!

    Ich habe folgendes Problem mit der oben angegebenen Zusammenstellung von Komponenten:

    Ich möchte das Zeichen " ° " (Gradzeichen) als String von WAGO an Pro-Face übergeben. Der Hex-Code ist #00B0. Das sind aber leider 16 Bit für das Zeichen und nicht 8 wie die ASCII Kodierung für andere Buchstaben beispielsweise. Ein String wird immer mit einem Null-Byte abgeschlossen, und genau da fängt das Problem an:

    BinärCode:

    0000 0000 1011 0000

    Anhand dieses Codes erkennt der Compiler gleich als erstes Byte die terminierende Null und stellt gar nix mehr dar.

    Wie kann ich dem Pro-Face Panel klar machen, dass der Code für ein Zeichen aus 16 Bit besteht?

    Kann mir jemand von euch helfen?

     
  • e-pappy - 2006-07-12

    Vielleicht verstehe ich das jetzt nicht so richtig, aber wofür willst Du das Zeichen übergeben?

    Wenn Du eine Temperatur anzeigen möchtest, dann erstelle auf dem Panel doch eine Maske, wo nur der Wert vom Controller geholt wird, das °-Zeichen aber bereits statisch in der Maske an der richtigen Stelle platziert wird?!

     
  • radiator - 2006-07-12

    hallo e-pappy!

    die von dir beschriebene statische anzeige ermöglicht es mir nicht, die blinkfunktion zu nutzen welche GP-Pro EX (programmiersoftware für pro-face) zur verfügung stellt.

    diese blinkfunktion möchte ich bei überschreiten eines grenzwertes aktivieren, d.h. der gesamte text soll blinken. Das widerum geht leider nur mit der "datenanzeige" nicht aber mit statischem text. und die datenanzeige will den kringel nicht (s.o.).

    die anzeige soll folgendermassen aussehen:

          3,1° Backbord
    

    oder

          4,2° Steuerbord
    

    Die Zahlen übergebe ich als REAL-Variable, und den Rest (° Back/Steuerb.) als STRING.

    hätte ich vielleicht auch erwähnen sollen, hast recht.

     
  • e-pappy - 2006-07-12

    Sicher das das nicht funktioniert? Also ich kann mich an den Vertriebler von proface erinnern, der uns einmal ein Panel vorgestellt hat und womit wir auch versuchsweise einen Datenaustausch zwischen einem 841 und einem Panel realisiert haben.

    Ich kenn das zumindest von microinnovation und auch von elrest, dass man einem statischen Text eine boolsche Variable zuweisen kann und beim wechsel dieser Variable den Text blinken lassen kann...

    Aber mal zum eigentlichen Problem, wie das mit dem Hex oder Binärcode funktioniert, weiß ich nicht... Sorry

     
  • radiator - 2006-07-13

    hallo pappy! hallo alle!

    falls ihr mal das gleiche problem haben solltet wie ich:

    der binärcode für das ° - zeichen lautet:

    11111000

    bei pro-face hab ich folgendes eingestellt:

    schrifttyp: stroke

    zeichensatz: ascii

    lösung war eigentlich ganz einfach: ich hab mir ein kleines programm geschrieben, welches ein beliebiges byte von null an hochzählt, quasi immer +1. stellt man dieses byte als text dar und lässt sich gleichzeitig den binärcode zeigen, so erscheinen nacheinander sämtliche schriftzeichen mit dem zugehörigen code. mit ein bißchen geduld taucht irgendwann das gewünschte zeichen auf.

    dank an alle, ich war bestimmt nicht das letzte mal hier im forum!

     
  • Gumpi - 2006-07-14

    mal ne andere frage zum agp...

    hat jemand auch das problem, dass die anzeige flackert, wenn sich das %IW0 ändert ? Oder hab ich nur nen bock drin ? %IW0 is bei mir nen analogwert, und der ändert sich leider des öfteren

     
  • radiator - 2006-07-15

    heee gumpi!

    dein zielsystem ist auch der wago controller oder?

    dann hab ich ne idee wo das flackern herkommt.

    check mal in pro-ex in der registerkarte systemeinstellungfenster, geräteeinstellungen, systembereichseinstellungen ob der systembereich aktiviert ist und wenn ja, an welche stelle die daten gesendet beziehungsweise von wo sie empfangen werden(wow, was für ein satz). als standard ist da nämlich adresse 1 (enspricht wago adresse %IW0) eingestellt. somit zerschiesst dir wago die paneleinstellungen, wenn auf diesem Kanal analoge Daten empfangen werden.

    Ich hatte zu anfang ein ähnliches prob, und zwar hat das panel durch umschalten des bildschirms digitale ausgänge in der wago-steuerung gesetzt. das kann ganz schön komische fehler verursachen, da kuckt man dann so in etwa ->

     
  • Gumpi - 2006-07-15

    Jup, ich benutz den 841 und 842er.

    Den Systembereich hab ich auch schon verdächtigt. Den hab ich auf ne ganz andere STartadresse eingestellt. Aber hast recht.. is die einzig sinnvolle Erklärung. Ich check das gleich nochma.

     
  • Gumpi - 2006-07-15

    den Fehler bezüglich des Flackerns habe ich gefunden...

    ich hatte versehentlich die Sprachumschaltung aktiviert und dort ist ebenfalls die 400001 als Umschaltadresse drin. Nun wollte der jedesmal bei Wertänderung auf die entsprechende Sprache umschalten, die es logischerweise nicht gab und das ist wohl mit einem Aus und wieder einschalten aller Elemente verbunden.

    Shit happens... die nächste Färbung meiner grauen Haare werde ich Pro-face in Rechnung stellen

     
  • radiator - 2006-07-17

    das ist wirklich eine vertrackte sache, dass automatisch alle variablen ausgerechnet in den E/A-bereich von WAGO gelegt werden.

    in der zwischenzeit ist bei mir ein neues problem aufgetaucht:

    ich kann keine ausgänge setzen. hab geschaut, aber es gibt keine speicherüberschneidung mehr. hast du das problem auch schon mal gehabt?

    ich hab zum testen ein programm geschrieben bei dem ich einfach sage ausgang := eingang; aber der schweigt beharrlich.

    traceaufzeichnung sagt das gegenteil, die behauptet steif und fest, dass der ausgang gesetzt ist. muss ich denn eine ausgangsvariable irgendwie besonders deklarieren? selbst forcen funktioniert nicht. beim überprüfen von "mehrfaches schreiben auf ausgang" taucht der vermerk auf, dass _global_init die variable mehrfach überschreibt eine initialisierung soll doch aber nur einmal am anfang stattfinden...

    ich glaub ich mach was grundlegendes falsch, weiss aber nicht was...

     
  • radiator - 2006-07-17

    man fasst es nicht, dass ich darauf reingefallen bin!

    die alte windows-lösung: formatieren und alles wird gut.

    problem hat sich erledigt. ich hoffe von euch hat sich noch niemand zu viele gedanken darüber gemacht...

    nix für ungut

     

Log in to post a comment.