FB26, Calender_Calc

Begonnen von schnapper, 09. November 2009, 13:50:02

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 2 Gäste betrachten dieses Thema.

schnapper

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]

dalbi

#1
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

dalbi

Hallo Peter,

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

Gruss Daniel

schnapper

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

dalbi

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

schnapper

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

dalbi

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

schnapper

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

dalbi

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]

schnapper

Hallo Daniel,
kaum macht man es richtig schon gehts.
Danke für deine Hilfe.
Gruß Peter