-> Hier kostenlos registrieren
Hallo,
ich bin neu hier und habe ein riesengroßes Problem.
Ich hoffe ich bekomme auch eine positive Antwort.
Bisher hatte ich mehr mit direkter in ASM programmierung von Atmel zu tun.
Ich habe eine CPU314 mit einem Integrierten Zähler (uvm) an dem ich A/B/N Leitung eines Inkrementalgebers angeschloßen habe.
Dieser hatt eine Auflösung von 360 Point.
Dieser wird duch die Mechanik bedingt nur in eine Richtung bewegt. (vorwährts=>aufwärts zählend).
Soweit funktioniert auch alles mit dem SFB47(Count).
Nun muß ich diverse Positionen des inkrementalgebers (zb: 0/30/180/240/359) abfragen und darauf reagieren.
Prinzipiell läft alles.
Doch nun habe ich natürlich auch eine gewisse Geschwindiglkeit in der sich alles bewegt.
Ab ca. 3 Umdrehungen /Sec verliert er mir seinen Zustand und führt die Aktionen nicht aus.
Ich hatte es schon mit aufruf des OB35(2ms) probiert. Alles über 2ms geht sowieso nicht.
Nun will ich es mittels Prozessalarm (OB40) probieren.
Doch dachte ich mir vieleicht liegt es an meiner Programmierstrategie.
Prinzipiell bin ich einen Ablauf ==> Start ===> Programm mit Ereignissen.
gewöhnt und bin mir nicht ganz sicher ob ich das mit dem Zyklus verstanden habe.
zb. Hatt der atmega einen Integrierten HW-Zähler der unabhängig von der Software läuft(wenn man will).
Ist dies bei der SPS auch so?
Wie kann ich diese Zeitkritischen Zustände am besten programmieren??
Ich hoffe inständig das mir jemand helfen kann.
Nils
ich bin neu hier und habe ein riesengroßes Problem.
Ich hoffe ich bekomme auch eine positive Antwort.
Bisher hatte ich mehr mit direkter in ASM programmierung von Atmel zu tun.
Ich habe eine CPU314 mit einem Integrierten Zähler (uvm) an dem ich A/B/N Leitung eines Inkrementalgebers angeschloßen habe.
Dieser hatt eine Auflösung von 360 Point.
Dieser wird duch die Mechanik bedingt nur in eine Richtung bewegt. (vorwährts=>aufwärts zählend).
Soweit funktioniert auch alles mit dem SFB47(Count).
Nun muß ich diverse Positionen des inkrementalgebers (zb: 0/30/180/240/359) abfragen und darauf reagieren.
Prinzipiell läft alles.
Doch nun habe ich natürlich auch eine gewisse Geschwindiglkeit in der sich alles bewegt.
Ab ca. 3 Umdrehungen /Sec verliert er mir seinen Zustand und führt die Aktionen nicht aus.
Ich hatte es schon mit aufruf des OB35(2ms) probiert. Alles über 2ms geht sowieso nicht.
Nun will ich es mittels Prozessalarm (OB40) probieren.
Doch dachte ich mir vieleicht liegt es an meiner Programmierstrategie.
Prinzipiell bin ich einen Ablauf ==> Start ===> Programm mit Ereignissen.
gewöhnt und bin mir nicht ganz sicher ob ich das mit dem Zyklus verstanden habe.
zb. Hatt der atmega einen Integrierten HW-Zähler der unabhängig von der Software läuft(wenn man will).
Ist dies bei der SPS auch so?
Wie kann ich diese Zeitkritischen Zustände am besten programmieren??
Ich hoffe inständig das mir jemand helfen kann.
Nils