Änderungen

Zur Navigation springen Zur Suche springen
5.565 Bytes hinzugefügt ,  13:25, 20. Sep. 2016
Das [[Wikipedia:de:Modbus|Modbus-Protokoll ]] wird von dem Deutschmann Unigate UNIGATE in vereinfachter Form umgesetzt. Die Berechnung der Checksumme und das Timing wird vom Unigate automatisch übernommen. Der Anwender muss nur den Bereich "Adresse Funktion Daten" verwalten. Weitere Informationen zum Modbus-Protokoll findet man hierDie Berechnung der Checksumme und das Timing wird vom UNIGATE automatisch übernommen.
== Konfiguration mit Wingate ==
Die einfachste Art das Modbus-Protokoll zu benutzen ist über die Konfiguration mit WINGATE.
 
Mit dieser flexiblen Methode kann der Anwender jeden beliebigen Datenframe austauschen. Das UNIGATE reicht diesen transparent durch.
 
Datenaustausch: SPS <- Adresse Funktion Daten -> Feldbus: UNIGATE :RS232/485 <- Start Adresse Funktion Daten CRC-Check -> Modbus-Teilnehmer.
Der Anwender muss in der SPS den Modbus-Frame verwalten.
 
=== Universal-Script ===
Das Script ist im Auslieferungszustand in jedem CL Gerät geladen. Detaillierte Informationen zur Konfiguration befinden sich im jeweiligen Handbuch im Kapitel "Implementierte Protokolle im UNIGATE CL mit Universalscript". ====CL-MPI == ==In dem folgenden Bild ist eine Beispielkonfiguration, in dem das UNIGATE auf der Applikationsseite als Modbus RTU Master fungiert und auf der Feldbusseite das Siemens MPI Protokoll unterstützt. [[Universal-Script Datei:Wingate UniversalScript CL-MPIModbus RTU Master.jpg]] ====( CL-MPI_UniversalScript.gwc ) Ablauf: Das UNIGATE liest selbständig die Daten aus dem Datenbaustein 101, die dem oben beschrieben Aufbau ( Adresse Funktion Daten ) entsprechen müssen, sendet diesen als Request über die Applikationsschnittstelle zum angeschlossenen Modbus Slaveteilnehmer, dieser antwortet mit einem Response. Der Response wird in dem Datenbaustein 100 ab Wordadresse 0 abgelegt. Bei der nächsten Änderung des Dateninhaltes von Datenbaustein 101 erfolgt der nächste Request. 
=== Universal-Script Modbus ===
Es werden nur die "Daten" ausgetauscht.
Das UNIGATE arbeitet selbstständig die konfigurierten Requests ab, es muss kein Modbus-Daten-Frame in der übergeordneten SPS vorhanden sein.
Dies erspart das Programmieren in der SPS.
 
==== CL-PROFIBUS ====
In dem folgenden Bild ist eine Beispielkonfiguration, in dem das UNIGATE auf der Applikationsseite als Modbus RTU Master fungiert und auf der Feldbusseite das Feldbusprotokoll Profibus unterstützt.
 
[[Datei:Wingate_UniversalScriptModbus_CL-Profibus_Modbus_RTU_Master.jpg]] ( example_CL-DP-Config256_Universal-Modbus.gwc )
 
Ablauf: Das UNIGATE führt selbständig die konfigurierten Requests über die Applikationsschnittstelle zum angeschlossenen Modbus Slaveteilnehmer aus, dieser antwortet mit einem Response. Die Daten aus dem Response werden auf den Feldbus kopiert.
 
Ein "record" besteht aus den Parametern "Slave ID = Adresse, Modbus Function = Funktion, StartAdr/No.Reg = Daten". Zusätzlich gibt es noch den Parameter "Fieldbus Map Adr". Damit lassen sich die Nutzdaten gezielt in/aus den Feldbusbereich kopieren. Ist der Wert 0 werden die Nutzdaten lückenlos aneinander gereiht.
Ist er ungleich Null ist es die x-te Byte Position im Feldbusbereich.
Ist der Eintrag in „Modbus Function“ = „no Function“ oder „disable“, so wird dieser und folgende records nicht mehr bearbeitet, die Abfrageschleife fängt wieder beim ersten record an.
 
== Programmieren mit dem Protocol Developer ==
=== Scriptbefehle ===
{| class="wikitable"
!Befehl!Applikationcolspan="2" |Schnittstelle!FeldbusMaster/Slave!colspan="2" |Geräteausführung
|-
|[[Link auf ersten Scriptbefehl|ModbusRTUTimeout]]style="text-align: center;" |Apl.|{{Ya}} Masterstyle="text-align: center;" |Feldbus|{{Ya}} Master|style="text-align: center;" |CL, IC|style="text-align: center;" |Feldbus
|-
|[[Link auf zweiten Scriptbefehl|ExchangeModbusRTUMaster]]Max_Modbus_Tx_Len|{{Ya}} Master
|{{Na}}
|style="text-align: center;" |M S
|style="text-align: center;" | "
|style="text-align: center;" | all
|-
|ModbusRTUTimeout
|{{Ya}}
|{{Na}}
|style="text-align: center;" |M
|style="text-align: center;" | "
|style="text-align: center;" | all
|-
|ExchangeModbusRTUMaster
|{{Ya}}
|{{Na}}
|style="text-align: center;" |M
|style="text-align: center;" | "
|style="text-align: center;" | all
|-
|ExchangeModbusASCIIMaster
|{{Ya}}
|{{Na}}
|style="text-align: center;" |M
|style="text-align: center;" | "
|style="text-align: center;" | all
|-
|ModBusASCII_Slv
|{{Ya}}
|{{Na}}
|style="text-align: center;" |S
|style="text-align: center;" | "
|style="text-align: center;" | all
|-
|ModbusSlaveAddress
|{{Ya}}
|{{Na}}
|style="text-align: center;" |S
|style="text-align: center;" | "
|style="text-align: center;" | all
|-
|ReadModbusSlave
|{{Ya}}
|{{Na}}
|style="text-align: center;" |S
|style="text-align: center;" | "
|style="text-align: center;" | all
|-
|WriteModbusSlave
|{{Ya}}
|{{Na}}
|style="text-align: center;" |S
|style="text-align: center;" | "
|style="text-align: center;" | all
|-
|BusBaudrate
|{{Na}}
|{{Ya}}
|style="text-align: center;" |M S
|style="text-align: center;" | "
|style="text-align: center;" |only RS
|-
|FBRS_ANZ_DAT_BITS
|{{Na}}
|{{Ya}}
|style="text-align: center;" |M S
|style="text-align: center;" | "
|style="text-align: center;" | all
|-
|FBRS_ANZ_STOP_BITS
|{{Na}}
|{{Ya}}
|style="text-align: center;" |M S
|style="text-align: center;" | "
|style="text-align: center;" | all
|-
|FBRS_PARITY
|{{Na}}
|{{Ya}}
|style="text-align: center;" |M S
|style="text-align: center;" | "
|style="text-align: center;" | all
|-
|FBRS_TYPE
|{{Na}}
|{{Ya}}
|style="text-align: center;" |M S
|style="text-align: center;" | "
|style="text-align: center;" | all
|-
|FBRSExchangeModbusRTUMaster
|{{Na}}
|{{Ya}}
|style="text-align: center;" |M
|style="text-align: center;" | "
|style="text-align: center;" | all
|-
|FieldbusID
|{{Na}}
|{{Ya}}
|style="text-align: center;" |S
|style="text-align: center;" | "
|style="text-align: center;" | all
|-
|FBRS_ModBusASCII_Slv
|{{Na}}
|{{Ya}}
|style="text-align: center;" |S
|style="text-align: center;" | "
|style="text-align: center;" | all
|-
|FBRSModRTUSlvRead
|{{Na}}
|{{Ya}}
|style="text-align: center;" |S
|style="text-align: center;" | "
|style="text-align: center;" | all
|-
|FBRSModRTUSlvWrite
|{{Na}}
|{{Ya}} Slave|style="text-align: center;" |S|style="text-align: center;" | "|style="text-align: center;" | all |-|InitFastEthernet|{{Na}}|{{Ya}}|style="text-align: center;" |S(erver)|style="text-align: center;" | "|style="text-align: center;" |only: Fast EthernetModbusTCP, IC-FEX
|-
|Zeile 4ReadBus
|{{Na}}
|{{Ya}}
|style="text-align: center;" |S(erver)
|style="text-align: center;" | "
|style="text-align: center;" |only: Fast Ethernet
ModbusTCP, IC-FEX
|-
|WriteBus
|{{Na}}
|{{Ya}}
|style="text-align: center;" |S(erver)
|style="text-align: center;" | "
|style="text-align: center;" |only: Fast Ethernet
ModbusTCP, IC-FEX
|}
 
 
 
==== Applikationsseite ====
==== Feldbusseite ====
===== RS232/485 =====
===== Modbus TCP/IP =====
==== Modbus RTU/ASCII ( Master oder Slave ) ====
===== RTU =====
===== ASCII =====
===== Master =====
===== Slave =====
== Weblinks ==
* [http://www.modbus.org Modbus -Organisation] * [[Wikipedia:de:Modbus|Modbus auf Wikipedia]] * [http://www.win-tech.com/html/modbus1.htm PC -Tool ModScan/ModSim]
868

Bearbeitungen

Navigationsmenü