cp-link3

Zugriff per ADS auf lokal am Client verknüpfte Task- oder SPS-Variablen

In diesem Fall wird der CPx8xx Buskoppler als lokales USB Gerät im Client eingebunden. Der CP-Link 3 USB Geräte Server auf dem Client wird dazu über eine "Use Local List" entsprechend konfiguriert (Siehe auch USB Geräte lokal am Client verwenden). Der Zugriff vom Host-PC auf die I/O Kanäle des Buskopplers wird durch die Verwendung von ADS realisiert. Dazu werden die I/O Kanäle des Buskopples auf Variablen einer I/O Task abgebildet. Diese Variablen können dann per ADS vom Host-PC ausgelesen werden.

Zugriff per ADS via Standard-Ethernet

An einem einfachen PLC-Beispiel soll hier der ADS-Zugriff auf Taskvariablen des Clients gezeigt werden. Dazu wird zunächst der System-Konfiguration des Clients eine Task hinzugefügt. Entsprechend der Ein- und Ausgangskanäle des Buskopplers werden Taskvariablen angelegt und mit den Ein- und Ausgangsvariablen des Buskopplers verknüpft.

 cpx8xx_sysman_ads_client

Die "ADS Infos" der Taskvariablen am Client werden dann im PLC-Progamm des Host-PC für die ADS-Kommunikation verwendet.

Ein PLC-Programm des Host-PCs für den Zugriff auf die Ausgänge des Buskopplers könnte folgendermaßen aussehen:

PROGRAM MAIN

VAR

fbAdsWrite : ADSWRITE;
netId : STRING := '5.3.112.17.1.1';
port : WORD := 301;
idxGrp : UDINT := 16#F030;
idxOffs : UDINT := 16#0;
data : WORD := 2#1010101010101010;
dataLen :UDINT := 2;
state :BYTE := 0;

END_VAR


CASE state OF

0:
   fbAdsWrite(
    NETID := netId,
    PORT := port,
    IDXGRP := idxGrp,
    IDXOFFS := idxOffs,
    SRCADDR := ADR(data),
    LEN := dataLen,
    WRITE := TRUE,
    TMOUT := T#1s
    );

   IF fbAdsWrite.ERR THEN
    state := 2;
   ELSE
    state := 1;
   END_IF

1:
   fbAdsWrite(WRITE := FALSE);
   IF fbAdsWrite.ERR THEN
    state := 2;
   ELSE
    IF NOT fbAdsWrite.BUSY THEN
      state := 2;
    END_IF
   END_IF

2:
   fbAdsWrite(WRITE := FALSE);
   state := 0;

END_CASE

Zugriff per ADS via RT-Ethernet

Bei der Verwendung einer RT-Ethernet Verbindung für die ADS-Kommunikation erfolgt der Datenaustausch mit deterministischen Zykluszeiten und somit lassen sich die I/O Kanäle des CPx8xx deterministisch auslesen und schreiben. Die empfohlene Zykluszeit zum Datenaustausch mit den Klemmen am Buskoppler liegt weiterhin bei 50 bis 80 Millisekunden (siehe auch Zykluszeit für den Datenaustausch).

Einrichten des RT-Ethernet:

Jeweils ein Netzwerkadapter des Host-PCs und des Clients muss als RT-Ethernet Device konfiguriert und der I/O Konfiguration hinzugefügt werden (Siehe auch Konfiguration von RT-Ethernet Devices).
Sowohl am Host-PC als auch am Client muss für dieses RT-Ethernet Device das "Routing" eingeschaltet werden. Zudem müssen die NetIds der RT-Ethernet Devices jeweils gegenseitig in die Routing Tabellen eingetragen werden (Siehe auch Konfiguration von RT-Ethernet Devices).

Die weitere Konfiguration erfolgt wie in 4.a beschrieben, mit der Ausnahme, dass im PLC-Programm als NetId für die ADS-Kommunikation die NetId des RT-Ethernet Devices des Clients eingetragen wird (diese unterscheidet sich von der normalen NetId).