Work_Week und Zeit als Udint

Begonnen von x-ray, 11. Januar 2010, 23:09:31

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

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

#4
hallo

ZitatT_PLC_MS (UDINT, Var_Global) habe ich in die Globalen Variablen eingetragen, aber der Fehler kommt immer noch !

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]

x-ray

Hi,

danke habs ...
PLC_TICKS_PER_SE war bei mir als DInt drin ... sollte nur Int sein ... Komisch wie das wohl da rein kam ?!
Habs geändert, scheint jetzt zu gehen !

Aber mit den 10 min. ist kein Witz.
Entweder bei Make oder Projekt erzeugen braucht die Kiste 10min.
Habe Worx 6.x SP2.56 aber Win7 !
Vielleicht liegt es an Windows 7 ...
Oder mach ich was falsch ?

gruß

peewit

schön wenn es jetzt klappt.


Projekt erzeugen:

alles was über 30 sek drüber hinaus geht ist eher nicht normal !

pcworx ist zwar für vista freigegeben, jedoch nicht offiziell für windows 7

dein projekt liegt auf einer festplatte und nicht auf einen netzlaufwerk, oder usb-stick oder ähnliches ?

x-ray

Hi peewit,

mein Projekt braucht exakt 8 Minuten mit Make !
Darauf habe ich ein neues Projekt angelegt, aber auch dieses brauchte 8 min. beim Erzeugen ...

Die Projekte liegen beide auf der int. Festplatte.
Beides auch getestet im Kompatibilitätsmodus zu Win XP SP 3

Hmmm, könnte es am Demo-Modus liegen ??????????
Habe nämlich nur eine DemoVersion ! Kann es das sein ?

lg   

peewit

#8
problem durch demo-modus ?

nein , hier wird nur ab 8 Byte I/O Daten kein Programm fertig kompiliert



du wirst sehen, wenn du pcworx auf einen anderen pc installiert, du wird es sich auch richtig verhalten

hast du irgenwelche Antivirus-programme laufen, die jeden filezugriff bremsen.


ich habe selber pcworx 5 und pcworx 6 auf windows7 laufen , jedoch im XP-MODE auf Win7
das heisst unter Win7 wird ein vollwertiges WinXP System betrieben (Virtualisiert), und auch hier läuft alles zeitgerecht ab !

http://www.microsoft.com/windows/virtual-pc/download.aspx

x-ray

Ja, ich hatte es noch auf einer virtuellen Maschine installiert (virtualbox).
Dort kann ich es auch mal testen !
ich melde mich
danke dir

x-ray

Hi,

gerade an einem Notebook mit XP Home SP 3 getestet ...
Neues Projekt angelegt, dann erzeugen gedrück, brauchte 13 min.
Dann Make, 9 min.
WorX Version 6.00.25

Was stimmt da nicht ... ?

Gruß

x-ray

Hab's !!!!!!!!!!!!!!

Norton Antivirus war schuld ....
Einfach ausschalten, dann Programmieren, Danach wieder einschalten   ;)
10 - 15 sec. !!!

gruß
x-ray