oscat.lib > oscat.lib fuer PC WorX/MULTIPROG

Work_Week und Zeit als Udint

(1/3) > >>

x-ray:
Hi,

bin noch ein wenig neu in der Programmierung und hoffe auf eure Hilfe.
Ich möchte mit WorkX 6 die Funktion WorkWeek nutzen, bin aber am verzweifeln am Eingang "iDate".
Wie bekomme ich die aktuelle Uhrzeit der Steuerung in dieses Format ....
Die aktuelle Uhrzeit bekomme ich mit dem RTC_S_1 Baustein, aber wie wandelt man dann nach iDate ???  ??? ???


lg

peewit:
hallo x-ray

nur nicht ärgern.... einfach fragen... es gibt für alles eine lösung

leider kann pcworx nicht mit DATE,TIME_OF_DAY_DATE_TIME usw.. direkt umgehen, somit haben wir als kompromiss
diese Datentypen über UDINT realisiert. Es ist auch nicht möglich einen alias namen für eine basistype zu deklarieren, somit müssen wir mit dieser krücke leben. Aber besser so, als es gar nicht haben.

Ich kenne leider deinen RTC_S_1 Baustein nicht, aber wahrscheinlich wirst du Jahr,monat,tag,stunde,minuten,sekunden von diesen baustein bekommen (meine vermutung)
ansonsten kannst du direkt die globalen Variablen benutzen

RTC_HOURS   INT   VAR_GLOBAL   System time (hours)               
RTC_MINUTES   INT   VAR_GLOBAL   System time (minutes)               
RTC_SECONDS   INT   VAR_GLOBAL   System time (seconds)               
RTC_DAY                INT   VAR_GLOBAL   System time (day)            
RTC_MONTH   INT   VAR_GLOBAL   System time (month)               
RTC_YEAR   INT   VAR_GLOBAL   System time (year)               

damit die nun ein idate (vom Type DATE) für den workweek baustein bekommst, nimmst du einfach
den baustein SET_DATE

und für DATE_TIME nimmst du den Baustein SET_DT

du musst aber immer aufpassen das immer gleiches mit gleichen kombinierst, da alle typen über udint realsiert sind
und die bausteine bzw. der compiler den fehler nicht erkennen können !

x-ray:
Hey daaaanke Dir!!!

werd's morgen Testen !!!


lg

x-ray:
Hi,

es geht super !
Nun bin ich noch an einem anderen Problem.
Ich habe in mein Projekt die Funktion "Meter" eingefügt.
Nun kommt immer die Fehlermeldung "Keine zutreffende globale Variable für 'T_PLC_MS:PLC_TICKS_PER_SEC' in Ressource 'STD_RES' gefunden !
".
T_PLC_MS (UDINT, Var_Global) habe ich in die Globalen Variablen eingetragen, aber der Fehler kommt immer noch !
Hast du eine Idee an was das liegen könnte ??
Des weiteren ist mein PC Worx total lahm beim Übersetzen !! Das dauert bis zu 10 Minuten ...
Geht das nicht irgendwie schneller ??

lg.

peewit:
hallo


--- Zitat ---T_PLC_MS (UDINT, Var_Global) habe ich in die Globalen Variablen eingetragen, aber der Fehler kommt immer noch !
--- Ende Zitat ---

die fehlermeldung sagt nur das der baustein T_PLC_MS eine globale variable mit namen "PLC_TICKS_PER_SEC' benötigt
du brauchst nicht T_PLC_MS als global eintragen, da hast du etwas falsch verstanden ....

also wenn du pcworx 6 benutzt dann hast du ziemlich sicher einen ILC 1xx oder ILC 3xx
diese haben alle in den globalen variablen die var 'PLC_TICKS_PER_SEC' standardmäßig angelegt
wenn diese bei dir fehlt, dann hast du sie wahrscheinlich versehentlich gelöscht ?

lege zum test ein neues projekt an und kontrolliere dann in den globalen variablen ob du dann diese variable findest
sicher ist zumindest , wenn du diese nicht hast, dann geht es logischerweise auch nicht


(siehe grafik -> so sollte es in etwa aussehen , jedoch abhängig von deine sps)


------------------
bezüglich 10 minuten kompilieren, da hast du irgendein problem an deinen rechner !
pcworx nicht das schnellste aber es dauert niemals 10 min



mfg peewit

[gelöscht durch Administrator]

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln