Beiträge anzeigen

Diese Sektion erlaubt es ihnen alle Beiträge dieses Mitglieds zu sehen. Beachten sie, dass sie nur solche Beiträge sehen können, zu denen sie auch Zugriffsrechte haben.


Nachrichten - peter_f

Seiten: [1]
1
oscat.lib fuer CoDeSys 3 / Re: Entwicklungsumgebung unter Linux
« am: 06. Juni 2016, 08:42:16 »
Hallo,

erstmal möcht ich mich entschuldigen, dass ich hier ein uraltes Thema nochmal antriggere, aber es passt eigentlich nur hier.

Ich möchte, um mich endgültig von meinem Windows-Rechner zu verabschieden, Codesys 2.3 unter Linux Mint (7.3) zum laufen bringen. Habe Wine installiert, aus den Paketquellen, um sicher zu sein, dass es keinen Versionskonflikt gibt. Codesys lässt sich erst mal scheinbar problemlos installieren, ganz am Schluss kommt allerdings eine Fehlermeldung, dass C++ redistibutible nicht installiert werden konnte. Das klicke ich weg und bekomme die Meldung, dass Codesys erfolgreich installiert ist. Beim Aufruf von Codesys sieht erst mal alles richtig aus, allerdings fehlen die Targets. - Ich habe die aktuellste Version, direkt von WAGO, da sind standartmässig alle von mir benötigten Targets dabei. Wenn ich nochmal die Installation starte und hier auswähle, dass ich nur die Aktualisierungen gegenüber dem installierten Stand installieren möchte, scheitere ich wieder an C++. Es scheint also so zu sein, dass das der Fehler ist. C++ von Hand nachzuinstallieren scheint nicht zu gehen, zumindest gelingt es mir nicht.

Nachdem es hier einige Leute gibt, denen es bereits gelungen ist, Codesys unter Linux - offensichtlich sogar unter Mint - zum laufen zu bekommen, gehe ich davon aus, dass ich irgend eine Kleinigkeit falsch mache.
- irgendeine Voreinstellung?
- eine Alternative zu MS C++ ?

im Vorraus erstmal besten Dank für alle Tips

Peter

2
Hallo Peewit
Nur, um die Sache zu einem Abschluss zu bringen, noch folgende Info:
In irgend einem Beitrag hier im Forum habe ich gelesen, dass der ftp-Baustein immer dann angestossen wird, wenn entweder enable false wird, oder der Dateinamen sich ändert. In der Doku habe ich das entweder überlesen, oder es steht nicht drin. Damit wird mir aber auch klar, weshalb file_delete true sein kann (oder sogar sollte), weil damit der Datenfriedhof auf der Karte immer gleich bereinigt wird.
Deine Einschätzung "das ftp-server modul (teil der firmware) in der sps ist vermutlich dazu nicht fähig sowas würde mich nicht überraschen da die hersteller hier immer von den verschiedensten firmen software zukaufen" wäre eine Erklärung dafür, dass es mit manchen PLC geht und mit anderen nicht (immer 750-880!).


3
Am Wochenende hatte ich ein bisschen Zeit, um mir die Sache nochmal anzuschauen. Unabhängig von der verwendeten SD-Karte ist das Verhalten immer das selbe:
ich kann auf die Karte schreiben
es darf sich auch ein Unterverzeichnis auf der Karte befinden, in das ich schreibe
ich kann die erstellte Datei nur dann per ftp von der Karte holen, wenn der Dateiname rel kurz ist. Leider habe ich bislang noch nicht versucht, ob er eventuell 8.3 sein muss. (T#A#D.csv funktioniert z.B., damit kann ich leben)
es scheint völlig egal zu sein, ob die Karte FAT oder FAT32 formatiert ist (Wäre wegen der 8.3 Konvention noch so eine Idee gewesen).
Jetzt wollte ich die erstellte Datei mit dlog_file_to_ftp auf mein NAS kopieren. Dazu habe ich das Beispiel in der lib geöffnet und versucht auf meine Bedürfnisse abgepasst zu verwenden. (siehe Bild im Anhang)Das Demo konnte ich nicht aufrufen, weil beim start des Programmes in der Simulation codesys abstürzt.
Ich bin mir nicht sicher, ob alle Einträge stimmen, da sich die im Beispiel je auf einen Webserver beziehen.
DNS-IP  gehe ich davon aus, dass das der DNS-Server ist, also mein Router
PLC-IP ist die Wago
ftpURL ist das NAS und dort der Ordner den User und das Passwort habe ich extra zu testen angelegt. Mit der Befehlszeile im Browser komme ich auf das NAS
Dateiname mit Pfad etc sollte mit der Struktuvariablen, in meinem Fall "struktur" aus der vorgelagerten CSV-Erzeugung übernommen werden.
Warum ist im Beispiel file_delete true? Ich will nicht, dass die vorhandene Datei gelöscht wird, weil die regelmässig weitergeschrieben wird.
Übrigens:

error_c und error_t sind immer 0, sollte so ok sein
done immer high, busy immer low, was ich so interpretiere, dass der Baustein nie versucht zu schreiben.



[gelöscht durch Administrator]

4
erst habe ich das nochmal auf einer anderen Steuerung, aber mit der selben SD-Karte versucht. War erfolglos. Dann auf die SD-Karte, aber ins root-Verzeichnis. selbes Verhalten. Direkt auf die Steuerung (internes Dateisystem) kann ich schreiben und dann auch mit Filezilla runterladen. Das ist zwar nicht wirklich das, was ich will, aber es scheint damit klar zu sein, was der Fehler ist. Ich vermute mal ganz stark, dass es nicht mit jeder SD-Karte geht. Ich besorg mir jetzt mal genau den Typ, auf den ich mit der anderen Steuerung, bei der es geht, schreibe. Dann teste ich nochmal neu. Ich melde mich auf jeden Fall wieder und berichte, ob meine Vermutung richtig ist. Könnte ja auch für jemand anderen interessant sein.

5
Hallo Peewit,
mit sowas hatte ich eigentlich auch gerechnet, glaube ich aber nicht mehr.
Ich habe diesbezüglich schon alles Mögliche versucht.
- SPS gestoppt und versucht, zu holen     geht nicht
- In den Namen die Variable für die Minute gepackt, dass minütlich eine neue Datei angelegt wird. Auch da kann ich die "alten" nicht downloaden.
- Die Karte aus der Steuerung genommen und direkt im PC die Datei geöffnet und auf der SD-Karte wieder abgelegt. Per ftp von der Steuerung kann ich sie nicht laden.
Was ich noch nicht getestet habe ist, ob sie sich mit einer anderen 880er lesen lässt. Vielleicht treibe ich bei der Arbeit irgendwo eine auf, um das zu testen, dann bin ich mir wenigstens sicher, dass es nicht an der Hardware liegt.

PS, die üblichen Verdächtigen, alles bereinigen und neu übersetzen, Hardwarereset, Firmware neu aufspielen... habe ich schon hinter mir.

6
Codesys 2 / öffnen einer csv-Datei auf der SD-Karte (Wago 750-881)
« am: 12. November 2014, 18:59:15 »
Hallo,
Ich schreibe mit dem Baustein dlog_store_to_csv eine Datei auf die SD-Karte. Dazu lege ich folgende Werte an die Eingänge:
Enable   true
Trig_m    einen Takt mit 900s  (den generiere ich mit dem Baustein Blink, 850,5s low, 0,5s high)
Filename 's:\archiv\dateiname.csv'   genau so mit den Hochkommas
DTI   eine Variable vom Typ DT, die die aktuelle Ortszeit enthält
sep  59    Semikolon
auto_close    t#1s
x   struktur  (eine Variable, die ich als dlog_data deklariert habe)
Retain_date   wie oben, aber dlog_retain

Das funktioniert ganz wunderbar, es wird eine Datei geschrieben, aber die bekomme ich nicht von der karte gelesen. Mit Filezilla bekomme ich die Meldung

Status:   Verbunden
Status:   Starte Download von /ARCHIV/Temperaturen.csv
Befehl:   CWD /ARCHIV
Antwort:   550 Requested file action not taken.
Befehl:   SIZE /ARCHIV/Temperaturen.csv
Antwort:   500 Syntax error, command unrecognized.
Befehl:   MDTM /ARCHIV/Temperaturen.csv
Antwort:   500 Syntax error, command unrecognized.
Befehl:   TYPE I
Antwort:   200 Command okay.
Befehl:   PASV
Antwort:   227 Entering Passive Mode (192,168,2,36,156,144)
Befehl:   RETR /ARCHIV/Temperaturen.csv
Antwort:   550 Requested file action not taken.
Fehler:   Kritischer Dateiübertragungsfehler

Genau so, also mit den exakt selben Einstellungen, abgesehen vom Dateinamen, habe ich das mit einer anderen Steuerung (der selbe Typ, aber ein nicht das selbe Gerät) schon einmal gemacht, und es ging.
Was wohl auch noch interessant ist: Ich kann per ftp beliebige Dateien auf die Karte kopieren, und auch wieder herunterladen. Diese eine spezielle, von der Wago geschriebene, geht nicht. selbst wenn ich die Karte rausnehme, direkt in den Rechner stecke, den Dateinamen ändere und sie dann wieder reinstecke, geht nichts. Die von der Wago erstellte Datei lässt sich nicht per Browser von der Wago runterladen. Die Rechte der Datei sind übrigens 666, also jeder darf sie lesen und ändern. Wenn ich sie direkt in den Rechner stecke, dann kann ich die Datei ohne Einschränkungen lesen, ändern....
Gibt es noch irgendwo in der Hardware irgend eine Einstellung?
Was könnte ich falsch gemacht haben?
Leider habe ich keine andere Steuerung zur Verfügung, um das Programm einfach an einer anderen Steuerung zu testen.

7
Codesys 2 / Re: Probleme mit smtp
« am: 03. Februar 2014, 09:05:46 »
Hallo Peewit,
erst mal zu deiner Frage wegen der Steuerung:
Es handelt sich um eine PLCWinNT, also die Original-Software-plc von Codesys, hätte ich natürlich gleich angeben sollen.
Nachdem mir der ITler gesagt hat, dass angeblich Username und Passwort nicht erforderlich sind, habe ich auf dem Rechner, auf dem die PLCWinNT läuft, mit Blat.exe erfolgreich eine mail verschickt, zu meinem Erstaunen ohne Angabe von User und Passwort.
Wenn es denn bei dlog_file_to_smtp explizit erforderlich ist, mit User und Passwort zu arbeiten, muss ich mich wohl kümmern, dass er mir einen User anlegt mit allem, was dazugehört. Die Beschreibung in der Doku zum Baustein hätte ich allerdings auch so interpretiert, dass die alleinige Angabe des Servers ausreicht. ..."Der Parameter SERVER enthält den Namen des SMTP-Server und optional den Benutzernamen und das Passwort und eine Port-Nummer. Wird kein Passwort angegeben, so wird nach Standart-SMTP vorgegangen.".
Dass die Network.lib nicht mit der Soft-PLC arbeitet halte ich für unwahrscheinlich, weil auch dlog_store_file_csv problemlos funktioniert.

Sofern das mit dem Mailversand aus Codesys nicht geht, wäre grundsätzlich eventuell noch eine andere Möglichkeit denkbar. Hier im Forum habe ich gelesen, dass es für twincad einen Baustein gibt, der ein externes Programm starten kann. Vermutlich ist der in einer Lib von Beckhoff verborgen. Gibt es etwas entsprechendes für meine Soft-PLC?

Wenn ich deinen letzten Satz lese glaube ich eine gewisse Ungeduld zu spüren. Vielleicht sollte ich mich entschuldigen, aber ich versuch mich mit dem mailversand an einer Materie, von der ich wirklich keine Ahnung habe und muss mich auf die Aussagen von anderen verlassen.

8
Codesys 2 / Probleme mit smtp
« am: 31. Januar 2014, 13:28:48 »
Hallo,
ich versuche, den Baustein dlog_file_to_smtp zu nutzen. Dazu schreibe ich mittels dlog_store_file_csv eine csv-Datei (funktioniert) und hänge einfach hinten dran den Baustein dlog_file_to_smtp und gebe dem bei X die Strukturvariable mit. So wird das auch in der Demo gemacht.
Wenn jetzt eine CSV-Datei geschrieben wird, sollte die automatisch per smtp an den eingetragenen Empfänger verschickt werden. Das funktioniert nicht, Fehler sind:
Error_T:2
Error_C:4278190080

Mit dem für den Mailserver zuständigen Kollegen habe ich gesprochen. Er hat mir folgendes gesagt:

Server: Da wir standartmässiges smtp verwenden ist seiner Meinung nach kein Nutzername, kein Passwort erforderlich. Der Port (25) ist Standart. Habe also unseren Mailserver als String eingegeben.
DNS_IP4: Hier wandle ich mit IP4_Decode die IP-Adresse im Format nnn.nnn.nnn.nnn in ein DWord um
mailfrom: da steht eine dummy-adresse gefolgt von ";WAGO"  damit sollte als Absenderinformation Wago erscheinen. (Lt meiner IT ist bei smtp keine real existierende Mailadresse notwendig)
mailto: meine geschäftliche Emailadresse
DTI: die aktuelle Ortszeit, wie ich sie auch im DLOG_DT angebe
File_delete: false (weil ich die Datei behalten möchte)
DTI-Offset: nicht verwendet
alle weiteren Eingänge sind beschaltet, wie in der Demo

Die CSV-Datei wird geschrieben

done ist true
busy ist false
(eigentlich steht in der Beschreibung, dass done true ist, wenn erfolgreich geschrieben wurde)

Eigentlich bilde ich mir ein, dass ich alles richtig gemacht habe. Jetrzt gibt es nur die Möglichkeit, dass ich eben doch irgend einen Anfängerfehler gemacht habe, oder dass die Angaben bezüglich der Mailserverdaten nicht stimmen.

Wenn es erforderlich ist, kann ich gerne auch das Programm (bzw den relevanten Ausschnitt) zur Verfügung stellen.

Jetzt hoffe ich auf und bedanke mich für den entscheidenden Typ.

Peter


9
Codesys 2 / CSV schreiben mit DLOG_STORE_FILE_CSV
« am: 20. März 2013, 16:27:17 »
Einen schönen, guten Tag,
mal wieder habe ich ein Problem.
Ich erfasse mit der Wago Leistungsmessklemme elektrische Daten (Leistung etc..) und möchte die gerne zur Archivierung in eine Datei schreiben. Das Schreiben von CSV-Dateien geht wunderbar mit dem im Betreff genannten Baustein. Das habe ich mit der Codesys Soft-SPS (PLC Win NT) getestet. Allerdings möchte ich das ganze gerne auf der WAGO laufen lassen. Was sich mir nicht ganz erschliesst, ist die Frage, wo die Daten dann landen. Im Gegensatz zum Rechner mit Soft-PLC habe ich auf der Wago kein Laufwerk/Ordner, das ich als Ziel angeben kann. Es ist dazu noch zu sagen, dass ich (zumindet teilweise) 750-881, also ohne SD-Karte verwende. Mein Versuch, einfach einen Pfad mit vollständiger IP-Adresse anzugeben hat nicht funktioniert. Gibt es da eine Lösung oder womöglich ein Beispielprojekt, falls ich etwas falsch eingestellt habe?

10
Codesys 2 / Re: Network.lib mit CoDeSys V2.3.8.0 od. V2.3.9.3
« am: 03. März 2013, 20:20:33 »
Hallo Peewit,

dein Typ, erstmal die Demos genauer anzuschauen, und vor allem der Hinweis mit der Zeitsteuerung haben genau ins Schwarze getroffen. Dafür erst mal besten Dank. Jetzt habe ich allerdings noch ein Problem, für das es bestimmt auch eine Lösung gibt. Wenn ich dem DLOG_STORE_CSV die Zeit aus RTC_2 übergebe, dann ist die natürlich falsch, weil ich dem an SDT irgendeine Zeit vorgaukle. Wenn ich mit der Hardwaqre-SPS von WAGO arbeiten würde, dann könnte ich mit SYSRTCGETTIME hier als Startzeit die SPSzeit anlegen. Ich arbeite aber mit der SoftPLC von 3S (CoDeSys SP PLC WINNT). Damit geht diese Funktion natürlich nicht, scheint ja eine Funktion von und für Wago zu sein. Gibt es eine Möglichkeit stattdessen die PC-Zeit des Rechners, auf dem die SoftPLC läuft hier zu verwenden, oder muss ich ernsthaft von einer realen (Hardware-)Steuerung mit sysrtcgettime die Zeit holen und per Netzvariable veröffentlichen?

Ein zweites Problem was ich habe ist, dass ich ab und zu genau dann, wenn eine neue CSV angelegt werden soll, den Fehler #16:Tasküberwachung fehlgeschlagen für 'Watchdox expired Task=Default Task'. Das passiert nicht immer wenn eine Datei angelegt werden soll, aber - soweit ich das bisher beobachten konnte - nur wenn eine Datei angelegt werden soll, und offensichtlich nicht, wenn es die Datei bereits gibt und sie soll nur überschrieben werden.

Irgendeine Idee?

Gruß
Peter

11
Codesys 2 / Re: Network.lib mit CoDeSys V2.3.8.0 od. V2.3.9.3
« am: 02. März 2013, 21:23:20 »
Hallo Peewit,
erstmal vielen Dank für Deine schnelle Antwort. Der Fehler lag an einer anderen Stelle. Offensichtlich muss zur Nutzung der Oscat Network.lib auch die Standart.lib eingebunden sein. Das ging nicht, weil zu viele Bausteine. An anderer Stelle hier im Forum hast Du beschrieben, dass man im Projekt die Anzahl der möglichen Bausteine erhöhen kann. Genau das habe ich gemacht, dann die Standart.lib auch noch eingebunden und alles war gut.
Jetzt hänge ich an einer anderen Stelle. Ich versuche eine CSV-Datei zu schreiben, Dazu habe ich die Beispielvorlage aus der Beschreibung zur Network.lib verwendet und auf meine Bedingungen hin geändert. Es wird kein CSV erzeugt.
Ich habe mal mein Programm angehängt, vielleicht hast Du Zeit und Lust mal draufzuschauen, wahrscheinlich ist es mal wieder nur ein dummer kleiner Fehler mit einer falsch deklarierten Variablen oder so.
Ich habe vergessen zu erwähnen, dass ich mit der SoftwarePLC von 3s arbeite. Ziel der Übung soll sein, dass ich Zählerstände (3-Phasenmessklemme von Wago) per Netzwerkvariablen auf einem PC sammle und erstens visualisiere (Das habe ich hinbekommen) und zweitens zur weiteren Auswertung in einem für alle lesbaren Format abspeichere.

[gelöscht durch Administrator]

12
Codesys 2 / Re: Network.lib mit CoDeSys V2.3.8.0 od. V2.3.9.3
« am: 02. März 2013, 12:19:05 »
Auch wenn ich weiß, dass es eher schlechter Stil ist, auf ein altes Thema noch mit aufzuspringen, bleibt mir nichts anderes übrig.

Erst mal zur Einleitung, ich bin ein blutiger Anfänger und brauche deshalb für alles eine idiotensichere Beschreibung :-)

Ich habe das selbe Problem, wie der Themenstarter, ich bekomme beim Upload ca 65 mal die Fehlermeldung "unbekannte Stringlänge". Deine Erklärung weshalb das passiert, und wie die Lösung aussieht, leuchtet mir ein. Meine Frage ist jetz, wo deklariere ich Konstanten? Wenn ich die Deklaration bei den globalen Variablen eingebe, ändert das nichts. Allerdings weiss selbst ich, dass Variablen keine Konstanten sind. Was mich zudem verunsichert ist, dass beim Auftreten des Fehlers auch die Stelle angegeben wird, wo er auftritt. Das sind Bausteine, die ich überhaupt nicht verwende.

Ein weiterer Fehler, für den ich keinen Grund sehe ist die Meldung "unbekannter Typ byte_to_bits". Fehlt mir da eine lib, die Konvertierungen enthält?

Gruß
Peter


Seiten: [1]