Beiträge anzeigen

Diese Sektion erlaubt es ihnen alle Beiträge dieses Mitglieds zu sehen. Beachten sie, dass sie nur solche Beiträge sehen können, zu denen sie auch Zugriffsrechte haben.


Nachrichten - mattsches

Seiten: 1 ... 3 4 [5] 6 7 ... 18
61
Codesys 2 / Re: WebVisualiserung zu langsam
« am: 22. August 2018, 19:12:12 »
Hallo Ferdi,

das scheint mir keine spezielle Frage zu den OSCAT-Bibliotheken zu sein. Nicht dass du die hier nicht stellen dürftest. Nur denke ich, dass du im SPS-Forum (www.sps-forum.de) eher eine hilfreiche Antwort bekommen wirst.

Gruß,
mattsches

62
Hi Jens,

ich habe Dir mal einen Export angehängt, es müsste alles Relevante drin sein. Also alle meine aktuellen BLIND_x-Bausteine und den zusammenfassenden FB "Jalousie", der sie miteinander verkettet. Darin ist noch etwas Zusatzschnickschnack, z. B. um die Jalousien nach Ende der automatischen Beschattung je nach Parametrierung immer zu öffnen, unabhängig davon, wie die Position zuvor war.

Kommentare sind drin, müsstest ganz gut erkennen können, was was bedeutet.

Schönen Gruß,
mattsches

[gelöscht durch Administrator]

63
Hallo Jens,

einen solchen FB habe ich, allerdings hatte ich ihn - weil sich die BLIND-Bausteine so schön grafisch verknüpfen lassen - in CFC erstellt. Also wenn Du auf ST festgelegt bist, wird Dir das wohl nichts bringen, sorry. Aber so viel Tipparbeit ist das ja auch nicht, über die Eingabehilfe kannst Du Dir die Aufrufe inkl. Parameter ja ganz gut erzeugen lassen.

Falls Du Bedarf hast, ich habe mittlerweile auch einen passenden BLIND_CONTROL_S gebaut. Gib Bescheid, falls Du ihn brauchen kannst.

Viele Grüße,
mattsches


64
oscat.lib fuer CoDeSys 3 / Re: Holiday Array
« am: 15. August 2018, 23:14:01 »
Hi peewit,

sorry, jetzt stehe ich auf dem Schlauch - was ist dann das hier?

http://www.oscat.de/component/jdownloads/download/2-oscat-basic/4-oscat-basic-331-codesys3.html

Gruß,
mattsches

65
oscat.lib fuer CoDeSys 3 / Re: Holiday Array
« am: 15. August 2018, 20:04:56 »
Logisch, das kann nicht gehen, wenn bei SET_DATE der Monat schon passt aber dann der Tag bezogen auf das Jahr noch draufaddiert wird. Offenbar ist der Code von DATE_ADD in der Lib für CODESYS V3.5 ein anderer als in der für V2.3.  Steht am Ende des Bausteins eine Versions- und Datumsangabe? Bei der Version für 2.3 ist das 1.8/22.03.2011.

Am besten änderst du mal in der Lib den DATE_ADD wie folgt:

DATE_ADD := UDINT_TO_DATE(DATE_TO_UDINT(IDATE) + INT_TO_UDINT(D + W * 7) * UDINT#86400);
yr := Y + YEAR_OF_DATE(DATE_ADD);
mo := M + MONTH_OF_DATE(DATE_ADD);
dm := DAY_OF_MONTH(DATE_ADD);
WHILE mo > 12 DO
mo := mo - 12;
yr := yr + 1;
END_WHILE;
WHILE mo < 1 DO
mo := mo + 12;
yr := yr - 1;
END_WHILE;
DATE_ADD := SET_DATE(yr, mo, dm);


Das ist die Version, wie sie in der Lib für V2.3 enthalten ist und bei mir problemlos funktioniert. Wenn das dann tut, sollten wir peewit Bescheid geben, damit die Bibliothek korriert wird.

66
oscat.lib fuer CoDeSys 3 / Re: Holiday Array
« am: 13. August 2018, 20:59:09 »
Hier mal zum Vergleich der Code von DATE_ADD in der Lib für CODESYS V2.3:

DATE_ADD := UDINT_TO_DATE(DATE_TO_UDINT(IDATE) + INT_TO_UDINT(D + W * 7) * UDINT#86400);
yr := Y + YEAR_OF_DATE(DATE_ADD);
mo := M + MONTH_OF_DATE(DATE_ADD);
dm := DAY_OF_MONTH(DATE_ADD);
WHILE mo > 12 DO
mo := mo - 12;
yr := yr + 1;
END_WHILE;
WHILE mo < 1 DO
mo := mo + 12;
yr := yr - 1;
END_WHILE;
DATE_ADD := SET_DATE(yr, mo, dm);

DATE_ADD ist eine Funktion und kann daher nicht beobachtet werden (jedenfalls in V2.3). Ich würde daher den Code mal in einen FB oder ein Programm kopieren, mit dem 01.04.2018 füttern und beobachten, was als Ergebnis rauskommt. Wenn das Ergebnis immer noch d#2018-04-01 ist, würde ich das mal mit d#2018-06-30 vergleichen lassen und checken, ob das Ergebnis True ist.

Alles etwas umständlich. Aber mir fällt keine andere Vorgehensweise ein, als das Schritt für Schritt einzugrenzen. Irgendwo muss der Hase ja im Pfeffer liegen.

67
oscat.lib fuer CoDeSys 3 / Re: Holiday Array
« am: 13. August 2018, 20:53:09 »
Und was kommt raus, wenn du z. B. dResult als Date deklarierst und

dResult := DATE_ADD(d#2018-04-01, 0, 0, 0, 0);

ausführst?

Kannst Du bitte mal den Code von DATE_ADD posten? Oder einen Export anhängen. Wie gesagt, ich habe hier nur CODESYS V2.3 am Start.

Welche Steuerung setzt du denn ein?

68
oscat.lib fuer CoDeSys 3 / Re: Holiday Array
« am: 12. August 2018, 19:28:50 »
Wirklich seltsam. Zumindest laut deinem Screenshot schaut es so aus, als würde die Bedingung in Zeile 30 feuern und der Baustein mit Zeile 33 dann abgebrochen. Mit dem Ergebnis Ostersonntag.


Kannst du mal bResult als BOOL deklarieren und folgenden Aufruf testweise mit einbauen?

bResult := (DATE_ADD(d#2018-04-01, 0, 0, 0, 0) = d#2018-06-30);

Und was sagt der Holidaytest-FB zu DATE_IN := d#2018-04-01?

69
oscat.lib fuer CoDeSys 3 / Re: Holiday Array
« am: 11. August 2018, 14:02:40 »
Ok, das schaut alles in Ordnung aus. Und du hast Recht, das zyklische Befüllen ist kein Problem. Ich mache das nur nicht, um nicht unnötig CPU-Zeit zu verschenken. Aber für dein Problem ist das nicht der Grund, das HOLIDAY-Array ist ja korrekt initialisiert und befüllt.

Hast du mal testweise den HOLIDAY-Baustein separat aufgerufen? EASTER gibt ja das korrekte Datum zurück, wie du schreibst. Aber was macht der HOLIDAY, wenn du ihn zyklisch aufrufst, mit denselben Parametern wie im CALENDAR_CALC?

70
oscat.lib fuer CoDeSys 3 / Re: Holiday Array
« am: 10. August 2018, 13:29:54 »
Reproduzieren kann ich das bei mir nicht, allerdings habe ich TwinCAT 2/CODESYS V2.3 und nicht V3.5. Aber ich gehe davon aus, dass der Code identisch ist.

Frage: Warum beschreibst Du das Array HOLIDAYS im Laufzeitprogramm und nicht einfach bei der Deklaration, wie z. B. in der Doku beschrieben?

HOLIDAY_DE : ARRAY[0..29] OF HOLIDAY_DATA := (name := 'Neujahr', day := 1, month := 1, use := 1),
(name := 'Heilig Drei Könige', day := 6, month := 1, use := 1),
(name := 'Karfreitag', day := -2, month := 0, use := 1),
(name := 'Ostersonntag', day := 0, month := 0, use := 1),
(name := 'Ostermontag', day := 1, month := 0, use := 1),
(name := 'Tag der Arbeit', day := 1, month := 5, use := 1),
(name := 'Christi Himmelfahrt', day := 39, month := 0, use := 1),
(name := 'Pfingstsonntag', day := 49, month := 0, use := 1),
(name := 'Pfingstmontag', day := 50, month := 0, use := 1),
(name := 'Fronleichnam', day := 60, month := 0, use := 1),
(name := 'Augsburger Friedensfest', day := 8, month := 8, use := 0),
(name := 'Maria Himmelfahrt', day := 15, month := 8, use := 1),
(name := 'Tag der Deutschen Einheit', day := 3, month := 10, use := 1),
(name := 'Reformationstag', day := 31, month := 10, use := 0),
(name := 'Allerheiligen', day := 1, month := 11, use := 1),
(name := 'Buss und Bettag', day := 23, month := 11, use := 0),
(name := '1. Weihnachtstag', day := 25, month := 12, use := 1),
(name := '2. Weihnachtstag', day := 26, month := 12, use := 1)

Das muss jetzt nichts mit Deinem Fehler zu tun haben. War nur ein Unterschied, der mir zu meinem Programm aufgefallen ist.

Kannst Du den Deklarationsteil von HOLIDAYS und eine Ansicht mit den Daten des Arrays zur Laufzeit mal posten?

71
Die habe ich hier vor Längerem mal gepostet. Link siehe zweiter Beitrag in diesem Thread.

Gruß,
mattsches

72
Hallo,

mit den von mir abgewandelten Bausteinen müsste das beidseitige Wenden schon gehen. Da kann man am BLIND_CONTROL einen MIN_ANGLE und einen MAX_ANGLE einstellen. Bei (ohne beidseitige Wendung) sind das 18° und 90°. Würde die Jalousie beidseitig und symmetrisch wenden, würde ich es mit 18° und 172° probieren.

Voraussetzung ist, dass alle BLIND_*-Bausteine von mir verwendet werden, da ich ANGLE von größenlos 0..255 auf Grad umgestellt habe.

Viele Grüße,
mattsches

73
oscat.lib fuer Step 7 / Re: Kleiner Problem mit BLIND Shade
« am: 19. Juli 2018, 10:21:20 »
Da musst du mit der Parametrierung für Lamellenabstand und -breite etwas spielen. Der Baustein geht von zum einen von einer idealen Geometrie (Lamelle ist flach und nicht gekrümmt aus) und davon, dass sich der Winkel über die Verstellzeit linear ändert. Beides ist nicht gegeben.

Bevor man nun aber versucht, Geometrien und das Verhalten mit großem Aufwand in den Code zu pressen, ist es einfacher, z. B. den Abstand etwas größer zu parametrieren, als er tatsächlich ist. Einfach so lange ändern, bis die Verschattung passt.

74
oscat.lib fuer CoDeSys 3 / Re: Problem mit FIX
« am: 10. Juli 2018, 13:30:16 »
Ich schätze, du hast deinen Code in einer Funktion geschrieben und versuchst diese dann zu beobachten.

Wenn ja: Das geht so nicht. Variablen, die innerhalb einer Funktion deklariert sind, lassen sich so nicht beobachten. Kopiere den Code mal in ein Programm oder einen Funktionsbaustein, dann kannst du beobachten.

Nachtrag: Beobachten einer Funktion geht schon, aber nur mittels Haltepunkt in der Funktion.

Seiten: 1 ... 3 4 [5] 6 7 ... 18