Re: Einsteigerfrage multiples Zählgerät mit CC2 Kategorie: Programmierung (von Anderl, http://andy1tech.com - 25.11.2003 15:51) | |
Als Antwort auf Re: Einsteigerfrage multiples Zählgerät mit CC2 von Tom - 25.11.2003 12:04
| |
> Hallo Anderl, > > > 1.) Wie kann ich das im Buch beschriebene Programm Impulszähler soweit aufpoppen, damit > > ich acht Eingänge abfragen kann > > Ich nehme an Du benutzt das Beispiel aus Messen,Steuern und Regeln mit der C-Control II Seite > 39. Benutze einfach mehrer threads z.B. > int counter; > > > int c1; > int c2; > > thread counter1 > { > loop > { > wait (ports.get(8)); > wait ( not (ports.get(8))); > c1=c1+1; > sleep 1; > } > } > > thread counter2 > { > loop > { > wait (ports.get(9)); > wait ( not (ports.get(9))); > c2=c2+1; > sleep 1; > } > } > > usw. > > im thread main dann > > thread main > { > int counter12; > run counter1; > run counter2; > loop > { > counter12=c1+c2; > } > } > > >, bzw. wie kann ich die Einzelergebnisse von zwei Eingängen > > zusammenfassen? > > ist über die globalen Variablen C1 C2 schon geschehen. > Wenn das Zählen nur bei laufendem Sortierband geschehen soll > > wait (ports.get(8) and ports.get(0)); > > wobei ports.get(0) den Zustand des laufenden Sortierband wiederspiegelt, wobei > Port 0 dann während des ganzen Zählvorganges 1 bleiben mu�. > > > > 2.) Für die Weiterverarbeitung im PC verwende ich ein VB Programm mit vbTerm. Kann die CC2 > > die erfassten Daten in realtime an den PC senden? > > und wieder ein eigener thread der das erledigt: > > thread senden > { > hwcom.init(); > hwcom.setspeed(hwcom.SPEED_9600); > string s; > loop > { > wait hwcom.ready(); > s=""; > str.putint(s,c1); > hwcom.print(s); > hwcom.ret(); > wait hwcom.ready(); > s=""; > str.putint(s,c2); > hwcom.print(s); > hwcom.ret(); > sleep 100; > } > } > > wenn Du Summen senden willst dann einfach vorher addieren. > > > > 3.) Genügt der im CC2 vorgesehene Speicherplatz aus zur Erfassung der Daten? Pro Tag werden > > etwa 3 Zählvorgänge gestartet, nach jedem abgeschlossenen Zählvorgang kann der > > Speicherplatz geleert werden. > > Das hab ich jetzt nicht so ganz verstanden da ja eigentlich nur die 8 Zähler laufen, die Du entweder > über einen Eingang löscht oder per seriellem Befehl vom PC. > > Ich hab den Code einfach nur so runtergeschrieben ohne zu testet, aber ich hoffe es hilft > Dir weiter. > > mfg Tom > > > Hallo Tom, erst mal tausend Dank für die prompte Antwort. Ja, ich meinte das Beispiel aus dem Buch MSR mit C-Control. Ich werde es gleich heute noch ausprobieren. Ich halte Dich auf dem Laufenden, denn es treten mit Sicherheit noch mehr Fragen auf. Grü�le Anderl Meine Seite: http://andy1tech.com | |
Antwort schreiben Antworten: |