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

Seite 4 von 5 ErsteErste ... 2345 LetzteLetzte
Ergebnis 31 bis 40 von 42

Thema: Array in Nov Ram

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    hm muss ich nich iwie noch die NovRam mit iwas verknüpfen? damits auch richtig übernommen wird?

    //€dit: weil iwie schreibt der da anscheinend noch nix rüber.

    //€dit€dit: Habs nämlich gerade mal ausprobiert: erst normal durchlaufen lassen, damit er das array draufschreibt dann ausgeloggt die vorherige benutzerinitialisierung rausgenommen und dann neu geladen, so dass er eigentlich das Array aus dem Nov Ram hätte holen müssen. Aber iwie hat ers nich.
    Geändert von COOLT (18.08.2009 um 15:56 Uhr)

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

    Standard

    Nein, das muss halt nicht mehr gemacht werden. Über die DeviceId (nDevId - siehe System Manager NovRam - Allgemein -->Id) wird festgelegt welcher Speicherbereich beschrieben wird. Den Haken "Auto Init linked PLC Outputs" musst oder kannst du rausnehmen.

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

    Standard

    Also ich hab jetz alles so gemacht wie du es vorgeschlagen hast. Die ID ist laut System Manager die 4 ergo hab ich da jetz anstatt der 5 wie bei dir ne 4 eingetragen und den rest so übernommen
    Code:
    IF fbEinlesen.O_bReadDone THEN
        NovRamReadGO:=TRUE;
    ELSE
        NovRamReadGO:=FALSE;
    END_IF
    
    IF NOT fbEinlesen.O_bNovRamWriteGO THEN
        NovRamWriteGO:=TRUE;
    ELSE
        NovRamWriteGO:=FALSE;
    END_IF
    
    (*********************************************)
    (*    NovRam beschriftung    *)
    IF NovRamReadGO THEN
        fbNovRamReadWriteEx.nDevId:=4;
        fbNovRamReadWriteEx.bRead:=TRUE;
        fbNovRamReadWriteEx.bWrite:=FALSE;
        fbNovRamReadWriteEx.cbSrcLen:=SIZEOF(arrBenutzerliste);
        fbNovRamReadWriteEx.cbDestLen:=0;
        fbNovRamReadWriteEx.pSrcAddr:=ADR(arrBenutzerliste);
        fbNovRamReadWriteEx.pDestAddr:=0;
        fbNovRamReadWriteEx.nReadOffs:=0;
        fbNovRamReadWriteEx.nWriteOffs:=0;
    END_IF
    (*********************************************)
    (*    NovRam Auslesung    *)
    IF NovRamWriteGO THEN
        fbNovRamReadWriteEx.nDevId:=4;
        fbNovRamReadWriteEx.bRead:=FALSE;
        fbNovRamReadWriteEx.bWrite:=TRUE;
        fbNovRamReadWriteEx.cbSrcLen:=0;
        fbNovRamReadWriteEx.cbDestLen:=SIZEOF(arrBenutzerliste);;
        fbNovRamReadWriteEx.pSrcAddr:=0;
        fbNovRamReadWriteEx.pDestAddr:=ADR(arrBenutzerliste);
        fbNovRamReadWriteEx.nReadOffs:=0;
        fbNovRamReadWriteEx.nWriteOffs:=0;
    END_IF
    (*********************************************)
    Das NovRamReadGo wir gesetzt sobald ich mich einmal abgemeldet habe.
    Ich habe als ersten durchgang noch
    Code:
    IF NOT bInitialisiert THEN        (*    Beginn der Festlegung    *)
    arrBenutzerliste[1].sUserID:='1643109';
    arrBenutzerliste[1].sUserlvl:='Admin';
    arrBenutzerliste[1].sUserName:='Christian';
    arrBenutzerliste[2].sUserID:='1646211';
    arrBenutzerliste[2].sUserlvl:='Techniker';
    arrBenutzerliste[2].sUserName:='Rafael';
    arrBenutzerliste[3].sUserID:='1650637';
    arrBenutzerliste[3].sUserlvl:='Admin';
    arrBenutzerliste[3].sUserName:='Tobias';
    FOR i:=1 TO Max_Benutzer DO    (*    Belegung der restlichen Plätze im Array mit leeren IDs    *)
    IF arrBenutzerliste[i].sUserID='' THEN
        arrBenutzerliste[i].sUserlvl:='Kein level vorhanden';
        arrBenutzerliste[i].sUserID:='0000000';
        arrBenutzerliste[i].sUserName:='Noch nicht besetzt';
    END_IF
    END_FOR;
    bInitialisiert:=TRUE;
    
    END_IF
    dringelassen und dann ausgeloggt das mit (**) ausgeklammert und nochmal eingeloggt resettet und dann konnt ich mich nimmer anmelden. weil das Array nit beschriftet wurde. Obwohl O_bNovRamWriteGO am anfang meine Schrittkette true gesetzt wird schreibt das NovRam trotzdem nich in mein Array.

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

    Standard

    Hallo,

    wenn du etwas in den NovRam geschrieben hast schau mal in die Variable

    cbWrite : UDINT;

    des FBs FB_NovRamReadWriteEx da wird die Anzahl der geschriebenen Bytes hineingeschrieben.

    Das gleiche dann auc mal beim lesen mit

    cbWrite : UDINT;

    Die beiden Variablen müssten die gleiche Werte haben, aber ungleich Null.

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

    Standard

    Jo die gleichen werte sind da und auch ungleich null aber iwie übernimmt er die Daten nit aus dem NovRam wenn ich das mal resettet hab.

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

    Standard

    Versuch mal die Daten manuell aus dem NovRam zu lesen und deaktiviere mal deinen FB zum schreiben der Daten.

    Verändern sich beim Schreiben der Daten eigentlich auch die Daten im System Manager (DPRAM(Online)) ?

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

    Standard

    Da ändert sich garnix.

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

    Standard

    Iwie tut sich da garnix im NovRam. Wenn ich mein Programm am laufen habe dann ändert das Wohl das es schreit und liest wenn ich Karte draufhab und runter nehme aber mehr auch nich.

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

    Standard

    Hallo,

    wenn du es über den FB FB_NovRamReadWriteEx machst musst du nichts weiter verknüpfen. Das ist ja eingtlich das gute daran. Hast du evtl noch alte "Ausgänge" mit dem NovRam Verknüpft?

    Edit: Einlesen musst du doch nur einmalig beim Hochfahren oder nach einem Reset, wenn dein Programm läuft und mit den Daten arbeitet musst nicht mehr einlesen. Dann schreibst du nur noch den NovRam.
    Geändert von bonatus (21.08.2009 um 15:27 Uhr)

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Nö alles Clean

Ä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
  •