Zeitschaltuhr realisieren (dringend)

Zuviel Werbung?
-> Hier kostenlos registrieren
für rookies wie mich...

falls auch andere vor einem ähnlichen Problem stehen:

Problem:
Rechen- oder Vergleichsoperationen des Formates
TOD "TIME_OF_DAY" unter FUP
resultierende Fehlermeldung: "Aktualdatentyp TOD passt nicht zum formalen Typ DINT des Formalparameters"
(z.b. bei einem vergleich: <=D)

Lösung:
entweder AWL: (in diesem Fall werden zwei Uhrzeiten addiert
& das Ergebniss in eine dritte Zeit "#EINSCHALT_OS" geschrieben)

U(
L "SYSTEM_DB".OFFSET_EINSCHALTZEIT
L #EINSCHALTZEIT
+D
)
T #EINSCHALTZEIT_OS

oder über FUP:
es muss im kop/fup/awl editor unter extras/einstellungen
im Reiter KOP/FUP das Häkchen unter "Typüberprüfung von Operanten"
entfernt werden. Nun sollte man div. rechen & vergleichsoperationen
von Zeiten im TOD format durchführen können. (z.b. >=D Vergleich)

Besten Dank an alle Beteiligten im Forum, LG. Andreas.
 
Hier mal ein kurzes Programmbeispiel von mir. :)

Zu der Schaltuhr siehe auch diesen Beitrag:

http://www.sps-forum.de/showpost.php?p=85874&postcount=21

Gruß Kai

Ich will eine Solche Funktion auch einbauen, aber irgendwie bekommen ich es nocht hin einen FC6 oder FC8 zu benutzen.
Wenn ich diese im FC100 verwenden möchte, kommt immer der Fehler Element nicht gefunden :confused:

Hab vorher mit Codesys Programmiert. Verstehe daher noch nicht warum das jetzt nicht funktioniert :shock:
 
wie machst du den aufruf? tippst du einfach: call fc8? kann dich beruhigen, das funktioniert in den seltensten fällen mit bausteinen aus der standard-bibliothek - das ist auch die stelle an der du suchen mußt ... mit strg+k bekommst du linker hand einen auswahlbaum angezeigt - biblitheken, standard libary und dann mal die entsprechenden fcs suchen und an der entsprechenden stelle in deinem projekt einbinden/aufrufen ... doppelklick sollte hier funktionieren oder drag'n'drop
 
Hallo habe mir mal den FC100 und den FC110 in mein Programm geschrieben ich möchte zu einer bestimmten uhrzeit jeden Tag ein Befehl auslösen brauche ich beide FC's ? schaltuhr.jpg
Oder brauche ich dazu jetzt blos den Schaltuhrmerker M120.0 setzen und meine Ein- und Ausschaltzeit eintragen ?
Muss ich dazu in der CPU noch was freigeben oder einstellen ? CPU 313-1AD03-0AB0
 
Zuletzt bearbeitet:
Hallo habe mir mal den FC100 und den FC110 in mein Programm geschrieben ich möchte zu einer bestimmten uhrzeit jeden Tag ein Befehl auslösen brauche ich beide FC's ? Anhang anzeigen 22781
Oder brauche ich dazu jetzt blos den Schaltuhrmerker M120.0 setzen und meine Ein- und Ausschaltzeit eintragen ?

Hast du überhaupt schon mal eine Programmierumgebung gesehen, bist du mit Variablen IN/OUT vertraut?

Hier sieht man doch eindeutig das der FC100 aufs MD102 schreibt, und dieses am FC110 wiederum gelesen wird, insofern ist die Frage oberflächlich betrachtet obsolet.
Genau so würde das bei Codesys auch ausschauen (z.B. DT_TO_TOD) ... hier ist halt die Konvertierung von Date_And_Time auf Date bzw. Tod gekapselt.
 
ich habe es so übernommen und mal aufgespielt aber da kommt bei meiner CPU sofort die SF Leuchte muss ich in der CPU noch was einstellen ?
 
Die CPU macht nur das, was in dem Programm geschrieben wurde.
Also ist dein Programm fehlerhaft.
Daher versuche zuerst verstehen, was du programmieren willst.


bike
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich möchte aus der CPU die Uhrzeit auslesen und zu einer bestimmten Zeit jeden Tag ein Befehl auslösen.
schaltuhr.jpguhrzeitalarm.jpg
ich habe aber mit OB10-17 noch nichts gemacht und kann aber blos OB10 auswählen den Rest nicht liegt es vllt. daran ?
 
Erstelle doch einfach mal einen OB10 in deinem Projekt.
Schau dir die Optionen an die du im Hardwaremanager auswählen / einstellen kannst.
In diesem OB10 programmierst du das was du zu deiner gewünschten Uhrzeit ausführen möchtest.
Die F1 Funktion des Simatic Managers wird dir weitere Informationen zur Anwendung von Uhrzeitalarmen liefern können.

Gruß, Toki
 
ich bin grade dabei mir die fc100 und fc110 selbst zu erstellen aber wenn ich den FC6 mit einbinden will zeigt er mir einen Fehler an obwohl ich FC6 wie in der Vorlage erstellt habe woran kann das liegen ? fc6.jpg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hast an der Schnittstellenbeschreibung der FC6 etwas geändert, nach dem Du die FC6 in die FC100 eingebunden hast? Wenn ja, dann mußt den Aufruf aktualisieren.
 
ok habe jetzt alles selber hin bekommen die uhr geht meine Frage ist jetzt nur ich habe das Hauptprogramm im OB1 habe aber noch eine andere Funktion (FC1) diese wurde aber immer über den OB1 eingebunden "Call FC 1" kann ich jetzt im OB1 wo das Hauptprogramm mit der Uhr ist ein neues Netzwerk machen mit "Call FC 1 " oder muss ich ein OB2 erstellen ?
 
Zurück
Oben