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

Seite 3 von 5 ErsteErste 12345 LetzteLetzte
Ergebnis 21 bis 30 von 41

Thema: Vererbung möglich bei vielen identischen DP-Slave??

  1. #21
    GSOhm ist offline Benutzer
    Themenstarter
    Registriert seit
    17.08.2012
    Beiträge
    48
    Danke
    14
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi nochmal,

    ich versuch des jetzt mal, irgentwie hin zu kriegen... jetzt hat mich Ehrgeiz gepackt...
    Ich möchte aber auch gerne alles verstehen was ich da mache... deshalb noch ein paar allgemeine Fragen:

    wenn ich z.B. bei SFC14 stehen habe : LADDR:=W#16#100 dann steht die 100 für die Anfangsadresse und W steht dafür das Wörter eingelesen werden sollen sowiet klar... aber wofür steht denn dann die 16??? - kann ich mit der vielleicht erkennen wie lange eingelesen werden soll mit diesem SFC, wenn nicht, woher weiss das SFC dann wie viele Daten -in meinem Fall beispielsweise- zu welchem Regler gehöre??

    Liebe Grüße

    GSOhm

  2. #22
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.850
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    W#16# ist das format wenn ein zahl in hex angegeben wird.
    100 ist also dezimal 256.
    die länge ergibt sich aus der hardwarekonfiguration.
    weiterhin musst du das ziel übergeben als anyzeiger. z.b. p#db10.dbx0.0 byte 10

    für anhängendes bildchen sähe das dann so aus
    Code:
          CALL  SFC   14
           LADDR  :=#W#16#1B0
           RET_VAL:=#retval
           RECORD :=P#Db10.dbx0.0 byte 32
    Angehängte Grafiken Angehängte Grafiken
    Geändert von volker (20.08.2012 um 12:20 Uhr)
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  3. #23
    Registriert seit
    06.10.2009
    Ort
    NRW
    Beiträge
    1.572
    Danke
    63
    Erhielt 259 Danke für 219 Beiträge

    Standard

    In dem Beispielprojekt wird die Länge (hier 4PEW / 4PAW) durch die Deklaration des UDT vorgegeben, da der anyzeiger durch den symbolischen Aufruf erzeugt wird.
    Meine Motivation läuft nackig mit einem Cocktail über eine Wiese.

  4. #24
    Registriert seit
    06.10.2009
    Ort
    NRW
    Beiträge
    1.572
    Danke
    63
    Erhielt 259 Danke für 219 Beiträge

    Standard

    Zitat Zitat von GSOhm Beitrag anzeigen
    bei SFC14 stehen habe : LADDR:=W#16#100
    Die Siemens-Hilfe hilft auch manchmal... Baustein markieren und die magische F1-Taste drücken
    Meine Motivation läuft nackig mit einem Cocktail über eine Wiese.

  5. #25
    Registriert seit
    06.10.2009
    Ort
    NRW
    Beiträge
    1.572
    Danke
    63
    Erhielt 259 Danke für 219 Beiträge

    Standard

    Zitat Zitat von Tigerente1974 Beitrag anzeigen
    In dem Beispielprojekt wird die Länge (hier 4PEW / 4PAW) durch die Deklaration des UDT vorgegeben, da der anyzeiger durch den symbolischen Aufruf erzeugt wird.
    Tip: Wenn Du den Mauszeiger auf dem Eintrag stehenlässt, wird die Zugriffsbreite angezeigt. Das sieht dann in etwa so wie in Volkers Beitrag aus.
    Meine Motivation läuft nackig mit einem Cocktail über eine Wiese.

  6. #26
    GSOhm ist offline Benutzer
    Themenstarter
    Registriert seit
    17.08.2012
    Beiträge
    48
    Danke
    14
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hi,

    hab schon wieder die nächste Frage:
    @Tigerente: Kann ich die Datenbausteine gleich von UDT1 ableiten oder bringt das Probleme mit sich??

    Danke im Vorraus

    GSOhm
    Geändert von GSOhm (21.08.2012 um 07:05 Uhr)

  7. #27
    GSOhm ist offline Benutzer
    Themenstarter
    Registriert seit
    17.08.2012
    Beiträge
    48
    Danke
    14
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hi noch mal,

    ich hab mir grad mal so überlegt: Da ich ja sfc14 und sfc15 sehr oft nutzen möchte, kann ich da nicht mit einer Laufvariale einfach die LADDR und die Record hochzählen??

    Liebe Grüße

    GSOhm

  8. #28
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard

    Zitat Zitat von GSOhm Beitrag anzeigen
    Hi noch mal,

    ich hab mir grad mal so überlegt: Da ich ja sfc14 und sfc15 sehr oft nutzen möchte, kann ich da nicht mit einer Laufvariale einfach die LADDR und die Record hochzählen??

    Liebe Grüße

    GSOhm
    Wenn du dir den Link von Volker angeschaut hättest, würdest du nicht so fragen.
    Du musst ja eine Möglichkeit haben die Daten eindeutig zu nutzen.
    Du kannst keine UDT direkt als Variable verwenden, UDT ist lediglich eine Struktur, die noch einen Speicherbereich braucht.

    Grundlagen zu lesen und verstehen ist eben durch nichts zu ersetzen, ausser durch lesen und verstehen.
    PLC ist eben nicht C.


    bike
    "Any fool can write code that a computer can understand.
    Good programmers write code that humans can understand."
    --Martin Fowler

  9. #29
    GSOhm ist offline Benutzer
    Themenstarter
    Registriert seit
    17.08.2012
    Beiträge
    48
    Danke
    14
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Du musst ja eine Möglichkeit haben die Daten eindeutig zu nutzen.
    Du kannst keine UDT direkt als Variable verwenden, UDT ist lediglich eine Struktur, die noch einen Speicherbereich braucht.
    Entweder stell ich mich so blöd oder ich hab meine Frage falsch formuliert... Ich habe jetzt eine FC wo ich den Aufruf von sfc14 und sfc15 24 mal reinschreiben muss. Geht es nicht das ich jedes mal beim Aufruf meines FC eine Variable hochzähle, welche ich dann in Abhängigkeit zur LADDR- und Recordadresse setzte und diese modulo 24 mache???

    Liebe Grüße

    GSOhm

    PS:. @ Bike: Kannste mir mal sagen welcher Link vom Volker mir da genutzt hätte?

    [Änderung: mein Aufruf von SFC14: CALL "DPRD_DAT" SFC14
    LADDR:=W#16#146
    RET_VAL:=RET_VAL_SFC14
    RECORD:= "IO_Regler_08".IO.IN (verweisst Auf meinen DB_8, welchen ich in In und Out gegliedert habe)
    ]

    Und da würde ich dann die 146 und die 08 hochzählen wollen...
    Geändert von GSOhm (21.08.2012 um 08:09 Uhr)

  10. #30
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.224
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von GSOhm Beitrag anzeigen
    Entweder stell ich mich so blöd oder ich hab meine Frage falsch formuliert... Ich habe jetzt eine FC wo ich den Aufruf von sfc14 und sfc15 24 mal reinschreiben muss. Geht es nicht das ich jedes mal beim Aufruf meines FC eine Variable hochzähle, welche ich dann in Abhängigkeit zur LADDR- und Recordadresse setzte und diese modulo 24 mache???

    Liebe Grüße

    GSOhm
    Das geht durchaus, aber dann liest du nur jeden 24-sten Zyklus deine Daten in den betreffenden Bereich und schreibst sie. Da du ja Regler hast, wenn ich das richtig gelesen hatte wäre das eher schlecht. Ich habs noch nie probiert, ich vermute, es würde sogar in einer Schleife gehen, die beiden SFC scheinen synchron zu arbeiten, also in einem Aufruf fertig zu sein. Was das mit der Zykluszeit macht, müßte man testen. Das Erzeugen der richtigen, dann dynamischen LADDR und besonders des dann ebenfalls dynamischen Records (Du mußt einen Any nutzen, dessen Inhalt di dynamisch änderst.), wird dich aber dann nochmals fordern! Siehe dazu den Beitrag von Volker in der FAQ.

    PS: Meine Erläuterungen oben sind eher theoretischer Natur, der Ansatz im nächsten Beitrag von Aventinus ist der richtige Weg, wenn es im das erstellen eines FB für den Regler geht, diesen FB ruft man dann so oft auf, wie er benötigt wird.
    Geändert von Ralle (21.08.2012 um 08:13 Uhr)
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  11. Folgender Benutzer sagt Danke zu Ralle für den nützlichen Beitrag:

    GSOhm (21.08.2012)

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 17.02.2012, 11:17
  2. Vererbung von C# Klassen
    Von Benni im Forum Hochsprachen - OPC
    Antworten: 12
    Letzter Beitrag: 07.11.2011, 11:30
  3. Prüfung und Bewertung von identischen Teilen
    Von becksgoldpc im Forum Programmierstrategien
    Antworten: 1
    Letzter Beitrag: 09.02.2010, 18:10
  4. Ist eine "universelle" Profibus Slave möglich?
    Von JesperMP im Forum Feldbusse
    Antworten: 8
    Letzter Beitrag: 17.03.2008, 10:38
  5. Baustein Vererbung
    Von TimoS im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 01.12.2004, 19:25

Lesezeichen

Berechtigungen

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