Benutzer-Werkzeuge

Webseiten-Werkzeuge


freesigs:start

Dies ist eine alte Version des Dokuments!


Free Signals

Overview

Free Signals is a power logic control software (PLC) in the works. It has some pretty unique features:

  • First of all, Freesigs is distributed under the Eclipse Public License, that means it is freely available. No dongles, no licence fees. Neither for the runtime, nor for the development tool.
  • Freesigs PLC programs are written in Lua. This is a powerful, but easy to use scripting language. No more messing around with Structured Text or Ladder Diagrams.
    Whats more, by using a scripting language, there is no intermediate compile cycle. You can try out your code directly.
  • Freesigs doesn't need a development environment. In fact, your web browser is the IDE. This works on every computer and operation system. No need to install anything. All you need is a network connection.
  • Freesigs works event based. Even though it is possible to write traditional cyclic code, we do not recommend so. Event based code is more flexible and effective to work with, and is CPU friendly. See the examples below.
  • Freesigs is extensible. To cope with the multitude of different Fieldbusses around, the application is split into a core process and one or more IO processes (connectors). To add support for a certain fieldbus, only the IO connector needs to be written. It is not necessary to modify the core. Currently Modbus/TCP is implemented.

Requriements - What do I need?

FIXME

  • Any Computer designed to run 24/7 with Slackware or any other unix-like operating system. A SheevaPlug running ARMedslack is the first recommendation.
  • C-Compiler (GCC) and Glib
  • Google Go (probably, not yet) for the web intercace
  • A fieldbus coupler (bus controller). The Wago 750-341, 750-342 and the B&R BC 0087 are known to work.

Current State / Download

As stated before, freesigs is still in the works. We are currently pre-alpha, but code for the Modbus IO and partly for the core system is available at Bitbucket.

Code Example

-- A latching relay in Freesigs / Lua:
 
-- Function to control the relay output:
function ctrl_latch_relay()
    if isset(do.modbus1[1]) then
        reset(do.modbus1[1])
    else
        set(do.modbus1[1])
    end
end
 
-- Register the function to be called when the digital input #1 of IO device "modbus1" rises:
on_di_rise("modbus1", 1, ctrl_latch_relay)
 
-- Register the function to be called when the digital input #2 of IO device "modbus1" rises:
on_di_rise("modbus1", 2, ctrl_latch_relay)
Cookies helfen bei der Bereitstellung von Inhalten. Diese Website verwendet Cookies. Mit der Nutzung der Website erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Computer gespeichert werden. Außerdem bestätigen Sie, dass Sie unsere Datenschutzerklärung gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website. Weitere Information
freesigs/start.1313079120.txt.gz · Zuletzt geändert: 2011-08-22 08:31 (Externe Bearbeitung)

Impressum - Datenschutzerklärung