Eigene Feiertage für FB holiday definieren

Begonnen von dieter, 27. Oktober 2007, 00:56:18

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 3 Gäste betrachten dieses Thema.

dieter

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 ?

dieter

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

hugo

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

McNugget2000

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


hugo

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

dieter

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


hugo

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

hugo

wenn du im grafischen editor arbeitest musst du auf das symbol einen doppelclick machen und dann kannst du die einstellungen editieren

martin.k

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 !

peewit

in der 3.04 ist die Holiday-Daten und "Datentypen" -> CONSTANTS_LOCATIONS -> HOLIDAY zu finden


[gelöscht durch Administrator]

martin.k

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

peewit

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]

schwa226

#12
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]

peewit

siehe grafiken !

datei xxx.ge kannst du mit pcworx als programm importieren


[gelöscht durch Administrator]

schwa226

#14
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]