Variablen über den Modbus mit OPC ansprechen

2010-03-11
2010-03-14
  • Rein Andreas - 2010-03-11

    Ich bin ein neuling in Sachen Codesys und hab da ein Problem.

    Ich benutze das Wago I/O System 750-841.

    Ich würde gerne auf Variablen über den Modbus m it OPC zugreifen.

    Die Variable hab ich Deklariert und auch eine Merkeradresse zugewiesen,

    sie sieht so aus:

    Gaszaehler AT %MW256: REAL;

    aus anderen Foren hab ich gelesen das ich ab dem Adressbereich 12288 auf die Merker zugreifen kann.

    Wo geschieht dieser Zugriff?

    Wo sehe auf welcher tatsächlicher Adresse dir Variable ist?

    Hat jemand zufälliger weise ein kleines Tutorial oder ähnliches wo ein ähnliches Problem beschrieben ist?

     
  • Oberchefe - 2010-03-12

    aus dem Handbuch:

    Für das Prozessabbild der physikalischen Ein- und Ausgangsdaten steht in
    dem Controller zunächst jeweils ein Speicherbereich von 256 Worten
    (Wort 0 ... 255) zur Verfügung.
    Für die Abbildung der MODBUS PFC-Variablen ist der Speicherbereich von
    jeweils Wort 256 ... 511 reserviert, so dass die MODBUS PFC-Variablen
    hinter das Prozessabbild der Busklemmendaten gemappt wird.
    Ist die Anzahl der Klemmendaten größer als 256 Worte, werden alle darüber
    hinausreichenden physikalischen Ein- und Ausgangsdaten in einem
    Speicherbereich an das Ende des bisherigen Prozessabbildes und somit hinter
    die MODBUS PFC-Variablen angehängt (jeweils Wort 512 ... 1275).
    Im Anschluss an die restlichen physikalischen Busklemmendaten werden die
    Ethernet IP PFC-Variablen abgebildet. Dieser Speicherbereich umfasst Wort
    1276 ... 1531.
    Für zukünftige Protokoll-Erweiterungen ist der anschließende Bereich ab
    Wort 1532 für die weiteren PFC-Variablen reserviert.
    Bei allen WAGO Feldbus-Controllern ist der Zugriff der SPS-Funktionalität
    (CPU) auf die Prozessdaten unabhängig von dem Feldbus-System. Dieser
    Zugriff erfolgt stets über ein anwendungsbezogenes IEC 61131-3 Programm.
    Der Zugriff von der Feldbusseite aus ist dagegen feldbusspezifisch.
    Für den ETHERNET TCP/IP Feldbus-Controller kann entweder ein
    MODBUS/TCP-Master über implementierte MODBUS-Funktionen auf die
    Daten zugreifen, wobei dezimale, bzw. hexadezimale MODBUS-Adressen
    verwendet werden.
    Wahlweise kann der Datenzugriff auch über Ethernet/IP mittels eines
    Objektmodells erfolgen.
    

    Die 12288 (= Hex 3000) findest Du ebenfalls im Handbuch unter "6.4 MODBUS Register Mapping":

    Anfangsadresse 0x0300 -> Eingangsregister der PFC-Variablen (MODBUS TCP)

     
  • Rolf-Geisler - 2010-03-14

    OPC funktionert etwas anders. Es ist eine spezielle Anwendung der Microsoft-OLE-Technologie. Man braucht einen OPC-Server (gibt's beim SPS-Hersteller) und einen OPC-Client, z.B. als Teil der Visualisierung.

    Die Variablen, welche per OPC von der SPS gelesen oder dorthin geschrieben werden sollen, müssen dem Server bekannt gegeben werden. Im SPS-Projekt geschieht dies über Projekt ==> Optionen in der Kategorie Symbolkonfiguration. Dort legt man fest, was alles in die "Symboldatei" eingetragen werden soll.

    Die absolute Adresse dieser Variablen spielt absolut keine Rolle; der OPC-Server findet sie auch dann, wenn sie nach Softwareänderungen an einer völlig anderen Stelle liegen.

    Über welche Physik der OPC-Server mit der SPS kommuniziert, ist bei diesem Modell völlig egal. Man gibt den Zugriffsweg auf die SPS nur einmalig bei der Konfiguration des OPC-Servers an.

     

Log in to post a comment.