3%% Informationen zur Funktion
4% Von Nikolas Arthkamp (11.2021)
5% fuer: grbl-Version 1.1.
6% Die Funktion benoetigt MATLAB R2019b oder neuer
7% und versucht eine Verbindung zum grbl-Controller aufzubauen.
8% Sie gibt den Status der Verbindung sowie der Bewegungsart als Rueckgabe
9% vom Typ
string an 1. und 2. Stelle aus. An 3. Stelle wird das erzeugte
10% serialport-Objekt ausgegeben. Es ist zwingend erforderlich dieses
17 %Kommunikation aufbauen und testen
19 %Serielle Kommunikation aufbauen
20 %Baudrate von grbl-Version 1.1 = 115200
21 serialport_object = serialport(port, 115200);
22 %muss
min 0.3 sein --> 0.5 fuer Stabilitaet
26 %Terminator in grbl-Version 1.1:
'CR/LF'
27 configureTerminator(serialport_object,
'CR/LF');
28 %weitere Einstellungen (Hier gesetzte Einstellungen sind
default und werden
29 %nur gesetzt, um Fehler durch Aenderungen in den Matlab
30 %
default-Einstellungen zu vermeiden.)
31 set(serialport_object,
'DataBits',8);
32 set(serialport_object,
'Parity',
'none');
33 set(serialport_object,
'StopBits',1);
34 set(serialport_object,
'FlowControl',
'none');
36 %Antwort bei Verbindungsaufbau auslesen und pruefen
37 %wenn korrekt aufgebaut in grbl-Version 1.1
38 ans1_soll =
"Grbl 1.1h ['$' for help]";
39 %grbl Anfangsnachricht hat 26 Zeichen
43 ans_connection =
"grbl-Verbindung aufgebaut!";
45 %inkrementelle Bewegung festlegen
47 %gcode: G91 --> inkrementelle Bewegung
48 writeline(serialport_object,
"G91");
49 %Bestaetigung hat 8 Zeichen
53 ans_bewegungsart =
"inkrementelle Bewegungsart festgelegt!";
55 ans_bewegungsart =
"Festlegen der Bewegungsart fehlgeschlagen!";
56 %Auslesen abgeschnittener Zeichen um zwischenspeicher des Controllers zu leeren
61 ans_connection =
"grbl-Verbindung fehlgeschlagen!";
62 ans_bewegungsart =
"nicht moeglich!";
function check_grbl_read(in serialport_objekt, in anzahl_zeichen)
Die Funktion liest die serielle Schnittstelle aus, bis eine Antwort erhalten wird.
function connect_arduinostage(in port)
versucht eine Verbindung zum grbl-Controller aufzubauen