Files
failnix/targets/wasm-tacle/app/lift/README

32 lines
1.4 KiB
Plaintext
Executable File

Lift Controller
===============
This is a port of Martin Schoeberl's Lift Controller [1] to C. The orignal
version is an embedded Java program that controls a lift in a factory in Turkey.
Benedikt Huber has ported the controller to C and Lucid [3]. It has been used in
various research projects, including T-CREST[3] and the F-Shell test generator
[4].
Overview
--------
The sensors of the system consist of several buttons, a load sensor (to detect
if the lift is positioned at the load), sensors to detect bottom and top
position, and an index sensor for the motor. The motor is controlled using two
digital outputs, one for its direction and one to turn it off or on.
The controller itself consists of an initialization routine ctrl_init(), the
controller step ctrl_loop(), which should be invoked every 10ms. Outside a test
environment, ctrl_get_vals() should be called to read sensors before the
controller runs, and ctrl_set_vals() should be called to set actuators after the
controller ran.
The digital IO interface (9 digital inputs, 2 digital outputs and 14 LEDs are
used) is realized as global volatile variables (simio_in, simio_out, simio_led),
that can be modified and read by test drivers or by the runtime environment.
[1] http://www.jopdesign.com/doc/jembench.pdf
[2] https://github.com/visq/99lifts
[3] http://www.t-crest.org
[4] http://forsyte.at/software/fshell/