-Menü

Beiträge anzeigen

Dieser Abschnitt erlaubt es Ihnen, alle Beiträge anzusehen, die von diesem Mitglied geschrieben wurden. Beachten Sie, dass Sie nur Beiträge sehen können, die in Teilen des Forums geschrieben wurden, auf die Sie aktuell Zugriff haben.

Beiträge anzeigen-Menü

Beiträge - io123

#1
Hallo shrimps,

da muss ich dir leider rechtgeben. Im SPS-Forum habe ich noch nicht mal einen Eintrag zu meiner Frage.

Es ist schon schade, dass das Wissen geheim gehalten wird, anstatt es zu teilen.

MfG
io123
#2
Hallo shrimps,

das habe ich auch gemacht, jedoch noch keine Antwort bekommen.

Ich bin der Meinung, dass doch schon einige (auch hier im Forum) mit e!cockpit arbeiten und ich wenn ich der Einzigste bin, welcher das Problem hat, müsste bei denen es läuft müsste die Installationsumgebung anderst sein.

Ich hab halt eine reine Win7x64 Installation und e!cockpit. Vielleicht braucht e!cockpit auch eine spezielle Version vom .Net Framework, nur das weis ich nicht.

MfG
io123
#3
Hallo,

ich habe vei e!cockpit die Libs aus dem CodeSys Store eingebunden.

Wenn ich bei einem Funktionsbaustein z.B. aus der Building-Lib die Parameter öffnen möchte um diese einzustellen kommt eine Fehlermeldung und das Fenster zu Eingabe der Parameter erscheint nicht.
Fehlermeldung:
Microsoft .Net Framework
Unbeandelte Ausnahme in einer Komponente der Anwendung. ...
Der Objekthinweis wurd nicht auf eine Objetinstanz festgelegt.

Unter Details steht dann noch jede Menge.

System: Windows 7 x64 + aktuelle Updates
e!cockpit: 1.3.1.4

Kann mir da vielleicht jemand weiterhelfen ?

MfG
io123
#4
Hallo,

ich weis der Beitrag ist schon etwas älter.

Ich möchte mich nach dem Stand mit dem Regler für die Wärmepumpe erkundigen.

Denn ich stehe auch davor, dass ich die Steuerung der Wärmepumpe durch eine Wago-Steuerung ersetzten muss.

@ swmggs: Fals Hugo noch nichts hat, kannst du mir weiterhelfen ?

io123
#5
Hallo peewit,

Im Prinzip ist es so wie bei mido22, nur ohne die Zusatzindos am Ende der Datei.

Ich Zeichne von einem Prüfstand / Prüfling Daten auf. (z.B. Zeit/Datum, Zyklen Weg, Kraft, und Einstellungsparameter...)
Nun sollte über den Daten, noch weiter Informationen zur Zuordnung der Daten vorhanden sein.

Ich habe es schon mit denem Trick umgesetzt, doch wie schon zuvor geschrieben sind die Bausteine für die Spaltenüberschrift auf 40 Zeichen begrenzt und so hat man nicht mehr viele Zeichen frei für die Angeben über den LOG-Daten, da die ganzen ";;;;" auch mitgezählt werden.


Anbei ein kleines Beispiel.



mfg io123


[gelöscht durch Administrator]
#6
Hallo,
auch wenn das hier schon etwas älter ist.

Ich bin gerade auch vor dem Problem einer CSV-Log Datei einen Header zu verpassen.
Den Tread hab ich hier gefunden und gefreut, dass ich nicht alleine bin.

Ich habe es dann auch so umgesetzt. Aufgefallen ist, dass in den einzelnen "LOG-Bausteinen" der Header auf 40 Zeichen beschränkt ist. Das ist schade, denn man müsste jeden einzelen Baustein manuell ändern und abspeichern, das könnte man doch bei der jetzigen Verssion der network-Lib noch mit einbinden, oder gar einen Header-Baustein entwerfen ?

mfg
io123
#7
Hallo peewit,

hab gerade etwas im Forum rumgesucht und bin dann im Beitrag

    OSCAT Forum »
    network.lib »
    Modulentwicklung (Moderator: peewit) »
    DLOG_FILE_CSV_DEMO, Zeitpunkt wann die Daten gespeichert werden


auf die Testverion "codesys_network_120523a.lib" von der geänderten Network.lib ggestoßen und habe mir die angeschaut.

Dabei ist mir der Beitrag hier wieder eingefallen und hab in der neuen Lib geschaut und gesehen, dass hier in
Zeile 131 "ELSIF idx + LEN(X.UCB.D_STRING) + 2 < SIZEOF(PT) THEN (* Platz für Element vorhanden ? *)" das selbe steht wie von arsOr erwähnt (siehe hier erster Beitrag).

Wollte dich nur dauf hinweisen, dass evtl. das bei Veröffengtlichung der neuen Lib, nicht der Fehler noch enthalten ist.

Vielleicht hast Du es auch schon korrigiert, dann kannste den Hinweis hier einfach vergessen.

Grüsse
Michael

ps. vielen DANK für die tollen libs



#8
Codesys 2 / Re: Funktionsweise FILE_SERVER
11. Juli 2012, 12:12:38
Hallo,

biste wieder am Pool  ;)

Nun als Steuerung habe ich eine Wago 750-880.
Bei uns ist im Netzwerk ein Ordner Freigeben, nun ist halt die Frage, ob der File_Server / Syslibfile.lib das "\\ort\order" auflösen kann, oder ob man das anderst machen muss.

Das mit dem FTP habe ich auch gesehen, aber das ist wie Du schon gesagt hast nicht genau das was ich möchte, wenn es halt die einzigste Möglichkeit ist muss man halt die dann wählen.

Ist es eigentlich ein Problem, denn ich muss von 4 Quellen, Daten wegspeichern in unterschiedliche Dateien. Macht mir da der Data_Log Baustein / File_Server u.U. ärger bezüglich Laufzeiten?
#9
Codesys 2 / Re: Funktionsweise FILE_SERVER
11. Juli 2012, 09:17:36
So ich möchte mich bei der bedanken,

ich habe es soweit hingebracht.

besteht jetzt auch noch die Möglichkeit, dass ich die Daten nicht nur auf dei SD-Karte schreibe, sondern auch noch auf ein Netzlaufwerk in einen Ordner? (bsp.: "\\netzlaufwerk\SPS")

mfg
michael
#10
Codesys 2 / Re: Funktionsweise FILE_SERVER
10. Juli 2012, 16:24:37
Hallo,

okay soweit habe ich das verstanden.

Dann muss ich den FSD.Mode:=2 mit eine Bedingung nur einmal ausführen?

Bsp:
IF done = False THEN
FSD.MODE := 2;
done;= TRUE;
END_IF;


FSD.AUTO_CLOSE:= T#0s; (*kein Auto-Close verwenden*)
IF FSD.ERROR = 0 AND FSD.MODE = 0 THEN (*Datei ist vorhanden*)    <---In diese If-Abschrage springt er nicht
     done:=FALSE;   
     step:=30;
ELSIF FSD.ERROR > 0 AND FSD.MODE = 0 THEN                                     <---In diese ELSIf-Abschrage springt er auch  nicht
     done:=FALSE;   
     step := 20; (*step :=20 springe zu Datei anlegen*)
END_IF;

in den weiteren Schritten wird dann die Datei wenn nicht vorhanden neu angelegt und die Daten reingeschrieben und die Datei geschlossen.



#11
Codesys 2 / Re: Funktionsweise FILE_SERVER
10. Juli 2012, 15:07:25
Hier mal ein Auszug aus meiner Case Abfrage

CASE step OF

00:   gleich:= STRING_INPUT = STRING_INPUTlast;
   SysStrCpy(STRING_INPUTlast, STRING_INPUT);
   step := 05;

05:   IF gleich = FALSE THEN
      PTs.SIZE := LEN(STRING_INPUT) + 2;
      _STRING_TO_BUFFER(STRING_INPUT,0,ADR(PT.BUFFER), SIZEOF(PT.BUFFER));
      step := 10;
   ELSE
      step:=00;
   END_IF;

10:   FSD.FILENAME := DATEINAME;
   FSD.MODE := 2; (*vorhandene Datei zum schreiben öffnen*)
   (*PT.SIZE :=0;*)
   FSD.AUTO_CLOSE:= T#0s; (*kein Auto-Close verwenden*)
   IF FSD.ERROR = 0 AND FSD.MODE = 0 THEN (*Datei ist vorhanden*)    <---In diese If-Abschrage springt er nicht
         step:=30;
   ELSIF FSD.ERROR > 0 AND FSD.MODE = 0 THEN                                     <---In diese ELSIf-Abschrage springt er auch  nicht
         step := 20; (*step :=20 springe zu Datei anlegen*)

   END_IF;

Obwohl der FSD.Error =1 ist und der FSD.Mode =0
das andere seltsame ist, dass die Datei vorhanden ist und er ja keinen FSD.Error haben dürfte.

Ich bin echt Ratlos.
#12
Codesys 2 / Re: Funktionsweise FILE_SERVER
10. Juli 2012, 12:50:10
Hallo peewit,

du hast es ja schön, am Pool ...

ich sitze bin hier auf Arbeit ...

Ich bin meine Case-Abfrage mit einzelschritten durchgegangen und da wurde erst bei der Bearbeitung der "FILE_SERVER(FSD:= FSD, PT:=PT)" die bei der FS.File_Size was abgezeigt.
Da ja diese Zeile am Schluss steht habe ich diese Ergebnisse ja nicht der den verschiedenen Case Of zu verfühung oder verstehe ich da was falsch?
#13
Codesys 2 / Funktionsweise FILE_SERVER
10. Juli 2012, 10:59:09
Hallo,

ich bin gerade daran Daten in eine Datei zu schreiben (neue Datei / anhängen an eine bestehende Datei).
Hierfür nutze ich die Lib von OSCAT.
Ich habe mir auch schon die Beispiele und so angeschaut, auch schon selbst was geschrieben.

Nun bin ich mir über die Funktion / Abarbeitung des Programms nicht ganz klar.

Ich prüfe über die "case of" Methode ob die Datei besteht oder nicht und schreibe dann die Daten entsprechend ab.
Wenn ich nun aber die Größer der Datei ermitteln (FS.FILE_Size) will (wegen dem Offset (siehe Doku 10.5 FILE_SERVER)) wird diese scheinbar nicht sofort ermittelt, sondern erst am Ende (nach den ganzen Case of) wenn der Aufruf des FILE_SERVERs (FILE_SERVER(FSD:= FSD, PT:=PT); gemacht wird.


mfg
michael
#14
Hallo,

ich möchte an dieser Stelle den alten Beitrag nochmals hoch holen.

Ich bin bei der Network.lib auf den Baustein "INI_PARSER_FILE" getroffen, der such ja und gibt mir entsprechende Eintrage (Value) zurück.
Könnte man nun den Ini-Schreib-Baustein doch so machen, dass er nach einem "Key" sucht und dort ein "Value" eintragen kann?
Dafür bräuchte man halt schon eine Ini-Datei bei der die "Values" bei den "Keys" fehlt. Würde bei meiner aktuellen Aufgabe aber nicht stören.


mfg
michael
#15
Hallo Zusammen,

ich staune nicht schlecht, was man alles mit den Oscat-Lib´s machen kann, an dieser Stelle auch ein GROSSES LOB!

Im Moment soll ich einen Wert über prüfen ob dieser in einem gewissen Fenster liegt. Hier kann ich ja den Baustein "Window" nehmen.
Leider bekomm ich hier nur raus ob der Wert innerhalb des Fensters liegt, analog bei Window2.
Nun sollte ich aber auch noch wissen, ob der Wert oberhalb oder unterhalb  des Fensters / Sollwert liegt, sowie wieviel die Abweichung ist, und den Ist-Wert einfach auch noch ausgeben.


mfg
io123