Einzelnen Beitrag anzeigen

100nF

Registriert seit: 7. Nov 2004
639 Beiträge
 
#48

Re: Ablauf für Fräsmaschine programmieren

  Alt 5. Okt 2008, 11:48
Zitat:
Zum G-Code-Fifo: Es ist viel einfacher, du verschiebst nur den Pointer.
Also beim ersten Befüllen wird ganz normal "von unten nach oben" aufgefüllt. Und sobald das Array voll ist, wird wieder das erste Byte überschrieben und sozusagen von vorne begonnen? mit Pointer meinst du einfach eine Varieble die sich merkt, welcher Befehl gerade ausgeführt wird?

Zitat:
Zur Prüfsumme: Du addierst alle Bytes vom Startbyte bis zum Checksummenbyte, negierst das ganze und addierst eins.
Hmm in Delphi hab ich das noch nicht richtig hingekriegt...
Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
var
  b1, b2, b3, b4, b5, bn, bx: byte;
  i: integer;
begin
  b1 := ord(strtoint(edit2.text));
  b2 := ord(strtoint(label13.caption));
  b3 := ord(strtoint(edit4.text));
  b4 := ord(strtoint(edit6.text));
  b5 := ord(strtoint(edit3.text));

  for i := 1 to length(edit5.Text) do
    if I = 1 then
      bn := ord(edit5.text[i])
    else
      bn := bn + ord(edit5.text[i]);

  bx := ((b1+b2+b3+b4+b5+bn)*(-1));

  label14.caption := inttostr(bx);
end;
Schlussendlich krieg ich gar keine negative Zahl?! Aber das liegt vermutlich daran dass ein Byte kein Vorzeichen enthält oder? Und per RS232 kann man doch eh nur 0 bis 255 verschicken oder nicht?

Wie hast du dir denn das genau vorgestellt?

mfg
Urban

EDIT: aah oder meinst du mit "negieren", die erhaltene Zahl von 255 (oder256?) abziehen?

EDIT2: Bei einem Werkzeugwechsel wird ja eine Benutzereingabe verlangt, dass das Programm weiterläuft. Machst du diese Hardwaremässig (Taster) oder am PC mit einem Button? Ich tendiere da vorläufig eher zu einem Button, später werde ich das aber vermutlich Hardwaremässig noch realisieren. Ich habe nämlich vor, einen alten PC ohne Bildschirm usw. zu verwenden, wo ich dann einfach einen USB-Stick mit dem Programm reinstecken kann und der PC das automatisch ausliest und die Fräse startet. Aber vorläufig mach ich das mal mit meinem eigenen PC...
  Mit Zitat antworten Zitat