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
© Copyright 2024