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

Seite 1 von 5 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 42

Thema: Array in Nov Ram

  1. #1
    Registriert seit
    22.07.2009
    Beiträge
    98
    Danke
    18
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    hey leute ich hätte da mal wieder ein problem und zwar:
    Ich weis, dass man Merker als %Q blablabla setzen kann und das mit dem Novram dann verknüpfen aber geht das ganze auch mit einem Array? weil ich will ein Array ins Nov RAM schreiben damit das z.B. bei einem Reboot erhalten bleibt
    Zitieren Zitieren Array in Nov Ram  

  2. #2
    Registriert seit
    16.02.2009
    Beiträge
    8
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hallo Coolt,

    ich würde das Problem folgendermaßen lösen:

    1) Struktur erstellen:
    erstelle eine Struktur, z.B.:

    TYPE ST_NOVRAM :
    STRUCT
    bVariable: BOOL;
    abVariable: ARRAY[1..10] OF BOOL;
    sString: STRING(80);
    rReal: REAL;
    END_STRUCT
    END_TYPE

    2) Variable deklarieren:
    stStruktur AT %Q* :ST_NOVRAM;

    3) System-Manager:
    Projekt übersetzen, im System-Manager neu einlesen

    4) NOV-Ram:
    eine neue Variable beim NOV-Ram-Ausgang anfügen, die Struktur auswählen und zum Schluß noch verknüpfen (siehe Schreenshot)


    Damit sind alle Variablen die ins NOV-Ram sollen an einer Stelle im Programm.Nur mal so als kleines Beispiel.

    Grüßle
    iguazu
    Angehängte Grafiken Angehängte Grafiken

  3. #3
    COOLT ist offline Benutzer
    Themenstarter
    Registriert seit
    22.07.2009
    Beiträge
    98
    Danke
    18
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Kann ich nich einfach das Array mit
    Code:
     arrBenutzerliste    :    ARRAY[1..Max_Benutzer] OF st_User;        (*    Benutzerliste mit ID, Level und Name der Anwender    *)
    mit
    Code:
     arrBenutzerliste  AT %Q*  :    ARRAY[1..Max_Benutzer] OF st_User;        (*    Benutzerliste mit ID, Level und Name der Anwender    *)
    so deklarieren? funktioniert das nicht auch?

  4. #4
    Registriert seit
    16.02.2009
    Beiträge
    8
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hallo,

    klar, funktioniert auch (siehe Screenshot).
    ich hoffe ich konnte dir weiterhelfen.

    Grüßle
    iguazu
    Angehängte Grafiken Angehängte Grafiken

  5. #5
    Registriert seit
    27.07.2007
    Ort
    Leipzig
    Beiträge
    239
    Danke
    25
    Erhielt 47 Danke für 43 Beiträge

    Standard

    Hallo,

    ich wurde das nicht so machen. Es gibt einen entscheidenten nachteil bei dieser Methode. Bei einem Stop oder Reset der Steuerung werden alle Ausgänge auf Null gesetzt so auch die vom NovRam und so sind alle Daten weg!

    Der bessere Weg ist das schreiben der NovRam Daten über den Baustein FB_NovRamReadWriteEx oder FB_NovRamReadWrite.

    Ich hab mir einen Baustein gebastelt der die NovRam Struktur kontrolliert und bei einer Änderung der Daten die NovRam Struktur in den NovRam schreibt.

    Zum Start des Programms wird die Struktur einmalig eingelesen.

    gruß bonatus

  6. #6
    Registriert seit
    27.04.2006
    Ort
    Sauerland
    Beiträge
    626
    Danke
    183
    Erhielt 88 Danke für 81 Beiträge

    Standard

    Zitat Zitat von bonatus Beitrag anzeigen
    Hallo,

    ich wurde das nicht so machen. Es gibt einen entscheidenten nachteil bei dieser Methode. Bei einem Stop oder Reset der Steuerung werden alle Ausgänge auf Null gesetzt so auch die vom NovRam und so sind alle Daten weg!

    ....
    Also das ist jetzt mal quark. die daten bleiben erhalten.
    Die Kunst in der Personalführung ist es
    die Mitarbeiter so über den Tisch zu ziehen,
    dass sie die Reibungshitze als Nestwärme empfinden.

  7. #7
    Registriert seit
    27.07.2007
    Ort
    Leipzig
    Beiträge
    239
    Danke
    25
    Erhielt 47 Danke für 43 Beiträge

    Standard

    Hallo repök,

    wenn du die Daten des NovRams aus Ausgang deklarierst z.B.: NovRamOut AT %Q* ist es aber so. Alle Ausgänge werden auf 0 bzw. FALSE gesetzt und die Daten sind weg!

    Hast du es schonmal ausprobiert?

  8. #8
    Registriert seit
    27.04.2006
    Ort
    Sauerland
    Beiträge
    626
    Danke
    183
    Erhielt 88 Danke für 81 Beiträge

    Standard

    Ja genauso, und es hat immer funktioniert.
    Die Kunst in der Personalführung ist es
    die Mitarbeiter so über den Tisch zu ziehen,
    dass sie die Reibungshitze als Nestwärme empfinden.

  9. #9
    Registriert seit
    27.07.2007
    Ort
    Leipzig
    Beiträge
    239
    Danke
    25
    Erhielt 47 Danke für 43 Beiträge

    Standard

    Mir ist es zu unsicher.

    Muss jeder selber wissen. Ich wollte es nur mal anmerken.

  10. #10
    Registriert seit
    27.04.2006
    Ort
    Sauerland
    Beiträge
    626
    Danke
    183
    Erhielt 88 Danke für 81 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    das nov-ram kaufst du doch extra für solche zwecke zu. und ich hatte damit noch nie probleme.
    Die Kunst in der Personalführung ist es
    die Mitarbeiter so über den Tisch zu ziehen,
    dass sie die Reibungshitze als Nestwärme empfinden.

Ähnliche Themen

  1. Antworten: 18
    Letzter Beitrag: 21.12.2016, 17:03
  2. In: Array ???
    Von husox81 im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 15.12.2008, 07:07
  3. Array
    Von rainer-step5 im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 31.10.2006, 19:46
  4. Array?????
    Von Adenauer im Forum Simatic
    Antworten: 15
    Letzter Beitrag: 20.04.2006, 10:32
  5. Bool-Array in Byte-Array
    Von Techniker im Forum Sonstige Steuerungen
    Antworten: 10
    Letzter Beitrag: 13.01.2006, 19:12

Lesezeichen

Berechtigungen

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