Unknown, rare German device, FESTO. Trainer?

Finally, I won an auction of a rare device. The seller didn’t knew exactly what it is (although there’s a manual). I did some research before, mainly on the FESTO website, also via archive-org but couldn’t find it. The device is larger and much heavier than thought (although portable with a handle). The console below is 7 cm thick, including the upper part 14.5 cm high, size 38x38 cm. The connector is huge (wasn’t pictured). It’s from 1981.


I have just received it and have to read the manual.
Rare is “Vorwahl” what means (telephone) prefix number. Wenn, dann means: If, then
I assumed a didactic device. They now have the label FESTO DIDACTIC (not on this device).
Siemens is or was a partner, hence the Siemens style keys. They also now own the brand Lab-Volt.
The company (now) has a very wide product range, I think starting with pneumatics.

Any guesses?

For the benefit of international audiences, the console reads as follows:

Top row

On (power) | External, Internal, Program Memory (Write, Read, Clear, Copy) | Control Unit (Simulation, Test, Control, Start, Stop)

Instruction

IF (below: AS WELL AS): [and] 0-Signal at 0…, [and] 1-Signal at 1…, or 1…1

THEN (below: OTHERWISE): Clear 2…, Set 3…, Load 4…, With [content of] 5…, With Address 6aaaa, With Decimal Number 7_ddd

Function Unit

Input/Output [0123]1nnn
Marker [0123]2[0123]nn
Sentence Pointer [0123456]01nn
Program Segment End 30010
Counter [45]30nn
Pre-Select (or Prefix) [45]34nn
0,1 S. Pulse [015]0031
Seconds Pulse [015]0032
Minutes Pulse [015]0033

Bracket Expression

[and] Bracket open 10002
Bracket close 10003
Negated, Bracket close 00003

The imprint above the key pad reads “Number Address Number” and there are some interesting looking key caps.

So there’s (presumingly) a 12-bit address bus (4 octal digits, 4096 addresses) and a 3-bit instruction set in a single-word 15-bit instruction format with some microcoding. There’s a key for each instruction and the modifier keys for “IF” and “THEN” double as “;” and “*”, respectively. While there is an apparent absence of arithmetic instructions, it’s Turing complete. (I guess, GOTO is implemented by setting a marker nn and referring to this by a “sentence pointer” nn.)

(I guess, any of the codes provided in a vertical columns [here denoted in square brackets] are alternatively valid, so [015]0032 “Seconds Pulse”, would be 00032 or 10032 or 50032 synonymously. So instead of “undefined opcodes”, we get “overly defined opcodes”. :slight_smile: – But I could be wrong with this interpretation.)

1 Like

Given the instruction set, the address range, and the mode of operations (robust single-key programming), I’d say that this is the some kind of industrial control unit. (The format of conditions, “IF 0 at”, “IF 1 at”, may hint at some sensors, either directly connected to certain addresses or dumping their status into certain memory locations.)

Sounds very plausible to me. I do like the “octal” keypad.

I have quickly read the manuals and will resolve this soon. I also have to do some research online.
I’m still not sure if this was used as a training device, probably not. (But everything can serve for training).

There are some more interfaces on the left side
2x BUS (for this cable) in line both in total 26 cm
1xV.24 for a Teletype or other paper tape devices
1x 5 pin DIN connector for a magnetic tape/cassette
and an expansion slot for a (large) RAM/EPROM cartridge on the right.
On the rear is a hinged box for the power cable and a battery loading station.
Below is an opening for a (thin) manual.

I wonder why there’s a (smaller) 8+9 on an octal keypad.
The LCD-Display has 2+4 digits on top (a dot in between) and 2+3 digits below and some symbols.

Almost right. But it’s a set of 2 devices.
And this is just a programming device for the main rack computer (FESTO FPC) which is a programmable logic controller (PLC) in German: SPS. And that computer controls valves, sensors, motors etc. I found this being used at a brewery, at a milking machine, but probably more often for car and machine production.
Luckily, my manuals are also about that device and have 2 chapters about the programming.

(How to write Hello World! for a milking machine?)

On left is the CPU card, which also has a numpad and LCD display,
then a RAM card, by default 256 words, up to 16,384 words. And a specific device number (jumper ?)
then the interface card for the BUS cable
then an input card and some output cards and 2 power cards.

The programming device can also be used without it (like for import and export of code, for simulation or disassembling) but then needs the RAM or EPROM expansion, what are missing. Damn.
When turning on, it’s silent (no fan) and there are no lights. Just a dot on the display (maybe 2x2). I can push eg “reading” (internal or external) , these lights would turn on (red or green) and enter a memory location, but without the PLC or RAM, there will just be an error code.

The programming is interesting but I have to study it (not sure if it differs from other PLC’s)
Coding is in octal and each statement has 6 digits. There is no programming language, just like the keys, simple commands like
if signal at port xy is 1 then… else…
There are 8 instructions and about 40 functional units. Each mnemonic/unit has 3 characters.
The manual has 34 mainly short programming examples like converting decimal to dual, blink a light, etc.

I haven’t found a RAM cartridge online (and if so it would be very expensive). And I doubt that I can use others than the original one.
Maybe Siemens or others have compatible ones.
I’m not sure what I should do with it. I haven’t opened it, yet. Any suggestions?

This is interesting, as I haven’t seen any options for inputting arithmetic operations. How would such a conversion work? (I guess there must be at least some – more or less tedious – road to arithmetics, as these would probably be required for a lot of control operations in some form or another.)

I have just started studying the programming. The PLC has among others arithmetic macros (here Funktionseinheit, as the keys are called in the middle). These are the 40 “functional units”.
The CPU has 32 registers each 14 bits. Decimal values have 12 bits + overflow flag + sign bit. And 256 1-Bit flags (“Merker”).
Here is the code for the conversion decimal to dual (outputs 13…10 are the dual value), already loaded into CPU reg 0 (ZER 0)

00100: 000000 .WENN NSB NUW
00101: 040201 LAD ZER 01 / load ZER 01 ZE= Zentraleinheit central unit REG 01
00102: 070010 MDZ 008 / loading with 8

00103: 100021 ;WENN NSB KLE / if ZER 0 >=8
00104: 031013 DANN SET A 013 / then set A13
00105: 030061 SET SUB /and substract 8
00106: 121013 SONST LOE A /otherwise delete A13

00107: 100000 ;WENN NSB NUW
00110: 040201 DANN LAD ZER 01 /ZER 01
00111: 070004 MDZ 004 /load with 4

00112: 100021 ;WENN NSB KLE /if ZER0 >=4
00113: 031012 DANN SET A 012 /A12 has to be set
00114: 030061 SET SUB / and substract 4
00116: 121012 SONST LOE A 012 /otherwise delete A12

(takes 961 ms for each dual value + 464 ms for each dual output set, so 3844-5700 ms for 4 dual values or 3844-5236 ms for one decimal)

wenn, dann, sonst are the keys if then else
instructions:
NSB (Null-Signal bei) 0 signal at
LAD= LADE (load)
MDZ= mit Dezimalzahl (loading as decimal)
LOE= lösche (delete)

function units: NUW = Nullwort zero word
ZER= ZE-Register (CPU register 00-37)
KLE= Kleiner (samller, content of ZER 0 is smaller then content of ZER 1)

There are some other special functions like signal edge detection, two-hand control, pulse counting, time delay, stepping, boolean function, BCD and other codes etc.

1 Like

I now found a RAM module, but only one at a Russian shop. At least there are some large photos and even a part list. It uses Intersil IM65x61AIJN RAM.

Obviously it’s the same module as for the rack computer. The holes at the slot plate are for mounting the battery handle. I think 2 dip switches when using more than 1 module. It’s hard to impossible to use other RAM.

The CPU card has a dual CPU. One discrete 1-bit CPU for faster controlling the input and output and the 256 flags (“Merker” memory) and a regular CPU. My set of manuals missing one chapter: the data sheets.

The keys of the programming device are only for the basic instructions and for remote control. Longer programs would probably rather imported or stored in EPROM.

I have finished reading the manuals and opened it (upper part on right)


I haven’t found a CPU (maybe on the other sides)
8+1 EPROMS. 3x RAM TC5501P but as said someone needs a RAM module (black slot).
I have to think about it, if I should complete disassemble it.

The programming manual was interesting.
Probably it was mainly used either as remote control, or after a blackout or when changing the program and for backup.

Are you sure about a discrete CPU? Given the rather unique (and quite limited) instruction set, I would have expected a processor made from logic components – some of the logic may be even encoded in ROMs –, or maybe some bit-slicing. That daughter board may be the actual CPU.

(Compare machines like the LGP-30, where most of the logic was made of diodes. What can be made of diodes can be made of ROMs, as well.)

No, I’m not sure.
I’ve just said, that I haven’t found any. At least, there’s a DIL 40 below the crystal.
As said, the main device (running the same code) has 2 “CPUs” including one 1-Bit CPU.
A later variant FPC 101 has an 80C31 as shown on photos.
There are exactly 45 instructions. + service functions, tape/Teletype i/o, error handling etc.

But I think, I will disassemble it soon, after the hot days.

Today, I have removed the right PCB and found an Intersil 6100 microprocessor which has a 12-bit PDP-8 instruction set. But maybe it’s just for the Teletype i/o or else.

The PCB is connected with the small display/upper keys PCB with a short cable soldered onto the PCBs. I haven’t disassembled it completely.

I first considered dumping the EPROMS, but these are old 2708’s which can’t be read by common/cheap programmers (needs +12V, -5V and for programming +25V and special timing). Yes, it’s possible.
But probably there’s nothing much more of interest as I have the manual.

4 Likes

That’s an interesting find, since the PDP8 instruction set seems more versatile than the instruction set of that device. Which really suggests that this was a very special purpose unit.
And you’re probably right about this being a dedicated TTY / I/O processor, as for its location.

Is it maybe possible, that the Intersil CPU emulates the FESTO instruction set and there’s a code in the EPROMs?
And even that is only necessary when disassembling a software.
The device is not a computer and can’t do much. It’s for programming another computer and backup.
Speed is not an issue and some instructions are very slow.
So it can only store some “instructions” saved as octal code.
There are test and simulation features, but at least for one, someone needs the PLC.
The PLC is another thing. That has confirmed 2 “CPUs” but has to do the real/other work (except backup).

After a pause, I did some more research, mainly for software (and OS).
On the official FESTO site, I found some PDFs (vie Google). The main software for those programming devices was FST (=FESTO Software Tools). The latest version was FST 200 v4.2 (2004, for Win95, pictured, PDF 398 pages). Version 3.2 (1996) was for Dos v3.0 and is similar with mouse support. I think nowadays these were programmed in STEP7 (compatible Siemens Simatic S7). There is a modern, expensive FST für FEC but I think for small robotics/ Didactic line.


Both versions support 2 programming methods. A text method like mine (WENN, DANN, IF/THEN) called AWL (Anweisungsliste = instruction list) and KOP (Kontaktplan) with symbolic blocks.
There is a list (parameters) of the supported programming devices

FPC 101
FPC103
FPC 202 C
SF 3
FPC 404
FPC 405

Mine is even older E.PRG (Festo # 8018) and pre DOS and with different connector.
I haven’t found earlier software versions. Either mine is v1 or not FST at all.
But programming is obviously very similar.
There were at least downloads for DEMO versions but I haven’t found anything via Google.
PDFs are in German, elsewhere I found an Italian one.
Later, I found a 1997 English manual for ABG-SF 3 (ABG is a display and operating unit, SF 3 a valve control block “island”) which has the E.xxx products and mentions different (display) emulators. And has some hex codes and (connector) schematics.
The software included compilation and transfer.
Several samples and screenshots, (I haven’t read everything) but without software (and hardware) it’s not that cool.

There are some few modern demo software downloads of other software like fluid control and otherwise mainly firmware. Hard- and software is extremely expensive, most prices are on request only (mainly paid by schools or companies).

I now can confirm, that the memory cartridges are the same on both devices.
So it’s possible to write on the EPROM cartridge, remove it and put it into the PLC.
But I think this was rarely used. First, writing to the EPROM is slow and the cartridge is expensive.
As the programming device is portable, it’s probably faster to use the cable.

I now have dumped the 8x 2708s. missing the single EPROM on the left / lower PCB which is an Intersil IM665AIJG (4K, 512x8). I will make separate threads about the EPROMS.

After a break, I’m again busy with my Festo device.
As there are lots of combinations with 8 EPROMS (I’ve recently checked the contents in reverse order (8-1) and also in pairs 7-8,5-6… Usually there are 2 EPROMS LO/HI, I have to check byte swapping 2 pairs of 4, 1-5,2-6), and it would be helpful to know the order, so I’ve again opened my device and took some more photos.

So here’s the daughter board, it’s solder side and what is below. That is the upper PCB with the keys on the other side.
Interesting that the names of the keys are printed on the solder side. Below is the 6100 CPU.
Can someone tell me how the EPROMS are aligned? And can someone trace them to the CPU? Probably on the parts side (see above) and hidden below the keypad.
And why are there 3 RAM chips (TC5501)? To save anything, I would need the large RAM cartridge.
How common was it in the early 80s to have the (PDP-8/PLC) instructions encrypted? There’s still a single undumped EPROM on the other PCB.
Maybe the dumps are not correct (as there are empty sections and due to 12 bits). There’s only one modern device for dumping these old EPROMs and easy Windows software with few settings. Maybe it’s easier to dump them within the running device but I don’t have equipment and enough knowledge. Maybe it’s no even PDP-8 code. Also of interest would be the export to tape but that needs the RAM.

The other thread about interpreting, the other EPROM and dumping

Help reading EPROM (Intersil IM6654A) and analyze firmware