OSCAT Forum

oscat.lib => oscat.lib fuer Step 7 => Thema gestartet von: HopeITworks am 23. September 2016, 12:47:17

Titel: Kann die FC´s DT_TOD (FC8) und DT_DATE (FC6) nicht einfügen
Beitrag von: HopeITworks am 23. September 2016, 12:47:17
Kann mir einer nen Tip geben wo es da Hacken könnte? Alle anderen FC´s aus der Oscat.lib gehen problemlos einzufügen in mein 1200erter Projekt. Diese Bausteine ziehe ich in den Programmbausteinordner aber es passiert garnichts. Ich arbeite mit TIA V13 SP1. Es kommt auch keine Fehlermeldung beim Hinzufügen oder sonstiges.

Wenn ich die beiden Bausteine mehrmals rüberziehe kommt natürlich dann auch keine Fehlermeldung wegen Überschreiben, da diese dort faktisch wirklich nicht vorhanden sind bzw. angelegt werden.

Als Bibliothek hab ich die hier in Verwendung: Bibliothek_OSCAT_building_100_S1200_V13_V13_SP1.zal13
Titel: Re: Kann die FC´s DT_TOD (FC8) und DT_DATE (FC6) nicht einfügen
Beitrag von: DOD666 am 25. September 2016, 10:46:09
Kannst du das genauer erklären verstehe nicht was du meinst.

Gruß

Jens
Titel: Re: Kann die FC´s DT_TOD (FC8) und DT_DATE (FC6) nicht einfügen
Beitrag von: HopeITworks am 26. September 2016, 12:18:32
Ich ziehe diese beiden Bausteine aus der Bibliothek in den Bausteinordner meines Projekts. Dort tauchen sie dann aber nicht auf?! Mit allen anderen Bausteinen geht es ganz normal.
Titel: Re: Kann die FC´s DT_TOD (FC8) und DT_DATE (FC6) nicht einfügen
Beitrag von: DOD666 am 27. September 2016, 07:26:20
Geht bei mir auch nicht kannst du aber mit dem Siemens Baustein T_CONV lösen.

Als Eingangsdagtentyp DTL einstellen und als Ausgangstyp dann Time_Of_Day oder Date.



Gruß

Jens

[gelöscht durch Administrator]
Titel: Re: Kann die FC´s DT_TOD (FC8) und DT_DATE (FC6) nicht einfügen
Beitrag von: HopeITworks am 27. September 2016, 12:01:11
Und welche Daten muss ich in dem FC dann übergeben? Ich blicke da leider noch nicht wirklich durch muss ich gestehen  ::)

Du baust also nen FC den ich DT_TOD nenne, da pack ich dann den T_CONV von Siemens rein und stelle auf DTL und Time_Of_Day. Und dann? Wie muss ich den beschalten?

Und warum geht der orginal Baustein nicht? Das verstehe ich sowieso garnicht?!
Titel: Re: Kann die FC´s DT_TOD (FC8) und DT_DATE (FC6) nicht einfügen
Beitrag von: DOD666 am 27. September 2016, 13:14:34
Du  muss keinen FC erstellen T_CONV ist ein Systembaustein den kann man so verwenden.

Wenn in einem anderen Baustein FC6 oder FC8 verwendet ist ersetze den aufruf durch T_CONV

Gruß

Jens
Titel: Re: Kann die FC´s DT_TOD (FC8) und DT_DATE (FC6) nicht einfügen
Beitrag von: HopeITworks am 27. September 2016, 15:11:04
Ah OK verstehe. Also muss ich in den Blind_Shade FB´s raussuchen welche auf DT_TOD bzw. DT_DATE zugreifen und dort T_CONV aufrufen.

Wenn ich diese Aufrufe aber original lassen will, dann kann ich den FC auch nachbilden wie auf meinem Screenshot, oder? Also das wäre die Nachbildung für DT_TOD.

Danke schon mal das du mir da ein wenig hilfst ;-)



[gelöscht durch Administrator]
Titel: Re: Kann die FC´s DT_TOD (FC8) und DT_DATE (FC6) nicht einfügen
Beitrag von: DOD666 am 27. September 2016, 16:26:46
Ja musst du.

Warum hast du mehrere Blind_Shade FB's es gibt doch nur einen.
Den brauchst du nur so oft aufrufen wie du ihn benötigst.
Wenn du denn immer mit anderem Namen ablegst hast du erstens mehr Bausteine also mehr Speicherverbrauch.
Solltest du ein Problem haben musst du das Problem in allen deinen Bausteinen mit gleichem Inhalt beseitigen da vergisst man mal schnell einen. Deswegen nie kopien von Bausteinen anlegen welche dann den gleichen Inhalt haben.

Gruß

Jens

[gelöscht durch Administrator]
Titel: Re: Kann die FC´s DT_TOD (FC8) und DT_DATE (FC6) nicht einfügen
Beitrag von: HopeITworks am 27. September 2016, 16:32:15
Ich nenne die nur "Blind_Shade_EG, Blind_Shade_OG" wo ich meinen Blind_Shade FB für jeweils jedes Rollo und jeden Raffstoren für EG und OG aufrufe :)

Das sind ja auch FC´s welche ich da gebaut hab^^ FB hab ich natürlich nur einen :)


EDIT: Also ginge das mit dem Nachbau oben im Screenshot so auch? Ich hab da echt noch viel zu wenig Durchblick :D Jetzt bin ich aber eh schon ne Weile an dem Projekt dran..

EDIT2: Und wieso heißen die Aufrufe im Blind Shade dann DTL_TO_TOD? Und nicht wie die FC´s DT_TOD oder DT_DATE? Das versteh ich leider noch garnicht.
Titel: Re: Kann die FC´s DT_TOD (FC8) und DT_DATE (FC6) nicht einfügen
Beitrag von: DOD666 am 27. September 2016, 17:16:06
Du brauchst den nicht nachbauen. Die Funktion gibt es von Siemens. DT kannst du auch nicht nehmen da die 1200 nur DTL kann. Mach das so wie ich die Funktion T_CONV funktioniert ja.

Gruß

Jens
Titel: Re: Kann die FC´s DT_TOD (FC8) und DT_DATE (FC6) nicht einfügen
Beitrag von: HopeITworks am 27. September 2016, 18:04:49
Also mache ich aus DTL_TO_TOD(#tcxUTC) > #CX.SUN_RISE + #sunrise_offset AND DTL_TO_TOD(#tcxUTC) < #CX.SUN_SET - #sunset_preset THEN
das hier T_CONV(#tcxUTC) > #CX.SUN_RISE + #sunrise_offset AND T_CONV(#tcxUTC) < #CX.SUN_SET - #sunset_preset THEN
Ist das so richtig?

EDIT: Ne so ist das wohl falsch :D So bringt es Fehler beim Übersetzen :D
Titel: Re: Kann die FC´s DT_TOD (FC8) und DT_DATE (FC6) nicht einfügen
Beitrag von: DOD666 am 27. September 2016, 18:23:29
Nee der von mir gepostete Code ist schon fertig.
Wenn du dann mit der Maus drüber gehst siehst du das es
T_CONV ist.
So muss es nach der Änderung aussehen.

Gruß

Jens
Titel: Re: Kann die FC´s DT_TOD (FC8) und DT_DATE (FC6) nicht einfügen
Beitrag von: HopeITworks am 27. September 2016, 18:34:47
Hmm seltsam. Kann es sein das in deiner Lib die du hier mal gebaut und hochgeladen hast, das schon geändert ist? Bei mir kommt da bereits T_CONV wenn ich mit der Maus darüber schiebe.

Dann kommt meine Bereichsverletzung wohl woanders her wenn das hier schon passt mit der Lib die ich von dir genommen habe.
Diese habe ich nur im FB201 also Blind_Shade und FB252 also Blind_Shade_s..
Titel: Re: Kann die FC´s DT_TOD (FC8) und DT_DATE (FC6) nicht einfügen
Beitrag von: DOD666 am 27. September 2016, 20:27:47
Wenn die von mir ist ist das schon geändert.

Wo ist dann das Problem?
Schick mal ein Bild.

Gruß

Jens
Titel: Re: Kann die FC´s DT_TOD (FC8) und DT_DATE (FC6) nicht einfügen
Beitrag von: HopeITworks am 27. September 2016, 20:36:20
Ja das ist die von dir ;-) Jo dachte ich mir dann fast als ich mit der Maus darüber gefahren bin und sah, dass der T_CONV bereits die Arbeit macht.

Hab mal nen Screenshot angehängt. Ich dachte der Fehler rührt vielleicht an den beiden fehlenden FC´s wie im Threadtitel. Aber das ist dann natürlich Quatsch wenn das in deiner Lib schon angepasst ist. Wie kann ich denn bei so einem Fehler rückwärts Fehler suchen? Im Diagnosepuffer werde ich ja nicht direkt zum auslösenden Fehler verwiesen. Sprich ich kann da kein "Gehe zu" oder sowas machen..



[gelöscht durch Administrator]
Titel: Re: Kann die FC´s DT_TOD (FC8) und DT_DATE (FC6) nicht einfügen
Beitrag von: HopeITworks am 27. September 2016, 20:38:32
Stimmen denn die Abhängigkeiten die im Blind_Shade im Bausteinkopf stehen überhaupt noch? Den CALENDAR habe ich in PLC-Datentypen abgelegt. Ist das so korrekt?

OMG bin ich blind: Ich hab NIE nach unten gescrollt. Da kommt ja "Im Editor öffnen"... -.-

Also ich habe auf jeden Fall mit den Variablen UTC und SUN_HOR und #tcxUTC z.B. ein Problem. Die gibt es wohl in meinem Projekt garnicht.
Titel: Re: Kann die FC´s DT_TOD (FC8) und DT_DATE (FC6) nicht einfügen
Beitrag von: DOD666 am 27. September 2016, 21:21:58
Übersetz mal den CALENDAR Datentyp und dann noch mal deinen Baustein.
Die kommen ja alle da her.

Gruß

Jens
Titel: Re: Kann die FC´s DT_TOD (FC8) und DT_DATE (FC6) nicht einfügen
Beitrag von: HopeITworks am 27. September 2016, 21:37:48
Habe ich gemacht, hat aber leider garnichts gebracht. Die Werte für CALENDAR werden von CALENDAR_CALC errechnet, oder? Denn CALENDAR_CALC hab ich noch nicht eingebaut. Aber das wäre ja egal, oder? Der rechnet dann eben einfach nur mit falschen Werten was mich ja vorerst nicht stört.
Titel: Re: Kann die FC´s DT_TOD (FC8) und DT_DATE (FC6) nicht einfügen
Beitrag von: DOD666 am 27. September 2016, 21:42:31
Stimmt.

Wie sieht es in deinem Code aus?
Ist da was rot?

Ggf. mal die Zeile kopieren und wieder einfügen.
Manchmal kapiert TIA es nocht obwohl die Syntax stimmt weil z.B. der Datentyp nicht da war.

Gruß

Jens
Titel: Re: Kann die FC´s DT_TOD (FC8) und DT_DATE (FC6) nicht einfügen
Beitrag von: HopeITworks am 27. September 2016, 21:47:42
Nein Rot ist da nix. Beim Übersetzen gibt es auch keine Fehler. Muss dieser CALENDAR schon in PLC-Datentypen? Oder wohin muss ich den schieben aus der Lib?
Titel: Re: Kann die FC´s DT_TOD (FC8) und DT_DATE (FC6) nicht einfügen
Beitrag von: DOD666 am 27. September 2016, 21:51:55
Ja der muss da hun.
UDT = Datentyp

Vielleich geht es nicht weil du keine Werte in den Variablen hast.


Gruß

Jens

Titel: Re: Kann die FC´s DT_TOD (FC8) und DT_DATE (FC6) nicht einfügen
Beitrag von: HopeITworks am 28. September 2016, 10:09:59
Ich habe jetzt in einem eigenen Projekt mal versucht CALENDAR_CALC zusammen zu bauen.

Leider hänge ich hier fest:

#sun(Ret_Val := #tXCAL.LATITUDE, IDATE := #tXCAL.LONGITUDE, Ret_Val := DTL_TO_DATE(#tXCAL.UTC), IDATE := #H); #pos(SATURDAY := #tXCAL.LATITUDE, SUNDAY := #tXCAL.LONGITUDE, SIZE := #tXCAL.UTC);
Hier sind die Variablen alle rot. Ich muss wohl erstmal verstehen wenn etwas rot ist, wie ich da zu suchen anfangen kann.

[gelöscht durch Administrator]
Titel: Re: Kann die FC´s DT_TOD (FC8) und DT_DATE (FC6) nicht einfügen
Beitrag von: DOD666 am 28. September 2016, 17:44:57
Da scheinen die Parameter nicht zu stimmen.

Bei mir steht da:

#sun(LATITUDE := #tXCAL.LATITUDE, LONGITUDE := #tXCAL:LONGITUDE, UTC := DTL_TO_DATE(#tXCAL.UTC), H := #H);

#pos(latitude := #tXCAL.LATITUDE, longitude := #tXCAL:LONGITUDE, utc := #tXCAL.UTC);

Gruß

Jens
Titel: Re: Kann die FC´s DT_TOD (FC8) und DT_DATE (FC6) nicht einfügen
Beitrag von: HopeITworks am 28. September 2016, 18:08:26
Hö wieso das denn? Das ist jetzt aber mal extrem seltsam. Ich tausche die beiden Zeilen mal aus gegen deine und schau ob er dann Fehlerfrei übersetzt..

Versteh ich nicht wieso das bei meinem FB anders ist, noch dazu wo es die Lib von dir ist  ;D

Vielleicht haben dann meine Blind_Shade und Blind_Shade_S Bausteine auch Fehler in der Lib und daher hab ich diese Bereichsfehler?! Kannst du mir deine Lib vielleicht nochmal zukommen lassen irgendwie?
Titel: Re: Kann die FC´s DT_TOD (FC8) und DT_DATE (FC6) nicht einfügen
Beitrag von: HopeITworks am 28. September 2016, 18:20:34
Habe das nun gegen deine Zeilen ausgetauscht. Dann bekomme ich wieder Fehler, aber andere. Ich habe daraufhin den : bei #tXCAL:LONGITUDE entfernt und gegen einen Punkt ersetzt. Dann kann ich das alles übersetzen ohne Fehler. Aber irgendwas stimmt da ja nicht. Auf den Punkt kam ich nur, weil davor bei #tXCAL.LATITUDE auch ein Punkt verwendet wurde und kein :

Aber ob das richtig ist oder nicht - ich habe keine Ahnung  :o
Titel: Re: Kann die FC´s DT_TOD (FC8) und DT_DATE (FC6) nicht einfügen
Beitrag von: DOD666 am 28. September 2016, 20:59:45
Ups war ein Tippfehler von mir.
Muss ja immer ein Punkt sein der in die nächste Ebene geht.

Gruß

Jens