35
Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH

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

Embed Size (px)

Citation preview

Page 1: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

Modbus bei PCD2/3.Mxxx0

OCT, 23rd 2009, LAH

Page 2: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

2Modbus PCD3.Mxx0

Inhalt

• Modbus Saia®PCD Grundlagen

• Modbus Saia®PCD Client und Server

• Modbus Saia®PCD UID‘s, Mapping und Channel

• Behandlung von Werten

• Grenzwerte

Page 3: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

3Modbus PCD3.Mxx0

Modbus Grundlagen: « Saia Historie »

Seit einigen Jahren gibt es eine Lösung für den Einsatz des Modbus auf der Saia-PCD-Systemen. (mit einer FBox Bibliothek vom Engiby)

Mit dem Ziel folgendes zu erreichen: mehr Leistungsfähigkeit und für die Verwendung in zukünftigen MB panels (für den Zugriff auf Nicht-Saia-Systeme)Wurde das Modbusprotokoll in die Firmware der PCD3und der PCD2.M5xx0 eingefügt.

Firmware Version 1.10.16 oder Später unterstützen die „Modbus Saia Version“.

Für die Programmierung der Kommunikation gibt es eine FBox Bibliothek.

Page 4: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

4Modbus PCD3.Mxx0

Modbus Grundlagen

Modbus TCP / UDP

PG5 SoftwareSchneider SoftwareTwidoSuite

PCD3 M5540Modbus ServerIP : 10.1.2.101Station : 101

PCIP : 10.1.2.1

PCD3 M5540Modbus Client/ServerIP : 10.1.2.100Station : 100

PCD3 M5340Modbus ServerIP : 10.1.2.102Station : 102

Schneider Controller Twido PLCModbus ServerIP : 10.1.2.103Station : 103

Ethernet TCP / UDP

Page 5: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

5Modbus PCD3.Mxx0

Modbus Grundlagen

Modbus seriellPCD3 M5540Modbus ClientStation : 100

PCD3 M5340Modbus ServerStation : 102

RS485

Schneider Controller Twido PLCModbus ServerStation : 103

PCD3 M5540Modbus ServerStation : 101

Port 2

Port 2

Port 2

PCD3.F110Port 1

RS485

RTU / ASCII

RTU / ASCII

PCD3.F110Port 1

PCD3.F110Port 1

Page 6: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

6Modbus 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 können abgebildet werden auf: PCD Register, Timer, Counter und DBs

- Coils: 1 bit - read / write

- Discrete Inputs (DI): 1 bit - read only

Coils und DI können abgebildet werden auf: PCD Flags, Inputs und Outputs

Page 7: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

7Modbus PCD3.Mxx0

Modbus Grundlagen – Adressierungs Modell (Server)

Wie werden Adressen zwischen Modbus frame und Gerätemedien 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

Page 8: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

8Modbus PCD3.Mxx0

Modbus für Saia®PCD

Im Moment gibt es 8 Public Function Codes:

Name Code

Read Coils 1

Read Discrete Inputs 2

Read Holding Registers 3

Read Input Registers 4

(Force) Write single Coil 5

(Force) Write multiple Coils 15

(Preset) Write single Holding Register 6

(Preset) Write multiple Holding Registers 16

Page 9: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

9Name 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 Fällen von

Client / Server in den SFC’s, den FBoxen und der Dokumentation

gesprochen.

Page 10: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

10Modbus PCD3.Mxx0

Modbus bei Saia®PCD

Client und Server

Alle Protokolle sind eingebaut (RTU, ASCII, UDP, TCP)

Serieller Modbus ist auf allen Schnittstellen verfügbar, bis auf F2xx (RS232, RS485, RS422, mit/ohne Handshake, …), 1200 Bd 115kBd

Die Medienzuweisung kann vom Anwender definiert werden

Viele Datenverarbeitungen sind möglich Kompatibilität mit nicht Saia Geräten, Zugriff auf PCD Register, …

Page 11: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

11Modbus PCD3.Mxx0

Saia Modbus Server – Server Instances

Mehrere Server Instanzen sind möglich

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 können keine 2 identische Server Instanzen definiert werden.

Page 12: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

12Modbus PCD3.Mxx0

Saia Modbus Client - Channels

Channels werden für 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

Page 13: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

13Modbus 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 – für den Anwender versteckter Mechanismus

- Eine Verbindung kann nach einer vom Anwender definierten Zeit geschlossen werden (nur TCP/UDP)

Verbindungszugriff über logische Kanäle (Channels)

Mehrere Daten-Verarbeitungen können durchgeführt werden

Page 14: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

14Modbus 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

Page 15: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

15Modbus PCD3.Mxx0

Saia Modbus Client – Modbus Requests

Maximale Datenmengen

Das Datenfeld der Anfrage ist auf 253 Byte begrenzt

Für 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

Page 16: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

16Modbus 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)

Page 17: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

17Modbus PCD3.Mxx0

Modbus bei Saia®PCD: Mapping und UID‘s

Was ist eine UID? Eine UID ist wie eine S-Bus-Adresse. Der Unterschied ist, daß ein Server bis zu 9 Adressen

(UID’s) 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

Mapping

Mapping

MappingData Access

Data AccessZum Beispiel

R 1… R100F 1…F 10

R 101…R 200F 20 …F 30

R 500… R600F 100…F 150

R 700…R 800F 400 …F 500

Page 18: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

18Modbus PCD3.Mxx0

Modbus Besonderheiten: Mapping und UID‘s

Wofür benötigt man ein Mapping? Jede UID hat ein Mapping dasa den Zugriff auf bestimmte Resourcen zuläßt. Der Server gewährt ü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

R100…R102 32Bit

F0…F7

HR1…6 16Bit

Coil 0…7

Mapping

Read Int: HR 1…6 16Bit

Read Bin: Coil 0…7

R 1 [3]

F 0 [8]

Page 19: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

19Modbus 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 UID’s können vom Anwender definiert werden.

Für jede UID kann ein anderes Mapping verwendet werden

Pro UID können 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 UID’s möglich(außer Default UID)

Eine UID ist zur Laufzeit umkonfigurierbar

Page 20: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

20Modbus 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 UID’s möglich (außer Default UID) UID ist umkonfigurierbar CSF mit Define UID

Page 21: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

21Name of presentation

Modbus Besonderheiten: Default UID

UID 0 ist die Default UID

im Seriellen Modbus ist die Default UID immer aktiv und wird für 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 UID’s werden

von der Default UID beantwortet. Das bedeutet es wird immer

geantwortet, wenigstens mit einer Fehlermeldung.

Wenn ein Mapping für die Default UID im TCP/UDP konfiguriert wird, wird

dieses für die Default UID und alle nicht konfigurierten UID’s verwendet.

Default UID wird beim erstellen der ersten Server Instanz generiert Sie Muß vor der Verwendung konfiguriert werden (UID processing, Map, …)

Page 22: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

22Modbus 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)

UID1 UID2 UID3

Page 23: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

23Modbus PCD3.Mxx0

Saia Modbus Server – Media Mapping

Media mapping map Modbus media on PCD media

Media mapping zone :

Modbus Media PCD Media

Access Type

Media Type

Start Address

Range Media Type

Start Address

Range Area Type

Default mapping :

Page 24: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

24Name of presentation

Modbus Besonderheiten: Offset

Modbus Ressourcen werden mit 1 beginnend gezählt, aber im

Telegramm wird die Adresse mit 0 angefangen.

dieser Offset kann zu Diskussionen führen, weil der falsche Wert

gelesen oder geschrieben wird. Dies ist von den Einstellungen

auf beiden Seiten abhängig.

Mit den SFC‘s und FBoxen kann im Slave/Server der Offset

eingestellt werden.

Page 25: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

26Modbus PCD3.Mxx0

Saia Modbus Server – Diagnose

Diagnose reserviert Register und Flags

Für alle Server, UID bezogene Diagnose (Flags und Register)

Für serielle Server, zusätzlich serielle Diagnose

Aufbau ähnlich wie « SASI »

Flags: siehe Benutzerhandbuch (Bsp: RBSY, RFUL, TBSY)

Register: siehe Benutzerhandbuch (Reception Bit 0..15, Transmission Bit 16..31)

Page 26: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

27Name of presentation

Modbus Besonderheiten: Multiple Servers

Ein Modbus Channel wird durch eine Gruppe bestehend aus Port und Protokoll

definiert, z.B. Port 502 und TCP oder Port 2 und ASCII

Bis zu 4 Server Channels können pro PCD definiert werden. Der gleiche Channel kann nur einmal definiert werden Beispiel gültige Channels: 502 bei TCP, 502 bei UDP, 503 bei TCP,

Schnittstelle 2 bei ASCII

Channel: Communication channel, the number is not related to a physical port Serial port: Physical port

Protocol: Communication protocol

Page 27: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

28Name of presentation

Modbus Besonderheiten: 16 Bit und 32 Bit

Modbus ist 16 bit (word) orientiert Das Übertragen von 32 bit werten ist alltäglich, aber nicht genormt; weder für

für Ganzzahlen, noch für Gleitkommazahlen. das bedeutet es gibt verschiedene Wege 32 bit Werte auf Holding Register

abzubilden (mapping) und umgekehrt. Um das zu bewältigen werden die Methoden des Wort-Tauschens

(word swapping) und der Umformung (conversion) unterstützt.

Beispiel: ein Holding Register mit Vorzeichen mit dem Wert -5 wird auf ein

Register abgebildet. Die oberen 16 Bit des Empfangsregisters werden mit “1”

aufgefüllt, um einen 32 bit Wert zu erhalten. Wenn 32 Bit Werte mit anderen Herstellern ausgetauscht werden sollen, muß

man sich über das Mapping verständigen:

mit/ohne Vorzeichen?

Niederwertiges Wort zuerst? (Schneider Electric hat das LSW zuerst,

d.h. swap bytes)

nur bei Gleitkomma: IEEE or FFP?

Mapping address 01? (das erste Element von Modicon Geräten ist 1)

Page 28: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

29Modbus PCD3.Mxx0

Saia Modbus Server – UID Datenbehandlung

UIDs processing Behandlung der Daten für alle Anfragen zu der UID

Offset : Die Anfrageadresse wird um 1 erhöht; wird für manche clients, wie Schneider Electric verwendet

Saia Server: Modbus Adresse HR 0 Mapped auf Reg 0, HR1 on Reg 1

Schneider client requests element 1 modbus address 0

without offset: gets element mapped from HR 0 (here Reg 0)

with offset: gets element mapped from HR 1 (here Reg 1)

Swap: only used in 32-bits access

32-bits register wordwise swapped

MSW (16bits) LSW (16bits) LSW (16bits) MSW 1 (16bits)

DefMap: stellt fest, welches Mapping bei Anfragen verwendet wird

0: default mapping wird nicht verwendet nur Anwendermapping

1: wenn kein Anwendermapping paßt, wird das Default verwendet

Page 29: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

30Modbus PCD3.Mxx0

Saia Modbus Server – Media Mapping

Area Type Datenverarbeitung beim Empfang / vor dem Senden

Coils keine spezielle Behandlung

16 Bit mit Vorzeichen (nur Schreiben) wenn der Wert des HR / IR < 0,

setzt man das MSW des PCD Registers auf 0xFFFFBsp: HR = 0x8001 PCD register = 0xFFFF 8001

16 Bit ohne Vorzeichen das MSW des PCD Registers wird auf 0x0000 gesetztBsp: HR = 0x8001 PCD register = 0x0000 8001

32 Bit 2 HR / IR = 1 PCD Register, keine Behandlung

32 bit IEEE FFP wird in IEEE gewandelt bevor die Daten auf den Bus gesendet

werden (wird nur auf FFP Werte angewendet), IEEE wird in FFP gewandelt, bevor die

Daten auf PCD Medien geschrieben werden (nur nötig, wenn die Werte in FFP

gewünscht werden)

Page 30: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

31Modbus PCD3.Mxx0

Saia Modbus Client – Modbus Requests

Processing Datenbearbeitung nach Empfang / vor dem Senden

Coils_DI_Processing keine Bearbeitung

16 bits mit Vorzeichen (nur bei Leseanfragen) wenn HR / IRWert < 0, setzt man das MSW des PCD Registers auf 0xFFFFBsp: HR = 0x8001 PCD register = 0xFFFF 8000

16 bits ohne Vorzeichen MSW des PCD Registers wird auf 0x0000 gesetztBsp: HR = 0x8001 PCD register = 0x0000 8001

32 bits binär 2 HR / IR = 1 PCD register, keine Bearbeitung 32 bits tauschen 2 HR / IR wortweise tauschen = 1 PCD register

Bsp: HR0 = 0x1234, HR1 = 0x5678 PCD register = 0x1234 5678 (32 bits binär) PCD register = 0x5678 1234 (32 bits tauschen)

Page 31: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

32Modbus PCD3.Mxx0

Saia Modbus Client – Modbus Requests

Processing Datenbearbeitung beim Empfang / vor dem Senden

32 bits IEEE2FFP - 32 bits FFP2IEEEWandlung von FFP nach IEEE wird vor dem Senden auf den Bus durchgeführt (nur wenn der Anwender FFP Werte hat, sonst 32 Bit)

Wandlung von IEEE nach FFP vor dem Schreiben auf PCD-Medien

(nur wenn der Anwender FFP Werte benötigt, sonst 32 Bit)

Swap + 32 bits IEEE2FFP / 32 bits FFP2IEEEwortweise tauschen wird vor dem Senden / nach dem Empfang ausgeführt

Page 32: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

33Modbus PCD3.Mxx0

Saia Modbus Server – UID processing

Holes (Löcher): definiert, wie die Adressen zwischen HR (16 bits) und PCD Registern (32 bits) zugewiesen werden.

Saia Server: 16 HR von Adresse 0 Mapping auf 16 PCD Reg von Adresse 0

PCD Registers (Server)

Modbus Holding Registers

R0

HR4HR3HR2HR1HR0 HR5

R1 R2

R0 R2 R4

UID: Holes = 0, Offset = 0

UID: Holes = 1, Offset = 0

Page 33: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

34Modbus PCD3.Mxx0

Saia Modbus Server – Media Mapping

Was ist beim Zuordnen der Medien (media mapping) wichtig?

Die Anzahl der Elemente ist abhängig von der UID Verarbeitung« no holes », benötigt 1 PCD Register für 2 HR/IR –

« holes » benötigt zweimal so viele PCD Registers (2 PCD Register für 2 HR/IR)

In einem 32-bits Bereich, kann nicht auf eine ungerade Adresse eines HR/IR

zugegriffen werden

PCD Registers (Server)

Modbus Holding Registers

R0

HR4HR3HR2HR1HR0 HR5

R1 R2

R0 R2 R4

UID: Holes = 0, Offset = 0

UID: Holes = 1, Offset = 0

Page 34: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

35Modbus PCD3.Mxx0

Saia Modbus - Grenzwerte

Server: maximal 4 pro PCD System

zum Beispiel: 1 Server TCP port 502, 1 server TCP port 503, 1 server UDP port 502 and 1 server RTU on serial port 2.

UIDs: maximum 10 pro PCD System: 10 = 9 + DefaultUID

Mapping Areas: maximum 10 pro UID wenn mehr als 10 mapping areas erforderlich sind, kann eine zusätzliche UID definiert werden

Channels: maximum 10 pro PCD System zum Beispiel: 1 channel TCP to server port 502, 1 channel TCP to server port 503, 1 channel UDP to server port 502 and 1 channel RTU using port 1.

Connections: max 26 Verbindungen gleichzeitig offen. maximum 10 connections offen auf dem Client verbleibende connections können vom Server genutzt werden

Page 35: Modbus bei PCD2/3.Mxxx0 OCT, 23rd 2009, LAH. 2 Modbus PCD3.Mxx0 Inhalt Modbus Saia ® PCD Grundlagen Modbus Saia ® PCD Client und Server Modbus Saia ®

36Modbus PCD3.Mxx0

Modbus

Noch Fragen?

Vielen Dank!