Prägeautomat via serielle Schnittstelle (RS232) über ein Programm ansteuern

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    Prägeautomat via serielle Schnittstelle (RS232) über ein Programm ansteuern

    Hallo Community,

    ich habe ein kleines Problem wo ich nicht mehr weiter weiß und evtl. euren Rat/Hilfe gebrauchen könnte.
    Und zwar soll ich für einen Kunden von uns ein Programm schreiben welches einen Prägeautomaten über ein Programm ansteuert. Das heißt "Masken laden" (sind vordefinierte Masken wo der zu prägende Text drauf geladen werden kann), Text laden und prägen (wobei das prägen manuell passiert, also nicht über mein Programm).
    Das Problem hierbei ist nun das meistens beim Text laden "Murks" vom Automaten zurückkommt. Normalerweise sollte vom Automaten der Text zurückkommen welchen er erhalten hat. Macht er aber nicht. Es kommt dann entweder nur die Hälfte des Strings zurück, Steuerkennzeichen an der falschen Stelle z.B. mitten im String oder teilweise auch mit Teilen von vorherigen Befehlen im String.
    Ich habe mal überprüft ob es an der Funktion liegt, die den Befehl samt Steuerkennzeichen zusammenbaut, aber dort wird alles richtig gemacht. Das "Masken laden" funktioniert ja auch (meistens).
    Kann es evtl. sein das Befehle auf der Leitung liegen bleiben und dann garnicht richtig ankommen und so deshalb auch evtl. beim nächsten Befehl mit drangehängt werden?
    Aber wie kann es dann sein das Steuerkennzeichen nicht mehr am Ende des Strings sind sondern mittendrin?
    Wäre über euren Rat dankbar :)
    Btw. da unser Kunde samt Prägeautomat 120 km von uns entfernt ist und diese keinen Internetanschluss an diesem PC haben kann ich das leider nicht direkt testen ^^

    Liebe Grüße
    Märry
    Lasst das Programm von einem professionellen Softwareentwickler schreiben, der über die entsprechende Berufserfahrung verfügt.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Erklär das mal meinem Chef =P
    Hab ja wirklich null Erfahrung in Schnittstellenprogrammierung. Mir liegen eher Datenbankanwendungen (was ich bisher auch fast nur gemacht habe).
    Aber "Programmierer" müssen halt eben alles können!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Märry“ ()

    Genau das ist das Problem.
    (von mir - mit meiner Software - stehen über 20 verschiedene Maschinen in Anzahlen von 1 bis über 100 in der Welt)
    Ein "professionellen Softwareentwickler" möchte ein angemessenes Gehalt haben, der Chef jedoch ist der Meinung, dass er einen solchen nicht braucht und dass ein "Frischling" von der FH das genau so gut kann und noch besser, da er die neuesten Entwicklungen studiert hat. Und ein solcher "Frischling" bekommt nur ein kleines Gehalt. :wacko:
    ---
    Tut mir leid, Dir das so sagen zu müssen, aber Du bist wohl nicht in der Lage, dieses Problem zu lösen. Sorry. :S
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ne ist ja kein Problem ;)
    Und ich bin nicht mal ein Frischling von der "FH" :P Hab nur ne normale Berufsausbildung, nix mit Studium ;)
    Hab vll gehofft das mir evtl. doch jmd weiter helfen kann. Aber nunja hab mir schon gedacht das wir das dann lieber abgeben an einen "professionellen".
    Trotzdem Danke

    Märry schrieb:

    doch jmd weiter helfen kann

    Klar.
    Möglichkeit 1: Maschin' kaputt
    Möglichkeit 2: Programmcode Mist

    Warscheinlich ist es 2. Aber ohne den Code zu kennen, kann man dazu nix sagen. Und mit Kenntniss ist es ggf immer noch schwierig, wenn die Maschine ein bestimmtes Protokoll benötigt, das hier vermutlich niemand kennt.
    Selbst ich würde ein solches Programm mit der Fehlerbeschreibung nicht mal eben aus dem Hut zaubern. Dafür fehlen noch zu viele Informationen und vor Allem sollte die Maschine an dem Rechner angeschlossen sein, an dem ich programmiere.

    Serielle Kommunikation ist auch in der heutigen Zeit noch etwas Tricky. Da laufen Puffer über, Handshaking wird nicht /falsch genutzt, Stati werden nicht abgefragt, Timings (Pausen) nicht eingehalten usw.

    Eine unbekannte Maschine "bediene" ich immer erst über ein Terminalprogramm (z.B. Putty) und schaue, wie diese reagiert. Putty hat noch den Vorteil, dass es einfach alles mitloggen kann.

    Deiner Anfrage nach fehlen Dir hier einfach Erfahrung und Wissen für eine solche Auftragsarbeit. Baue erst an lokalen Geräten Deine Fertigkeiten aus. Wenn Deinem Chef dieser Auftrag so wichtig ist, dann gibt es auch Subunternehmer. Aber auch dieser muss dafür Zugang zu der Maschine oder Erfahrung mit diesem Maschinentyp gesammelt haben.

    Wenn Du magst , dann drucke Deinem Chef das Thema mit unseren Antworten aus.
    Gruß
    Peterfido

    Keine Unterstützung per PN!