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

Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 26 von 26

Thema: Allgemeines zu Multiinstanzen

  1. #21
    Registriert seit
    05.12.2006
    Beiträge
    13
    Danke
    4
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von MikeJ Beitrag anzeigen
    Wenn nun die Visualisierung oder auch das SPS Programm auf diesen Multi-DB zugreifen kann, auf welche Instanz des DB´s greift sie denn dann zu, denn jede Instanz kann doch auch andere Werte enthalten?!
    Wenn Du das WinCC flexible Projekt ins Step7 Projekt integriert hast ist es doch kein Problem auf die Instanzen zu zugreifen. Eindeutige Namen für die Instanzen sind eigentlich das einzige was Du brauchst. Nach einer Änderung des IDB´s kannst Du mit der "Neu Verbinden" Funktion die ggf. geänderten Adressen oder Namen aktualisieren.
    Angehängte Grafiken Angehängte Grafiken
    Angenehm sind die erledigten Arbeiten.
    Marcus Tullius Cicero (106-43), röm. Redner u. Schriftsteller

  2. #22
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.716
    Danke
    398
    Erhielt 2.399 Danke für 1.999 Beiträge

    Standard

    Zitat Zitat von Der Pfälzer Beitrag anzeigen
    ... ich traue mich ja fast schon nicht mehr auf meinen Vorschlag einzugehen.
    Hallo Roland,
    ob ernst gemeint oder nicht - natürlich hat jeder das Recht, sich seine Programme nach eigenem Ermessen zu verwurschteln ...
    Ich bin allerdings schon der Meinung, dass man erst lernen sollte, wie man es vernünftig (richtig) macht, bevor man das wurschteln anfängt. Sicher hat hier jeder so seine Sichtweise aber viele Dinge macht man u.U. gar nicht mehr, wenn man den Hintergrund von etwas richtig verstanden hat.

    Für diesen Fall bleibe ich bei der von mir dargestellten Ansicht. Gerade die angedachte Funktion hat viel mit einer Elementar-Funktion (wie z.B. einem IEC-Timer) gemeinsam und somit weiterhin mein Vorschlag : behandel es auch so ...

    Gruß
    LL

  3. #23
    Registriert seit
    17.07.2009
    Ort
    Am Rande der Ostalb
    Beiträge
    5.480
    Danke
    1.141
    Erhielt 1.240 Danke für 973 Beiträge

    Standard

    Zitat Zitat von Der Pfälzer Beitrag anzeigen
    Warum muss es den ein "FB" sein ?
    Pack doch den ganzen Kram in einen FC,
    Bausteinparameter "DB" und "DATA" (=DB-Nr und 1.Byte im DB) dran,
    (oder mit Pointer)
    Ein UDT für die benutzten Daten erstellen,
    dieses UDT im "normalen" DB sooft wie benötigt einbauen,
    Fertig.

    Im FC baust du dir intern einen Zeiger, der auf das Datenfeld zeigt.
    Damit baust du ja quasi eigene Multiinstanzen.
    Hab ich zwar in S5-Zeiten auch so gelöst, aber seit S7 finde ich diesen Stil obsolet.

    Gruß
    Dieter

  4. #24
    Registriert seit
    14.11.2008
    Beiträge
    66
    Danke
    3
    Erhielt 6 Danke für 6 Beiträge

    Standard

    Zitat Zitat von Blockmove Beitrag anzeigen
    Damit baust du ja quasi eigene Multiinstanzen.
    Eher schon fast "Klassen", nur ohne Vererbung. Die FB-typischen Einschränkungen fehlen.

    Wenn ich nur in Step7 arbeite, kommt statt der Pointer für mich ein VAR_IN_OUT-Parameter des betreffenden UDT-Typs in Frage. Das wird intern auch als Pointer behandelt, wodurch die FCs exorbitant viel Speicher und Laufzeit brauchen.

  5. #25
    Registriert seit
    14.11.2008
    Beiträge
    66
    Danke
    3
    Erhielt 6 Danke für 6 Beiträge

    Standard

    Zitat Zitat von vierlagig Beitrag anzeigen
    b) Programme bevorzuge, bei denen die automatisch generierten Referenzen sinn ergeben
    Bei einem FB enden die Referenzdaten auch am FB-Aufruf, oder?

  6. #26
    Registriert seit
    09.11.2007
    Ort
    Rhein Main (Darmstadt)
    Beiträge
    663
    Danke
    61
    Erhielt 112 Danke für 80 Beiträge

    Beitrag


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Drutbluck Beitrag anzeigen
    Eher schon fast "Klassen", nur ohne Vererbung. Die FB-typischen Einschränkungen fehlen.

    Wenn ich nur in Step7 arbeite, kommt statt der Pointer für mich ein VAR_IN_OUT-Parameter des betreffenden UDT-Typs in Frage. Das wird intern auch als Pointer behandelt, wodurch die FCs exorbitant viel Speicher und Laufzeit brauchen.
    Zur Erklärung einmal ein paar Hinweise, wie die eigentliche Runtime und die Compiler das ganze implementiert haben:

    Je nach Alter der Entwicklungsumgebung sind die Implementationen zur Generation der Funktionsblöcke (und auch die anderen Sachen) entweder in C (alt) oder C++ geschrieben.

    In C sind die FUB als struct implementiert, wobei der eigentliche FUB Aufruf in der struct als Pointer auf eine Funktion, die der Signatur der verschiedenen Übergabe Parameter entpricht (VAR_IN_OUT und VAR_OUT sind dabei wieder Pointer auf die eigentlichen Variablen), eingebaut wird.

    In C++ werden Instanzen von Klassen generiert, wobei man im Kopf behalten soll, dass structs eigentlich Klassen sind, in denen alle Member public sind. der Rest ist im Prinzip mit der C Implementation vergleichbar.

    Aus den Pointern werden unter C++ allerdings Referenzen, sprich vereinfacht Pointer auf feste Adressen, jegliche Veränderung des Pointers (nicht des Inhalts) werden vom Compiler verhindert.
    Als Freelancer immer auf der Suche nach interessanten Projekten.
    Zitieren Zitieren Implementation  

Ähnliche Themen

  1. Allgemeines Funktionsverständnis
    Von Rici im Forum Programmierstrategien
    Antworten: 12
    Letzter Beitrag: 06.04.2010, 20:49
  2. [Beginner] S7 Daten auslesen -- Allgemeines Problem
    Von squarefan im Forum Hochsprachen - OPC
    Antworten: 2
    Letzter Beitrag: 10.07.2009, 20:57
  3. allgemeines CP 342-5
    Von godi im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 29.10.2007, 10:09
  4. Allgemeines Bit
    Von yellow1 im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 15.11.2006, 18:55
  5. Multiinstanzen
    Von Anonymous im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 08.01.2005, 11:21

Lesezeichen

Berechtigungen

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