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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: ADS - Kommunikation zwischen Beckhoff und IPC

  1. #1
    Registriert seit
    22.09.2011
    Beiträge
    53
    Danke
    9
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    wir wollen in einem Projekt mittels ADS Daten zwischen der Beckhoff Steuerung (CX5020) und einem IPC austauschen. Dabei gibt es 3 verschiedene Variablentypen die übertragen werden müssen:

    1. Read Only
    2. Write Only
    3. Read and Write

    Mir stellt sich jetzt die Frage, ob es da bereits fertige Kommunikations-Bausteine gibt, die man nur einfügen, die NetID etc. anpassen muss und fertig oder ob ich mir da selber etwas programmieren muss.

    Schonmal Vielen Dank

    Gruß
    Zitieren Zitieren ADS - Kommunikation zwischen Beckhoff und IPC  

  2. #2
    Registriert seit
    07.06.2006
    Ort
    Bayern
    Beiträge
    623
    Danke
    27
    Erhielt 156 Danke für 139 Beiträge

    Standard

    Servus,

    ich geh´jetzt mal davon aus, dass auf dem IPC ebenfalls Twincat läuft, und du quasi zwischen den beiden Soft-SPS´n Daten über ADS austauschen willst.

    Da gibt es z.B. die Funktionen ADSREAD und ADSWRITE in der Bibliothek TcSystem.lib --> Link

    Wenn du deine Variablen z.B. in den Merkerbereich adressierst, dann kannst du über die Indexgruppe 0x4020 und den Offset (Merkeradresse) relativ einfach mittels ADS darauf zugreifen.

    Infos bzgl. ADS-Kommunikation (Indexgruppen, etc.) findest du hier --> Link




  3. #3
    Leto ist offline Benutzer
    Themenstarter
    Registriert seit
    22.09.2011
    Beiträge
    53
    Danke
    9
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Moin,

    erst mal Danke uncle_tom für die antwort. Die Bausteine ADS-Write und ADS-Read habe ich auch gefunden und die sind auch recht gut beschrieben.

    Also zur Zeit ist es nicht geplant TwinCat auf dem IPC zu installieren. Die Visualisierung auf dem IPC ist beispielsweise in "C" programmiert und wir wollen über diese Visu Variablen in der Beckhoff abfragen oder auch abändern.

    Ist dies überhaupt möglich ohne ein TwinCat Programm auf dem IPC?

  4. #4
    Registriert seit
    07.06.2006
    Ort
    Bayern
    Beiträge
    623
    Danke
    27
    Erhielt 156 Danke für 139 Beiträge

    Standard

    Ist dies überhaupt möglich ohne ein TwinCat Programm auf dem IPC?
    Das ist möglich. Das ADS-Protokoll ist kein Geheimniss und vollständig dokumentiert --> Link

    Einfacher geht es aber vermutlich, wenn du trotzdem Twincat auf dem IPC installierst, und die Kommunikation mit der Twincat.dll realisierst --> Link





  5. Folgender Benutzer sagt Danke zu uncle_tom für den nützlichen Beitrag:

    Leto (30.11.2011)

  6. #5
    Leto ist offline Benutzer
    Themenstarter
    Registriert seit
    22.09.2011
    Beiträge
    53
    Danke
    9
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Bei der möglichkeit ohne Twincat stellt sich mir jetzt jedoch die Frage, wie konfiguriere ich dann die Ams Net ID? Das mache ich ja gewöhnlich über Twincat.

    Ok, habe gerade gesehen das diese CP version von TwinCat kostenlos ist. Dann ist es natürlich naheliegend diese auch zu verwenden.
    Geändert von Leto (30.11.2011 um 13:18 Uhr)

  7. #6
    Leto ist offline Benutzer
    Themenstarter
    Registriert seit
    22.09.2011
    Beiträge
    53
    Danke
    9
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Wie kann ich rausfinden, in welcher Bibliothek sich ein Baustein befindet? Ich such z.B. den "sizeof" und den "ADR" baustein, hab aber keine Ahnung in welcher Bibliothek diese enthalten sind. Gibt es dafür eine Übersicht oder etwas ähnliches um das rauszufinden?

  8. #7
    Registriert seit
    29.09.2006
    Beiträge
    368
    Danke
    0
    Erhielt 41 Danke für 38 Beiträge

    Standard

    Sizeof und ADR dürfte immer funktionieren.

  9. #8
    Registriert seit
    07.06.2006
    Ort
    Bayern
    Beiträge
    623
    Danke
    27
    Erhielt 156 Danke für 139 Beiträge

    Standard

    Bei der möglichkeit ohne Twincat stellt sich mir jetzt jedoch die Frage, wie konfiguriere ich dann die Ams Net ID? Das mache ich ja gewöhnlich über Twincat
    Du vergibst dir selber eine Net-ID, diese verwendest du dann auch in deinen ADS-Telegrammen. Auf dem CX musst du dann einen Routeneintrag mit deiner Net-ID (IPC) hinterlegen.

    Wie kann ich rausfinden, in welcher Bibliothek sich ein Baustein befindet? Ich such z.B. den "sizeof" und den "ADR" baustein, hab aber keine Ahnung in welcher Bibliothek diese enthalten sind. Gibt es dafür eine Übersicht oder etwas ähnliches um das rauszufinden?
    Im Infosystem (oben bereits mehrfach verlinkt) findest du alle Infos.
    Das Infosystem hat auch eine Suchfunktion, die darf man auch mal verwenden

  10. #9
    Leto ist offline Benutzer
    Themenstarter
    Registriert seit
    22.09.2011
    Beiträge
    53
    Danke
    9
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Moin,

    also ich habe jetzt folgendes Programm für die PLC geschrieben, womit ich gerne eine Variable "iGeneralState" zu einem IPC schicken würde.

    ADS Com.JPG

    auf dem IPC soll nun ein kleines C Programm laufen, welches die Variable liest. Leider hatte ich bis jetzt keinen erfolg damit die Variable am IPC auszulesen.

    Hier mein Quellcode für den IPC:

    Code:
    #include <iostream>#include <conio.h>
    #include <windows.h>
    #include "c:\programme\twincat\ads api\tcadsdll\include\tcadsdef.h"
    #include "c:\programme\twincat\ads api\tcadsdll\include\tcadsapi.h"
    
    
    using namespace std;
    
    
    void main()
    {
    
    
      long      nErr, nPort, nTemp;
      AmsAddr   Addr;
      PAmsAddr  pAddr = &Addr;
      WORD		iGeneralState, iSWVersion, iSWRevision, iSWHotfix;
      WORD		iActOpMode, iActImgMode, iSignalHornMode, iSignallingStateYellow;
      
    
    
    
    
      // Open communication port on the ADS router
      nPort = AdsPortOpen();
      nErr = AdsGetLocalAddress(pAddr);
    
    
      // Communication Config für Beckhoff CX-0CF180
      Addr.netId.b[0]=5;
      Addr.netId.b[1]=12;
      Addr.netId.b[2]=241; 
      Addr.netId.b[3]=128;
      Addr.netId.b[4]=1;
      Addr.netId.b[5]=1;
    
    
      if (nErr) cerr << "Error: AdsGetLocalAddress: " << nErr << '\n';
      pAddr->port = AMSPORT_R0_PLC_RTS1;
    
    
      
      // Read  and diplay values from Beckhoff CX-0CF180
    
    
      cout << "Read  and diplay values from Beckhoff CX-0CF180" << '\n';
    
    
      do
      {
    	
        nErr = AdsSyncReadReq(&Addr, 0x4040, 0x045F, 0x2, &iGeneralState);
        if (nErr) cerr << "Error: AdsSyncReadReq: " << nErr << '\n';
    
    
    	
    	cout << '\n' << "PLC iGeneralState:   " << iGeneralState << '\n' ;
        cout.flush();
    
    
    
    
      }
      while (getch() == '\r');    // Read next value (Carriage return is delimitter) , stop reading otherwise
    
    
    // Close the communication port
      nErr = AdsPortClose();
      if (nErr) cerr << "Error: AdsPortClose: " << nErr << '\n';
    }
    Hat jemand einen Verbesserungsvorschlag, damit die Kommunikation funkitoniert?

    Gruß

  11. #10
    Registriert seit
    29.09.2006
    Beiträge
    368
    Danke
    0
    Erhielt 41 Danke für 38 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Kommen keine Fehlercodes zurück?

Ähnliche Themen

  1. ADS Kommunikation zwischen Beckhoff Steuerungen
    Von peraho im Forum CODESYS und IEC61131
    Antworten: 4
    Letzter Beitrag: 09.09.2009, 08:00
  2. TCP Kommunikation zwischen S7 SPS und PC
    Von SWI im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 29.04.2009, 08:00
  3. Kommunikation zwischen OP 77a und S7 224 XP
    Von Norman.fer im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 15.10.2008, 12:04
  4. Kommunikation zwischen CPU und IM?
    Von Ladde im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 17.02.2006, 08:26
  5. Kommunikation zwischen OP7 und s7 314
    Von Anonymous im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 07.11.2005, 07:49

Stichworte

Lesezeichen

Berechtigungen

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