Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Re-Engeneering, oder wie ich an die Daten komme. (https://www.delphipraxis.net/74425-re-engeneering-oder-wie-ich-die-daten-komme.html)

HariboHunter 3. Aug 2006 06:17


Re-Engeneering, oder wie ich an die Daten komme.
 
Hallo Delphi- Forum,
Ich hab ein Problem, welches ich so noch nie behandelt habe. Ich habe auch keine Idee wie ich es lösen kann, deshalb möchte ich hier nach Vorschlägen fragen.
In diesem Fall geht es um eine Verpackungs-Maschine aus Dänemark.
Sie ist mit einer Eigenbau-Steuerung ausgestattet, die sich PD-18 nennt, und zu der es so gut wie keine Informationen im Netz gibt. Für diese Steuerung existiert eine Fernsteuerungs-Möglichkeit über Rs232, die ich leider nicht besitze. Die Dänische Firma gibt mir hierzu keine Informationen, da Sie mir für einen absolut inakzeptablen Preis die Maschine mit einer neuen Steuerung ausstatten möchte.
Desweiteren kann über die Schnittstelle ein Drucker angesprochen werden, der der Dokumentation dient.

Nun möchte der Besitzer der Maschine eine Fernsteuerungmöglichkeit über einen Rechner (die die Herstellerfirma nicht verkaufen möchte), oder wenigstens eine Möglichkeit die Daten nicht auf Papier, sondern in einer Datenbank abzulegen.
Wie gehe ich nun vor?

WARP4 3. Aug 2006 06:47

Re: Re-Engeneering, oder wie ich an die Daten komme.
 
1. Format der gesendeten Daten herausbekommen:

Wenn Du die seriellen Einstellungen (ich setze voraus, der Drucker ist über RS232 and die PD-18 angeschlossen) kennst, dann einen PC mit COM-Port an die serielle Schnittstelle der PD-18 , an der normal der Drucker angeschlossen ist, anschliessen und auf dem PC ein Terminal-Programm starten (z.B. HyperTerminal), dort die Verbindungseinstellungen auf die gleichen Daten setzen wie der Drucker sie nutzt (z.B. 9600 Baud, 8 Datenbits, 1 Stopbit, keine Parität), Verbindung aktivieren und auf dem Ausgabefenster schauen, ob zu den Zeitpunkten, an denen die Steuerung normalerweise etwas auf dem Drucker ausgibt auch etwas auf dem Ausgabefenster in HyperTerminal zu sehen ist.
Dann die Daten anschauen, ob man vielleicht eine feste Beziehung herausfindet, um bspw. Trennzeichen auszumachen, mit denen Daten im empfangenen String getrennt sind, um sie später im eigenen Programm den entsprechend angelegten Datenfeldern in der Tabelle zuordnen zu können (TAB oder feste Breite zum Beispiel).

Was eventuell noch nötig ist, wäre das Drehen der RXD/TXD-Leitungen im Stecker der seriellen Anschlussleitung. Je nach dem, wie der Drucker oder die PD-18 die Belegung vorgenommen hat, kann das nötig sein. Allerdings gibt es auch schöne kleine Tools hierfür (Diagnosestecker mit LED'S für die Anzeige des Leitungsstatus oder auch Patch-Boxen, mit denen man die Leitungen einfach zum Testen umverdrahten kann, ohne einen Stecker öffnen zu müssen (findet man bspw. bei Conrad oder Bürklin).

2. Format der Steuerbefehle herausfinden, mit denen man die Maschine "fernsteuern" könnte

Ist meiner Meinung nach fast unmöglich, wenn man nicht Tage, Monate und Jahre :) mit einem Protokoll-Analyzer und einem Mindestmaß an Wissen über den Protokollaufbau der seriell gesendeten Daten vor der Maschine verbringen möchte.

[EDIT] Noch ein Hinweis zur Sicherheit:
Solche "Spielchen" zum Herausfinden der Steuerfunktionen können auch gefährlich werden (Schäden an der Maschine wären da noch das geringere Problem, es könnten auch Personenschäden usw. sein), da man nicht weiss, wie die Maschine auf solche Sende-Daten reagiert oder welche Befehle etwas und vor allem welche Funktion der Maschine auslösen -> also besser Finger weg. Weiter wären dann noch Verlust der Garantie, Gewährleistung, etc..

Gruss und viel Erfolg

HariboHunter 3. Aug 2006 07:08

Re: Re-Engeneering, oder wie ich an die Daten komme.
 
Nee das Ding ist in Produktion, wenn mir keiner die Befehle gibt, werde ich da keine Möglichkeit haben ranzukommen. Aber mit dem Rechner einen Drucker simulieren und die eingehenden Daten weiterzuverarbeiten sollte funktionieren....

Ich melde mich dann nocheinmal wenn ich mehr weiß.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:30 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz