Modbus över Ethernet

Modbus över Ethernet
© W AGO Contact SA – TSS STR 2011
1
Modbus över Ethernet
En enorm mängd produkter stöder modbus.
Modbus kallas ibland för automationens minsta gemensamma nämnare.
Kanske är det för att modbus är relativt enkelt att förstå och billigt att
implementera som så många brancher och produkter har skaffat stöd för
modbus.
Vi hittar Modbus i
tillverkande industri,
Processindustri,
Fastigheter
Marina sektorn
Och på produkter som
Operatörspaneler
SCADAsystem
PLC:er
DUC:ar
Frekvensomriktare
Regulatorer
© W AGO Contact SA – TSS STR 2011
2
Modbus över Ethernet
Modbus över Ethernet stöder flexibel multimaster kommunikation
T.ex operatörspanel och SCADA läser i PLC. PLCn styr distrierat I/O, annan
PLC eller frekvensomriktare samtidigt. Om en central enhet slutar fungera kan
annan kommunikation fungera ändå.
Modbus UDP
Modbus TCP
Modbus TCP
© W AGO Contact SA – TSS STR 2011
3
Säkerhet
Modbus TCP & UDP är relativt säkert
Modbus meddelanden innehåller en checksumma för kontroll att
datan kommit fram korrekt.
Master vet om ordern utförts ordentligt
Modbus Mastern får svar från slaven att uppgiften utförts korrekt.
Slaven övervakar om mastern slutar skicka orders
Modbus slavar kan ofta utrustas med en modbus watchdog funktion.
T.ex. Ett I/O låter alla utgångar gå ner till lägsta nivå och en
decentraliserad PLC kan ta över en stand-alone drift vid
kommunikationsbortfall.
.
© W AGO Contact SA – TSS STR 2011
Modbus UDP
Modbus TCP
Modbus
TCP
4
Modbus UDP
Modbus TCP är den satta standarden för Modbus över Ethernet
Alla möjliga fabrikat stöder modbus TCP. Det är alltså det naturliga
valet från SCADA eller panel till styrsystem.
MODBUS UDP erbjuder bättre realtidegenskaper och lägre
busslast till i princip samma säkerhet.
Modbus i sig själv kontrollerar att korrekt data kommit fram. TCP har
samma uppgift. Eventuellt ett onödigt dubbeljobb.
TCP kräver att en uppkoppling hanteras. När det blir problem med en
TCP anslutning tar det ca 1 sekund att återansluta systemet. UDP
har bättre realtidegenskaper.
Med modbus UDP är det enklare att hantera kommunikation med
många enheter.
Modbus UDP öppnar upp för möjligheter med multicast lösningar.
Modbus UDP
Modbus TCP
Modbus
TCP
För kommunikation mellan WAGO produkter ges även möjligheten
till Modbus UDP.
Hanteringen för programmeraren är i stort sett densamma oavsett
TCP eller UDP
.
© W AGO Contact SA – TSS STR 2011
5
Modbus fråga
Mastern skickar ut en begäran. Men vad innehåller den?
1.
Modbus-slavens adress?
Alltså IP adressen till enheten vi vill läsa eller skriva till
2.
Vad vill vi att modbus-slaven ska göra?
Alltså vill vi läsa eller skriva?
Hur mycket vill vi läsa eller skriva?
Detta är definierat i en modbus funktionskod.
T.ex. Funktionskod 3: Läs register (16bitars)
3.
Function Code
Description
1
2
3
4
5
6
7
15
16
23
Read Coil Status
Read Input Status
Read Holding Registers
Read Multiple Register
Force Single Coil
Write Single Register
Read Exception Status
Write Multiple Coils
Write Multiple Register
read and write multiple register
Vad vill vi läsa/skriva i slaven.
Alltså på vilken modbus adress ligger information vi är ute efter. Det finns
ingen officiell standard för var data ska finnas. Det måste läsas ut i modbus
slavens manual.
© W AGO Contact SA – TSS STR 2011
6
WAGO och Modbus
WAGO Ethernet I/O och Controllers har modbus TCP/UDP slav funktion i drivrutinen.
Vi behöver alltså inte lägga in något funktionsblock för att fungera som modbus-slav.
© W AGO Contact SA – TSS STR 2011
7
WAGO och Modbus
Modbus Adresser för I/O i WAGO kopplare och controllers
Vi gör skillnad på adresserna för digitala och 16bit register modbus-funktioner
Digitala ingångar. Modbus adress 0-255
Digitala utgångar: Modbus adress 512-767
Analoga ingångar: Modbus adress 0-255
Analoga utgångar: Modbus adress 512-767
© W AGO Contact SA – TSS STR 2011
8
WAGO och Modbus
WAGO Ethernet Controllers minnes adresser.
Om en PLC variabel har en PLC adress kan den nås över modbus.
Modbus Adresser i t.ex. 750-88X
PLC adress
%MW0-%MW4096
Modbus adress
12288-16384
I ett styrsystem väljer man vanligtvis att låta PLCn styra utgångarna istället
för att modbus mastern styr utgångarna direkt. Modbus Mastern skriver
istället till PLC:ns minne.
© W AGO Contact SA – TSS STR 2011
9
WAGO och Modbus
Några exempel.
Läsa första digitala ingången:
FK:1 : adress: 0
Skriva andra analoga utgången:
FK: 6 adress: 513
Läsa och skriva alla digitala och analoga signaler med ett ända kommando
FK: 23 läs-adress 0 skriv-adress 512
Förklaring: Om vi läser många register så kan vi läsa de digitala
ingångarna på registret direkt efter den sista analoga ingången. Samma
sak gäller för utgångarna. Så jobbar vi vanligtvis för WAGO PLC till WAGO
I/O.
Läsa PLC variabel:
FK: 3 adress: 12298
(12288 + 10)
control_value1 AT %MW10: WORD;
© W AGO Contact SA – TSS STR 2011
10
Modbus från OPC och SCADA system
Börja räkna från 0 eller 1
Vissa system börjar räkna modbus adresser från 1 medan vi och modbus i
sig börjar från 0. T.ex. WAGOs första utgång blir på adress 513 istället för
512.
Kommando och Modbus adress i ett
Många OPC, Scada system vill sätta ihop kommando och modbus adress
till ett tal med ett antal 0or mellan. Vanligast är nog 6 siffrigt decimal-tal.
De använder första siffran som ett modbus kommando. Detta är inte
samma som modbus funktionskod.
0.
1.
3.
4.
Skriv Bool
Läs Bool
Skriv Register
Läs Register
Och sista kommer adressen.
T.ex första analoga utgången 300513
© W AGO Contact SA – TSS STR 2011
11
Olika dataformat
Byteswap bitswap
Modbus är rådata. Om datan repesenteras olika i master och slav system,
vill man nog ändra om den. T.ex. Växla ordningen på bytes eller bitar i 16
bitars registret.
Gällande byte order jobbar WAGOs processor enligt Intels standard. För
hantering av data från Motorola processorer måste de två bytesen i varje
16 bitars regiser byta plats.
Vi har Färdiga funktioner för Byteswap.
© W AGO Contact SA – TSS STR 2011
12
Configurator
© W AGO Contact SA – TSS STR 2011
13
Med
Configurator
Blir Modbus enkelt. Lättanvända menyer och stöd för Modbus Master
över Ethernet och seriellt kommunikation.
Framför allt WAGO-WAGO kommunikation blir svårslaget enkelt att
sätta upp. Man behöver inte kunna Modbus adresser eller
funktionskoder.
© W AGO Contact SA – TSS STR 2011
14
Öppna
Starta modbus Master configuratorn via Resources / PLC Configuration /
Modbus-Master / Network View
© W AGO Contact SA – TSS STR 2011
15
Process
Koden kommer genereras automatiskt, men vi måste sätta upp hur ofta
den ska köras. Högerklicka på på modbus master och välj edit.
© W AGO Contact SA – TSS STR 2011
16
Välj Ethernet eller seriellt
Högerklicka på Modbus Master och välj Ethernet eller seriellt gränssnitt
© W AGO Contact SA – TSS STR 2011
17
Lägg till slavar
Högerklicka på ditt interface för att lägga till modbus slavar.
Automatisk detektering av WAGO 750 slavar: Find devices
Manuell addering: Add Modbus slave
© W AGO Contact SA – TSS STR 2011
18
Lägg till slavar Automatiskt
Interface / Find devices
Sätt upp ett spann för att söka efter slavar.
T.ex. 192.168.1.1 till 192.168.1.255.
Välj de intressanta och tryck Apply.
Mjukvaran scannar automatiskt av
modulerna på valda slavar.
© W AGO Contact SA – TSS STR 2011
19
Lägg till slavar Manuellt
Interface / Add Modbus Slave
Välj rätt 750 produkt i listan
© W AGO Contact SA – TSS STR 2011
20
Lägg till slavar Manuellt
Välj rätt 750 produkt i listan eller Generic
för andra fabrikat.
Högerklicka sen på adderad produkt och
välj Edit. Skriv in rätt IP adress.
© W AGO Contact SA – TSS STR 2011
21
Lägg till slavar Manuellt
Välj K-Bus / Add
För att lägga till moduler på
samma sätt som lokalt I/O
© W AGO Contact SA – TSS STR 2011
22
Skapa I/O Variabler
För att skapa I/O Variabler gå in under K-bus och sätt namn under respektive I/O
kanal. Sätt läs/skriv rättigheter under Access.
© W AGO Contact SA – TSS STR 2011
23
Lägg till PLC variabler
För att läsa/skriva till minnes-variabler gå in under PLC variables och välj Add. Sätt
namn, datatyp, PLC adress och läs/skriv rättigheter.
För att kopiera från Configurator för att klistra in i slavens variabellista:Copy as
IEC61131 Code
Det går också att kopiera många rader från slavens variabellista och klistra in i
Configuratorn.
© W AGO Contact SA – TSS STR 2011
24
Lägg till Systemregister
För diagnostik och andra service register Högerklicka på generic variables och välj
Wago Modbus Registers.
© W AGO Contact SA – TSS STR 2011
25
Andra Modbus slavar
För andra fabrikat:
Add modbus slave. Välj generic.
Lägg till variabler under generic variables. ’
Sätt namn, datatyp och Read/Write access.
Högerklicka och välj Edit Address för att sätt funktionskod och modbus Adress
Man kan också sätta upp multipla objekt med en rad genom Number of Items.
© W AGO Contact SA – TSS STR 2011
26
Använd variabler i codesys
Variablerna kan nu användas i CoDeSys. Skriv [namnet på din slav].[variabelnamn]
Diagnostik kas läsas i [namnet på din slav].MBCFG_Error
© W AGO Contact SA – TSS STR 2011
27
Tips
Ändringar i Modbus Configurator kan inte laddas ner med Online Change
WAGO PLC-PLC Kommunikation sätts upp mycket fortare om man kopierar &
klistrar in mellan slavens variabellista och Modbus Configuratorn.
© W AGO Contact SA – TSS STR 2011
28
Kontaktinformation
[email protected]
08-584 106 80
Carsten Holm
Support Ingenjör automation
08-584-106-81
Simon Nilsson
Produkt specialist automation
08-584-106-83
© W AGO Kontakttechnik GmbH & Co. KG, PMA, ToK/JBe 02/2010
29
Tack tack tack
© W AGO Kontakttechnik GmbH & Co. KG, PMA, ToK/JBe 02/2010
30