讀取FANUC進給倍率

2022-07-29 17:48:11 字數 2942 閱讀 1123

讀取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...