讀取fanuc工具機的倍率資訊需要用到 focas鏈結庫。
根據fanuc的連線手冊可以知道,進給倍率訊號存在 gn012暫存器中。在工具機上更改倍率開關,發現g0012暫存器值變化,經驗證g0012就是要讀取的暫存器。
查閱focas函式說明,使用pmc_rdpmcrng函式進行讀取。
輸入
(1)庫控制代碼;(獲取的控制代碼)
(2)pmc位址型別的id code; (0)
id code
pmc位址型別
參考範圍
(pmc型別)
0g (signal to pmc->cnc)
0-767
1000-1767
2000-2767(note1)
3000-3767(note1)
4000-4767(note1)
5000-5767(note1)
6000-6767(note1)
7000-7767(note1)
8000-8767(note1)
9000-9767(note1)
pmc
0-767
1000-1767(note1)
pmc/l f
(signal to cnc->pmc)
0-767
1000-1767
2000-2767(note1)
3000-3767(note1)
4000-4767(note1)
5000-5767(note1)
6000-6767(note1)
7000-7767(note1)
8000-8767(note1)
9000-9767(note1)
pmc
0-767
1000-1767(note1)
pmc/l y
(signal to pmc->machine)
0-127
200-327
400-527(note2)
600-727(note2)
1000-1127(note2)
pmc
0-127
200-327(note2)
1000-1127(note2)
pmc/l x
(signal to machine->pmc)
0-127
200-327
400-527(note2)
600-727(note2)
1000-1127(note2)
pmc
0-127
200-327(note2)
1000-1127(note2)
pmc/l a
(message)
*message display
0-249
pmc
0-249
pmc/l
a (message)
*status display
9000-9249
pmc9000-9249
pmc/l r
(internal relay)
0-7999
pmc0-1499
pmc/l t
(timer)
*changeable timer
0-449
pmc
0-79
pmc/l
t (timer)
*variable-timer precision(note3)
9000-9499
pmc9000-9079
pmc/l k
(keep relay)
0-99
900-999
pmc
0-19
900-999
pmc/l c
(counter)
0-399
5000-5199
pmc
0-79
5000-5039
pmc/l d
(data table)
0-9999
pmc
0-2999
pmc/l e
(extended relay)
0-9999
pmc
0-9999
pmc/l
(3)資料型別;(ushort)
(4)pmc位址起始號;(12)
(5)pmc位址結束號;(13)
(6)設定資料長度。(16)
type_d資料型別是0(位元組型)
長度 = 8 + n
type_d資料型別是1(字型)
長度= 8 + n × 2
type_d資料型別是2(長字型)
長度= 8 + n × 4
* n是資料寫入的個數(如將乙個數寫進r1000到r1001,那麼此時n=2)。
輸出
輸出類iodbpmc0、iodbpmc1、iodbpmc2三者中的乙個。
類的定義如下所示,其中
type_a表示pmc位址型別的id code;
type_d表示pmc資料型別;
datano_s表示pmc位址起始號;
datano_e表示pmc位址結束號;
經測試可以讀取暫存器g0012的值,讀取到的數值與實際倍率存在如下關係255-g0012=實際倍率。
可能於資料儲存的高低位順序有關,我沒有再繼續深入研究這個問題。
C 中讀取txt資料並存進陣列
首先必須說明一點的是,本人寫部落格只是個人在完成個人的工作任務過程中遇到的各種問題的總結,為的是自己日後避免在同樣的問題浪費時間。所以,本文中所附的各種 都 於網上,在此鄭重感謝們的無私奉獻,由於你們的存在,從而降低了像我們這種非專業出身從事程式設計事業的門檻,非常感謝。1 txt文字格式 中第一行...
C 使用BinaryReader類讀取二進位制檔案
binaryreader類用來讀取二進位制資料,其讀取資料的方法很多,常用方法如下 close 關閉binaryreader物件 read 從指定流讀取資料,並將指標遷移,指向下乙個字元。readdecimal 從指定流讀取乙個十進位制數值,並將在流中的位置向前移動16個位元組。readbyte 從...
ORBSLAM24Windows 讀取二進位制檔案
找到github上的orbslam24windows專案,遺憾的是這個專案是載入txt檔案,速度很慢,於是我折騰了好久在此基礎上進行了一些修改,現在可以載入bin檔案了,原來載入需要幾分鐘,現在可以瞬間載入完。所有專案編譯型別要一致 建議release x64,每次編譯時請一定注意檢查 建議用ope...