新代控制器特色為控制器與螢幕是綁在一起,故原先控制器裡的介面是新代提供,使用者頂多能使用eHMI來增加自己的頁面,不過我是沒什麼興趣玩;另外除了這樣使用外,其還有提供另外的人機開發方式,就是上圖架構,其特點為抽換掉原先控制器裡的人機介面.exe檔,改取代OCAPIServer.exe這通訊執行檔,負責與上端電腦做資料交換,至於上端新代提供相關通訊的dll,給c#開發使用,實際開發情況等確定後再來做正確的修正。
2013年9月23日 星期一
2013年9月20日 星期五
LinuxCNC (EMC2)開發環境目錄結構
安裝完2.5.3版的EMC2開發環境後,了解其各目錄工作,對於了解整體架構是有幫助的,因此我在網路上找些資料並依自己判斷,整理出其各目錄功能如下圖,內容可能有誤,待之後實際trace後再做修正,接下來工作是規畫trace code進度。
2013年9月19日 星期四
五軸磨刀機控制器整合
第一次拿現成的控制器來整合,很多細節還真的令我省事,僅是開發人機系統(還真沒什麼技術性),整個專案的難度來自於與機械廠溝通,因其本身並無技術能力的開出五軸應用規格與功能,僅以加工與本身三軸機械設設計經驗講出的模糊說明,果真難度不在技術,而是人的問題。
回到技術備忘,目前使用的是智研M-670S的六軸控制器,規格細節就不說,我就以使用者觀點來分析其底層可能架構,但首先先說我認為此控制器的優缺點,優點:採分散式架構,可另外於不同硬體平台與作業系統客制化人機介面,前提是此系統能支援網路,另外提供完整的範例與網路協定(bcb),故很容易達成人機介面開發;架構分層分明,能很容易抓出問題。缺點: 在比較國產控制器價錢發現,真的比較貴,另外和國產控制器一樣,對馬達伺服端的技術不是那麼在意,故沒提供控制器調機工具與較進階的控制器架構。
至於智研控制器內部實際上實現的架構,在控制器硬體推測走的是以x86為核心,掛載的作業系統可能為德國出產的OnTime Real time OS(http://www.on-time.com/),傳說內部控制取樣時間為0.1ms,以上內容有待驗證,除了基礎CNC控制器內部該有的架構,1.命令解譯器 2.命令插值器,3.位置伺服控制,4. PLC IO控制器外,較奇特的為與外部資料交換架構規畫詳細,此部分待我學好EMC2後,再來實現看看。
下圖為我實現五軸磨刀機控制系統大致上架構,了解後就是要處理一堆不屬於技術性的雜事。
回到技術備忘,目前使用的是智研M-670S的六軸控制器,規格細節就不說,我就以使用者觀點來分析其底層可能架構,但首先先說我認為此控制器的優缺點,優點:採分散式架構,可另外於不同硬體平台與作業系統客制化人機介面,前提是此系統能支援網路,另外提供完整的範例與網路協定(bcb),故很容易達成人機介面開發;架構分層分明,能很容易抓出問題。缺點: 在比較國產控制器價錢發現,真的比較貴,另外和國產控制器一樣,對馬達伺服端的技術不是那麼在意,故沒提供控制器調機工具與較進階的控制器架構。
至於智研控制器內部實際上實現的架構,在控制器硬體推測走的是以x86為核心,掛載的作業系統可能為德國出產的OnTime Real time OS(http://www.on-time.com/),傳說內部控制取樣時間為0.1ms,以上內容有待驗證,除了基礎CNC控制器內部該有的架構,1.命令解譯器 2.命令插值器,3.位置伺服控制,4. PLC IO控制器外,較奇特的為與外部資料交換架構規畫詳細,此部分待我學好EMC2後,再來實現看看。
下圖為我實現五軸磨刀機控制系統大致上架構,了解後就是要處理一堆不屬於技術性的雜事。
專案心得:
1.五軸磨刀機系統開發, CAD/CAM的技術比重吃很重,2.做整合的人溝通能力與技術能力一樣重要,3.不能期待機械廠告訴你什麼,而是你能提供給機械廠商什麼東西。
LinuxCNC (EMC2)編譯環境建立
上網找了些開發編譯EMC2環境的資料,我大致吸收歸納一下四個步驟, 1.安裝EMC2所需編譯工具,2.git 軟體版本管理工具下載,3. 下載EMC2原始碼,4. 設置相關環境。以下為我自行安裝步驟與遇到問題。
編譯EMC2前要安裝很多開發工具,但實際上可利用Linuxcnc.org 所提供的 Shell程序 emc2-install.sh 或 emc2-install-sim.sh (模擬)命令安裝,首先我們可先看有哪些內容要安裝,可直接連結以下網址
http://www.linuxcnc.org/hardy/dists/hardy/linuxcnc2.5/source/linuxcnc_2.5.3.dsc
看到如下內容
上面所有內容為我們需要安裝項目,但實際上我們不用一一去安裝,只要在consol模式下執行
sudo apt-get build-dep linuxcnc
即可自行下載與安裝完成,另外由於EMC2使用的是git這套SVN管理,所以我們也需安裝git的工具,可執行
sudo apt-get install git-core gitk git-gui
有了開發編譯器與git版本管理器,接下來就是要下載EMC2的原始碼,可直接在consol模式下執行
git clone git://git.linuxcnc.org/git/linuxcnc.git /root/linuxcnc-dev
上面指令 /root/linuxcnc-dev 為下載後要存放在電腦的那個目錄(可自行決定),此部分我等了30分鐘下載(要看網路速度啦),下載完了,就要開始設立編譯環境,為了方便不用一直打sudo,為先取得暫時root的權限,可打
sudo -i
然後就開始進到剛下載EMC2原始檔的目錄下,
cd /root/linuxcnc-dev/
cd src/
設置自動產生
./autogen.sh
然後configure
./configure
其中會跑出一堆東西,跑到一個地方會出現錯誤 configure: error: libmodbus3 not found!
此時就要再打
sudo apt-get install libmodbus-dev
就可裝好,再次執行 ./configure,但是還是有個錯誤
checking whether the Boost::Python headers are available... no
configure: error: boost::python is required to build LinuxCNC
解決方法
sudo apt-get install python-gnome2 python-glade2 python-numpy python-imaging python-xlib python- gtkglext1 python-configobj python-gtksourceview2
sudo apt-get install libboost-python-dev
第三次的執行./configure,終於順利完成環境建置,但怎麼開發,其實還是沒那麼清楚,我再多找點資料再看看。
編譯EMC2前要安裝很多開發工具,但實際上可利用Linuxcnc.org 所提供的 Shell程序 emc2-install.sh 或 emc2-install-sim.sh (模擬)命令安裝,首先我們可先看有哪些內容要安裝,可直接連結以下網址
http://www.linuxcnc.org/hardy/dists/hardy/linuxcnc2.5/source/linuxcnc_2.5.3.dsc
看到如下內容
上面所有內容為我們需要安裝項目,但實際上我們不用一一去安裝,只要在consol模式下執行
sudo apt-get build-dep linuxcnc
即可自行下載與安裝完成,另外由於EMC2使用的是git這套SVN管理,所以我們也需安裝git的工具,可執行
sudo apt-get install git-core gitk git-gui
有了開發編譯器與git版本管理器,接下來就是要下載EMC2的原始碼,可直接在consol模式下執行
git clone git://git.linuxcnc.org/git/linuxcnc.git /root/linuxcnc-dev
上面指令 /root/linuxcnc-dev 為下載後要存放在電腦的那個目錄(可自行決定),此部分我等了30分鐘下載(要看網路速度啦),下載完了,就要開始設立編譯環境,為了方便不用一直打sudo,為先取得暫時root的權限,可打
sudo -i
然後就開始進到剛下載EMC2原始檔的目錄下,
cd /root/linuxcnc-dev/
cd src/
設置自動產生
./autogen.sh
然後configure
./configure
其中會跑出一堆東西,跑到一個地方會出現錯誤 configure: error: libmodbus3 not found!
此時就要再打
sudo apt-get install libmodbus-dev
就可裝好,再次執行 ./configure,但是還是有個錯誤
checking whether the Boost::Python headers are available... no
configure: error: boost::python is required to build LinuxCNC
解決方法
sudo apt-get install python-gnome2 python-glade2 python-numpy python-imaging python-xlib python- gtkglext1 python-configobj python-gtksourceview2
sudo apt-get install libboost-python-dev
第三次的執行./configure,終於順利完成環境建置,但怎麼開發,其實還是沒那麼清楚,我再多找點資料再看看。
訂閱:
意見 (Atom)

.jpg)
