Conitec NETPORT, NETPORT-84OCO, NETPORT-48OCA User manual [ml]

NETPORT Module
N
Conitec NETPORT module sind intelligente Ein/Ausgabe-Module im Steckergehäuse mit Ethernet­und USB- Anschluss. Sie sind einsetzbar als PC-I/O-Erweiterung oder für verteilte I/O­Anwendungen im Netzwerk - wie z.B. Datenerfassung, Prozessüberwachung, Ansteuerung von Relais, Motoren, Servos oder Lampen. Alle NETPORT Module können eigenständig Skripte ausführen. Auf diese Weise lassen sich einfache Steuer- und Überwachungsaufgaben im Netz auch ohne Kontrolle durch einen PC durchführen.
Um ein am Netzwerk angeschlossenes Modul zu konfigurieren, ist keine Zusatzsoftware erforderlich
- ein Browser genügt. Jedes NETPORT-Modul enthält einen HTTP-Server. Sobald das Modul mit dem LAN oder mit einem USB-Port verbunden wurde, lässt es sich über ein Webinterface konfigurieren, ähnlich wie ein Router. Per Webinterface können I/O-Ports direkt gesetzt oder abgefragt oder einfache Skripte in einer C-Sprache eingegeben werden. Diese Skripte werden dann auf dem Modul in einer Endlosschleife ausgeführt. Das Web-Interface Design kann an eigene Anforderungen angepasst werden.
Steuerung per Befehlszeile
Skripte zur Steuerung lassen sich auch mit einem einfachen Befehlszeileninterface an ein
ETPORT-Modul übertragen und dort automatisch ausführen.
Steuerung per Software
Für komplexe Steueraufgaben steht eine DLL zur Verfügung, um NETPORT Module in eigene Software einzubinden.
Technische Daten NETPORT-48OCA
g
N
Mini USB 2.0 und Ethernet 10/100 Anschluss Abmessungen ca. 64 x 42 x 18 mm DSUB-15 Stecker für Ein/Ausgänge 4 Open-Collector Ausgänge, max. 100 mA 2 Analog-Eingänge, 10 Bit, Referenzspannung 1.1 / 3.3V 6 Universal-Ein/Ausgänge, umkonfigurierbar analog/digital PWM Signalgenerator für Motoren oder Servos, Jitter < 50 us Piezo Signalgeber, Lautstärke und Frequenz einstellbar Interner ARM9 RISC Prozessor mit Linux Kernel C Skriptsprache für I/O Tasks, läuft direkt auf dem Modul
Elektrische Daten und Einsatzbedingungen
Parameter Min Typ Max Einheit
Versorgungsspannung 8 12 28 V (DC) Leistungsaufnahme 1 W Stromaufnahme USB 20 μA I
OX
I
IX
fPiezo 800 4000 Hz SoftPWM Frequenz 100 10000 Hz SoftPWM Jitter 50 μs Zul. Betriebstemperatur 0 60 °C Lagertemperatur -25 75 °C Schutzart IP20
100 mA
5 20 mA
Schnittstellen
Schnittstelle Werkseinstellung Dienste
Ethernet 10/100MBPs, Auto Negotiation
00:11:ef:e0:xx:xx bis 00:11:ef:e7:xx:xx
USB Mini Fullspeed (12 MBits/s),
Ethernet Emulation, Powered by Device
Stromversorgung 3,81 mm, 2polig, verpolungssicher 8..28V
192.168.1.12 FTP, Telnet, Http, MADBridge
192.168.167.12 FTP, Telnet, Http, MADBridge
DasModul kann sowohl über die Stromversorgungsbuchse, als auch über Pin 8 (VIn) und Pin 4 (GND) des 15-poligen DSUB Steckers versorgt werden.
Ein/Ausgänge
r
Pin Signal Bemerkung
g
N
1 AGND Analog Ground 2 GPIO11 / OC3 Open Collector Ausgang 3 GPIO10 / OC2 Open Collector Ausgang 4 GND Stromversorgung GND 5 GPIO9 / OC1 Open Collector Ausgang 6 GPIO8 / OC0 Open Collector Ausgang 7 GPIO0 / AD0 Analogeingang 8 VCC Stromversorgung VCC 9 GPIO1 / ADIO1 GPIO / Analogeingang 10 GPIO2 / ADIO2 GPIO / Analogeingang 11 GPIO3 / ADIO3 GPIO / Analogeingang 12 GPIO4 / ADIO4 GPIO / Analogeingang 13 GPIO5 / ADIO5 GPIO / Analogeingang 14 GPIO6 / ADIO6 GPIO / Analogeingang 15 GPIO7 / AD7 Analogeingang
Pinfunktionen
Jedes I/O Pin kann per Web-Interface, per Skript oder per Fernsteuerung konfiguriert werden. Zu Konfiguration gehören:
Name des Pins Portrichtung (Ein- oder Ausgang) Zusatzfunktionen (Analogeingang, SoftPWM)
Der Name eines I/O Pins hat rein dokumentatorischen Wert. Er wird in derWeboberfläche angezeigt und kann frei vergeben werden. Ein I/O Pin kann folgende Funktionen haben:
Analoger Eingang mit 3.3V Referenzspannung (AIN33) Analoger Eingang mit 1.1V Referenzspannung (AIN11) Digitaler Eingang 3.3V Pegel (DI33) Digitaler Ausgang 3.3V Pegel (DO33) Digitaler Openkollektorausgang (DOOC) Invertierender digitaler Eingang 3.3V Pegel (IDI33) Invertierender digitaler Ausgang 3.3V Pegel (IDO33) Software-implementierte PWM (Pulse Width Modulation) (SPWM) Invertierte Software-implementierte PWM (ISPWM)
Nicht alle Pins unterstützen alle Funktionen. Folgende Tabelle zeigt die verfügbaren Funktionen der einzelnen Pins:
Technische Daten NETPORT-84OCO
N
z Mini USB 2.0 und Ethernet 10/100 Anschluss z Abmessungen ca. 64 x 42 x 18 mm z DSUB-15 Stecker für Ein/Ausgänge z 8 Open-Collector Ausgänge, max. 100 mA z 4 Optokoppler-Eingänge, 20 mA z PWM Signalgenerator für Motoren oder Servos z Piezo Signalgeber, Lautstärke und Frequenz einstellbar z Interner ARM9 RISC Prozessor mit Linux Kernel z C Skriptsprache für I/O Tasks, läuft direkt auf dem Modul
Elektrische Daten und Einsatzbedingungen
Parameter Min Typ Max Einheit
Versorgungsspannung 8 12 28 V (DC) Leistungsaufnahme 1 W Stromaufnahme USB 20 μA I
OX
I
IX
fPiezo 800 4000 Hz Zul. Betriebstemperatur 0 60 °C Lagertemperatur -25 75 °C Schutzart IP20
100 mA
5 20mA
Schnittstellen
Schnittstelle Werkseinstellung Dienste
10/100MBPs, Auto Negotiation
Ethernet
00:11:ef:e0:xx:xx bis
192.168.1.12
00:11:ef:e7:xx:xx Fullspeed (12 MBits/s),
USB Mini
Ethernet Emulation,
192.168.167.12
Powered by Device
Stromversorgung 3,81 mm, 2polig, verpolungssicher 8..28V
FTP, Telnet, Http, MADBridge
FTP, Telnet, Http, MADBridge
DasModul kann sowohl über die Stromversorgungsbuchse, als auch über Pin 8 (VIn) und Pin 4
(GND) des 15-poligen DSUB Steckers versorgt werden.
N
Ein/Ausgänge
Pin Signal Bemerkung
1 OGND Optokoppler Ground 2 IN3 Optokoppler Eingang 3 IN2 Optokoppler Eingang 4 GND Stromversorgung GND 5 IN1 Optokoppler Eingang 6 IN0 Optokoppler Eingang 7 O7 Open Collector Ausgang 8 VCC Stromversorgung VCC 9 O6 Open Collector Ausgang 10 O5 Open Collector Ausgang 11 O4 Open Collector Ausgang 12 O3 Open Collector Ausgang 13 O2 Open Collector Ausgang 14 O1 Open Collector Ausgang 15 O0 Open Collector Ausgang
Demoboard
Das PIO84 Demoboard erlaubt den einfachen Einstieg in die Arbeit mit dem Modul. Es verfügt über acht LEDs, welche die Ausgangszustände anzeigen und vier Taster mit denen die Eingänge stimuliert werden können. Je nach Bestückungsoption können zusätzlich Leistungsschalter, sowie eine schaltbare Spannungsquelle vorhanden sein.
NETPORT Web Interface
N
Jedes NETPORT-Modul enthält einen HTTP-Server. Sobald das Modul mit dem LAN oder mit einem USB-Port verbunden wurde, lässt es sich über ein Webinterface konfigurieren, ähnlich wie ein Router. Sie erreichen das Modul, indem Sie dessen IP-Adresse in Ihren Browser eingeben (Werkseinstellung):
http://192.168.1.12
Kurz darauf erscheint das Web-Interface des Moduls. Es ist unterteilt in folgende Bereiche:
Box Control
In diesem Bereich können die Ausgänge gesteuert und die Eingänge eingelesen werden. Werte werden durch Klick auf [Update] aktualisiert. Je nach Einstellung unter Settings (s.u.) werden die Signalrichtungen dargestellt. Die manuelle Steuerung des Moduls ist auch dann möglich, wenn ein Skript auf dem Modul ausgeführt oder das Modul anderweitig ferngesteuert wird.
Script
In diesem Bereich der Webseite lassen sich einfache C-Skripte auf das Modul laden und ausführen (s. Skripte). Die Skripte können einfache Abläufe realisieren oder auch komplexe Steuerungsaufgaben erledigen. Sie werden direkt per Weboberfläche eingegeben und gespeichert, so dass sie beim nächsten Start automatisch ausgeführt werden (s. Settings). Syntax- oder Laufzeitfehler werden ebenfalls auf der Weboberfläche dargestellt.
Settings (Einstellungen)
Hier können die Einstellungen des Moduls verändert werden. Neue Einstellungen werden erst wirksam durch Klick auf [Apply Settings].
[Allow remote script] ermöglicht die Fernsteuerung des Moduls per TCP Port (s. Fernsteuerung).
[Download configuration] speichert die Konfiguration des Moduls. Je nach Browser erscheint eine Aufforderung zum Speichern der Datei. Diese Datei mit der Endung “.netbox” enthält alle Einstellungen wie IP-Adresse, I/O Konfiguration und auch das Skript. Zusätzlich wird die Seriennummer des Moduls gespeichert.
[Restore] lädt eine gespeicherte Konfiguration. Unter dem Menupunkt [Restore] kann angegeben werden, welche Inhalte wiederhergestellt werden sollen:
z [Restore Script] ersetzt das aktuelle Skript durch das in der Konfigurationsdatei (.netbox)
gespeicherte Skript.
z [Restore Settings] lädt IP Adresse, I/O Konfiguration und alle weiteren Einstellungen. z [Restore only when serial number matches] prüft zunächst, ob die Seriennummer des aktuellen
Gerätes mit der Seriennummer der Konfigurationsdatei übereinstimmt. Die Konfiguration wird nur in diesem Fall geladen. Wenn die Seriennummern nicht übereinstimmen, wird eine Fehlermeldung ausgegeben und nichts geändert.
z [Reboot after restoring data] startet das Modul nach Laden der Konfiguration automatisch neu.
NETPORT Fernsteuerung
j
g
g
g
N
Jedes NETPORT Modul kann mit C-Skriptdateien oder Software-Programmen per TCP-Socket ferngesteuert werden. Alle I/O Funktionen lassen sich durch Skriptbefehle auslösen. Diese Skriptbefehle werden von einem Skript-Interpreter auf dem Modul ausgeführt. Rückgabewerte werden über den Socket-Kanal zurückgesendet. Die Skript-Syntax entspricht ANSI C mit einigen Unterschieden. Pointer werden nicht unterstützt, dafür
edoch einige C++ Elemente wie z.B. Exceptions. Details zur Skriptsprache finden Sie in den folgenden
Kapiteln.
Um Skriptbefehle an das Modul zu senden, gibt ausser dem Webinterface
vielfältige weitere Möglichkeiten:
Fernsteuerung per Socket
Das Modul bedient zur Fernsteuerung den TCP Port 1233. Ein oder mehrere Socket Clients können sich zu diesem Port verbinden, ein Skript senden und somit die Box fernsteuern. Dabei werden die gleichen Skripte verwendet wie per Webinterface
z #include <netbox.h> ist nicht notwendig und kann weggelassen werden. z Das Skript sollte keine Endlosschleife enthalten, damit der Befehl beendet werden kann.
Alle Skripte werden quasiparallel ausgeführt. Wenn sich mehrere Clients verbinden, können also auch mehrere Befehle (z.B. Berechnungen) parallel zueinander ausgeführt werden. Jedes Skript hat Zugriff auf alle Resourcen wie I/O Leitungen.
!! Die Fernsteuerung über Remote Skripte ist nur aktiv, wenn unter Settings
- mit zwei Ausnahmen:
[Allow remote script] aktiv ist.
Fernsteuerung per GalepX
Das Modul lässt sich per MAD Bridge z.B. mit Hilfe der GalepX Programmiergeräte-Software fernsteuern. Ein Beispiel, wie eine solche Fernsteuerung aussehen kann, findet sich in der GalepX Distribution unter skripts/pio84oco/pio84oco.gxs. Dieses Skript öffnet auf der GalepX-Oberfläche ein Fenster, welches die Eingangszustände des PIO-Moduls darstellt und eine Steuerung der Ausgänge über Checkboxen erlaubt.
Fernsteuerung per Gamestudio
Das Multimedia-Entwicklungssystem Gamestudio (www.3dgamestudio.de) kann NETPORT-Module mit den lite-C Befehlen socket_connect, socket_send und socket_receive steuern. Details finden Sie im Gamestudio­Handbuch in der Dokumentation der lite-C Befehle.
Fernsteuerung per DLL
Die remote.dll Library ist ein einfacher Weg, um eine NETPORT Fernsteuerung in eigene Software zu implementieren. Die API enthält vier einfache Funktionen:
int RemoteConnect(char* IP,long iPort)
Öffnet eine Verbindung zum TCP Socket auf der angebenen IP-Adresse und Port. Liefert 0 zurück, wenn kein Socket Host gefunden wurde.
void RemoteClose() Schließt die Verbindung zum Socket; muss vor Programmende aufgerufen werden.
int RemoteSend(void *data,long size) Sendet den Inhalt des *data Puffers zum Socket, mit Pufferlänge size in Bytes.
int RemoteReceive(void *data,long size) Prüft, ob ein Datenpaket vom Socket empfangen wurde. In diesem Fall wird der *data Puffer mit dem Inhalt
efüllt und die Zahl der Bytes zurück
eliefert. Andernfalls wird 0 zurück
eliefert.
Die remote.dll library befindet sich im remote\API ordner, zusammen mit einem einfachen Testprogramm
N
RemoteTest.cpp, das die Benutzung der Library demonstriert.
Fernsteuerung per Linux
Unter Linux können Befehle direkt zum Modul per Shell-Skript gesendet werden. Der Shell-Befehl connect
192.168.1.12 port 1233 öffnet den Socket auf der angegebenen IP-Adrresse; die folgenden Befehle werden
dann direkt zum Socket gesendet.
Fernsteuer-Praxis
Sobald eine Verbindung zum Modul hergestellt wurde, kann es auf zwei verschiedene Arten gesteuert werden:
z Befehlsorientiert - Hierbei wird nur ein Befehl (oder eine kurze Sequenz) an das Modul gesendet. Nach
Abarbeitung der Sequenz wird die Verbindung durch das Modul beendet.
z Interaktiv - Hierzu wird als erstes der Befehl keep gesendet. Danach können beliebig viele Befehle
oder Sequenzen gesendet werden. Die Verbindung wird durch den Client beendet.
Die folgenden Beispiele verdeutlichen das Vorgehen in einer Linux-Shell und der Modul-Adresse
192.168.1.12:
Befehlsorientiert
connect 192.168.1.12 port 1233 (öffne Verbindung - nur Linux) print("Hallo World");\n (sende Skriptbefehl)
(warte auf Antwort)
#10 Hello World \n (empfange Antwort) #00 \n
(Modul beendet Verbindung)
Interaktiv
connect 192.168.1.12 port 1233 (öffne Verbindung - nur Linux) keep \n (halte Verbindung) print("Hallo World");\n (sende Skriptbefehl)
(warte auf Antwort)
#10 Hello World \n (empfange Antwort) #00 \n ... (sende mehr Befehle)
(Client beendet Verbindung)
latest version online
NETPORT Script Examples
The following example scripts can be directly copied and tested in the web interface:
Setting outputs
#include <netbox.h>
// blink output IO1 (100 ms on, 100 ms off) // GPIO1 must be set as OUTPUT
Loading...
+ 16 hidden pages