-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 - Blauprinz

#1
Hallo Sven,

hier also mal ein abgespecktes Beispiel für die SysRtc23.lib:

Deklarations-Editor:


VAR
dt_Systemzeit :DT;

i_actuStunde :INT;
i_actuMinute :INT;
i_actuSekunde :INT;
i_actuWochentag :INT;
i_actuTag :INT;
i_actuMonat :INT;
i_actuJahr :INT;

dt_Soll_Datum :DT:=DT#2020-5-6-12:00:00; (* <-- Initialwert entspricht 06.05.2020 - 12:00:00 Uhr *)

i_Soll_Stunde :INT;
i_Soll_Minute :INT;
i_Soll_Sekunde :INT;
i_Soll_Wochentag :INT; (* 1=Mo, 2=Di, 3=Mi, 4=Do, 5=Fr, 6=Sa, 7=So *)
i_Soll_Tag :INT;
i_Soll_Monat :INT;
i_Soll_Jahr :INT;

x_ZeitgesteuertesEreignis_1 :BOOL;
x_ZeitgesteuertesEreignis_2 :BOOL;
END_VAR

(*
Referenzierte Bibliotheken:
- SysRtc23.lib
- Oscat_Basic.lib
*)



Programm-Editor:


//Bereitstellung bzw. Erfassung Systemzeit der Zielsteuerung:
dt_Systemzeit:=SysRtcGetTime(TRUE);
//DT-Variable aufsplitten:
i_actuStunde :=OSCAT_BASIC.HOUR_OF_DT(dt_Systemzeit);
i_actuMinute :=OSCAT_BASIC.MINUTE_OF_DT(dt_Systemzeit);
i_actuSekunde :=OSCAT_BASIC.SECOND_OF_DT(dt_Systemzeit);
i_actuWochentag :=OSCAT_BASIC.DAY_OF_WEEK(DT_TO_DATE(dt_Systemzeit));
i_actuTag :=OSCAT_BASIC.DAY_OF_MONTH(DT_TO_DATE(dt_Systemzeit));
i_actuMonat :=OSCAT_BASIC.MONTH_OF_DATE(DT_TO_DATE(dt_Systemzeit));
i_actuJahr :=OSCAT_BASIC.YEAR_OF_DATE(DT_TO_DATE(dt_Systemzeit));

//Variante 1 Ereignissteuerung --> per Vergleich DT-Variablen:
IF dt_Systemzeit = dt_Soll_Datum THEN
x_ZeitgesteuertesEreignis_1:=TRUE;
END_IF;

//Variante 2 Ereignissteuerung --> per Vergleich Einzel-Sollwerte:
IF
i_actuStunde = i_Soll_Stunde AND  
i_actuMinute = i_Soll_Minute AND 
i_actuSekunde = i_Soll_Sekunde     AND
i_actuWochentag = i_Soll_Wochentag AND
i_actuTag = i_Soll_Tag     AND
i_actuMonat = i_Soll_Monat     AND
i_actuJahr = i_Soll_Jahr     THEN
x_ZeitgesteuertesEreignis_2 :=TRUE;
END_IF;



Hier hast du 2 Varianten um ein zeitgesteuertes Ereignis auszuführen.
Sicherlich würde ich persönlich hier mit Arrays und Strukturen arbeiten, aber zur Veranschaulichung sollte das erstmal ausreichen.
Für das Aufsplitten der DATE_OF_TIME habe ich die vorgefertigten Oscat-Funktionen verwendet.
Dies setzt natürlich voraus, dass du die Oscat_Basic.lib im Codesys implementiert hast.  ;)

Gruß
#2
Hallo Zusammen,

auf Anfrage von Sven werde ich mich gerne zu diesem Thema äußern:

["...kannst du mir vielleicht eine kleines Beispiel geben, wie du den Vergleich machst und daraus eine Aktion wird?
Ich will in eine Ablaufsteuerung (Rapsberry SPS mit CODESYS) uhrzeitgesteuerte Elemente einbauen.
Das wäre sehr nett.
Vielen Dank für den Fall, dass Du mir helfen möchstest!
MfG
Sven
"]

@Sven, damit ich dir helfen kann benötige ich genauere Infos. Es führen schließlich viele Wege nach Rom.  ;)
Kannst du denn folgende Bibliothek in deiner Codesys-Umgebung finden: "SysRtc23" ?
Wenn nicht, dann müssten wir uns mit der "SysTimeRtc" beschäftigen.

Gruß
#3
Hallo mattsches,

ja das kann gut möglich sein. Ich habe glaube noch einen API-Key von 2017.
Damit bekomme ich für alle 5 Tage Vorhersagen. Das habe ich vor ca. 30 min. getestet...
#4
Modulentwicklung / Re: API Wetter.com CoDeSys
27. September 2018, 16:42:56
Habe mich soeben zu diesem Thema noch einmal im passenden Board gemeldet.
Funktioniert alles einwandfrei, ich war ein bisschen voreilig mit meinen Aussagen....  :D


Zitat von: Blauprinz in 27. September 2018, 16:37:12
Hallo Zusammen,

habe heute das erste Mal den Openweather-Baustein mit Codesys 3.5 getestet. Bei mir funktioniert er tadellos, sodass ich mich auch gleich dazu entschlossen habe Ihn zu erweitern. ;D
Dazu gekommen ist:

- Übersetzungsbaustein für die Wettervorhersage von Englisch in Deutsch
- Zuordnung Wetter-Icons nach Openweather-Standard in Anlehnung an die YAHOO_WEATHER-Icons (d.h. die Icon-Struktur ist an die vorhandenen Yahoo-Icons angepasst inkl. Beschriftung der
  zugeordneten Dateibezeichnung, siehe OSCAT Network Handbuch)

Ich füge die Dateien gleich dem Anhang bei und hoffe, dass der Eine oder Andere einen Nutzen daraus ziehen kann :)

Anmerkung: Die Projekt-Dateien sind mit Codesys 3.5.11 erstellt worden. Wenn gewünscht kann ich Sie auch nochmal für Codesys 2 bereitstellen.
#5
Hallo Zusammen,

habe heute das erste Mal den Openweather-Baustein mit Codesys 3.5 getestet. Bei mir funktioniert er tadellos, sodass ich mich auch gleich dazu entschlossen habe Ihn zu erweitern. ;D
Dazu gekommen ist:

- Übersetzungsbaustein für die Wettervorhersage von Englisch in Deutsch
- Zuordnung Wetter-Icons nach Openweather-Standard in Anlehnung an die YAHOO_WEATHER-Icons (d.h. die Icon-Struktur ist an die vorhandenen Yahoo-Icons angepasst inkl. Beschriftung der
  zugeordneten Dateibezeichnung, siehe OSCAT Network Handbuch)

Ich füge die Dateien gleich dem Anhang bei und hoffe, dass der Eine oder Andere einen Nutzen daraus ziehen kann :)

Anmerkung: Die Projekt-Dateien sind mit Codesys 3.5.11 erstellt worden. Wenn gewünscht kann ich Sie auch nochmal für Codesys 2 bereitstellen.

[gelöscht durch Administrator]
#6
Oh sorry, hab ich nicht gesehen...
Aber schön wenn das Problem gelöst werden konnte :D
#7
Modulentwicklung / Re: API Wetter.com CoDeSys
27. September 2018, 10:28:07
Funktioniert beides nicht :(

@mattsches, habe dein openweather-Board zu spät gelesen... ::)
#8
Auf folgendem Link steht doch, dass die Yahoo-API eingestellt ist oder irre ich mich?

https://developer.yahoo.com/weather/
#9
Modulentwicklung / Re: API Wetter.com CoDeSys
27. September 2018, 09:51:31
Hallo Zusammen,

ohje, ohje, wie die Zeit vergeht. ;D
Habe seit gut einem Jahr nicht mehr hier vorbei geschaut.
Ich werde heute erst einmal beide hier angesprochenen Thematiken testen, da ich nun wieder einmal auf der Suche nach einer
Wetter-Lösung bin.

@mattsches: ist die openweather-Lösung noch aktuell?

@annD: werde heute deine Network-Lib Variante mit Codesys V3 testen

Feedback kommt in Kürze....

#10
Hallo Ferdi,

ich könnte mir bei der Codesys 3.5 noch zwei andere Probleme vorstellen:

- Pragma in der Globalen Variablenliste
- fehlender Namespace im Deklarations-Editor


Gruß
#11
Codesys 2 / Re: WebVisualiserung zu langsam
26. September 2018, 12:17:29
Hallo Ferdi,

erfahrungsgemäß spielen beim Projektieren einer WebVisu in Bezug auf die Geschwindigkeit viele Faktoren eine Rolle:

- das Verwenden veralteter Hardware mit neuer Software welche viel mehr Ressourcen benötigt, verlangsamt den Prozessor
- Aktualisierungsraten der WebVisu mit einer Zykluszeit <100ms
- paralleles Betreiben einer PLC-Runtime, welche implizite Berechnungen durchführt ( Bsp. größere SPS-Programme, Regelungsbausteine, Fuzzy-Systeme, usw.)
- vollgepackte WebVisu-Masken mit übermäßig vielen Visu-Elementen
- fehlender Abgleich Zykluszeit MainTask und Zykluszeit VisuTask
usw.

Meistens gibt es in der Programmierumgebung eine Art Visualisierungsmanager. Dort kann man die wichtigsten Einstellungen vornehmen, unter anderem auch Aktualisierungsraten etc.

Am besten du schaust dich noch einmal auf entsprechenden Foren um. Jeder Hersteller hat so seine eigenen Wege die nach Rom führen  ;D

Gruß
#12
Hallo chekker91,

ich habe solch eine Wochenplan-Lösung schon mehrmals realisiert.
Welche Steuerung und welche Codesys-Version verwendest du denn?
Es gibt eine SysRtc.lib, welche eine Funktion Namens "SysRtcGetTime" beinhaltet.
Die Funktion gibt eine DT-Variable aus, welche die aktuelle Uhrzeit/Datum deiner Steuerung wieder gibt.
Damit kannst du Zeit und Datum entsprechend in einem Syntax mit deinen Sollwerten vergleichen.

Gruß
#13
Hallo Zusammen,

jetzt gibt es ja mittlerweile schon hunderte von YahooWeather-Beiträge hier im Forum, da blickt doch keiner mehr durch... ;D
Wie ist denn der aktuelle Stand, funktioniert die ganze Geschichte überhaupt noch? Oder ist diese API abgeschrieben?
Hat diese API-Auswertung überhaupt eine Zukunft ohne dass man jeden Monat irgend etwas an den Schnittstellen basteln muss?
Bei den anderen Seiten, wie openweahter oder wetter.com sieht es ja auch ziemlich mau aus :'(


Beste Grüße
#14
Modulentwicklung / Re: API Wetter.com CoDeSys
12. September 2017, 06:27:59
Hallo annD,

vielen Dank erstmal für deine bearbeitete Bibliothek. Wenn ich demnächst Zeit habe werde ich die gleich mal ausprobieren und ein
Feedback geben.
Ich benutze ein Eaton HMI mit integr. PLC (XV-303).

Gruß
#15
Hallo peewit,

das Problem mit dem SMTP-Baustein hat sich mittlerweile geklärt...
Du hattest Recht, es gab keine Authentifizierung. Unsere IT hat den Mailzugang ohne Authentifizierung eingerichtet.
Einach die Zugangsdaten weggelassen und schon hat alles einwandfrei funktioniert!

Gruß