S7 CPU 315-2/DP Daten in Excel file übertragen !!!!!????

Ich habe eine Runtime Lizenz!

Am Touch Panel starte ich immen nur die Runtime, und das WinCCflex hat damit nicht zu tun.

Also habe ich doch eine Möglickeit mein Problem zu beheben..., oder???
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du könntes das alles ja auch in der sps lassen mit einen Ringspeicher der bei jeden neuen Zyklus auf einen neuen Platz im DB schreibt ,das kannst du so lange treiben bis der DB voll ist ^^

und solltest du die daten mal brauchen , einfach den DB in einen Exelliste kopieren

Code:
FUNCTION_BLOCK FB 10
TITLE =
VERSION : 0.1




VAR_INPUT
  Speicher : BOOL ;    
  Reset : BOOL ;    
  Eingangswert : S5TIME ;    
  DBNr : BLOCK_DB ;    
  Startbyte : DINT ;    
  Anzahl_Werte : DINT ;    
END_VAR
VAR_IN_OUT
  FP_Speicher : BOOL ;    
  Zeigernummer : DWORD ;    
END_VAR
VAR_TEMP
  Impuls_Speicher : BOOL ;    
  Byteanzahl : INT ;    
  Zeiger_Pointerformat : DWORD ;    
END_VAR
BEGIN
NETWORK
TITLE =Initialisierung
//Mit Reset (z.B. beim SPS-Start) wird der Speicherstellenzeiger auf den 
//Startwert zurückgesetzt.


      U     #Reset; 
      SPBN  strt; 


      L     #Startbyte; 
      T     #Zeigernummer; 


strt: NOP   0; 




NETWORK
TITLE =Speichern?
//HIGH/LOW-Abfrage für Speichern


      U     #Speicher; 
      FP    #FP_Speicher; 
      =     #Impuls_Speicher; 


      U     #Impuls_Speicher; 
      SPBN  ende; 




NETWORK
TITLE =Eingangswert im DB abspeichern
//Pointer erzeugen
//Wert an der gezeigten Stelle speichern


      L     #Zeigernummer; // Startbytenummer
      SLD   3; // auf Bytestelle im Pointer verschieben
      T     #Zeiger_Pointerformat; // 




      AUF   #DBNr; 
      L     #Eingangswert; // Wert
      T     DBW [#Zeiger_Pointerformat]; // abspeichern






NETWORK
TITLE =Zeiger auf nächsten Wert stellen


      L     2; // Byteanzahl des zu speichernden Wertes
      T     #Byteanzahl; 


      L     #Zeigernummer; // ZeigerNr. erhöhen
      L     #Byteanzahl; 
      +D    ; 
      T     #Zeigernummer; 




NETWORK
TITLE =
//Letztes Startbyte berechnen
//Anfangs-Offset hinzufügen
//Mit Zeigernummer vergleichen
//Gf. auf Start rücksetzen
      L     #Anzahl_Werte; // Letztes Anfangsbyte berechnen
      L     #Byteanzahl; 
      *D    ; 
      L     #Startbyte; // Startverschiebung
      +D    ; 
      L     #Zeigernummer; // Abfrage auf Speicherende
      <D    ; 
      SPBN  ende; 


      L     #Startbyte; // Rücksetzen
      T     #Zeigernummer; 






NETWORK
TITLE =Schleifen-Ende


ende: NOP   0; 




END_FUNCTION_BLOCK

das wär mein vorschlag
 
Ich habe eine Runtime Lizenz!

Am Touch Panel starte ich immen nur die Runtime, und das WinCCflex hat damit nicht zu tun.

Also habe ich doch eine Möglickeit mein Problem zu beheben..., oder???

Wenn du eine Runtime für WinCCflexibel mit min. 128 PowerTags hast, bist du gut gerüstet um
deine Aufgabe ausführen zu können. Dazu mußt du natürlich die Software auf den Rechner
installieren, auf deinen Projektierungsrechner brauchst du dann nur noch das Engenieringwerkzeug
WinCCflexibel 200X Advanced. Mit dieser Software kannst du dann Scripte erstellen die in der Runtime
laufen. Dazu habe ich dir in Beitrag #11 schon einen Link eingstellt wo der Volker mit der Hilfe von LL
Beispielhaft erklärt hat, wie man aus WinCCflexibel Datein schreiben und lesen kann in VBS, es ist
sogar ein Beispiel für Exel dabei.

Bitte wenn du nochmal einen Thread hier im Forum eröffnest, gebe die ganzen Informatione Preis zu deinen
System und deiner Anwendung, damit dir geziehlt geholfen werden kann.
 
Hallo,

Vielen Dank für euere Antworten!

Runtime sowie WinCCflexible Advanced habe ich.
Habe mein Problem nicht ausreichend beschrieben (Hardware sowie Software beschrieben) Sorry
Ich werde die Scripten im WinCCflex anlegen probieren.

Das sollte der richtige Code für meine Anwendung sein,oder??


Volker seine Anweisung:

windows

Exceldatei lesen / schreiben

???


quote_icon.png
 
Zuletzt bearbeitet:
Zurück
Oben