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

Ergebnis 1 bis 9 von 9

Thema: SPS Datenaufzeichnung

  1. #1
    Registriert seit
    16.02.2015
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,

    ich bin erst gerade auf dieses Forum gestoßen und würde Hilfe zu einer Datenaufzeichnung meiner gemessenen Werte brauchen.
    Ich bin nicht sehr bewandert in diesem Thema, aber hoffe dass ihr mir helfen könnt.

    Mein kleines Programm macht das:
    PROGRAM_INIT

    HTC_heater_switch:=FALSE;
    HTC_heater_out
    :=FALSE;

    analog_pressure_input;
    analog_temperature_input;

    pressure_bar;
    temperature_celsius;


    analog_status_input_1;


    p_module_ok;
    p_heater;
    q_heater;
    s_heater;
    i_heater;
    u_heater;
    i_n_heater;




    PWM.Enable:=
    1;
    PWM.Period:=
    20;
    PWM.MinPulseWidth:=
    5;
    (*PWM.DutyCycle:=50;*)


    HeaterStep:=STATE_OFF;









    END_PROGRAM


    PROGRAM
    _CYCLIC

    T_lowerLimit:=T_Soll-T_lowerRange;
    T_upperLimit
    :=T_Soll+T_upperRange;

    PWM();



    IFHTC_heater_switch=TRUETHENHTC_heater_on:=TRUE;
    ELSEHTC_heater_on:=FALSE;
    END_IF;

    CASEHeaterStepOF

    STATE_OFF:

    HTC_heater_out
    :=FALSE;
    IFtemperature_celsius<T_lowerLimitANDHTC_heater_on=TRUETHENHeaterStep:=STATE_ON;
    ELSEHeaterStep:=STATE_OFF;
    END_IF;

    STATE_ON:

    HTC_heater_out
    :=PWM.Out;
    IFtemperature_celsius>T_upperLimitORHTC_heater_on=FALSETHENHeaterStep:=STATE_OFF;
    ELSEHeaterStep:=STATE_ON;
    END_IF;

    END_CASE;





    pressure_bar:=
    (INT_TO_REAL(analog_pressure_input)/32768*50)+0.454;
    temperature_celsius
    :=INT_TO_REAL(analog_temperature_input)/10;




    END_PROGRAM

    Ich benötige eine Aufzeichnung der gemessenen Werte in welcher Form auch immer. Muss dann Diagramme erstellen...

    Danke
    Zitieren Zitieren SPS Datenaufzeichnung  

  2. #2
    Registriert seit
    03.02.2015
    Ort
    Hatten
    Beiträge
    183
    Danke
    16
    Erhielt 32 Danke für 29 Beiträge

    Standard

    Hallo,

    da stellen sich erstmal diverse Fragen:
    - wie viele Werte (Druck und Temperatur?)
    - wie oft sollen die gemessen werden (alle Sekunde, alle Millisekunde, alle Stunde, ...)
    - wie lange sollen die gemessen werden?
    - wie oft willst Du die Daten als Diagramm darstellen: Auf Abruf (HMI), einmalig, weil Du was testest, mehrfach?

    Wenn Du schnell und lange messen willst, sowie die Daten oft auslesen und darstellen willst, würde ich mir Gedanken über einen separaten Datenlogger machen.
    Wenn Du die einmalig auslesen willst, könnte man das z.B. über einen Datenbaustein mit X Speicherplätzen machen.
    Wenn Du das über ein HMI auslesen willst, könntest Du auch einen Trend im HMI mitschreiben lassen...

    Da gibt es viele unterschiedliche Möglichkeiten. Was für welchen Fall gut oder geeignet ist, entscheiden die Fragen oben und der Geldbeutel...

    Gruß
    JS

  3. #3
    KMWA ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    16.02.2015
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,

    danke für die Antwort.
    -Werte: Druck, Temperatur und heizung ein oder aus
    -alle 15 sekunden
    -min 5 h
    -diagramme nur einmalig, bzw will die werte schon iwo gespeichert haben (editor file oder excel)

    am liebsten wäre es mir wenn die daten in einem file mitgeschrieben werden.

    danke
    lg

  4. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.401 Danke für 2.001 Beiträge

    Standard

    Dein Code entbehrt nicht einer gewissen Unübersichtlichkeit ...
    Du solltest so vorgehen :
    - ein Array definieren des gewünschten Datentyps und in passender Größe
    - eine Index-Variable definieren, die du in jedem Zyklus erhöhst und die bestimmt, wohin der jeweils eingelesene Wert im Array geschrieben werden soll

    ... und jetzt die Kür :
    Du baust dir einen FB in dem das alles stattfindet, der die Daten hält und der ggf. auch eine Auswertung macht ...

    Gruß
    Larry

  5. #5
    Registriert seit
    03.02.2015
    Ort
    Hatten
    Beiträge
    183
    Danke
    16
    Erhielt 32 Danke für 29 Beiträge

    Standard

    Hallo,

    ich kenne mich nun leider nicht mit Phoenix aus. Da es aber mit "PC WORX" programmiert wird, vermute ich, daß es auf VxWorks basiert, einem Echtzeitbetriebssystem. Deshalb vermute ich, daß Du dort auch selbst Dateien erzeugen kannst.
    Alle 15s ist für Dateioperationen in Ordnung. Trotzdem mußt Du mal damit rechnen, daß aus irgendeinem Grund das Schreiben verzögert wird.
    Daher solltest Du zuerst, wie Larry schon schrieb, in ein Array schreiben, von wo Du dann entweder alle 15s jeden einzelnen Wert oder nach einer bestimmten Zeit (z.B. nach einer Minute) dann vier Werte auf einmal schreibst. Das Array wäre dann ein Umlaufpuffer. D.h. in Datei geschriebene Werte werden wieder im Puffer überschrieben.

    Da Du beim Schreiben i.d.R. selbst definierst, was und wie Du das schreibst, würde ich das als CSV-Datei, also Kommaseparierte Werte, ausgeben. Dann kannst Du das in Excel einlesen und damit machen, was Du willst, inkl. Diagrammen.

    Ich hoffe, das hilft erst einmal, ein Konzept zu erstellen. Die Umsetzung mußt Du dann mal gucken, welche Befehle Phoenix bereitstellt.

    Gruß
    JS

  6. #6
    Registriert seit
    25.06.2008
    Ort
    Blomberg/Lippe
    Beiträge
    1.293
    Danke
    51
    Erhielt 130 Danke für 124 Beiträge

    Standard

    Also PC Worx wurde von KW-Software entwickelt und stammt von Multiprog ab. Das hat mit VxWorks rein garnichts zutun.

    Du kannst mit Hilfe der FILE-FBs (FILE_OPEN, FILE_WRITE, FILE_CLOSE, ...) eine CSV-Datei schreiben. Die nutzt ich auch dafür.
    Geändert von Mobi (17.02.2015 um 08:03 Uhr)
    Gruß
    Mobi


    „Das Einfache kompliziert zu machen ist alltäglich. Das Komplizierte einfach zu machen –
    das ist Kreativität“ (Charles Mingus).

  7. Folgender Benutzer sagt Danke zu Mobi für den nützlichen Beitrag:

    JSEngineering (17.02.2015)

  8. #7
    Registriert seit
    08.09.2010
    Ort
    Blomberg
    Beiträge
    421
    Danke
    1
    Erhielt 66 Danke für 63 Beiträge

    Standard

    Hallo KMWA,

    ich kann meinen Vorrednern nur zustimmen. Bevor wir dir helfen können, solltest du dir überlegen was du haben möchtest.

    Wenn du die Werte "nur" in einer Datei haben willst, die dann beispielsweise per Excel ausgewertet werden kann, dann empfehle ich dir die Idee von Mobi und unsere File Bausteine. Mit dieser Lösung werden die Werte in eine Datei auf der Steuerung geschrieben die dann bspw. per FTP abgeholt werden kann. Das schöne an dieser Lösung ist, dass keine weiteren Tools und damit Kosten auf dich zukommen.
    Die Werte können natürlich auch über andere Bibliotheken in SQL basierten Datenbanken gepseichert werden. Da brauchst du natürlich eine SQL/MySQL Datenbank.

    Wenn du dir die Werte dauerhaft in einem Diagramm anschauen willst, könntest du unser WebVisit verwenden. Damit könntest du eine Visualisierung erstellen die auf dem Webserver der Steuerung läuft und dir ein diagramm der Werte anzeigt. Gespeichert würden die Werte dann immernoch über die File oder SQL Bausteine.

    Die ganz schicke Lösung wäre unsere Visualisierungssoftware Visu+. Damit kannst du dir die Werte in einem Diagramm anzeigen lassen und in nahezu beliebigen Datenbankformaten abspeichern. Neben dem reinen darstellen der Werte kannst du dann natürlich auch Alarme etc. aus den Werten generieren. Hierfür bräuchtest du dann noch ein extra Anzeigegerät, da Visu+ nicht Web basiert ist.

    Ich hoffe eine dieser Möglichkeiten trifft ungefähr das was du dir vorgestellt hast.

    Gruß
    Mark


    p.s.: PC Worx hat tatsächlich nichts mit VxWorks zu tun
    PHOENIX CONTACT Deutschland GmbH
    Hotline: 05281-946-2888
    automation-service@phoenixcontact.com
    www.phoenixcontact.de

  9. #8
    Registriert seit
    12.03.2015
    Beiträge
    1
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo KMWA,

    Phoenix hat im Bereich Solar eine Bib. (Solarbasic) die Daten Loggen kann und in eine csv schreibt.
    ist sogar Freeware.
    Kannst du auf der Homepage runterladen.

    https://www.phoenixcontact.com/asset...basic_1_40.exe

    Gruß Andreas

  10. #9
    Registriert seit
    06.10.2003
    Beiträge
    3.412
    Danke
    451
    Erhielt 506 Danke für 408 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Andreas.L Beitrag anzeigen
    ..Phoenix hat im Bereich Solar eine Bib. (Solarbasic) die Daten Loggen kann und in eine csv schreibt...
    ...Eventuell auch in einem Format, welches mit "Ingo's csv-Viewer" gelesen werden kann.
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 21.11.2013, 15:11
  2. Antworten: 34
    Letzter Beitrag: 01.01.2013, 15:35
  3. Vijeo-Designer Datenaufzeichnung
    Von timgross345 im Forum HMI
    Antworten: 0
    Letzter Beitrag: 31.03.2012, 16:23
  4. Datenaufzeichnung mit S7
    Von coro im Forum Simatic
    Antworten: 15
    Letzter Beitrag: 29.11.2010, 11:40
  5. Frage zur Datenaufzeichnung in der SPS !!!
    Von ManuHage im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 25.07.2005, 22:38

Lesezeichen

Berechtigungen

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