關於GCODE
關於GCODE
3D印表機大多以GCODE(https://en.wikipedia.org/wiki/G-code)控制,電腦端軟體將各種命令GCODE(或是存在記憶卡上的GCODE檔案)以特定的通訊方式傳送給3D印表機,在印表機收到之後由韌體(Firmware, 大陸稱為固件)負責執行該命令,而使得機器動作。
目前最常見的韌體有Marlin(馬林)與Repetier firmware與Smoothieware等等,以上多為Open Source(開源)的免費韌體,詳細資料很容易在網路上查到。(需注意Repetier本身有電腦端軟體與韌體,軟體稱做Repetier-Host與Repetier Server(Server版),而韌體稱做Repetier firmware溝通時注意避免誤解)
GCODE亦為RS-274,最早使用於CNC機器,據說GCODE來自於Go....,意即要機器動作的CODE(碼),故稱為G-CODE,也稱為G programming language(G程式語言),最早GCODE都是G開頭,後來不夠用了或是有其他廠家自行發展了更多的功能所以其實G CODE不是都是G開頭,還有M開頭或是更多的自訂控制碼。
3D印表機的GCODE可以在這裡查得到https://reprap.org/wiki/G-code,目前市面上九成以上(甚至更多)都是遵循此規範,這樣大家的機器與軟體就有共同的溝通語言,也就是說大部分軟體與大部分的機器都是相容的,如果要發展一套自己的軟體或是特定的GCODE並不是天大的難事,但就要看市場接受度如何,講白了就是好不好用,現在大家都用Open Source(開源)的軟體很習慣,會出現的問題也都依依被解決,使用上也沒重大問題,若是某公司要自己發展一套,除非是真的沒問題又好用,不然你會去用嗎?
所以3D印表機的GCODE其實很多都相容於原本的CNC控制碼,說是相容不如說是大同小異,其實不只是CNC就連部分的雷射雕刻/切割機都雷同,事實上只要是XYZ三軸(或四軸五軸)都可以這個做應用。
常用的GCODE舉例以下
G28 將機器回到原位或稱做歸位,需注意這個歸位並不等於回到零點,因為某些機器的零點並非與歸位的位置相同。
G29 執行自動校正,或是稱做自動平面校正,當然機器本身要有設計此功能這個命令才有效。
M119 回報限位開關(Endstop, 或稱極限開關)的狀態,Open代表未感應,Triggerred代表被觸發(已經感應到)。
GCODE也會有參數跟在後面,比方
G28 X 代表僅將X軸歸位。
G1 F20000 X-50 代表將X軸以20000mm/s的速度移動到X為-50的位置
(從本公司3DPW論壇平台轉發)