Ich möchte einen Zähler, der über eine V24 (RS232) mit einer AS400 verbunden ist, auslesen.
Ich habe hier einen Konverter, der in der Lage ist über das Protokoll ' Telnet' Daten von einer V24 Schnittstelle über die Hardware des Ethernet mit beliebigen System auszutauschen.
Der Aufruf gestaltet sich recht einfach: Es reicht aus den Befehl 'telnet 192.168.1.6' einzugeben. Nun wird ein Datenkanal aufgebaut über den ich direkt meine Daten an die V24 schicken kann. Diese Daten werden direkt ohne Veränderung weitergegeben. Die andere Richtung wird auch einfach weitergereicht. Somit kann ich ein Steuerkommando an das Geräte an der V24 senden - da Geräte wird dann das Kommando auswerten und die entsprechende Anwort wieder direkt auf V24 zurück geben. Diese könnte ich dann in meinen Programm auswerten.
Das ganze habe ich mit einem PC ausprobiert und bin mit dem Ergebnis sehr zu frieden. Hier benutze ich ein Terminal Programm das in der Lage ist eine Telnet Session auf die IP 192.168.1.6 herzustellen. Wenn ich nun die Sequenz zum auslesen des Zählerstandes schicke, bekomme ich prompt die Antwort zurück gesendet. Auch das Vorbesetzen des Zähler klappt hervorragend. Es ist genauso als ob sich der Zähler lokal an einer V24 an meinen Rechner befindet.
Soweit - sogut. Das ganze klappt in einer Testumgebung mit einem PC hervorragend. Wenn es jetzt darum geht das ganze in einem Programm auf der AS zu formulieren scheitert das ganze an meinem Know How (Bin doch wohl mehr Hardware Schrauber).
Die Ideallösung wäre wenn ich von einen RPG III Programm meine Kommando Sequenz aus einer RPG- Variable über das Telnet Protokoll an den Konverter schicke und die Antwort wieder zurück in eine RPG III Variable zu transferieren kann. Also aus den RPG Prog heraus ein Call erzeuge und die Antwort wieder in dem RPG Prog. für die Auswertung zurückgebe.
Den Konverter (Com-Server) habe ich von der Firma Wiesemann und Theis GmbH
http://www.wut.de
Die Parameter stelle ich mit Hilfe eines Web-browser ein sodaß die benötigten V24 Parameter schon eingestellt sind und nicht immer erneut übertragen werden müssen.
Der Zähler ist ein IVO NE214 und ist mit 4800,7E1 eingestellt. Die selben Daten sind auch im Com-Server eingestellt. Wenn ich nun den die Verbindung zum Com-Server herstelle, meldet sich dieser mit der folgende Meldung:
*************************************
* Com-Server Uart *
* "BDE" *
*************************************
Ab jetzt kann ich die Zähler spezifischen Komandos absetzen und bekomme auch die korrekte Antworten. Alle Daten werden direkt übertragen, man merkt nicht das ein Konverter dazwischen hängt. Die Verbindung bleibt solange erhalten bis ich das Programm von Hand beende.
Wie kann ich jetzt die Zählerkommandos über ein RPG III Prog. absetzen und die Antwort wieder einer RPG III Variable zuordnen?
Der Com-Server kann auch noch die Protokolle 'FTP' & 'HTTP' wären also noch Alternativen, wobei 'FTP' wohl etwas übertrieben wären. Pro Daten austausch werden ca. max. 30 Char ausgetauscht.
Zur Info welche Geräte ich verwende
COM-Server
IVO NE214
Bookmarks