關於在智研的M670與M675控制器的進給加減速設定中,由前輩所傳承的經驗獲得此值為一負值,但就我學了那麼久的運動控制,一時間還真無法對應起這是什麼物理量含義,滿腹疑問,此值怎可能是負的,但確實設成負的在真實的加工上是有助於加工的平滑化,此問題一直困擾著我,今天終於讓我搞清楚,原來負號是智研用來當成是否開啟預視功能的代碼,且以目前預視單節數量是固定為512個單節,至於其餘的數字則是真的加減速所需要時間設定,如下圖Feed acceleration所設定的-65。
另外注意的是,此設定有兩個單位,一為10 msec 另一則是 1msec,主要利用數值格式來區分,-1~-9999為單位10msec的設定,若輸入為-15表示要花150 msec才能使系統速度由0上升至所設定的最高速。設定為-10001~-19999則是單位1msec的設定,其指若輸入為-10015表示要花15msec 才能使系統速度由0升至設定的最高速。
2013年11月16日 星期六
2013年9月23日 星期一
新代控制器Dipole架構
新代控制器也有提供二次開發者,自行開發人機介面的架構,其稱為雙系統前後台架構(Dipole),下圖為此架構大致上程式的執行情況。
新代控制器特色為控制器與螢幕是綁在一起,故原先控制器裡的介面是新代提供,使用者頂多能使用eHMI來增加自己的頁面,不過我是沒什麼興趣玩;另外除了這樣使用外,其還有提供另外的人機開發方式,就是上圖架構,其特點為抽換掉原先控制器裡的人機介面.exe檔,改取代OCAPIServer.exe這通訊執行檔,負責與上端電腦做資料交換,至於上端新代提供相關通訊的dll,給c#開發使用,實際開發情況等確定後再來做正確的修正。
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,終於順利完成環境建置,但怎麼開發,其實還是沒那麼清楚,我再多找點資料再看看。
2013年1月16日 星期三
DX2 上安裝RTAI與 LinuxCNC 步驟
經過幾天的試裝,沒一次裝成,終於還是呼叫瞻營全工程師,與其溝通也照著他們提供的安裝步驟執行,似乎是不可行,最後的解決方案為他們公司將提供一裝好的映像檔給我直接映進去,就這樣等待了一天。
終於回信說,他們也照著提供給我的安裝步驟執行一次,結果是和我一樣,是不可行的,嗯~~事實證明,我真的是按照步驟,所以不行.....
最後提供正確步驟 (#號是指令,沒#的都是說明)與所提供之檔案
Install linux-headers
# dpkg -i linux-headers-2.6.32.20-vortex86-sg-rtai_1.0_i386.deb
Install linux-image
# dpkg -i linux-image-2.6.32.20-vortex86-sg-rtai_1.0_i386.deb
update-initramfs
# update-initramfs -c -k 2.6.32.20-vortex86-sg-rtai
update-grub
# update-grub
reboot
Update package index files
# aptitude update
Install libreadline5
# aptitude install libreadline5
Install python-tk
# aptitude install python-tk
Install python-imaging-tk
# aptitude install python-imaging-tk
Install python-numpy
# aptitude install python-numpy
Install bwidget
# aptitude install bwidget
Install gettext
# aptitude install gettext
Untar rtai to /root
Untar emc2 to /root
Get the root permission
In /usr/src directory
# ln -sf linux-headers-2.6.32.20-vortex86-sg-rtai linux
In root/rtai/magma directory
# make install
In emc2/src directory
# make install
Then run /opt/emc2/bin/emc
終於回信說,他們也照著提供給我的安裝步驟執行一次,結果是和我一樣,是不可行的,嗯~~事實證明,我真的是按照步驟,所以不行.....
最後提供正確步驟 (#號是指令,沒#的都是說明)與所提供之檔案
Install linux-headers
# dpkg -i linux-headers-2.6.32.20-vortex86-sg-rtai_1.0_i386.deb
Install linux-image
# dpkg -i linux-image-2.6.32.20-vortex86-sg-rtai_1.0_i386.deb
update-initramfs
# update-initramfs -c -k 2.6.32.20-vortex86-sg-rtai
update-grub
# update-grub
reboot
Update package index files
# aptitude update
Install libreadline5
# aptitude install libreadline5
Install python-tk
# aptitude install python-tk
Install python-imaging-tk
# aptitude install python-imaging-tk
Install python-numpy
# aptitude install python-numpy
Install bwidget
# aptitude install bwidget
Install gettext
# aptitude install gettext
Untar rtai to /root
Untar emc2 to /root
Get the root permission
In /usr/src directory
# ln -sf linux-headers-2.6.32.20-vortex86-sg-rtai linux
In root/rtai/magma directory
# make install
In emc2/src directory
# make install
Then run /opt/emc2/bin/emc
2013年1月12日 星期六
Ubuntu 10.04 瞻營全 DX2 上安裝 LinuxCNC
要在瞻營全 DX2板子跑LinuxCNC,是無法直接使用LinuxCNC網站上包裝的live CD 直接安裝,主要是LinuxCNC所使用的Rtai即時環境建置時要與硬體配合,而因為瞻營全這SOC的硬體特殊使然,無法直接使用,只好自已安裝。
瞻營全有提供其修改過Rtai部分,也有其安裝流程,不過目前照著步驟施行,卻也讓我重裝了幾次作業系統,或許是什麼步驟有問題,我再找些資料看看,也順道多了解Ubuntu作業系統與未來的開發環境,中間過程將先學習參考LinuxCNC,再來創出自已的運動核心。
訂閱:
意見 (Atom)


.jpg)
