|
Modellübersichtsbild aus dem Kasten PneuVac : Bearbeitungsstation.
Und ein erstes ROBO Pro Programm dazu : Marke Eigenbau. Nach einer Aufwärmphase wird geprüft, ob ein Teil in der Lichtschranke unter dem Stapelmagazin liegt, dann wird es (mit viel Schwung) auf das Transportband geschoben (manchmal auch darüber hinaus). Direkt anschließend (der Farbsensor liegt direkt neben dem Stapemagazin) wird der Farbwert bestimmt und darüber entschieden, wie es weitergeht : Weiße Teile werden zur Stempelstation transportiert, die anderen in den Ausschußkasten. Die Stempelstation hat eine Lichtschranke, die das Band stoppt. Die Lage der Lichtschranke ist nicht optimal, man kann aber den Stempel ein Stück nach vorn schieben, dann trifft er besser, besonders, wenn er noch einen Stempel bekommt (Fußteil von Schneckenstützen - 36 132). Die Farberkennung hat so ihre Tücken, meine Schreibtischlampe hat richtig gestört. Zusätzlich wurde noch das transparente Stapelmagazin durch ein schwarzes ausgetauscht, dann ging es meistens. Beim Auswurf der Fehlteile ist die Einschaltzeit des Auswerfers experimentell zu ermitteln. Beim Auswurf selber stört der schräge 30er Baustein an der Auswurflücke, ich habe ihn einfach weggelassen. Das Transportband war bei mir in der vorgegebenen Länge sehr stramm, es wurde noch ein zusätzliches Kettenglied eingefügt, fällt weiter gar nicht auf. Die von fischertechnik bereitgestellten ROBO Pro Programme treiben deutlich mehr Aufwand mit der Feinabstimmung, da geht es denn gleich besser. Die 0,1s Pausen sind sehr kurz, das mitgelieferte Programm geht mit 1s auf Nummer Sicher. Man braucht einiges Gefühl für vernünftige Zeiten und Pausen. In den mitgelieferten wird der Kompressor immer wieder temporär abgeschaltet, ebenso die Lampen der Lichtschranken. public partial class frmMain : Form {FishFace ft = new FishFace(); const Out motKompressor = Out.M1; const Out motTransportBand = Out.M2; const Out venSchieber = Out.O5; const Out venAuswerfer = Out.O6; const Out venStanze = Out.O7; const Out lamLichtschranken = Out.O8; const Inp phoStapel = Inp.I1; const Inp phoStanze = Inp.I2; const Inp volFarbe = Inp.A1; const int cWeiss = 240;
private void Action() { int FarbWert; // --- Starten der Anlage --- ft.SetMotor(motKompressor, Dir.Links); ft.SetLamp(lamLichtschranken, Dir.Ein); ft.Pause(3000); do { // --- Teil aus Magazin auf Band --- ft.WaitForInput(phoStapel, false); ft.SetLamp(venSchieber, Dir.Ein); ft.Pause(100); ft.SetLamp(venSchieber, Dir.Aus); ft.Pause(100); ft.SetMotor(motTransportBand, Dir.Links); FarbWert = ft.GetVoltage(volFarbe); lblFarbe.Text = "Farbwert : " + FarbWert.ToString(); if (FarbWert <= cWeiss) { // --- weiáe Teile bearbeiten --- ft.WaitForLow(phoStanze); ft.SetMotor(motTransportBand, Dir.Aus); ft.SetLamp(venStanze, Dir.Ein); ft.Pause(1000); ft.SetLamp(venStanze, Dir.Aus); } else { // --- Fehlteile auswerfen --- ft.SetLamp(venAuswerfer, Dir.Ein); ft.Pause(5000); ft.SetLamp(venAuswerfer, Dir.Aus); ft.SetMotor(motTransportBand, Dir.Aus); } } while (!ft.Finish()); // --- Teile auslaufen lassen --- ft.NotHalt = false; ft.SetMotor(motTransportBand, Dir.Links); ft.Pause(5000); } Das gleiche Programm in einer C# 2005 Version. Eingangs die Interface-Belegung DownloadPneuVac.ZIP mit diesem und weiteren Programmen Stand : 04.11.2008 |