OSCAT Forum

oscat.lib => Bestehende Module / Existing Modules => Thema gestartet von: dieter am 27. Oktober 2007, 00:56:18

Titel: Eigene Feiertage für FB holiday definieren
Beitrag von: dieter am 27. Oktober 2007, 00:56:18
Hallo,

wie kann ich denn eigene Feiertage definieren.
CoDeSys meckert immer über fehlendem Schreibzugriff bei:

VAR
   HolidayCheck: holiday;
END_VAR
HolidayCheck.feiertag[1]:='Test';

Was mache ich falsch ?
Titel: Re: Eigene Feiertage für FB holiday definieren
Beitrag von: dieter am 28. Oktober 2007, 22:42:09
Ich hab jetzt gesehen dass die ARRAY's mit den Feiertagsdefinitionen als VAR CONSTANT in der Lib deklariert sind.
Dann ist es ja normal dass ich keine eigenen Feiertage hinzufügen kann !
Ist das so gewollt ?

Grüsse,
Dieter
Titel: Re: Eigene Feiertage für FB holiday definieren
Beitrag von: hugo am 28. Oktober 2007, 23:58:54
ja die idee ist das du die lib öffnest und neu speicherst, aber ich denke du hast recht es wäre sinnvoller wenn wir die holidays als normale inputs definieren mit vorbelegung und du kannst sie dann aendern wenn du willst. wir werden das in der nächsten release tun
Titel: Re: Eigene Feiertage für FB holiday definieren
Beitrag von: McNugget2000 am 31. Oktober 2007, 15:59:29
Hallo Hugo.

Meine erste Frage wäre geklärt. Danke schon mal.

Ich habe noch Anregungen zum neuen Holiday-Block.

Nicht jedes Bundesland hat jeden Feiertag. Von daher sollte jeder Feiertag eigens an- oder abwählbar sein. (Vielleicht pro Feiertag ein Eingang, der mit true oder false belegt werden kann.)

Ich benötige eine Funktion, die produktionsfreie Tage (also Holiday plus Samstage und Sonntage) liefert.
Dasselbe Problem haben sicherlich auch viele andere.

Also wäre es doch auch sinnvoll, an den Baustein Eingänge für jeden einzelnen Wochentag zu  setzen, die man belegen kann.


Nur ein Vorschlag.

Vielen Dank noch mal für Eure klasse Arbeit.

Bis die Tage

McNugget

Titel: Re: Eigene Feiertage für FB holiday definieren
Beitrag von: hugo am 31. Oktober 2007, 16:02:15
das ein und ausschalten der feitertage ist bereits vorgesehen, jeder einzelne feiertag kann mit f_use ein bzw ausgeschaltet werden.
die wochentage sind einfach mit weekday zu ermitteln. wir werden das aber in der nächsten relase berücksichtigen
Titel: Re: Eigene Feiertage für FB holiday definieren
Beitrag von: dieter am 01. November 2007, 23:35:39
Hallo Hugo,

mit Version 2.3 kann ich immer noch keine eigenen Feiertage definieren.

Was mache ich falsch ?

VAR
   HolidayCheck: holiday;
END_VAR

HolidayCheck.feiertag[11]:='test';

Fehler 4020 Operanden vom 'ST','STN','S','R' müssen Variable mit Schreibzugriff sein

Titel: Re: Eigene Feiertage für FB holiday definieren
Beitrag von: hugo am 02. November 2007, 07:11:01
probiers mal so:

var
ftag : holiday;
myholidays : ARRAY [0..24] OF STRING(27) := 'test', 'test2';
end_var


ftag(feiertag := myholidays);

die anderen vorgaben / arrays must du entsprechend speisen
Titel: Re: Eigene Feiertage für FB holiday definieren
Beitrag von: hugo am 02. November 2007, 08:32:48
wenn du im grafischen editor arbeitest musst du auf das symbol einen doppelclick machen und dann kannst du die einstellungen editieren
Titel: Re: Eigene Feiertage für FB holiday definieren
Beitrag von: martin.k am 05. März 2009, 15:47:29
Hi,

ich bin gerade dabei die 304 einzuarbeiten. Seit der 2.3 hat sich da ja noch einiges geändert...
Wie erstelle ich eine Feiertagsliste? Könnte mal jemand davon einen Screenshot bei den Beispielen einstellen?
DANKE !
Titel: Re: Eigene Feiertage für FB holiday definieren
Beitrag von: peewit am 05. März 2009, 16:05:55
in der 3.04 ist die Holiday-Daten und "Datentypen" -> CONSTANTS_LOCATIONS -> HOLIDAY zu finden
 

[gelöscht durch Administrator]
Titel: Re: Eigene Feiertage für FB holiday definieren
Beitrag von: martin.k am 05. März 2009, 18:29:18
Hi,

danke für den Screenshot. War der jetzt aus der Oscat.lib oder aus deinem SPS-Programm?
Wie steuere ich denn welche Feiertage bei mir verwendet werden?
Muss ich die CONSTANTS_LOCATIONS in mein Projekt einfügen?
Ich habe keine Idee wie das gehen soll. Ich verstehe die Beschreibung im Handbuch nicht  ???

Grüße
Titel: Re: Eigene Feiertage für FB holiday definieren
Beitrag von: peewit am 05. März 2009, 19:25:40
die feiertage sind als globale variablen in form einer Datenstruktur angelegt

zugriff über

location.holiday[ Sprache , feiertags index 0..29 ].NAME usw...

du kannst di schon vordefinierten einträge in deinen programm überschreiben / ändern oder erweitern ....

siehe grafik

[gelöscht durch Administrator]
Titel: Re:Eigene Feiertage für FB holiday definieren
Beitrag von: schwa226 am 23. September 2011, 08:08:44
Hallo,

ich bin neu in der SPS Programmierung und brauche etwas Hilfe!

Ich habe mir den Holiday FB angsehen und bekomme es nicht zum Laufen.
Ich arbeite mit PC WorX 6.0x. Kann mir jemand zeigen wie ich das in dem Graphischen Editor umsetzen muss!?

Ich habe die aktuelle 3.32 oscat installiert.

Vielen Dank!

[gelöscht durch Administrator]
Titel: Re:Eigene Feiertage für FB holiday definieren
Beitrag von: peewit am 23. September 2011, 14:55:16
siehe grafiken !

datei xxx.ge kannst du mit pcworx als programm importieren


[gelöscht durch Administrator]
Titel: Re:Eigene Feiertage für FB holiday definieren
Beitrag von: schwa226 am 26. September 2011, 10:29:41
Super Danke für den Hinweis!

Wieder was gelernt.
Jedoch geht es noch nicht so ganz. Ich habe eine Testfeiertag angelegt, jedoch schaltet der Ausgang Y nicht auf High!?

Bedeuted das PAD_BYTE vielleicht die Uhrzeit? 16:00h

[gelöscht durch Administrator]
Titel: Re:Eigene Feiertage für FB holiday definieren
Beitrag von: peewit am 26. September 2011, 12:51:30
hallo

das pad_byte kannst du 100% ignorieren
das wurde nur angelegt für die ilc 1xx, damit der kompiler weniger warnungen ausgibt
vergiss es !

-----------------------------

nun zu deinem eigentlichen problem

der baustein holiday hat den eingang DATE_IN
und wie der name schon sagt musst du hier ein DATE und kein DATE_TIME oder sonstiges übergeben

entweder du machst dir extra mit SET_DATE einen passenden übergabewert
oder nimmst das ergebnis von SET_DATE und schaltest noch ein DT_TO_DATE dazwischen

siehe baustein im anhang (pcworx import)


[gelöscht durch Administrator]
Titel: Re:Eigene Feiertage für FB holiday definieren
Beitrag von: schwa226 am 26. September 2011, 13:21:46
 :'(
Kleiner aber dummer Fehler!
Jetzt geht es wie es soll.

Danke!

EDIT:
Es gibt ja die Funktionsbausteine SETUP_HOLIDAY von Oscat.
Ich schätze damit sind die im PDF angegebenen Feiertage definiert, oder?
Wie bekomme ich diese nun in die "holidays" Holiday Array?

Ich habe das Array am In und OUT angehängt, leider bleibt es aber leer.
Titel: Re:Eigene Feiertage für FB holiday definieren
Beitrag von: peewit am 26. September 2011, 14:30:41
set_holiday_xx geht sehr wohl

die setup bausteine in der pcworx version von oscat sind keine offiziellen bausteine der oscat bibliothek
diese habe ich nur gemacht bzw drinnen gelassen, weil das initialisieren der datenarray etwas umständlich ist



[gelöscht durch Administrator]
Titel: Re:Eigene Feiertage für FB holiday definieren
Beitrag von: schwa226 am 26. September 2011, 15:13:24
Zitat
set_holiday_xx geht sehr wohl
Stimmt!

Ich glaube ich habe die SPS rückgesetzt und dann aber Vergessen sie wieder zu starten  :-[
Nun geht alles wie es sein soll. Danke!
Titel: Re:Eigene Feiertage für FB holiday definieren
Beitrag von: rrbd am 03. Oktober 2013, 17:42:48
das pad_byte kannst du 100% ignorieren

Hallo,
könntet Ihr das in der Doku erwähnen, so ist's etwas mühsam. Im Sachstand Sonntag, 22. Januar 2012 14:40:32 ist's nicht erwähnt.

Gruß

Rainer