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 ?
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
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
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
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
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
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
wenn du im grafischen editor arbeitest musst du auf das symbol einen doppelclick machen und dann kannst du die einstellungen editieren
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 !
in der 3.04 ist die Holiday-Daten und "Datentypen" -> CONSTANTS_LOCATIONS -> HOLIDAY zu finden
[gelöscht durch Administrator]
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
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]
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]
siehe grafiken !
datei xxx.ge kannst du mit pcworx als programm importieren
[gelöscht durch Administrator]
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]
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]
:'(
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.
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]
Zitatset_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!
Zitat von: peewit in 26. September 2011, 12:51:30
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