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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 20 von 20

Thema: geänderte UDT löscht Aktualwerte!

  1. #11
    SPS.at ist offline Benutzer
    Themenstarter
    Registriert seit
    28.08.2008
    Beiträge
    56
    Danke
    2
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Auf jeden Fall Danke mal...

    Komisch ist das schon, daß UDT's die Anfangswerte reinschreiben...

    typisch Siemens halt -
    Die Frage ist was wichtiger wäre S9 oder ein Simaticmanager 9.0 oder BEIDES?!

    grüße
    thomas

  2. #12
    Registriert seit
    17.07.2009
    Ort
    Am Rande der Ostalb
    Beiträge
    5.493
    Danke
    1.142
    Erhielt 1.243 Danke für 974 Beiträge

    Standard

    Zitat Zitat von SPS.at Beitrag anzeigen
    Da ist es ja noch einfacher statt UDT's Struct's zu verwenden und diese offline auf Stand zu halten, dann habe ich das Problem gar nicht...
    Kommt auf deinen Programmierstil und die Aufgabenstellung an.
    Ich persönlich ziehe die Vorteile einer UDT dem Nachteil mit den Aktualdaten meist vor.

    Gruß
    Dieter

  3. #13
    SPS.at ist offline Benutzer
    Themenstarter
    Registriert seit
    28.08.2008
    Beiträge
    56
    Danke
    2
    Erhielt 3 Danke für 3 Beiträge

    Standard

    @blockmove

    Es geht um eine SCADA-Schnittstelle.
    Am IN soll eine UDT reinkommen die alle Sollwerte enthält.
    Am INOUT sollen die Istwerte in eine UDT.
    Im InstanzDB liegen nur noch Zwischenspeicher.
    Das hätte den Vorteil, daß Sollwerte und Istwerte immer in getrennten DBs liegen und sich die Adressen bei Schnittstellenänderungen nie ändern...

    Die UDT's hätten den vorteil, dass sich alle DB's und FB's automatisch mitändern...

    Ich könnte jetzt natürlich einen FB einführen der mir den Sollwert-DB ständig in einen Sicherungs-DB wegspeichert und beim Laden einer neuen UDT diese automatisch mit den alten Sollwerten beschreibt, anschließend einen größeren Sicherungs-DB erstellt und in diesen die neuen Sollwerte speichert.

    Dabei entstehen eine Reihe von neuen Problemen, z.B. wie werden übertragene Bausteine in den Programmzyklus eingefügt? Alle übertragenen auf einmal? Am Ende oder zwischen drin?
    Gibts da eine Dokumentation dazu?

    grüße

    thomas
    Zitieren Zitieren SCADA-Schnittstelle  

  4. #14
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.735
    Danke
    321
    Erhielt 1.523 Danke für 1.283 Beiträge

    Standard

    @SPS.at
    Das kannst du ablöten!

    Das Sichern UND zurückspielen muss in dem Fall händisch erfolgen.

    Du hast keine Chance zu erkennen (jedenfalls keine mir bekannte), das Laden irgend eines Bausteins vom System her zu erkennen.
    Abgesehen davon ist es unerlässlich dass sich die Kiste in dem Fall in einem "sicheren" Zustand befindet,
    jedenfalls so sicher, das "0" als Sollwert in dem Augenblick keine Rolle spielt.

    Die einzige Möglichkeit wäre imho ein Datenfeld in dem "Nie" 0 drinsteht für das Auslösen der Initialisierung zu verwenden.


    Andere Möglichkeit, wenn auch unschön bzw. gewissermaßen unsauber:
    Den UDT von Anfang an auf die Maximallänge trimmen, ab dann den UDT im Normalbetrieb nur noch Offline ändern.
    Solange genügend Bytes im DB sind spielt das auch keine Rolle, das verschafft zumindestens Zeit, einen "günstigen" Zeitpunkt zu wählen.

    Mfg
    Manuel
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  5. #15
    Registriert seit
    17.07.2009
    Ort
    Am Rande der Ostalb
    Beiträge
    5.493
    Danke
    1.142
    Erhielt 1.243 Danke für 974 Beiträge

    Standard

    Zitat Zitat von SPS.at Beitrag anzeigen
    Es geht um eine SCADA-Schnittstelle.
    Tja ... Da verwende ich eigentlich immer separate DBs mit Strukturen.
    Egal was du im Vorfeld zusammen mit den Kollegen vom Scada-System definierst, irgendwann passt es nicht mehr. Egal wieviel Reservefelder o.ä. vorhanden waren. Deshalb eigenständige DBs mit Koppel-FBs zum eigentlichen Programm.
    Ist zwar mehr Arbeit aber Erfahrung macht klug ...

    Gruß
    Dieter



    FB_Addon_TelNo{ height:15px !important; white-space: nowrap !important; background-color: #0ff0ff;}

  6. #16
    SPS.at ist offline Benutzer
    Themenstarter
    Registriert seit
    28.08.2008
    Beiträge
    56
    Danke
    2
    Erhielt 3 Danke für 3 Beiträge

    Standard

    @MSB
    Das Problem einen neuen Datenbaustein zu erkennen ist es nicht - einfach ein initbit abfragen und nach dem hin und herkopieren setzen...
    Das viel größere Problem sind die UDT's als FB-Schnittstelle, da kann es passieren, dass der FB für zumindest einen Zyklus undefinierte IO's an der Schnittstelle kriegt...
    Was natürlich kein spezifisches UDT-problem ist - das hab ich auch bei structs - wenn sich die ändern...

    Das mit der Maximallänge macht keinen Spaß weil online zusehen unmöglich wird...

    @ blockmove
    Auf das wird's wohl rauslaufen - eigene Schnittstellen DB's für SCADA

    Noch ne abschließende Frage - gibt es keine möglichkeit Bausteine gezielt zu übertragen?
    Ich meine das so:
    neue DB's und FB's stehen im Speicher und werden am anfang eines Zyklus 'aktiviert' und das Programm arbeitet mit den neuen (geänderten) Bausteinen?
    (Ich meine jetzt kein Stop oder händischen Eingriffe)


    grüße
    tom

  7. #17
    Registriert seit
    29.03.2004
    Beiträge
    5.742
    Danke
    143
    Erhielt 1.688 Danke für 1.226 Beiträge

    Standard

    Zitat Zitat von SPS.at Beitrag anzeigen
    Noch ne abschließende Frage - gibt es keine möglichkeit Bausteine gezielt zu übertragen?
    Ich meine das so:
    neue DB's und FB's stehen im Speicher und werden am anfang eines Zyklus 'aktiviert' und das Programm arbeitet mit den neuen (geänderten) Bausteinen?
    (Ich meine jetzt kein Stop oder händischen Eingriffe)
    Wenn du aus dem SIMATIC-Manager heraus mehrere Bausteine zusammen markierst und dann überträgst, versucht er diese Bausteine auch zusammen in das Programm einzubinden. Also es werden erst alle Bausteine in die SPS übertragen, und dann kommt erst der Befehl die Bausteine in das Programm einzubinden. Das macht Step7 aber alles intern. Das Einbinden der Bausteine irgendwie manuell zu stoppen oder anzufordern ist aus dem Manager Imho nicht möglich.

    Weiterhin ist die maximale Anzahl an Bausteinen die gleichzeitig eingebunden werden kann nach oben hin begrenzt. Wo diese Grenze liegt habe ich jedoch noch in keiner Dokumentation gefunden, scheint aber auch von der eingesetzten CPU abhängig zu sein.

  8. #18
    SPS.at ist offline Benutzer
    Themenstarter
    Registriert seit
    28.08.2008
    Beiträge
    56
    Danke
    2
    Erhielt 3 Danke für 3 Beiträge

    Standard

    @Thomas_v2.1
    Du hast recht, hört sich interessant an...

    Wenn man einen neuen Baustein im OB1 aufruft und den OB1 samt dem neuen FC in die CPU hinein läd, so geht die CPU auch nicht in Stop...
    Das bedeutet der Simaticmanager läd zuerst die neu FC und anschließend erst den OB1...

    Irgendeinen Trigger muss es also geben.

    Vielleicht weiß ja jemand wo sowas dokumentiert ist...

    grüße
    tom

  9. #19
    Registriert seit
    11.05.2005
    Ort
    Baden-Württemberg
    Beiträge
    669
    Danke
    113
    Erhielt 153 Danke für 124 Beiträge

    Standard

    hi,

    es schadet nicht, sich beim Laden von neuen FBs, FCs selbst Gedanken über die Reihenfolge zu machen.
    Das ist IMHO besser als sich auf den Manager zu verlassen.

    Wenn immer erst der Instanz-DB, danach bei Bedarf FB oder FC, und dann der Aufruf geladen werden kann nix passieren.

    Micha
    "arbeite klug, nicht hart" - deutsches Sprichwort

  10. #20
    Registriert seit
    13.03.2009
    Beiträge
    3
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi

    Lade einfach DB aus der CPU erstelle eine AWL-Quelle davon denn da sind die Aktualwerte mit hinterlegt dann änderst Du den UDT dann noch die AWL Quelle neu übersetzen, das sollte funktionieren. Falls du diverse Werte aus UDT löschst einfach auch in der Initialisierung der AWL Quelle entfernen.

    mfg
    Alex

Ähnliche Themen

  1. OP177B löscht der Alarmpuffer
    Von Dalie im Forum HMI
    Antworten: 0
    Letzter Beitrag: 15.12.2009, 16:45
  2. Systemmanager löscht Verknüpfungen
    Von grosser_marco im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 22.09.2009, 21:07
  3. Bei Simatic Starter nur geänderte Parameter Drucken ?
    Von Waelder im Forum Antriebstechnik
    Antworten: 2
    Letzter Beitrag: 05.06.2009, 13:17
  4. S5: IP 240 geänderte Spindelsteigung
    Von dodo im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 18.02.2009, 16:24
  5. WinCC OPC, werden nur geänderte Daten übertagen?
    Von BorisDieKlinge80 im Forum HMI
    Antworten: 0
    Letzter Beitrag: 11.06.2008, 05:10

Lesezeichen

Berechtigungen

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