<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Kontrollieren ob Verzeichnis existiert</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/6aa1f54229/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/6aa1f54229/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Deutsch/thread/6aa1f54229/</id><updated>2020-02-28T12:33:46.892000Z</updated><subtitle>Recent posts to Kontrollieren ob Verzeichnis existiert</subtitle><entry><title>Kontrollieren ob Verzeichnis existiert</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/6aa1f54229/?limit=25#9f6d" rel="alternate"/><published>2020-02-28T12:33:46.892000Z</published><updated>2020-02-28T12:33:46.892000Z</updated><author><name>Anonymous</name><uri>https://forge.codesys.com/u/*anonymous/</uri></author><id>https://forge.codesys.com53e5b16e7356a4c4cb300344c631e80ecbf521fc</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;em&gt;Originally created by:&lt;/em&gt; Eckhard&lt;/p&gt;
&lt;p&gt;Hallo xx5198&lt;br/&gt;
So eine Funktion, die mir den Punkt in ein Komma verwandelt habe ich auch mal gebraucht (auch für Excel).&lt;br/&gt;
Hier ist sie:    (Datei:   Punkt_zu_Komma.exp)&lt;br/&gt;
Als Ergebnis bekommst Du einen String nach dem Muster   3,1415 der gleich in die csv Datei geschrieben werden kann.&lt;/p&gt;
&lt;p&gt;Gruß Eckhard&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="https://forum-de.codesys.com//download/file.php?id=746" rel="nofollow"&gt;PUNKT_ZU_KOMMA.EXP &lt;span&gt;&lt;span&gt;[1.23 KiB]&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Kontrollieren ob Verzeichnis existiert</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/6aa1f54229/?limit=25#5ff9" rel="alternate"/><published>2020-02-28T12:33:44.043000Z</published><updated>2020-02-28T12:33:44.043000Z</updated><author><name>Erik Böhm</name><uri>https://forge.codesys.com/u/erik-boehm/</uri></author><id>https://forge.codesys.com8b202830b870e85077250ac6a8be9e2a576ce496</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Und in Excel ist das unter: &amp;gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
Ändern des Dezimal- und 1000er-Trennzeichens&lt;br/&gt;
 zu finden&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Kontrollieren ob Verzeichnis existiert</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/6aa1f54229/?limit=25#889a" rel="alternate"/><published>2020-02-28T12:33:41.197000Z</published><updated>2020-02-28T12:33:41.197000Z</updated><author><name>Erik Böhm</name><uri>https://forge.codesys.com/u/erik-boehm/</uri></author><id>https://forge.codesys.comb8b6cdc049e3360ab5e1146e9289677387a4197e</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Servus&lt;/p&gt;
&lt;p&gt;Das REAL Format sieht eben den Punkt vor, nicht das Komma.&lt;br/&gt;
Wenn du das geändert haben willst, musst du vor dem schreiben mit REPLACE die Zeichen von 'Hand' ersetzen.&lt;/p&gt;
&lt;p&gt;Gruß Erik&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Kontrollieren ob Verzeichnis existiert</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/6aa1f54229/?limit=25#b573" rel="alternate"/><published>2020-02-28T12:33:33.587000Z</published><updated>2020-02-28T12:33:33.587000Z</updated><author><name>Anonymous</name><uri>https://forge.codesys.com/u/*anonymous/</uri></author><id>https://forge.codesys.comd878c2485ade1a33d9ce9c80967595206a62a214</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;em&gt;Originally created by:&lt;/em&gt; xx5198&lt;/p&gt;
&lt;p&gt;Hallo noch mal und danke für deine (und kommende) Antworten.&lt;/p&gt;
&lt;p&gt;Mein Programm läuft jetzt ganz gut und ich bin so weit zufrieden.&lt;br/&gt;
Hab meinen Mittelwert durch aufsummieren auf eine Variable und am ende durch die entsprechende Anzahl teilen gelöst.&lt;/p&gt;
&lt;p&gt;Mir ist aber jetzt aufgefallen, dass die Werte, die von der Steuerung in die cs. Datei gespeichert werden Punkte statt Kommata haben.&lt;br/&gt;
Wenn ich die Datei in Excel öffne dann sieht das etwa so aus:&lt;br/&gt;
aus 2,365 wird 2365 da Excel Kommata haben will... &lt;br/&gt;
Das kann man in Excel sicher irgendwie umstellen aber mir wäre es lieber wenn es gleich mit Kommata statt Punkt gespeichert würde.&lt;/p&gt;
&lt;p&gt;Kann mir da jemand weiter helfen?&lt;/p&gt;
&lt;p&gt;Im Moment wandle ich mittels REAL_TO_STRING() meine Messergebnisse und speichere sie dann auf SD Karte.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Kontrollieren ob Verzeichnis existiert</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/6aa1f54229/?limit=25#f09e" rel="alternate"/><published>2020-02-28T12:33:30.790000Z</published><updated>2020-02-28T12:33:30.790000Z</updated><author><name>Erik Böhm</name><uri>https://forge.codesys.com/u/erik-boehm/</uri></author><id>https://forge.codesys.com83153d8806a6887eeed0fd130293c5d6af4292b7</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Servus&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
Müsste dann natürlich in einigen kleinen Schritten passieren (ich glaub die Anzahl der Objekte ist auf 70 begrentzt?)...&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Wer begrenzt die Anzahl der Objekte ? Du kannst auch ein Array&lt;span&gt;[1..10000]&lt;/span&gt; deklarieren, wenn dein Speicher ausreicht.&lt;br/&gt;
Mittelwerte berechnen gibts auch in der Oscat.lib&lt;/p&gt;
&lt;p&gt;Gruß&lt;br/&gt;
Erik&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Kontrollieren ob Verzeichnis existiert</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/6aa1f54229/?limit=25#2b8e" rel="alternate"/><published>2020-02-28T12:33:23.227000Z</published><updated>2020-02-28T12:33:23.227000Z</updated><author><name>Anonymous</name><uri>https://forge.codesys.com/u/*anonymous/</uri></author><id>https://forge.codesys.comdf7c71d702da69cf217e8541cd52cce7c6ac3371</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;em&gt;Originally created by:&lt;/em&gt; xx5198&lt;/p&gt;
&lt;p&gt;Zu 5:&lt;br/&gt;
Ich verwende FB weil ich das ganze Mehrfach benötige also in Instanzen.&lt;/p&gt;
&lt;p&gt;Kannst du mir evtl. noch einen Tipp geben wie ich in CoDeSys am einfachsten 1/4h Mittelwerte berechnen lassen kann?&lt;br/&gt;
Mein erster Ansatz wäre es mit Arrays die Werte zwischen zu speichern, die Summe zu bilden und durch die entsprechende Anzahl zu teilen.&lt;br/&gt;
Müsste dann natürlich in einigen kleinen Schritten passieren (ich glaub die Anzahl der Objekte ist auf 70 begrentzt?)...&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Kontrollieren ob Verzeichnis existiert</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/6aa1f54229/?limit=25#9a4f" rel="alternate"/><published>2020-02-28T12:33:20.539000Z</published><updated>2020-02-28T12:33:20.539000Z</updated><author><name>Erik Böhm</name><uri>https://forge.codesys.com/u/erik-boehm/</uri></author><id>https://forge.codesys.com022a5c182b85a9f5ed5fe8e4898df7817ab74e81</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Moin&lt;br/&gt;
&lt;strong&gt;1. Zu SysDirRead:&lt;/strong&gt;&lt;br/&gt;
Mir scheint dass du die Funktion jetzt verstanden hast. &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
Also ich öffne s:/unterstation_i und dachte mir ich muss es danach auch wieder mittels SysDirRead schließen.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Das Verzeichnis wird nur geschlossen, wenn SysDirRead aufgerufen wird bis die Rückgabe 0 ist, also das Verzeichnis komplett eingelesen wurde.&lt;br/&gt;
Bei deiner ersten Methode wurde nur der 1. Eintrag eingelesen. Das ist (je nach Dateisystem) evtl. nur '.' oder '..'&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. Feststellen ob SD-Karte gesteckt ist:&lt;/strong&gt;&lt;br/&gt;
Du rufst ja schon&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
DirHandle:=SysDirOpen( 's:\' );&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;auf. Wenn du jetzt noch prüfst ob das Handle gültig ist, dann weisst du auch ob die SD-Karte drin ist.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. Da es deine Abschlussarbeit sein soll:&lt;/strong&gt; lies mal folgendes Kapitel in der Hilfe: "Namensvergabe für Bezeichner"&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4. Einige dich mit deinem Quellcode auf eine Sprache.&lt;/strong&gt; Deutsch ODER Englisch. Mischen sieht immer komisch aus.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;5. FUNCTION_BLOCK&lt;/strong&gt; lohnt sich nur, wenn du den Ablauf mehrfach verwendest, sprich Instanzierts.&lt;br/&gt;
Siehe auch: Instanzen von Funktionsblöcken&lt;/p&gt;
&lt;p&gt;Gruß&lt;br/&gt;
Erik&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Kontrollieren ob Verzeichnis existiert</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/6aa1f54229/?limit=25#ed99" rel="alternate"/><published>2020-02-28T12:33:12.902000Z</published><updated>2020-02-28T12:33:12.902000Z</updated><author><name>Anonymous</name><uri>https://forge.codesys.com/u/*anonymous/</uri></author><id>https://forge.codesys.come8b3288e8ec19035443ce71d11e5b30dfaf525ab</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;em&gt;Originally created by:&lt;/em&gt; xx5198&lt;/p&gt;
&lt;p&gt;Hallo und danke für deine Antwort.&lt;/p&gt;
&lt;p&gt;Ja die Beschreibung hab ich verstanden aber ich hatte noch etwas Probleme sie an zu wenden...&lt;br/&gt;
Den mehrfachen Aufruf von SysDirRead hab ich gemacht weil ich ja Stück für Stück das Verzeichnis überprüfe mit SysDirOpen.&lt;br/&gt;
Also ich öffne s:/unterstation_i und dachte mir ich muss es danach auch wieder mittels SysDirRead schließen.&lt;br/&gt;
Dann öffne ich s:/Unterstation_i/Art, wieder SysDirRead usw....&lt;/p&gt;
&lt;p&gt;Das "i" ist übrigens nicht initialisiert weil es als der Funktion von außen übergeben wird.&lt;/p&gt;
&lt;p&gt;Ich habe meine Funktion jetzt so weit, dass kontrolliert wird ob die entsprechenden Ordner existieren und sie gegebenen Falls erstellt werden.&lt;br/&gt;
Das funktioniert auch ganz gut.&lt;/p&gt;
&lt;p&gt;Meine Fehler waren scheinbar:&lt;br/&gt;
SysDirRead funktionierte nicht in meiner CASE Anweisung&lt;br/&gt;
Ich verwende jetzt also keine CASE-Anweisung mehr und gucke mittels SysDirRead nach ob meine Unterorder existieren oder nicht.&lt;/p&gt;
&lt;p&gt;Was jedoch noch nicht funkioniert ist das überprüfen ob die SD-Karte eingesteckt ist und wenn man zb mittels FileZilla über das Netzwerk die Ordner löscht, dann werden sie nicht automatisch neu erstellt.&lt;br/&gt;
Aber zu mindestens werden die Ordner beim Hochfahren des Controllers erstellt. Dann darf man halt die Ordner nicht löschen. Damit kann ich auch leben...&lt;/p&gt;
&lt;p&gt;Ich hab den Teil mit dem erstellen der Ordner in einen eigenen Funktionsblock gepackt: &lt;a class="" href="https://dl.dropbox.com/u/2780701/ORDNER_ERSTELLEN.EXP" rel="nofollow"&gt;https://dl.dropbox.com/u/2780701/ORDNER_ERSTELLEN.EXP&lt;/a&gt;&lt;br/&gt;
Vielleicht hat ja jemand verbesserungsvorschläge.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Kontrollieren ob Verzeichnis existiert</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/6aa1f54229/?limit=25#aa38" rel="alternate"/><published>2020-02-28T12:33:10.270000Z</published><updated>2020-02-28T12:33:10.270000Z</updated><author><name>Erik Böhm</name><uri>https://forge.codesys.com/u/erik-boehm/</uri></author><id>https://forge.codesys.com255b9f5d3e7a8678ef4ec7f2793b581709394983</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Moin&lt;/p&gt;
&lt;p&gt;Ich hab mir mal ein Projekt für die RTE erstellt und getestet. AKtuelle Version anbei.&lt;/p&gt;
&lt;p&gt;Diverse Fragen tauchen auf:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Wenn die Karte jemand entfernt, dann wirst du das beim nächsten Schreibversuch schon merken...&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Wozu ist der (mehrfache) Aufruf SysDirRead ?&lt;br/&gt;
Die Beschreibung zu der Funktion hast du gelesen ? und verstanden ?&lt;br/&gt;
Function to read directory entries.&lt;br/&gt;
    Returns 1, if further entries to search in the directory is available. &lt;br/&gt;
    Must be called until 0 is returned by this function. This closes the directory.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Bei mir wird im Moment des Aufrufs sowohl dwOrdner als auch strFilePath mit 0, bzw '' überschrieben, weil dwOrdner zu diesem Zeitpunkt immer 0 ist.&lt;br/&gt;
Wird ja im IF darüber auch so abgefragt.&lt;/p&gt;
&lt;p&gt;Gruß&lt;br/&gt;
Erik&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="https://forum-de.codesys.com//download/file.php?id=745" rel="nofollow"&gt;CheckDir.zip &lt;span&gt;&lt;span&gt;[7.65 KiB]&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Kontrollieren ob Verzeichnis existiert</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/6aa1f54229/?limit=25#59fc" rel="alternate"/><published>2020-02-28T12:33:02.988000Z</published><updated>2020-02-28T12:33:02.988000Z</updated><author><name>Anonymous</name><uri>https://forge.codesys.com/u/*anonymous/</uri></author><id>https://forge.codesys.com891460a4fb8980180b2bf1e3cc68581d4e60ec56</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;em&gt;Originally created by:&lt;/em&gt; xx5198&lt;/p&gt;
&lt;p&gt;Hallo und danke für deine Antwort.&lt;br/&gt;
Mir ging es auch darum, dass es mal sein kann, dass man die SD-Karte spontan entnehmen will und die Daten einsehen will.&lt;br/&gt;
Weil ich mir nicht sicher bin wie das Programm reagiert wenn ich keine Kontrolle für jeden Zyklus habe wenn man die Karte entfernt hab ich das halt so gemacht.&lt;/p&gt;
&lt;p&gt;Hier hab ich ein mal das ganze Programm: &lt;a class="" href="https://dl.dropbox.com/u/2780701/SD-Schreiben.rtf" rel="nofollow"&gt;https://dl.dropbox.com/u/2780701/SD-Schreiben.rtf&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;So weit ich bisher gelesen hab düfte wohl SysDirRead() die Lösung sein aber ich hab es damit auch noch nicht hinbekommen...&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>