OSCAT Forum

oscat.lib => oscat.lib fuer Step 7 => Thema gestartet von: schnapper am 09. November 2009, 13:50:02

Titel: FB26, Calender_Calc
Beitrag von: schnapper am 09. November 2009, 13:50:02
Hallo Daniel,
habe noch Probleme mit dem FB26 (Calender_Calc). ???
Bekomme immer ein Bereichslängenfehler (lesen, schreiben) von FC34.
Was mache ich falsch??
Habe das Projekt mal angefügt.
Gruß Peter


[gelöscht durch Administrator]
Titel: Re:FB26, Calender_Calc
Beitrag von: dalbi am 10. November 2009, 23:00:19
Hallo Peter,

Sorry, hat ein bisschen gedauert. Oh was hast Du den vor?

1. Der DB200 ist falsch richtig muss sein Name: Beliebig Typ: "CALENDAR".
2. Der FB funktioniert nur richtig mit einer DB Variable (Datentyp "CALENDAR"), da es ein IN_OUT am FB ist.
   
Achtung! Lokalvariablen sind nur im aktuellen Zyklus gültig!

Gruss Daniel
Titel: Re:FB26, Calender_Calc
Beitrag von: dalbi am 10. November 2009, 23:52:49
Hallo Peter,

sehe gerade das in dem Baustein noch ein paar Bugs drin sind. Werde mir die Sache am Wochenende mal anschauen.

Gruss Daniel
Titel: Re:FB26, Calender_Calc
Beitrag von: schnapper am 11. November 2009, 08:35:53
Hallo Daniel,
Ziel war das aktuelle Datum und Uhrzeit auszulesen und dann in den DB "calender" einzulesen.
Der Aufruf beim FB26 funktionierte aber nur mit der temp angelegten Struct.
Der UDT hat schon das Symbol "CALENDAR", auch umbenennen brachte keinen Erfolg.
Deshalb hatte ich ins temp DT reingeschoben und anschliessend den kompl. Block in den DB; alles in einem Zyklus.
Alles was danach kommt, sind nur weitere Versuche gewesen, also unwichtig.
Danke für Bemühungen und Geduld
Gruß Peter
Titel: Re:FB26, Calender_Calc
Beitrag von: dalbi am 11. November 2009, 23:35:30
Hallo Peter,

ne da hast Du was falsch verstanden.
Im DB "DB200" nur eine Variable vom Typ "Calendar" anlegen, Diese kann dann einfach über DB200.XYZ an Calendar_Calc gelegt werden. Bei Dir war es ein ARRAY[0..0] vom Typ Calendar.

Gruss Daniel
Titel: Re:FB26, Calender_Calc
Beitrag von: schnapper am 12. November 2009, 15:17:04
Hallo Daniel,
ein Problem habe ich aber noch. >:(
Wie übergebe ich die Weltzeit UTC an den DB. ???
Mit Systemzeit auslesen und direkt auf den DB.UTC schreiben funktioniert nicht.

Gruß Peter
Titel: Re:FB26, Calender_Calc
Beitrag von: dalbi am 12. November 2009, 22:37:57
Hallo Peter,

die Uhrzeit UTC ist vom Typ DATE_AND_TIME diese kann z.B. mittels BLK_MOV oder direkt mit READ_CLK gelesen bzw. kopiert werden. Der Zugriff darauf erfolgt z.B. mit DB200.XYZ.UTC.

Gruss Daniel
Titel: Re:FB26, Calender_Calc
Beitrag von: schnapper am 13. November 2009, 09:40:00
Hallo Daniel,
genauso habe ich es versucht.
Aber egal ob ich es direkt reinschreibe (mit SFC1, DB200.XYZ.UTC) oder über BLKMOV, kommt Bereichslängenfehler beim lesen im FC 34 bzw. Bereichslängenfehler beim schreiben im FB 26. ???
Im DB 200 stehen nur die Anfangswerte
Gruß Peter
Titel: Re:FB26, Calender_Calc
Beitrag von: dalbi am 14. November 2009, 19:50:52
Hallo Peter,

das Problem ist Dein DB26 beim öffnen "Ungültiger Parameter im Aufruf".
Die vorherigen Antworten auch beachten.

Anbei das überarbeitete Programm mit funktionierendem CALENDER_CALC.

Gruss Daniel

[gelöscht durch Administrator]
Titel: Re:FB26, Calender_Calc
Beitrag von: schnapper am 14. November 2009, 22:09:16
Hallo Daniel,
kaum macht man es richtig schon gehts.
Danke für deine Hilfe.
Gruß Peter