IRF2000, IF1000 Application Note ModbusTCP API



Ähnliche Dokumente
IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Lexware professional und premium setzen bis einschließlich Version 2012 den Sybase SQL-Datenbankserver

Powermanager Server- Client- Installation

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

MC-Hx 006. Einbindung des MC-Hx Modul als MODBus TCP Slave. MB DataTec GmbH. Stand:

Guide DynDNS und Portforwarding

Firewalls für Lexware Info Service konfigurieren

Schnellstart. MX510 mit public.ip via OpenVPN

Firewalls für Lexware Info Service konfigurieren

ISi. ISi Technologie GmbH. MET -Schnittstelle zu Davis WeatherLink Version 5.7

Konfiguration Firewall (Zyxel Zywall 10) (von Gruppe Schraubenmeier)

IRF2000 Application Note Eingeschränkter Remote Zugriff

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler Oktober 2008 Version 1.0.

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version Deutsch

Virtual Private Network

2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein

Switching. Übung 7 Spanning Tree. 7.1 Szenario

estos UCServer Multiline TAPI Driver

Anleitung mtan (SMS-Authentisierung) mit Cisco IPSec VPN

msm net ingenieurbüro meissner kompetent - kreativ - innovativ

XT Großhandelsangebote

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

Collax VPN. Howto. Vorraussetzungen Collax Security Gateway Collax Business Server Collax Platform Server inkl. Collax Modul Gatekeeper

Tutorial -

Konfigurationsanleitung Standortkopplung mit SIP Trunking (Client / Server) Graphical User Interface (GUI) Seite - 1 -

Application Note MiniRouter: IPsec-Konfiguration und -Zugriff

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Installationsanleitung OpenVPN

Virtual Channel installieren

System-Update Addendum

Anbindung des eibport an das Internet

Collax PPTP-VPN. Howto

Anleitung Captain Logfex 2013

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

Anleitung zur Nutzung des SharePort Utility

BüroWARE Exchange Synchronisation Grundlagen und Voraussetzungen

Anleitung zur Anmeldung mittels VPN

Technical Note ewon über DSL & VPN mit einander verbinden

iphone 4 - Einrichtung des VPN Clients (Cisco VPN Client) / Verbinden des iphones mit einem Exchange

Konfiguration der Yeastar MyPBX IP-Telefonanlagen mit iway Business SIP Trunk

Konfigurationsbeispiel ZyWALL USG

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

Live Update (Auto Update)

Wissenswertes über LiveUpdate

ANYWHERE Zugriff von externen Arbeitsplätzen

CDRServer 2011 / Installationsanleitung Step-by-Step. elcom

Mobile Banking App Bedienungsanleitung

HSR git und subversion HowTo

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

OP-LOG

1Im Gegensatz zu den übrigen Web-IO Digital, ist bei den

Dokumentation IBIS Monitor

Technical Note 0302 ewon

Step by Step VPN unter Windows Server von Christian Bartl

FrontDoor/Monitor mehr sehen von FrontDoor

Technical Note 0404 ewon

Root-Server für anspruchsvolle Lösungen

Einführung Inhaltsverzeichnis

1. IPSec Verbindung zwischen 2 Gateways mit dynamischen IP Adressen

Step by Step Webserver unter Windows Server von Christian Bartl

BusinessMail X.400 Webinterface Gruppenadministrator V2.6

FETCH / WRITE-KOMMUNIKATION ZU EINER S7-SPS IM PROFIBUS-NETZ (ROUTING) VIA

Konfigurationsanleitung SIP Trunking und ISDN Anlagenanschluss Graphical User Interface (GUI) Seite - 1 -

ADSL-Verbindungen über PPtP (Mac OS X 10.1)

Anwenderdokumentation AccountPlus GWUPSTAT.EXE

SharePoint Demonstration

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Klicken Sie mit einem Doppelklick auf das Symbol Arbeitsplatz auf Ihrem Desktop. Es öffnet sich das folgende Fenster.

M-net -Adressen einrichten - Apple iphone

POP -Konto auf iphone mit ios 6 einrichten

Thermoguard. Thermoguard CIM Custom Integration Module Version 2.70

Abgesetzte Nebenstelle TECHNIK-TIPPS VON per VPN

Einrichtung -Account

Benutzerhandbuch MedHQ-App

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Um DynDNS zu konfigurieren, muss ausschließlich folgendes Menü konfiguriert werden:

Abruf und Versand von Mails mit Verschlüsselung

EasyWk DAS Schwimmwettkampfprogramm

Software zur Anbindung Ihrer Maschinen über Wireless- (GPRS/EDGE) und Breitbandanbindungen (DSL, LAN)

Lizenz-Server überwachen

How-To-Do. Fernwartung einer VIPA Steuerung via Ethernet

Überprüfung der digital signierten E-Rechnung

GeoPilot (Android) die App

Kurzanleitung zum Einrichten des fmail Outlook Addin

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Proxy. Krishna Tateneni Übersetzer: Stefan Winter

How-to: Webserver NAT. Securepoint Security System Version 2007nx

LabView7Express Gerätesteuerung über LAN in einer Client-Serverkonfiguration. 1. Steuerung eines VI über LAN

Windows / Mac User können sich unter folgenden Links die neueste Version des Citrix Receiver downloaden.

SANDBOXIE konfigurieren

WLAN mit WPA (wpa4fh)

IAC-BOX Netzwerkintegration. IAC-BOX Netzwerkintegration IACBOX.COM. Version Deutsch

Dokumentation. Novaline Datenbankassistent. Version

DNS-325/-320 und FXP

Transkript:

Version 2.0 Original-Application Note ads-tec GmbH IRF2000, IF1000 Application Note ModbusTCP API Version 2.0 Stand: 28.10.2014 ads-tec GmbH 2014

IRF2000 IF1000 2 Inhaltsverzeichnis 1 Einführung... 3 2 Konfiguration... 4 2.1 Modbus-TCP im Webinterface aktivieren... 4 2.2 Aktivierung von OpenVPN... 5 2.3 Auslesen der Statusregister... 5 3 Modbus/TCP Register Spezifikation... 5 3.1 Grundlegendes... 5 3.2 Registerübersicht... 6 3.3 Allgemeine Register... 7 3.3.1 Version (Register 0x00)... 7 3.3.2 Password (Register 0x01 und 0x02)... 7 3.4 CUT&ALARM... 7 3.4.1 Status (Register 0x10)... 7 3.4.2 Input (Register 0x20)... 7 3.5 SERVICE... 7 3.5.1 Status (Register 0x11)... 7 3.5.2 Input (Register 0x21)... 7 3.6 IPsec... 7 3.6.1 Status (Register 0x13)... 7 3.6.2 Input (Register 0x23)... 8 3.7 OpenVPN... 8 3.7.1 Status (Register 0x14-0x1D)... 8 3.7.2 Input (Register 0x24-0x2D)... 8 3.8 Big-LinX... 8 3.8.1 Status (Register 0x14-0x1D)... 8 3.8.2 Input (Register 0x24-0x2D)... 8

IRF2000 IF1000 3 Das Original dieser Betriebsanleitung wurde in deutscher Sprache verfasst. Jede nicht deutschsprachige Ausgabe dieser Betriebsanleitung ist eine Übersetzung der deutschen Betriebsanleitung. 1 Einführung Modbus-TCP erlaubt es, das Verhalten eines Geräts über Ethernet von einer SPS aus zu steuern und Zustände abzufragen. Auf der Firewall können über dieses Protokoll die Verbindungsdienste (SERVICE, IPsec und OpenVPN) kontrolliert und CUT&ALARM quittiert werden. Wenn zum Beispiel eine OpenVPN-Verbindung zwischen zwei Firewalls definiert und der Client als inaktiv konfiguriert wurde (siehe dazu den Usecase OpenVPN ), dann kann der Client von einer SPS aus via Modbus-TCP aktiviert und damit die OpenVPN-Verbindung aufgebaut werden. Dieser Application Note verwendet primär die IF1000 als Beispiel, die dargestellten Einstellungen sind jedoch auf auch auf der IRF2000 identisch vorhanden. Wichtige Hinweise: - Es kann sich nur eine SPS auf einmal mit dem Modbus-TCP-Server der Firewall verbinden. - Eine genaue Definition der Register befindet sich im Dokument IF1xxx Modbus-TCP Registerübersicht. - Die allgemeinen Register (Version, Password-High, Password-Low), die Statusregister und das CUT&ALARM-Inputregister können immer angesprochen werden (die Statusregister jedoch nur lesend). - Auf der IF1000 kann das SERVICE-Inputregister kann nur angesprochen werden, falls die Schnittstelle SERVICE aktiviert ist (über Modbus-TCP kann dann angewählt oder aufgelegt werden). - Das IPsec-Inputregister aktiviert oder deaktiviert den gesamten Service, das heißt alle definierten und aktivierten Verbindungen auf einmal. Solche mit aktivem Betriebsmodus werden sich automatisch verbinden, solche mit passivem Modus werden auf eine Verbindungsanfrage warten. Eine Einzelsteuerung der Verbindungen ist nicht möglich. - Ein OpenVPN-Inputregister kann nur angesprochen werden, falls der entsprechende Eintrag definiert ist (über Modbus-TCP kann der Eintrag dann aktiviert oder deaktiviert werden). Hierbei zählt nicht die Position in der Liste, sondern die assoziierte L2-VPN-Schnittstelle. Ist also zum Beispiel der relevante Eintrag mit der Schnittstelle L2-VPN3 assoziiert, dann muss das Statusregister und das Inputregister für OpenVPN-3 verwendet werden.

IRF2000 IF1000 4 2 Konfiguration 2.1 Modbus-TCP im Webinterface aktivieren Unter Konfiguration/Erweitert/Modbus-TCP kann der Modbus-TCP-Server aktiviert werden. Zusätzlich können folgende Einstellungen getroffen werden: Der Serverport kann frei gewählt werden. Wird kein Port spezifiziert, wird auf dem Standardport für Modbus-TCP (502) auf eingehende Anfragen gewartet. Der Zugriff kann auf einen bestimmten Client beschränkt werden. Dazu kann die Client-Adresse entweder als IP-Adresse oder als Hostname, der beim Serverstart aufgelöst wird, angegeben werden. Wird keine spezielle Client-Adresse angegeben, kann die Verbindung von jedem Rechner aus erfolgen. Um die Sicherheit weiter zu erhöhen, kann ein 32-Bit-Passwort spezifiziert werden. Bevor ein Client auf die Status- und Inputregister zugreifen kann, muss er die höherwertigen 16 Bit in das PASSWORD-HIGH -Register 0x01 und die niederwertigen 16 Bit in das PASSWORD-LOW - Register 0x02 schreiben, falls ein Passwort gesetzt ist. Ansonsten kann er direkt auf alle Register zugreifen. Um den Eventlog nicht zu überfüllen, werden normalerweise nur Zugriffsverletzungen (falls die IP-Adresse beschränkt ist oder ein Passwort verlangt wird) gemeldet. Wird Detaillierte Meldungen aktiviert, werden zusätzliche Informationen zu Verbindungsaufbau, Anfragen und Zugriffszeiten geloggt. Wichtige Hinweise: - Das Passwort wird überprüft, wenn der niederwertige Anteil in das Register 0x02 geschrieben wird. Lautet das Passwort zum Beispiel 0xaa11bb22, dann muss zuerst 0xaa11 in das Register 0x01 und anschließend 0xbb22 in das Register 0x02 geschrieben werden. Das Passwort gilt für die Dauer der TCP-Verbindung. Bei einem erneuten Verbindungsaufbau werden die Passwortregister auf 0x0000 zurückgesetzt. - Wird ein Hostname zur Einschränkung der Client-Adresse verwendet, wird dieser Name beim Serverstart zu einer IP-Adresse aufgelöst und nicht erst wenn die eigentliche Verbindung aufgebaut wird. Ändert sich also die Bedeutung eines Hostnamen, muss Modbus-TCP neu gestartet werden.

IRF2000 IF1000 5 2.2 Aktivierung von OpenVPN Um zum Beispiel einen OpenVPN-Eintrag zu aktivieren, der mit der OpenVPN-Schnittstelle L2-VPN1 assoziiert ist, muss die SPS mittels Funktionscode 0x10 (mehrere Register schreiben) den Register 0x24 der Unit 0x00 auf den Wert 1 setzen. Wird das Register auf 0 gesetzt, wird der Eintrag deaktiviert und die Verbindung wieder abgebaut. Wichtige Hinweise: - Die Unit 0 steht für die Firewall selbst und ist die einzig erlaubte Unit. - Die Aktivierung der Verbindung wird direkt ausgeführt und dauert ungefähr 10 Sekunden. Entsprechend lange braucht die Antwort auf die Anfrage. Der Receive-Timeout der SPS muss also hoch genug sein. - Das Inputregister enthält unabhängig vom Ergebnis der Aktion den zuletzt geschriebenen Wert (oder 0, falls das Inputregister bis dahin noch nicht geschrieben wurde). Der eigentliche Status der Verbindung muss aus dem entsprechenden Statusregister ausgelesen werden (für OpenVPN-1 zum Beispiel 0x14). - Die anderen Inputregister arbeiten analog (mit Ausnahme von CUT&ALARM-Register 0x10, das nur auf 0x00 zum Quittieren der Meldungen gesetzt werden kann). Für die genaue Beschreibung der Inputregister siehe Dokument IF1xxx Modbus-TCP Registerübersicht. 2.3 Auslesen der Statusregister Die SPS kann alle Statusregister in einer Anfrage abrufen. Dazu muss sie mittels des Funktionscodes 0x03 oder 0x04 von der Startadresse 0x10 der Unit 0x00 14 Register auslesen. Wichtige Hinweise: - Das Auslesen aller Statusregister dauert ungefähr 5 Sekunden. Aus Performanzgründen sollten die Statusregister also nicht zu oft ausgelesen werden (höchstens einmal die Minute). 3 Modbus/TCP Register Spezifikation 3.1 Grundlegendes Die Modbus-TCP-Implementierung basiert auf der offiziellen Dokumentation der Modbus-IDA Independent User Organization (http://modbus.org): http://www.modbus.org/docs/modbus_application_protocol_v1_1b.pdf http://www.modbus.org/docs/modbus_messaging_implementation_guide_v1_0b.pdf Auf der IF1000 un der IRF2000 läuft ein Modbus-TCP-Server, der Anfragen auf dem TCP-Port 502 (falls nicht anders konfiguriert) entgegennimmt. Aktuell kann nur die logische Unit 0 adressiert werden, welche für die Firewall selbst steht. Folgende Funktionscodes können vom Modbus-TCP-Server verarbeitet werden: 0x03 (Read Holding Registers) 0x04 (Read Input Registers) 0x10 (Write Multiple Registers) Die Leseoperationen 0x03 und 0x04 sind in ihrem Verhalten identisch. In den nachfolgenden Erklärungen steht Bit 0 für das niedrigstwertige und Bit 15 für das höchstwertige Bit des Registers.

IRF2000 IF1000 6 Sollte bei der Verarbeitung einer Anfrage ein Fehler auftreten, sind folgende Ausnahmecodes möglich: 0x01 Ungültiger Funktionscode Weder 0x03, noch 0x04, noch 0x10 wurde als Funktionscode verwendet. 0x02 Ungültiger Register Entweder existiert der Register nicht oder die gewünschte Operation kann nicht ausgeführt werden. 0x03 Ungültiger Registerwert Der zu schreibende Wert ist ungültig für den Register. 0x04 Server-Fehler Bei der Verarbeitung der Anfrage ist ein interner Fehler aufgetreten. Wichtiger Hinweis: Die Implementierung ist nicht zeitoptimiert. Der Aufbau einer OpenVPN-Verbindung kann zum Beispiel ungefähr 10 Sekunden dauern. Das Auslesen aller Statusregister in einer Anfrage kann ungefähr 5 Sekunden dauern. Dementsprechend lange braucht eine Antwort des Modbus-TCP-Servers. Aus Performanzgründen dürfen die Anfragen also nicht zu schnell erfolgen (insbesondere sollte der Status höchstens einmal die Minute abgefragt und auf die notwendigen Register beschränkt werden) und müssen die Timeouts der SPS hoch genug sein. Des Weiteren darf sich nur ein Client auf einmal mit dem Modbus-TCP-Server der Firewall verbinden. 3.2 Registerübersicht Allgemeine Register: 0x00 (VERSION) 0x01 (PASSWORD-HIGH) 0x02 (PASSWORD-LOW) Status-Register: 0x10 (CUT&ALARM) 0x11 (SERVICE) ( nur IF1000) 0x12 (reserviert) 0x13 (IPsec) 0x14 (OpenVPN-1) 0x1D (OpenVPN-10) 0x1E (Big-LinX VPN) Input-Register: 0x20 (CUT&ALARM) 0x21 (SERVICE) (nur IF1000) 0x22 (reserviert ) 0x23 (IPsec) 0x24 (OpenVPN-1) 0x2D (OpenVPN-10) 0x2E (Big-LinX VPN) Status-Register können nicht geschrieben werden. Für alle verbindungsspezifischen Status-Register ist der Inhalt ähnlich: Bit 0 enthält, ob die Verbindung überhaupt definiert ist, also entweder ein Eintrag existiert oder der Dienst aktiviert ist. Bit 1 enthält, ob die Verbindung aktiviert wurde. Für SERVICE ist dieses Bit nur temporär gesetzt, solange wie die Anwahl läuft. Bit 2 enthält, ob die Verbindung tatsächlich besteht. Die weiteren Bits geben typ-spezifische Informationen an. Input-Register können gelesen und geschrieben werden. Solange wie der entsprechende Dienst eines verbindungs-spezifischen Registers nicht aktiv beziehungsweise nicht konfigurierbar ist, ist jeder Schreibversuch ungültig und es wird der Ausnahmecode 0x02 (Ungültiger Register) zurückgegeben. Unabhängig vom Erfolg einer durch das Schreiben eines Inputregisters ausgelösten Aktion, wird der Wert in den Inputregister geschrieben und kann ausgelesen werden. Der eigentliche Status des entsprechenden Dienstes muss aus dem Statusregister abgefragt werden.

IRF2000 IF1000 7 3.3 Allgemeine Register 3.3.1 Version (Register 0x00) Ist momentan immer auf 0x0100 gesetzt und kann gelesen aber nicht geschrieben werden. Das höherwertige Byte ist die Major- und das niederwertige Byte die Minorversionsnummer. 3.3.2 Password (Register 0x01 und 0x02) Register 0x01 (PASSWORD-HIGH) ist der höherwertige Teil und Register 0x02 (PASSWORD-LOW) der niederwertige Teil des 32-Bit-Passworts. Beide Register können normal geschrieben und gelesen werden. Falls ein Passwort verlangt wird, muss dieses korrekt gesetzt werden, bevor auf die Status- und Inputregister zugegriffen werden kann. Die Passwortverifizierung wird durchgeführt, sobald der Register 0x02 geschrieben wird (Register 0x01 muss also als erstes gesetzt werden). Das Passwort gilt für die gesamte Dauer der TCP- Verbindung. Bei einem erneuten Verbindungsaufbau wird der Inhalt beider Register auf Null zurückgesetzt. 3.4 CUT&ALARM 3.4.1 Status (Register 0x10) 0 ALARM ALARM ist aktiv 1 Interner CUT CUT ist aktiv 2 Externer CUT CUT ist aktiv 3-15 Unbenutzt 3.4.2 Input (Register 0x20) Der Register kann mit dem Wert 0x0000 beschrieben werden, um ALARM und internen CUT zu quittieren. Der externe CUT kann auf diesem Weg nicht zurückgesetzt werden, da es sich um ein anliegendes Signal handelt. 0x0000 ist der einzig erlaubte Wert. 3.5 SERVICE Dieser Abschnitt ist nur auf den Geräten der IF1000 Serie verfügbar. 3.5.1 Status (Register 0x11) 0 Dienst aktiv Der Dienst ist aktiviert 1 Anwahl SERVICE versucht gerade sich zu einer Gegenstelle zu verbinden (nur Dial-Out) 2 Verbunden SERVICE ist mit einer Gegenstelle verbunden 3 Dial-Out SERVICE ist als Dial-Out konfiguriert (falls nicht gesetzt, dann als Dial-In) 4-15 Unbenutzt 3.5.2 Input (Register 0x21) Das Register kann entweder mit dem Wert 0x0001 (Verbindung aufbauen, nur für Dial-Out) oder mit dem Wert 0x0000 (Verbindung abbauen) beschrieben werden. 3.6 IPsec 3.6.1 Status (Register 0x13) Version 0.0:

IRF2000 IF1000 8 Version 1.0: 0 Dienst aktiv Der IPsec-Dienst ist aktiviert und die Verbindung als manuell konfiguriert 1 Aktiviert Die Verbindung ist aktiviert (bei Aktiv/Passiv immer) 2 Verbunden Tunnel ist aufgebaut 3 Manuell Verbindung kann explizit auf/abgebaut werden 4 Aktiv Modus, falls die Verbindung nicht manuell bedient werden kann (falls nicht gesetzt Passiv) 5 Dynamische Gegenstelle Die Verbindung wartet auf Roadwarriors (es sind also mehrere Verbindungen möglich) 6-7 Unbenutzt 8-15 Roadwarriors Anzahl der Roadwarriors 0 Definiert Mindestens eine Verbindung ist definiert 1 Aktiviert IPsec ist global aktiviert 2 Verbunden Mindestens ein Tunnel ist aufgebaut 3-7 Unbenutzt 8-15 Aktive Tunnel Wieviele IPsec-Tunnel tatsächlich aufgebaut sind 3.6.2 Input (Register 0x23) Das Register kann entweder mit dem Wert 0x0001 (Verbindung aktivieren) oder mit dem Wert 0x0000 (Verbindung deaktivieren) beschrieben werden. Für Versionen älter als 1.0 ist dies nur möglich, falls IPsec als manuell bedienbar konfiguriert ist. 3.7 OpenVPN 3.7.1 Status (Register 0x14-0x1D) 0 Definiert Der OpenVPN-Eintrag existiert 1 Aktiviert OpenVPN-Eintrag ist aktiviert 2 Verbunden Tunnel ist aufgebaut 3 Master Der Eintrag ist als Master konfiguriert 4-7 Unbenutzt 8-15 Clients Anzahl der Clients (nur Master) 3.7.2 Input (Register 0x24-0x2D) Das Register kann entweder mit dem Wert 0x0001 (Eintrag aktivieren) oder mit dem Wert 0x0000 (Eintrag deaktivieren) beschrieben werden, falls der Eintrag definiert ist. 3.8 Big-LinX 3.8.1 Status (Register0x1E) 0 Unbenutzt 1 Aktiviert Big-LinX VPN ist aktiviert. 2 Verbunden Der Tunnel ist aufgebaut 3.8.2 Input (Register0x2E) Das Register kann entweder mit dem Wert 0x0001 (Big-LinX VPN aktivieren) oder mit dem Wert 0x0000 (Big- LinX VPN deaktivieren) beschrieben werden. Voraussetzung ist, daß eine gültige PIN im Gerät gespeichert ist.