Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 1 von 1

Thema: Ads read / write

  1. #1
    Registriert seit
    24.09.2011
    Ort
    Lustenau / Österreich
    Beiträge
    60
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    Ich habe bisher immer Daten von einer SPS mit dem FB ADSREAD gelesen. Das hat auch prima funktioniert.
    Da ich nun auch ein paar Daten zur anderen SPS schreiben möchte probiere ich gerade ein wenig mit dem FB ADSRDWRT.
    Ich habe schon im Infosys von Beckhoff gesucht, aber kein Beispiel gefunden und daher ist noch ein Frage offen.

    Es geht um die Kommunikation zwischen zwei Wohnungen. Hier ist jeweils ein CX9020-0111 von Beckhoff verbaut.
    Bei meiner SPS die die ADS-Kommunikation erledigt habe ich eine 2 Strukturen (st_ADS_Top_11_Read und st_ADS_Top_11_Write)
    Diese Strukturen habe ich instanziert und "füttere" sie mit Daten. Die ADS-Kommuikation soll zyklisch, alle 60 Sekunden bzw. bei
    Datenänderung durchgeführt werden (kein Problem)
    Bei der gegnerischen SPS habe ich ebenfalls 2 Strukturen mit gleichem Aufbau angelegt (st_ADS_Top_10_Read und st_ADS_Top_10_Write)
    wobei die Struktur st_ADS_Top_10_Read natürlich der Struktur st_ADS_Top_11_Write und st_ADS_Top_10_Write natürlich der Struktur
    st_ADS_Top_11_Read entspricht.
    Die zu lesenden Daten der SPS_Top_11 stehen in der SPS_Top_11 im MB 8 (stADS_Write AT %MB8: st_ADS_Top_10_Write);

    und nun meine Frage: Wie / Wo muss ich die Adresse für die zu schreibenden Daten definieren ?


    Grüße vom Bodensee und DANKE schon mal für eure Hilfe . . .

    => Code-Ausschnitt <=
    Code:
    
    sADS_NetID := '192.168.1.11.1.1';
    
    
    ADS_ReadWrite(
        NETID:= sADS_NetID,
        PORT:= 801,
        IDXGRP:= 16#4020,
        IDXOFFS:= 8,
        WRITELEN:= SIZEOF(ADS_Write_Daten_Top_11.stADS_Write),
        READLEN:= SIZEOF(ADS_Read_Daten_Top_11.stADS_Read),
        SRCADDR:= ADR(ADS_Write_Daten_Top_11.stADS_Write),
        DESTADDR:= ADR(ADS_Read_Daten_Top_11.stADS_Read),
        WRTRD:= TRUE,
        TMOUT:= T#5s,
        BUSY=> ,
        ERR=> ,
        ERRID=> );
    
    
        IF NOT  ADS_ReadWrite.BUSY  THEN
            ADS_ReadWrite(WRTRD:= FALSE);
            State:= State + 1 ;
        END_IF
    Geändert von mailmir (12.03.2016 um 19:02 Uhr)
    man(n) muss das Unmöglichste versuchen um das Möglichste zu erreichen . . . .
    Zitieren Zitieren Ads read / write  

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 19.08.2014, 07:11
  2. ADS READ -> target port not found -> ADS Server not started
    Von onikos im Forum CODESYS und IEC61131
    Antworten: 10
    Letzter Beitrag: 28.04.2014, 13:14
  3. attemted to read or write protected memory - kein ausweg
    Von steggo. im Forum Hochsprachen - OPC
    Antworten: 0
    Letzter Beitrag: 17.01.2012, 08:53
  4. ADS Read out für ganze Klemme°°°!!!
    Von daniel1987 im Forum CODESYS und IEC61131
    Antworten: 4
    Letzter Beitrag: 15.09.2011, 12:12
  5. Read/Write IniFile
    Von Ockenfuss im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 20.09.2010, 08:28

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •