Siemens PG631 wieder zum laufen kriegen.

  • Das hier wäre mein Traum Programmiergerät, für Simatic S3.

    Den Koffer (Programmier-Gerät PG2) hab ich noch - mir fehlt die SIMATIC S3

    Hab nur ne SIMATIC C3

    Und SIMATIC S5-130-150/155

    -------------------------------------------------------------------------------
    Suche Rechentechnik aus Deutschland, bzw. Computer Deutscher Hersteller - z.B.

    ANKER, AKKORD, CTM (CTM 70, CTM 9000, CTM 9032), DIEHL/ DDS, DIETZ, FEILER, ISE,
    HOHNER GDC, KIENZLE, KRANTZ, NIXDORF, OLYMPIA, PCS/CADMUS, RUF, SALOTA, S.E.I.,
    SIEMAG, SIEMENS, TAYLORIX, TRIUMPH ADLER - TA, WAGNER, WALTHER, WANDERER,...

    -------------------------------------------------------------------------------

  • Hallo KK, jetzt fehlt nur noch eine kurze Einweisung wie man so ein MAME, oder dieses spezielle MAME zum Laufen bekommt.
    Und auf welcher Platform. Vermutlich Linux.


    mfG. Klaus Loy

  • Hallo Klaus,


    Dieser MAME-Treiber tut leider noch gar nix, weil der Treiber-Treiber momentan nach dem Prinzip "Sicheres Auftreten bei völliger Ahnungslosigkeit" vorgeht :)


    Gruß

    Robert

    NCR DMV/Olivetti M20/ITT 3030/DEC Rainbow 100/Siemens PC-D/OlyPeople/MFA 8085/TA Alphatronic

  • Schon, aber wie mach er nix, das wäre ja meine Frage.
    Aber heut probier ich eh nix mehr aus.

  • Ich schreib Dir das gerne zusammen, kein Problem.

    In der Zwischenzeit noch zwei Bitten: Auf der ersten Seite dieses Threads hast Du geschrieben, dass Du auch ein paar I/O Adressen herausgeklingelt hast, ergänzend zur Speicheraufteilung. Die habe ich leider noch nicht gefunden - wäre klasse, wenn Du sie posten könntest.


    Zum Zweiten: Wenn ich mir überlege, was so ein emuliertes PG tun könnte (wenn man mal noch nicht an Portweiterleitung und so was denkt), wäre es doch schön, wenn man z.B. den Kontaktplan von dem Eprom, das Du in diesem Thread gezeigt hast, anschauen könnte. Falls möglich, wäre der Eprom-Inhalt als "Anschauungsmaterial" also nützlich.


    Herzliche Grüße

    Robert

    NCR DMV/Olivetti M20/ITT 3030/DEC Rainbow 100/Siemens PC-D/OlyPeople/MFA 8085/TA Alphatronic

  • @rfka01, keine Eile.
    1. Was der Emulator tun könnte, man bräuchte auch eine virtuelle Tastatur, die bei der realen Hardware vom Tasturcontroller bedient wird. Die sieht real so aus:

    Die Tastencodes müsste ich nochmal raus finden.
    Ein paar hatten wir schon mal raus gefunden.

    2. dann könnte man ein bischen mit AWL und KOP rum spielen.

    3. Ja, EPROM mit Programm real auslesen, könnte ich mal machen.
    Den Kontakt Plan und das AWL Programm des EPROM Moduls müsste ich auch über den Seriellen Anschluss ausdrucken können, bzw. den Drucker Datenstrom über ein Terminal mit loggen.

    4. IO-Adressen, da sind doch ein paar in den Demo Assembler Code enthalten, oben in den Kommentaren.
    Aber es gibt noch zwei Boards, die ich noch nicht untersucht habe, das ist das EPROMer Board und das Anschaltungs Board. Außerdem wurde noch nicht im Detail untersuch, wo die IO-Leitungen des 8155 PIO Bausteins hin gehen.

    Fazit:
    Wirklich Nützlich ist der Emulator sowieso nicht.
    Die ursprüngliche Idee war, wenn ich das PG nicht zum Laufen bekomme, so hätte man zumindest mit einem Emulator mal schauen können wie es denn ausgesehen hätte.


    mfG. Klaus Loy

  • Zur Emulation:

    So lange das PG 631 noch nicht im Hauptprojekt von MAME ist, seid ihr auf Gedeih oder Verderb meinem "Fork" ausgeliefert - ob der gerade etwas sinnvolles macht oder nicht. kkaempf hat den ebenfalls abonniert, so dass bei ihm eine Kopie davon zu finden ist, ggf. mit eigenen Änderungen.


    Also:

    Die folgende Anleitung gilt für Windows 10 64bit ... ich hab gerade kein passendes Linux laufen, da muss man ggf. ein paar Sachen nachinstallieren.


    Man besorge sich von https://www.mamedev.org/tools/ die Build-tools und richte sie wie auf der Seite besprochen ein.


    Wenn man dann ein Kommandozeilenfenster aus dem Verzeichnis der Compiler-Umgebung öffnet, ist alles passend eingerichet, alle Tools parat.


    Als nächstes holt man sich den Source-Code aus meinem oder Klaus' Repository. In meinem Beispiel liegt alles auf dem Laufwerk M:, Ausgangspunkt ist das Verzeichnis des Compilers M:\msys64\src, mit dem sich das Kommandozeilenfenster öffnet.


    Von dort aus:


    Code
    md \pg631
    cd\pg631
    git init
    git clone https://github.com/rfka01/mame
    cd mame
    git checkout sipg631
    make SUBTARGET=mess -j9

    SUBTARGET=mess bedeutet, dass nur der Teil von MAME gebaut wird, der sich mit Computern beschäftigt, bei "-j9" sollte man die Anzahl der Prozessorthreads +1 eingeben (ich habe einen Intel Vierkerner mit jeweils zwei Threads).


    Aus Klaus' Post mit den ROMs strickt man sich ein Archiv, in dem alle ROMs in einer ZIP-Datei ohne Unterverzeichnisse liegen, benennt es pg631.zip und kopiert es als ZIP-Datei in das Verzeichnis "roms", das unterhalb von \pg631\mame angelegt wurde.


    Wichtig: An dieser Stelle gilt es, ein Glas/eine Flasche/eine Tasse eines bevorzugten Gesöffs zu genießen, da das Kompilieren je nach vorhandener Hardware deutlich über eine halbe Stunde dauert.


    Die Emulation wird dann mit "mame -debug pg631" gestartet, zumindest so lange, bis das Ding was sinnvolles macht.


    Zum Update auf die jeweils aktuellste Version wird dann von der Kommandozeile aus


    Code
    git pull
    make SUBTARGET=mess -j9

    eingegeben.


    Bei Fragen gerne fragen.


    Gruß

    Robert


    P.S. Das "offizielle" MAME baut man genauso, man holt sich die Quellen nur von https://github.com/mamedev/mame

    NCR DMV/Olivetti M20/ITT 3030/DEC Rainbow 100/Siemens PC-D/OlyPeople/MFA 8085/TA Alphatronic

  • Und auf welcher Platform. Vermutlich Linux.

    MAME tut auch unter Windows. Extra für Dich 8o

    Siehe https://github.com/kkaempf/mame/actions/runs/814418505. Dort wird dann ein 109MB zip erzeugt: https://github.com/kkaempf/mam…918450/artifacts/58581437, welches ein 509MB 'mame.exe' enthält.

  • Dieser MAME-Treiber tut leider noch gar nix, weil der Treiber-Treiber momentan nach dem Prinzip "Sicheres Auftreten bei völliger Ahnungslosigkeit" vorgeht :)

    Ja, so waren auch meine Anfänge in der MAME-Welt :D


    Ich schaue mir heute mal die Video-Ausgabe an ...

  • Keyboard Routinen hatte ich im ROM schon gefunden.


    Anbei die Interrupt Routine (Lesen vom 8279 Keyboard Controller) und die zugehörige Umsetzung von 8279 zu "Keyboard Codes".


    Das ist alles recht einfach gestrickt und MAME kann (natürlich ;) ) den 8279 emulieren: src/devices/machine/i8279.cpp

  • @rfka01 und @kkaempf,
    danke für eure großen Bemühungen.

    Ich tentiere stark zu Windows (sorry klaus), da hab ich auch bereits ein MinGW, bzw. msys installiert.
    Ich weiß zwar nicht ob das 32 oder 64 bittig ist, mal schaun.
    Leider war ich die letzten Tage ein wenig faul.
    Und heute bekomme ich evtl. meine S5-110A Anschaltung, so dass ich da auch ein wenig dran gehen muss.


    @rfka01,
    wie sehe ich ob mein msys 64bit kann ?

    mfG. Klaus Loy

  • kkaempf und klaly danke für die weiteren Tipps ... ich werde heute abend mal versuchen, einen Schritt weiterzukommen. Ich habe gestern in den Kommentaren im Quelltext die ganzen Tasten dokumentiert, das werde ich dann hochladen.


    Zum msys ob 64 oder 32 bit ... keine Ahnung. Ich brauche es wirklich nur für MAME und lade bzw. aktualisiere es dann, wenn sich was ändert.


    Gruß

    Robert

    NCR DMV/Olivetti M20/ITT 3030/DEC Rainbow 100/Siemens PC-D/OlyPeople/MFA 8085/TA Alphatronic

  • Auf besonderen Wunsch sollte ich das EPROM Modul der S5-110A auslesen.
    Was mit meinem EPROMer so nicht direkt ging, weil das EPROM eingelötet ist :)

    Also Adaption:

    etwas wackelig, aber ist ja nur für einmal, mit einer billig IC-Fassung, die kann dann direkt in die Tonne.


    Und hier der EPROM Inhalt, mit einem PDF mit Opcode Zuordnung.

    S5_EPROM.zip


    Erstaunlich, diese alten Opcodes wurden dann auch noch bei der S5-115U verwendet.
    Da kamen dann natürlich noch viele Befehle hinzu, weil die 110A konnte ja nichmal Sprünge.


    mfG. Klaus Loy

  • Hallo liebe PG631 Freunde,

    ich hatte heute nach Feierabend wie ein bisschen Lust am PG631 (reale Maschine) rum zu forschen.



    1. Ich habe das EPROM_21 2716 gegen ein 2732 getauscht, bei dem ich zwischen Original und Monitor zur Laufzeit umschalten kann. Mit externem Schiebeschalter und reset Taste.


    2. So konnte ich mit dem Monitor nun endlich den "PG-Speicher" finden, in denm das S5-Anwenderprogramm abliegt.

    Hier wird es vom Editor AWL/KOP bearbeitet. Das sind 8kByte RAM (16x 2114), nicht 4kByte wie zuvor gedacht.

    Dieser RAM liegt ab C000...DFFF. Dieser Bereich ist Batterie gepuffert und wird beim Einschalten mit FF initialisiert falls die Batteriespannung niedrig ist. Diesen Mechanismus habe ich noch nicht erforscht, aktuell habe ich keine Batterie eingebaut.



    3. Das Init Muster im PG-RAM ist wie folgt, zunächst alle 8kByte mit FF gefüllt. Und dann am RAM Anfgang

    C000 FF FF FF FF FF FF FF FF 65 00 00 65 00 FF FF FF

    Das bedeutet, die ersten 8 Byte sind vermutlich reserved, als Header für andere Steuerungen.

    Die 65 00 00 65 00 bedeuten Speicher Ende.

    D.h. im initialisierten Speicher liegen 4 Befehle NOP 1 = FF FF oder eben dieser dummy Header.

    Danach folgt der Befehl BE = 65 00

    Und dann gespiegelt 00 65 und 00, vermutliche Ende Kennung RAM.


    4. Wenn ich das EPROM in den Speicher einlese und dann in den Monitor gehe, dann erscheint der EPROM Inhalt 1:1 im RAM.

    EPROM beginnt auch mit 4x NOP1 = FF FF, dann kommen die ganzen Befehle, jeweils 2 Byte.

    Am Ende kommt BE = 65 00 und dann liegt im EPROM FF bis zum EPROM Ende.

    Im RAM liegt allerdings nach BE = 65 00 dann die Ende Kennung 00 65 00 FF FF FF ...



    Mit dieser Erkenntnis könnte man in den Emulator manuell oder wie auch immer ein Programm in den Speicher einbringen oder ein damit erstelltes Programm ab C000 heraus kopieren. Allerdings muss bei Reset daraufg geachtet werden, dass evtl. durch Init wegen leerer Batterie der PG-RAM platt gemacht wird.



    Hier ein spezieller Screenshot, mit RAM Anzeige des Monitors, EPROM Inhalt (Ultraedit) Und AWL Programm Foto:


    PG-Speicher_EPROM_S5-Programm.JPG



    Hier nochmal der EPROM Inhalt, der Vollständigkeit halber:


    S5_EPROM.zip


    mfG. Klaus Loy

  • Mittlerweile haben ja der kkaempf und der rfka01 einen mame Emulator zusammen gebaut, mit dem man schon ein wenig PG631 spielen kann.


    https://github.com/kkaempf/mame


    Hier das Tastaturlayout, für den github Stand von 09.05.2021

    Die Tasten können über entsprechende PC Keyboard Tasten bedient werden.

    mame_Keyboard_Layout.JPG


    Details zu mame sind bei kkaempf oder rfka01 zu erfragen.


    Für was das alles gut sein soll, kann wohl niemand so ganz beantworten.
    Auf alle fälle ist es cool.


    mfG. Klaus Loy

  • Ich hatte auch nicht so viel Zeit.


    Und dann hast noch das Problem, du musst Zeit & Lust haben, im Sinne einer UND-Funktion.
    Weil Zeit und keine Lust bringt nix.
    Oder du hast Lust, aber halt grad wieder keine Zeit, dann ists auch nix, ...


    mfG. Klaus Loy

  • S5 110A Anschaltung wartet auf Kabel, ...


    Es fehlen nur noch 98 Drähte.


    Mal schaun, ob ich dann mit dem PG Online auf die SPS gehen kann.

  • Mein mühsam gelötetes Onlinekabel wurde gestern fertig.
    Heute dann mal ein online Test, aber leider ... :( d.h. ohne erkennbare Funktion.

    Das ganze Zeug werde ich für viele Wochen wohl erstmal zur Seite legen.
    OK, heute Nachmittag besucht mich ein Kumpel von dem ich die S5 CPU110A leihweise habe.
    Da werden wir mal ein kurzes Programm machen und ins EPROM brennen (Brenner funktioniert ja) .
    Mal schaun ob wir eine "UND Verknüpfung" zum Laufen krigen.


    Code
    |                                              |
    +---[ ]-----[ ]---------------------------( )--+
    |  E 0.0   E 0.1                        A 1.0  |
    |                                              |
    +  BE               
    
    Hand made KOP :-)

    Wenn Ja, gibts danach Bier.
    Wenn Nein, gibts danmach auch Bier.


    mfG. Klaus Loy

  • Den ganzen "Mist" wollte ich heite mit meinem Kumpel Fritz ein bischen aus probieren, aber wie gesagt Online is nicht.
    Leider ist auch Belegung des Kabel eionigermaßen unklar, was bei annähernd 50 Pins etwas schwierig wird.


    Nach eingen Wochen Projekt (Schnauze voll) Stop werde ich es nochmal aufgreifen und wieder etwas Analyse betreiben.

    Weil es juckt mich halt so ein Zeug zum Laufen zu kriegen, obwohl es nutzlos ist.

  • Habs gerade mal nachgebaut mit PG675 und S5 101U (hab leider keine 110A):



    Funktioniert! :sunny:

    Einmal editiert, zuletzt von bernd-7 ()

  • PG675, ja schönes modernes PG :)
    und schöne moderne S5 101U,
    U steht meiner Meinung nach für die "neue Serie" mit AS511 Anschaltung.
    D.h. Kommunikation PG mit SPS über serielles TTY Interface, alles vereinheitlicht.

    Bei mir mit dem PG631 geht das ja über ein 50poliges Kabel :(
    Belegung weiterhin einigermassen unklar.

    Aber zumindest konnte ich Gestern über ein, mit dem PG631 programmiertes EPROM, ein paar Verknüpfungen zum laufen kriegen. Und grad eben habe ich das alte Zeug erstmal weg gepackt.


    "Leider" hat mir mein Kumpel gestern eine EBERLE PLS511 mit gebracht.
    Diese SPS enthält auch ein reines CMOS Rechenwerk.
    Dafür konnte ich vor Monaten einen Schaltplan und Doku bekommen.

    Laut der Doku ist die PLS511 aus dem Jahr 1979/80
    Aber auch dieses Teil wird erstmal nicht näher untersucht, mit SPS'en reicht es mir erstmal.


    mfG. Klaus Loy

  • ... mit SPS'en reicht es mir erstmal.

    Das ist schade, aber manchmal braucht's einfach Abstand.


    Die S5 110A braucht leider eine separate PG-Anschaltung 500 mit Parallelschnittstelle und ein Kabel 734 zum PG, da hab ich aber auch keine Infos gefunden.

    Die S5 110S hat wiederum eine serielle Schnittstelle mit AS511, da klappts dann auch wieder mit PG675 etc..


    Die EBERLE PLS511 klingt auch interessant, hatte bisher damit aber noch nichts zu tun. Ich hab hier noch eine Telemecanique TSX, hab aber trotz mehrfacher Bemühungen keine weiteren Infos erhalten, daher hab ich die auch erstmal eingelagert.

  • > ... manchmal braucht's einfach Abstand.
    Genau.

    Bei EBERLE hatte ich 1987 ein Praktikum gemacht.
    Da gab es auch eine Schulung mit der PLS511, allerdings schon mit der "neueren", die über PG-Handheld oder PC programmiert werden konnte.

    Ich hingegen habe hier die alte Ausführung, wo nur ein CMOS Rechenwerk drinsteckt, wo noch die EPROM Platine zum programmieremn raus genommen werden musste, bzw. es gab scheinbar auch eine RAM-Karte mit Pufferung, für die Inbetriebnahmephase.


    mfG. Klaus Loy

  • OK, so sah also die PLS511 S aus, hatte ich bereits vergessen 1987 ist ja auch schon lange her.


    Ich hab ja hier die PLS511 da liegen, ohne Front Schnittstelle. Zum Tausch des Programms muss man aufschrauben und das EPROM Modul ziehen.



    @fanhistorie,
    du solltest deine PLS511S mal aufschrauben, es wäre interessant was da drin steckt, ob CMOS Rechenwerk plus µP, oder eine reine µC Lösung.
    Man weiß ja, dass das Zeug nicht immer neu erfunden wird, sondern weiter entwickelt wird.
    Anderseits, so ein CMOS Rechenwerk ist ja auch aufwendig herzustellen, da ist eine µC Lösung eigentlich "besser", weil sie auch mehr Komfort bietet, wie z.B. Online Statusanzeige.


    mfG. Klaus Loy

  • Guten Abend

    klaly


    Leider habe ich meine und weitere ABB Teile damals abgegeben/ weitergegeben,

    an einen "Bekannten"

    welche sie dann verhöckert hat, an classic automation, gab er zu als ich ihn darauf ansprach,


    Ich gab ihm die Baugruppen auf seine Anfrage , weil ich damals nichts damit abfangen konnte /wollte,


    Das gepostete Bild stammt aus einem laufenden Angebot von classic automation ist natürlich nicht feststellbar , das es dann auch tatsächlich meine ist :nixwiss:


    Was ich aber noch haben, damals deponiert, eingelagert müsste wäre eine "neuere" Schulungs SPS in einem Koffer,


    Bei Interesse kann ich Sie ja mal ans Tageslicht zerren und ein paar davon Bilder posten


    Von der Historie war es doch so das Teilbereiche von Eberle zuletzt aufging in GE Fanuc Automation,