Hi, wollte nur kurz als Rückmeldung sagen, dass das wunderbar geklappt hat. Danke Gruß Chris
Freut mich! Hast du die "FC_GetLocalTime" wieder mit rein genommen? Die hatte ich auskommentiert...
Wenn du das Programm ausführst oder wirklich erst wenn dus ins Display schreibst? Wenn du auf den Ausnahmefehler Doppelklick machst....wo springt er hin?
Alles klar, das ist mehr als erwartet muss ich zugeben.... hatte schon die Befürchtung, dass es wie bei V2.3 is :-) Danke
May try this SysTimeRtcHighResGet(pTimestamp:=GetTimeResult) SysTimeRTc.SysTimeRtcConvertHighResToDate(pTimestamp:=GetTimeResult, pDate:=Ctrl_DateTime); Then you can use e.g Ctrl_DateTime.wHour Ctrl_DateTime.wMinute Ctrl_DateTime.wSecond Ctrl_DateTime.wMilliseconds BR Chris
Vllt hängst du irgendwo in ner Schleife fest? Zeitzone kannst du auch mit der gleichen Bibliothek auslesen wie die Uhrzeit in meinem Baustein. Die kannst dann entsprechend vor der Konvertierung noch addieren...aber erst in Millisekunden umrechnen! Schau mal in der lib wie die Funktion heißt...habs ned im Kopf. Gruß Chris
Hi, super! Werd ich demnächst mal ausprobieren! Top! Danke Aber ich muss immer mit CmpDynamicText.DynamicTextReloadTexts() neu laden, richtig? Gruß Chris
Hallo Forum, kennt jemand eine Möglichkeit, wie man Textlisten auch ohne kompletten Download in die SPS bekommt? Wenn meine Maschine läuft und ich nur ein paar Textänderungen machen möchte, will ich ja nicht gleich die gaze Maschine anhalten. Am besten natürlich über OnlineChange, aber das Funktioniert scheinbar nicht. Gibt es eine Möglichkeit z.B. über FTP die Listen per Hand zu übertragen? Gruß Chris
Ok, Ich hab mal bissl ausgemistet... Denk das müsste so laufen. Prinzipiell hab ich an deinem PRG nix geändert... Wenn du ein Archiv hier rein stellst, musst du keine online-Daten mitgeben...Dein Zielsystem hat sowieso keiner. Hab leider kein Panel, konnte es deshalb nicht wirklich testen...
Kannst du bitte die Bibliotheken mit ins Archiv packen. Ich hab eigentlich keine Lust mir alle LIbs zusammenzusuchen. Danke
Wenn du hier nen Post schreibst und unten auf Post klickst... darüber gibt es "Add attachments" Hier kannst dus hochladen...
schick mir doch mal das Programm (Projektarchiv bitte)... dann kann ich mal rein schauen... ansonsten brauch ich ne Glaskugel...
Mach doch mal die Initialisierung raus... was passiert dann?
Hast du das Programm, in dem du deinen FB drin hast auch in einer Task aufgerufen?
Funktionsbaustein: FUNCTION_BLOCK MyTimeFB VAR_INPUT xEnable:BOOL; END_VAR VAR_OUTPUT sMyTimeAndDate:STRING; END_VAR VAR //Read Time Ctrl_DateTime: SYSTIMEDATE; GetTimeResult: ULINT; sdateYear: STRING(4); sdateMonth: STRING(2); sdateDay: STRING(2); stimeHour: STRING(2); stimeMin: STRING(2); stimeSec: STRING(2); stimeMsec: STRING(3); END_VAR IF xEnable THEN SysTimeRtcHighResGet(pTimestamp:=GetTimeResult); SysTimeRTc.SysTimeRtcConvertHighResToDate(pTimestamp:=GetTimeResult, pDate:=Ctrl_DateTime); //Verwenden...
Naja innerhalb der Funktion ist das klar.. ist ja auch ne Funktion. Gugg doch mal, was dir die Funktion als Rückgabewert bringt. Ansonsten mach das ganze als Funktionsbaustein und instanzier diesen in deinem Programm... dann siehst du auch Werte.
Dann probier doch folgendes: Kommentier das hier mal alles aus und füg meinen Code ein. Bau dir am Ende meines Codes einen komplett-String mit Datum und Uhrzeit zusammen. Diesen legst du dann auf sDisplay Time. Schau mal was passiert...
Ich kanns leider nicht testen, hab kein LCD Display da. Aber versuch doch einfach mal statt dem Message Text den Uhrzeit-String drauf zu schreiben.... was macht er dann?
Naja wenn du das Projektarichiv runtergeladen hast, sollte das auch laufen ohne, dass du da großartig was ändern musst. Das LCD erwartet ja eigentlich auch einen String (hab die Hardware etc. nicht da...sollte aber so sein). Wenn die Zeit nicht ausgelesen wird, versuch doch mal die Zeit mit meinem weiter oben beschriebenen Weg. Da bekommst dus als einzelne Strings. Den String baust du dann, wie du in brauchst mit CONCAT zusammen und übergibst ihm dem Panel. Dann sollte das doch Tun. (Programmaufruf...
Ahh, super, Danke! Ich hab das dWord ausgelesen, aber konnte mir aus dem Ergebnis keinen Reim machen...Danke!
Can I read the current CoDeSys version? like V3.5 SP15 Patch 3 ?
Kann ich die aktuelle CoDeSys Version auslesen? Also V3.5 SP15 Patch 3 oder so?
Also: Das mit dem Haltepunkt ist wie folgt... Da das ganze eine Funktion ist und die Werte sich ständig ändern, kann er dir nur einen explizierten Wert anzeigen, wenn du einen Haltepunkt setzt. (mal vereinfacht ausgedrückt) => Ein Haltepunkt hält dein Programm an einer bestimmten stelle an. Dann kannst du das Programm schrittweise durchlaufen. Sehr hilfreich bei der Fehlersuche. Da gibts bestimmt auch was im Online-Help Zu den Warnungen: Er konvertiert halt eine LREAL Variable nach REAL = somit kann...
Also: Das mit dem Haltepunkt ist wie folgt... Da das ganze eine Funktion ist und die Werte sich ständig ändern, kann er dir nur einen explizierten Wert anzeigen, wenn du einen Haltepunkt setzt. (mal vereinfacht ausgedrückt) Zu den Warnungen: Er konvertiert halt eine LREAL Variable nach REAL = somit kann es zu Datenverlusten führen... Wenn du das bewusst machst, ist alles gut... ist ja nur ne Warnung. Was genau meinst du mit "Die Zeit schwankt zwischen der Ist-Zeit und +6h Dann schreibst du wieder...
Grau hinterlegt bedeutet, dass du das Programm nicht aufrufst. Du musst entweder das Programm in einer Task aufrufen, oder das Programm in deinem Programm aufrufen.(Das natürlich vorher auch in einer Task aufgerufen werden muss) Gruß Chris
Grau hinterlegt bedeutet, dass du das Programm nicht aufrufst. Du musst entweder das Programm in einer Task aufrufen, oder das Programm in deinem Programm aufrufen. Gruß Chris
Ok, That´s a pity :-( thank you Edwin
Den direkt verwende ich nicht, aber andere Koppler von Beckhoff. Du kannst dir auf der Seite von Beckhoff die nötigen "Targets" Bzw. DeviceDescriptions herunterladen und anschließend installieren. Dann kannst du einfach das Device einbinden. Gruß Chris
Does someone know if there is an other library for deeper hardware information (e.g. Firmware version) In my case I want to see Firmware of the PFC200 BR Chris
I use SysTarget.lib. May this is also valid for you e.g. IF xStartReadTarget THEN SysTarget.SysTargetGetDeviceName(ADR(pMyName), ADR(udiMyMaxLenght)); END_IF BR Chris
I use SysTarget.lib. May this is also valid for you e.g. IF xStartReadTarget SysTarget.SysTargetGetDeviceName(ADR(pMyName), ADR(udiMyMaxLenght)); END_IF BR Chris
Ich häng dir mal ein Projektarchiv an, so wies bei mir klappt. Hab natürlich dein Zielsystem nicht bzw. keine Ahnung wie du das weiter verarbeiten willst.. aber Zeit holen und konvertieren klappt. Gruß Chris
Müsste aber andere Fehlermeldungen bringen oder? Welche?
Hast du die Bibliothek FloatingPointUtils mit eingefügt? Sieht aus als hättest du die vergessen MFG Chris
Hmh... dann versteh ich jetzt dein Problem gerade nicht. Du hast eine Zeit im Format SysTimeDate und willst sie im Format SystemTimeDate und willst sie in RTS_SysTimeDate haben? Die willst du dann an dein LCD-Display übergeben? Wenn du die Funktion von i-campbell benutzt, bringt er welchen Fehler? Hast du alle Libs eingebunden?
Versuchs doch mal mit folgender FUnktion aus Bibliothek SysTimeRtc: Deklaration: VAR //Read Time Ctrl_DateTime: SYSTIMEDATE; GetTimeResult: ULINT; sdateYear: STRING(4); sdateMonth: STRING(2); sdateDay: STRING(2); stimeHour: STRING(2); stimeMin: STRING(2); stimeSec: STRING(2); stimeMsec: STRING(3); END_VAR Programmteil: SysTimeRtcHighResGet(pTimestamp:=GetTimeResult); SysTimeRTc.SysTimeRtcConvertHighResToDate(pTimestamp:=GetTimeResult, pDate:=Ctrl_DateTime); //Verwenden der Zeit z.B. als String. Oder...
Hi, warum probierst dus nicht einfach aus? Bei mir klappts wenn ich den kompletten Pfad benutze. Gruß Chrs