Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD...

Click here to load reader

  • date post

    06-Apr-2015
  • Category

    Documents

  • view

    128
  • download

    7

Embed Size (px)

Transcript of Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD...

  • Folie 1
  • Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH
  • Folie 2
  • 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia PCD Grundlagen Modbus Saia PCD Client und Server Modbus Saia PCD UIDs, Mapping und Channel Behandlung von Werten Grenzwerte
  • Folie 3
  • 3 Modbus PCD3.Mxx0 Modbus Grundlagen: Saia Historie Seit einigen Jahren gibt es eine Lsung fr den Einsatz des Modbus auf der Saia-PCD-Systemen. (mit einer FBox Bibliothek vom Engiby) Mit dem Ziel folgendes zu erreichen: mehr Leistungsfhigkeit und fr die Verwendung in zuknftigen MB panels (fr den Zugriff auf Nicht-Saia-Systeme) Wurde das Modbusprotokoll in die Firmware der PCD3 und der PCD2.M5xx0 eingefgt. Firmware Version 1.10.16 oder Spter untersttzen die Modbus Saia Version. Fr die Programmierung der Kommunikation gibt es eine FBox Bibliothek.
  • Folie 4
  • 4 Modbus PCD3.Mxx0 Modbus Grundlagen Modbus TCP / UDP
  • Folie 5
  • 5 Modbus PCD3.Mxx0 Modbus Grundlagen Modbus seriell
  • Folie 6
  • 6 Modbus PCD3.Mxx0 Modbus Grundlagen Das Daten Modell Es gibt 4 Modbus Medien Typen: -Holding Registers (HR): 16 bits - read / write -Input Registers (IR): 16 bits - read only HR und IR knnen abgebildet werden auf: PCD Register, Timer, Counter und DBs -Coils: 1 bit - read / write -Discrete Inputs (DI): 1 bit - read only Coils und DI knnen abgebildet werden auf: PCD Flags, Inputs und Outputs
  • Folie 7
  • 7 Modbus PCD3.Mxx0 Modbus Grundlagen Adressierungs Modell (Server) Wie werden Adressen zwischen Modbus frame und Gertemedien abgebildet? Modbus frame: jeder Wert adressiert von 0 to 65535 Modbus data model: Jedes Element innerhalb eines Bereichs hat die Nummer 1 bis n Die Zuordnung zwischen dem Modbus data model und der Device Application ist Herstellerbezogen PCD IOs PCD Flags PCD Registers PCD Timers
  • Folie 8
  • 8 Modbus PCD3.Mxx0 Modbus fr Saia PCD Im Moment gibt es 8 Public Function Codes: NameCode Read Coils 1 Read Discrete Inputs 2 Read Holding Registers 3 Read Input Registers 4 (Force) Write single Coil 5 (Force) Write multiple Coils15 (Preset) Write single Holding Register 6 (Preset) Write multiple Holding Registers16
  • Folie 9
  • 9 Name of presentation Modbus bei Saia PCD: Master / Slave und Client / Server Der Serielle Modbus ist eigentlich Master / Slave orientert Der Modbus auf TCP/UDP ist Client / Server orientert Zur Vereinfachung wird bei der Saia-PCD in beiden Fllen von Client / Server in den SFCs, den FBoxen und der Dokumentation gesprochen.
  • Folie 10
  • 10 Modbus PCD3.Mxx0 Modbus bei Saia PCD Client und Server Alle Protokolle sind eingebaut (RTU, ASCII, UDP, TCP) Serieller Modbus ist auf allen Schnittstellen verfgbar, bis auf F2xx (RS232, RS485, RS422, mit/ohne Handshake, ), 1200 Bd 115kBd Die Medienzuweisung kann vom Anwender definiert werden Viele Datenverarbeitungen sind mglich Kompatibilitt mit nicht Saia Gerten, Zugriff auf PCD Register,
  • Folie 11
  • 11 Modbus PCD3.Mxx0 Saia Modbus Server Server Instances Mehrere Server Instanzen sind mglich Server = {Port + Protocol} -Seriell: es sollte pro Schnittstelle nur ein Server verwendet werden (RTU auf Schnittstelle 1, ASCII auf Schnittstelle 2) -TCP/UDP: logische Schnittstelle mehrere Server auf dem gleichen Port / oder dem gleichen Protokoll (TCP auf Port 502, UDP auf Port 502, TCP auf Port 503, ) Server Zugang ber Verbindungen -Seriell und UDP: eine Verbindung pro Server Instanz -TCP: eine Verbindung pro angeschlossenem Client Es knnen keine 2 identische Server Instanzen definiert werden.
  • Folie 12
  • 12 Modbus PCD3.Mxx0 Saia Modbus Client - Channels Channels werden fr die Anfragen beim Server verwendet Channel = {Port - Protocol} Port = local port number (Serial) or remote server port (TCP/UDP) Ex: {RTU Port 2}, {TCP Port 502} Diagnostics Timeouts: Close timeout close connection (TCP/UDP) 0 for closing connection immediatly Response timeout time within the response is expected Channel busy from request sending to response reception (or Response timeout) cannot send another request Cannot define 2 identical channels
  • Folie 13
  • 13 Modbus PCD3.Mxx0 Saia Modbus Client Saia PCD Client Lese- / Schreib-Anfragen (Requests) Kommunikation ber Verbindungen (connections) -Verbindung = {Port Protocol ( IP address)} eine Verbindung pro IP Adresse -Vor dem Send Request wird eine Verbindung aufgebaut fr den Anwender versteckter Mechanismus -Eine Verbindung kann nach einer vom Anwender definierten Zeit geschlossen werden (nur TCP/UDP) Verbindungszugriff ber logische Kanle (Channels) Mehrere Daten-Verarbeitungen knnen durchgefhrt werden
  • Folie 14
  • 14 Modbus PCD3.Mxx0 Saia Modbus Client Modbus Requests Read / Write requests Sent over a Channel ID to an IP address connection Sent to a UID with a Function Code Modbus Start address + number of Modbus elements Saia address set by user is address sent in the frame Related to server mapping see server device User manual PCD media: Write request: location where the data are read before being sent Read request: location where to store the requested data Processing data processing before sending / after receiving
  • Folie 15
  • 15 Modbus PCD3.Mxx0 Saia Modbus Client Modbus Requests Maximale Datenmengen Das Datenfeld der Anfrage ist auf 253 Byte begrenzt Fr Saia PCD: Read Coils / DI: maximale Anzahl der abgefragten Elemente = 2000 Write Coils: maximale Anzahl der gesendeten Elemente = 1968 Read HR / IR: maximale Anzahl der abgefragten HR/IR = 125 max 62 PCD Register Write HR: maximale Anzahl der gesendeten HR = 123 max 61 PCD Register
  • Folie 16
  • 16 Modbus PCD3.Mxx0 Saia Modbus Client Diagnose Diagnose reservierte Register und Flags Channel bezogene Diagnostic (Flags und Register) Aufbau hnlich wie SASI Flags: siehe Benutzerhandbuch (Bsp: RBSY, RFUL, TBSY) Registers: siehe Benutzerhandbuch (Reception Bit 0..15, Transmission Bit 16..31)
  • Folie 17
  • 17 Modbus PCD3.Mxx0 Modbus bei Saia PCD: Mapping und UIDs Was ist eine UID? Eine UID ist wie eine S-Bus-Adresse. Der Unterschied ist, da ein Server bis zu 9 Adressen (UIDs) haben kann. Jede UID hat ein eigenes Mapping Auf eine UID kann ber jeden Modbus Port und Channel zugegriffen werden. Client 2 Client 1 Physical Connection UID 1 UID 2 UID 3 UID 4 Mapping Data Access Zum Beispiel R 1 R100 F 1F 10 R 101R 200 F 20 F 30 R 500 R600 F 100F 150 R 700R 800 F 400 F 500
  • Folie 18
  • 18 Modbus PCD3.Mxx0 Modbus Besonderheiten: Mapping und UIDs Wofr bentigt man ein Mapping? Jede UID hat ein Mapping dasa den Zugriff auf bestimmte Resourcen zult. Der Server gewhrt ber das Mapping Zugriff auf die angeforderten Resourcen. Der Client kann Resourcen aus dem Server lesen oder schreiben und auf die eigenen Variablen abbilden. Client Server Mapping R100R102 32Bit F0F7 HR16 16Bit Coil 07 Mapping Read Int: HR 16 16Bit Read Bin: Coil 07 R 1 [3] F 0 [8]
  • Folie 19
  • 19 Modbus PCD3.Mxx0 Saia Modbus Server Mapping und UIDs Unit ID (UID) = normalerweise als Server Identifier verwendet (Serial) UID beschreibt die Grundlegende Behandlung von Daten bezogen auf diese UID Auf der PCD sind bis zu 9 UIDs definierbar, + default UID 0. Die UIDs knnen vom Anwender definiert werden. Fr jede UID kann ein anderes Mapping verwendet werden Pro UID knnen bis zu 10 Mappingbereiche verwendet werden UID mu im Bereich 0 254 (0 247 in seriell) sein Das default Mapping, UID 0, darf keine Adresskollisionen verursachen. Eine UID darf nur einmal in einem Netzwerk vorhanden sein UIDs sind auf alle Server Instanzen bezogen, also alle Modbus Ports Auf einer seriellen Schnittstelle sind keine 2 gleiche UIDs mglich (auer Default UID) Eine UID ist zur Laufzeit umkonfigurierbar
  • Folie 20
  • 20 Modbus PCD3.Mxx0 Saia Modbus Server UIDs Unit ID (UID) = normalerweise als Server Identifier verwendet (Serial) Auf der PCD, mehrere UIDs sind definierbar (Max 9 + default UID 0) UID mu im Bereich 0 254 (0 247 in serial) sein UIDs sind auf alle Server Instanzen bezogen Default UID Broadcast in Serial Antwortet immer bei TCP/UDP: wenn die empfangene UID nicht gefunden wird, wird die default UID verwendet Default UID wird beim erstellen der ersten Server Instanz generiert Mu vor der Verwendung konfiguriert werden (UID processing, Map, ) UID Grundlegende Behandlung von Daten bezogen auf diese UID Many UIDs verschiedene Datenbehandlungen, erweitertes Mapping, Auf einer seriellen Schnittstelle sind keine 2 gleiche UIDs mglich (auer Default UID) UID ist umkonfigurierbar CSF mit Define UID
  • Folie 21
  • 21 Name of presentation Modbus Besonderheiten: Default UID UID 0 ist die Default UID im Seriellen Modbus ist die Default UID immer aktiv und wird fr den Empfang von Broadcast Telegrammen verwendet im TCP/UDP ist die Default UID auch immer aktiv, es ist jedoch kein Mapping zugeordnet. Anfragen zu nicht existierenden UIDs werden von der Default UID beantwortet. Das bedeutet es wird immer geantwortet, wenigstens mit einer Fehlermeldung. Wenn ein Mapping fr die Default UID im TCP/UDP konfiguriert wird, wird dieses fr die Default UID und alle nicht konfigurierten UIDs verwendet. Default UID wird beim erstellen der ersten Server Instanz generiert Sie Mu vor der Verwendung konfiguriert werden (UID processing, Map, )
  • Folie 22
  • 22 Modbus PCD3.Mxx0 Saia Modbus Server SaiaPCD Map 1.6 Map 1.5 Map 1.4 Map 1.3 Map 1.2 Map 1.1 Map 2.2 Map 2.1 Map 3.5 Map 3.4 Map 3.3 Map 3.2 Map 3.1 Default Mapping Server 1 (RTU Port 2)Server 2 (TCP Port 502) UID