Please see below notes on Copyright and for non English readers.
weAut_01 is an appliance for digital control and automation. Being the main target hardware for weAutSys it is a very compact (single board) micro-controller based module.
weAut_01's features are
8 protected input channels for +/-70V input voltage (surviving 250 Veff as absolute max. rating)
Every channel can be configured as
widely-used micro-controller / architecture with a broad base of tried and tested software and tools
on board programming via ISP
Being compact and low power (green automation) weAut_01 nevertheless has some other typical PLC features:
weAutSys is the runtime / operating system for weAut_01 as well as for comparable hardware.
Ports to other µControllers and boards (ArduinoMega2560, ArduinoUno) have been done and others are on their way. According to their processing power and features the range of functions of those evaluation boards is smaller compared to weAut_01.
This weAutSys runtime gives the application / automation programmer real time features, threading, the usual automation "cycles" (1ms, 10ms, 100ms, 1s) known from most PLCs as well as timers, a full grown TCP/IP stack, small memory card, serial communication and more.
Hint: The clock driven cyclic execution (in automation language) are periodic tasks (in IT / real time language). To to most of the application work in those "cycles" is an approach symptomatic for PLCs.
As a subordinate via network connection to a central processing computer weAut_01 is a good choice for process signal concentration tasks plus optional pre-processing and local automation. weAut_01 is also suitable for small automation and control applications, networked and stand alone.
In that field of application I/O signals conforming to industry standards (i.e. signal and protection levels) are as vital as the ability to communicate via standard media and prevalent open protocols (Ethernet, TCP/IP, DHCP, NTP, Telnet, Modbus etc.).
To sum up
All user software is organised in application threads and most system software runs in system threads.
Those application and system threads are implemented as protothreads
Predefined application threads to be optionally filled with life by the user / application programmer are
weAut_01 has
Besides that some extra extensions — counter, generator etc. — are available.
The I/O channels' and drivers' state is or can be displayed by an appropriate number (about 20) of status LEDs.
weAutSys' process and HMI I/O support function make the utilisation of those features an easy task. See Process I/O (support) for details.
The serial link (UART, RS232) for a normal terminal connection that is usually text-based as HMI (mam-machine-interface). Then as default the serial link will be tight to the C standard streams stdin, stdout and stderr. So these streams plus their standard formatters resp. parsers could be used for external logging and command line interface at standard serial terminals or terminal emulating programs (like HTerm). This can prove very useful for commissioning and maintenance.
See modules Serial communication and Serial I/O for technical details.
The signals CTS and RTS are available via two ports and can optionally be used for flow control. Alternatively these signal connections (SubD 9) can be used as counter input respectively generator (PWM) output or just as extra I/O if by cabling separated from the serial RX and TX.
Of course, RX and TX can also be used as extra as extra process input and output too, then sacrifying the RS232 communication. And, of course, the serial RS232 link can serve (non human, non text based) process control applications like e.g. S5/S7 connection via aRS3232/RS485 converter or HART sensors/actors via a suitable HART modem.
The Ethernet / LAN communication is based on
At the higher application (support) layers weAutSys supports and uses
The DHCP client asks for up to two NTP servers which can then be used by the NTP client function. This (best) practice will synchronize the time of weAut_01 modules in one network within 20 ms or — usually — much better.
The TCP/IP stack and drivers support, besides said ARP, DHCP, Telnet, Modbus and NTP, the implementation of higher level protocols and applications, some of them already brought along with uIP.
A card slot allows a wide range of small memory cards (SMCs) to be used for application specific purposes, as e.g. logging for stand alone systems or in case of communication outages.
The system software supports the basic access to small memory cards via SPI and higher level functions support the necessary subset of FAT file systems if one is found on the small memory card inserted. The natural choice and often standard for SMCs is FAT32.
Hint: Manufacturers of microSD cards accessible via SPI will have paid the required per card license fee do to so. For license reasons be sure to embed only those SMCs in your weAutSys based based automation modules like weAut_01 using a supported (FAT) file system (with short filenames).
For persistent storage of configuration data the use of the embedded EEPROM is the better choice.
For hardware, software and documentation developed for this project:
Copyright © 2012 Prof. Dr.-Ing. Albrecht Weinert <a-weinert.de>
weinert - automation Bochum <weinert-automation.de>
All right reserved.
weAutSys is commercial software. Licenses to use are sold with the products that embed it and are bound to it.
Other license variants are available.
Some parts of the system are modified open source software with non-infecting BSD (like) license.
For a source (file) of that kind — and only for those — the following holds:
It keeps its original license and is hence still open source.
Those modified source files are available as download. See the comments and license notes there.
All weAutSys' developer / software documentation is in English. The only exception is the following Overview in German.
Die Entwicklungsdokumentation von weAut_01 und weAutSys ist in Englisch, bis auf den kurzen deutschen Überblick (Overview).
weAut_01 ist eine Mikrocontrollerbaugruppe mit industrietauglichen Prozess-I/O-Schnittstellen und Standard-Kommunikation über Ethernet und V.24.
Die Baugruppe eignet sich so direkt für Automatisierung — auch "stand alone", sowie vernetzt auch für eine vorverarbeitende Prozesssignalerfassung und -verteilung, die in einem Netzwerk zentralen Rechnern unterlagert ist. Hierfür ist die industriegerechte I/O genauso entscheidend wie die Kommunikation über verbreitete, auch preiswerte, Medien und übliche Protokolle: Ethernet, TCP/IP, DHCP, DNS, NTP, Telnet, Modbus etc..
Einige Eigenschaften
Hardwarebasis ist ein ATmega1284P als Mikrocontroller und ein ENC28J60 für die MAC- und PHY- Schicht des Ethernet.
Genauso wie für den zugehörigen seriellen bootloader existieren das weAutSys runtime System Portierungen auf andere µController und Module, wie z.B. für ArduinoMega2560, ArduinoMegaADK und ArduinoUno. Teile davon, wie u.a. der Bootloader, wurden im Sommer 2013 als open source verfügbar gemacht.
Für die im Rahmen des Projekts entwickelte Hardware, Software und Dokumentation gilt:
Copyright © 2012, 2013 Prof. Dr.-Ing. Albrecht Weinert <a-weinert.de>
weinert - automation Bochum <weinert-automation.de>
All right reserved.