EDDA 3 - Sample program application

Parent Category: Articles Category: EDDA 3 - An Early Transistorized Process Computer Written by Administrator

The EDDA 3 manual presents a tutorial of sample applications with program code. The first one is very simple.

First Control Task EXERCISE: Dosing

A reservoir shall be filled with a certain amount of liquid. The target value is entered over a keyboard. The actual value is measured over a scale. (This is the "Hello, world" program of process control).

einsatz aufbau

(Translation: "Vorratsbehälter mit Flüssigkeit" = feeder tank with liquid, "Steuerspannung für Dosierventil" = Control voltage for dosing valve, "Gewicht" = weight, "Sollwert" = target value", "Tastatur" = keyboard, "Startbefehl" = start command, "Handbetätigtes Ventil" = manual controlled valve, "Drucktaster" = push button)

Flowchart:

einsatz flussdiagramm

"Waage (Anfangsgewicht) + Sollwert = Abschaltwert" = "scale start weight + target value = switch off value"
"Ventil auf" = "open valve"
"Waage - Abschaltwert = Differenz" = "scale - target value = difference"
"IST DIE DIFFERENZ POSITIV? nein/ja" = "DIFFERENCE POSITIVE? no/yes"
"Ventil zu" = "close valve"

USED DATA AddressES and Program CODE:

einsatz programm

Translated:

Data address space:
-------------
00 : 0000
05 : target value
06 : switch-off value
07 : difference
41 : scale input
42 : target vlue input from keyboard
47 : program start push button
60 : clear output
61 : output voltage switch to valve

Program code:
---------

,--> 00 : 47  +  0 => 50              start: loop until "start" button is pressed
|                                 
|    01 : 42  +  0 => 05          -+
|                                   >  calculate switch-off value
|    02 : 41  +  5 => 06          -+
|                                 
|    03 : 00  +  0 => 60          -+
|                                   >  open valve
| ,> 04 : 03 (-) 0 => 61          -+
| |                               
| |  05 : 41  -  6 => 07 PS-.          target value reached?
| |                         |     
| `- 06 : 04 (-) 0 => 50  <-+  -       no: jump back to 04
|                           |     
|    07 : 00  +  0 => 60  <-´  +  -+ yes:
|                                   >  close valve
|    08 : 05 (-) 0 => 61          -+
|                                 
`--- 09 : 00  +  0 => 50               jump back to initial state

This program code is tricky. For instance, the first instruction "47 + 0 =>50"  just copies the ON/OFF state of the push button at location 47 to the program counter at location 50. If the button is no pressed, the program counter is again filled with 0, and the program loops. If the button is pressed, the program counter is set to 1 and the next instructions are executed.