2. Februar 2009 17:01
3. Februar 2009 09:17
3. Februar 2009 12:15
fiddi hat geschrieben:
- Woher weiß das System zu welchem Auftrag die fotografierte Kiste gehört?
Ist dort ein Arbeitsplatz oder soll das ganz automatisch ablaufen?
Und Antworten:
- Ich denke es macht keinen großen Sinn die Bilder in NAV abzuspeichern, da ich glaube, das Ihr sicherlich ein paar Aufträge mehr pro Tag abwickelt, und die Bilder sicherlich nicht mit einer schwarzweiß 640x480 Auflösung fotografiert werden sollen. Da NAV außerdem keine JPEGs verarbeiten und anzeigen kann, kannst du dir selbst ausrechnen, was bei eurerem Auftragsvolumen eine 2MPixel- Foto (in JPEG ca. 800KB - 1MB groß) als BMP mit eurer Datenbank macht. Daher lege die Fotos lieber in einem Netzwerkverzeichnis ab, und verweise mit einer Referenz darauf.
Wenn dort ein Arbeitsplatz vorhanden ist, und du Kamera und Waage findest, die du per Automation oder Programmaufruf steuern kannst, dürfte der Rest kein allzu großes Problem sein.
3. Februar 2009 12:28
3. Februar 2009 13:00
CommCtrl.InBufferSize := 1024;
CommCtrl.OutBufferSize := 512;
CommCtrl.Settings = '9600,n,8,1';
CommCtrl.CommPort := 1;
CommCtrl.RThreshold := 1;
CommCtrl.InputLen := 1;
CommCtrl.PortOpen := TRUE;
IF CommCtrl.InBufferCount > 0 THEN BEGIN
CommCtrl.RThreshold := 0; // Switch off receive event
Buffer := CommCtrl.Input;
END;
CommCtrl.RThreshold := 1; // Switch on receive event
3. Februar 2009 13:38
4. Februar 2009 09:09
4. Februar 2009 09:45
6. Februar 2009 11:42
12. Februar 2009 11:31
<Control1000000001> - OnPush()
//comport öffnen
CommCtrl.CommPort := 1;
CommCtrl.RThreshold := 1;
CommCtrl.InputLen := 1;
CommCtrl.PortOpen := TRUE;
//eingabe an Waage schicken
CommCtrl.Output:='<GB1%.4f kg>'; //Ausgabe Befehl für die Waage
//Timer starten
IF ISCLEAR(Timer) THEN BEGIN
CREATE(Timer);
Timer.Interval := 100; // Jede Zehntel Sekunde
Timer.Enabled(TRUE);
END;
Timer::Timer(Milliseconds : Integer)
IF CommCtrl.InBufferCount > 0 THEN BEGIN //Prüfung ob was im Input liegt
Gewicht := CommCtrl.Input; //Einlesen der Ausgabe
CommCtrl.RThreshold := 0; // Switch off receive event
CommCtrl.PortOpen :=FALSE; //Port schließen
Timer.Enabled(FALSE); //Timer Beenden
END;
//Abbruchbedingung
i:=i+1;
IF i=50 THEN BEGIN
MESSAGE('Feddich');
CommCtrl.PortOpen:=FALSE;
Timer.Enabled(FALSE);
END;
//CommCtrl.RThreshold := 1; // Switch on receive event
Timer::TimerError(ErrorString : Text[1024])
MESSAGE('Timer Fehler');
12. Februar 2009 12:39
12. Februar 2009 12:58
<Control1000000001> - OnPush()
//comport öffnen
CommCtrl.CommPort := 1;
CommCtrl.RThreshold := 1;
CommCtrl.InputLen := 512;
CommCtrl.PortOpen := TRUE;
//eingabe an Waage schicken
CommCtrl.Output:='<GB1%.4f kg>'; //Ausgabe Befehl für die Waage
//Ausgabe einlesen und ausgeben
Gewicht:=CommCtrl.Input;
Message(Gewicht);
//Port schließen
CommCtrl.PortOpen:=FALSE;
12. Februar 2009 14:58
12. Februar 2009 15:17
12. Februar 2009 15:30
12. Februar 2009 15:32
12. Februar 2009 16:22
CommCtrl.RTSEnable:=True
12. Februar 2009 17:15
Form - OnInit()
//möglich Comport werte
CommCtrl.InBufferSize := 1024;
CommCtrl.OutBufferSize := 512;
CommCtrl.Settings := '9600,n,8,1';
<Control1000000001> - OnPush()
//comport öffnen
CommCtrl.CommPort := 1;
CommCtrl.RThreshold := 1;
CommCtrl.InputLen := 512;
CommCtrl.PortOpen := TRUE;
//eingabe an Waage schicken
CommCtrl.Output:='<GB1%.3f kg>'; //Ausgabe Befehl für die Waage
CommCtrl.RTSEnable:=True;
SLEEP(500);
Gewicht:=CommCtrl.Input;
Gewicht :=DELSTR(Gewicht,9,4); //Antwort String etwas beschneiden
//comport schließen
CommCtrl.RThreshold := 0;
CommCtrl.PortOpen:=FALSE;
12. Februar 2009 17:29