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

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

Thema: Beckhoff: Variablen spiegel

  1. #1
    Registriert seit
    15.02.2011
    Ort
    Stromness, Scotland, UK
    Beiträge
    339
    Danke
    25
    Erhielt 34 Danke für 33 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Zusammen

    Ich habe wiedermal eine etwas verrückte Idee. Vorneweg: Es geht nur um einen Versuch, bzw eine Demonstration, das wird nie in eine Anlage eingebaut

    Und zwar möchte ich von einer bestehenden CX5010 alle Eingänge über Netzwerk zu einer weiteren CX50x0 weiterkopieren. So dass ich an der zweiten Steuerung die gleichen Infos habe wie auf der ersten.

    Ziel soll sein, dass ich mit der 2. Steuerung (die keine Ausgänge bedient) die Software zu erklären und damit "herumzuspielen" - während die erste Steuerung uberüht bleibt und normal läuft.

    Ich habe da an Netzwerkvariablen gedacht. Gibt es eine möglichkeit, Strukturen zu verlinken? - denn es sind schon 15 Klemmen...

    Gibt es eine Möglichkeit mit ADS, dass ich meine Eingangsstruktur versenden kann?

    Ich danke für Antworten und hoffe auf kreative Lösungsansätze!
    Zitieren Zitieren Beckhoff: Variablen spiegel  

  2. #2
    Registriert seit
    17.03.2011
    Ort
    im Wald
    Beiträge
    284
    Danke
    11
    Erhielt 36 Danke für 35 Beiträge

    Standard

    Hallo Gloeru,

    nur als Ansatz. Einen PC, zwischen die CX-en zu hängen. Das Eingangsabbild der 1. CX mit einer kleinen Software auf dem PC einzulesen und auf die andere Steuerung zu senden. Wobei, auf der zweiten CX, du diese in Merker oder Variablen schreibst.

    Die Umsetzung des kleinen Programmes auf dem PC, stelle ich mir nicht schwer vor. Es wäre allerdings nicht variabel, wenn sich die Menge der IO's verändert. Aber, es könnte ein Ansatz sein.

    Gruß, Voxe

  3. #3
    gloeru ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    15.02.2011
    Ort
    Stromness, Scotland, UK
    Beiträge
    339
    Danke
    25
    Erhielt 34 Danke für 33 Beiträge

    Standard

    Danke Voxe, diese Idee hatte ich auch schon, aber ich bin für einen Teil vorerst fündig geworden. Ich lese einfach mit einem ADSREAD den Eingangbereich der Eingänge von System 1 ein und wurste diese auf das Eingangsbild von System 2, läuft prima...

    Nun suche ich noch eine Lösung für alle globalen und persistenen Variablen, welche keinen fixen Speicherplatz zugewiesen haben.

  4. #4
    Registriert seit
    15.08.2011
    Beiträge
    383
    Danke
    2
    Erhielt 73 Danke für 71 Beiträge

    Standard

    Hallo zusammen!

    ADSREAD/ADSWRITE ist azyklisch. Sollte aber für diese Applikation keine Rolle spielen. Dennoch kann ein Handshake und eine Timingüberprüfung sinnvoll sein.

    Einfacher und mit weniger Programmieraufwand realisiert man das, und das ist auch eine alltagstaugliche und probate Methode, mit Netzwerkvariablen, wie Du schon schreibst.
    Entweder über die bestehende direkte Verbindung via Realtime Ethernet Netzwerkvariablen oder aber über EtherCAT Netzwerkvariablen.

    Gruß,
    Mac203

  5. #5
    gloeru ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    15.02.2011
    Ort
    Stromness, Scotland, UK
    Beiträge
    339
    Danke
    25
    Erhielt 34 Danke für 33 Beiträge

    Standard

    Performance spilt wirklich keine Rolle, ist ja nur "Spielerei"...

    Kennst du eine Möglichkeit, wie ich etwa 150 Variablen diverser Typen rasch und einfach als Netzwerkvariablen eingeben kann??

  6. #6
    Registriert seit
    15.08.2011
    Beiträge
    383
    Danke
    2
    Erhielt 73 Danke für 71 Beiträge

    Standard

    Nun, das Einfachste ist bei so etwas immer eine Datenaustauschstruktur anzulegen. Ansonsten ist wirklich händische Eingabe gefragt.

    Vermutlich handelt es sich um nicht-lockierte Variablen oder?
    Es gibt da ne Menge Tricks, mit denen man auch an diese Variablen bzw. Adressen kommt; fraglich nur, ob man es soweit treiben möchte...

  7. #7
    Registriert seit
    17.03.2011
    Ort
    im Wald
    Beiträge
    284
    Danke
    11
    Erhielt 36 Danke für 35 Beiträge

    Standard

    Hallo gloeru,

    das Eingangsabbild der 1. Steuerung einlesen stelle ich mir als machbar vor. Aber sage mal, wie hast du das, auf das Eingangsabbild der 2. Steuerung bekommen. Dein sogenanntes wursten interessiert mich.

    Aber zu deiner Frage mit den unterschiedlichen Typen, nur ein Ansatz. Was hällst du davon, diese unterschiedlichen Typen zusammen zufassen. Quasi in etwas, in das alles passt. Und dieser Typ wird dann versendet und wieder auseinandergenommen. Eigentlich, bestehen alle Daten nur aus Nullen und Einsen. Ja, ich weiss, das bedeutet arbeit.

    Gruß, Voxe

  8. #8
    gloeru ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    15.02.2011
    Ort
    Stromness, Scotland, UK
    Beiträge
    339
    Danke
    25
    Erhielt 34 Danke für 33 Beiträge

    Standard

    Was sind Datenaustauschstrukturen? - irgendwie kommt mir das bekannt vor, habe das auch schon mal gesehen... Hättest du mir irgend einen Tipp wie ich anfangen könnte, bzw einen Link ins Infosys.

    Jaja das wursteln - ich schreibe einfach gang am Anfang des SPS-Zyklus (am Anfang des MAIN-Programmes) direkt auf die Adressen der Eingänge. Dies geschieht mit einem Pointer auf die Startadresse:

    Code:
        IW50_Einganswort            AT  %IW50:       ARRAY[1..23] OF WORD;
        IW500_Einganswort           AT  %IW500:      ARRAY[1..100] OF BYTE;
    Wie du siehst bin ich faul geworden und schreibe für die analogen Eingänge 100 Bytes aufsmal - Du kannsts auch sonst direkt auf adressierten Speicherbereich schreiben, diesen sogar doppelt Adressieren. (z.B: IX10.0, IX10.1 und IB10)
    -> Aber nochmals für alle, das ist nur zum Spielen und nicht für Produktiv-Systeme gedacht!!

  9. #9
    Registriert seit
    15.08.2011
    Beiträge
    383
    Danke
    2
    Erhielt 73 Danke für 71 Beiträge

    Standard

    irgend einen Tipp wie ich anfangen könnte, bzw einen Link ins Infosys
    Das InformationSystem stellt diesbezüglich keine Informationen bereit, da es sich ja schon eher um Applikationsleistung handelt.

    Wenn das Deine beiden "Datenaustauschstrukturen" sind
    Code:
    IW50_Einganswort            AT  %IW50:       ARRAY[1..23] OF WORD;     
    IW500_Einganswort           AT  %IW500:      ARRAY[1..100] OF BYTE;
    dann hast Du doch alles was Du brauchst!

    Nach Einfügend des SPS Programms in die SPS Konfiguration stehen Dir genaus diese Variablen auch zum Anlegen im Bereich der Netzwerkvaraiblen zur Verfügung.

  10. Folgender Benutzer sagt Danke zu mac203 für den nützlichen Beitrag:

    gloeru (22.08.2011)

  11. #10
    Registriert seit
    01.03.2008
    Beiträge
    487
    Danke
    3
    Erhielt 43 Danke für 39 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    ich misch mich mal mit ein, ist vieleicht für andere auch interessant.

    Wie bekomme ich per ADS die Struktur aus der Variablen herraus gelesen

    und

    Kann man irgend wie erkennen, ob die Variable Preristent usw ist ?

    MfG CAS
    www.cas-solution.de

    Alles geregelt...


    Weltraumflug in den USA zu gewinnen!
    Kratze hier ▒▒▒▒▒▒▒▒▒▒▒▒ mit einer Münze,
    und finde heraus, ob Du der Gewinner bist!

Ähnliche Themen

  1. Beckhoff Variablen deklaration
    Von Gerri im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 08.06.2009, 11:18
  2. Antworten: 0
    Letzter Beitrag: 05.08.2008, 00:16
  3. Beckhoff OPC Server -> Variablen anbinden
    Von Toddy80 im Forum CODESYS und IEC61131
    Antworten: 3
    Letzter Beitrag: 09.05.2008, 15:48
  4. Artikel auf Spiegel-Online
    Von Chriz im Forum Stammtisch
    Antworten: 0
    Letzter Beitrag: 13.09.2007, 10:43
  5. Spiegel
    Von chivas im Forum Stammtisch
    Antworten: 11
    Letzter Beitrag: 12.06.2006, 12:47

Lesezeichen

Berechtigungen

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