Conitec NETPORT module sind intelligente Ein/Ausgabe-Module im Steckergehäuse mit Ethernetund USB- Anschluss. Sie sind einsetzbar als PC-I/O-Erweiterung oder für verteilte I/OAnwendungen 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.
Steuerung per Web-Interface
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
ParameterMinTypMaxEinheit
Versorgungsspannung81228V (DC)
Leistungsaufnahme 1W
Stromaufnahme USB20μA
I
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:
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
ParameterMin Typ Max Einheit
Versorgungsspannung81228V (DC)
Leistungsaufnahme 1 W
Stromaufnahme USB20μA
I
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 GamestudioHandbuch 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
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.