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)


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
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.

1 Like