機(jī)床PMC通信編程
機(jī)床與巴魯夫處理器通信采用對話式的協(xié)議序列,具體如下:1)PMC發(fā)送命令標(biāo)識碼、數(shù)據(jù)地址與字節(jié)數(shù)等,并置位輸出緩沖區(qū)A號,通知處理器輸出數(shù)據(jù)有效、傳送作業(yè)啟動;2)處理器接收到信號后置位AA信號;3)如果雙方傳送的數(shù)據(jù)超出14字節(jié)長,還需使用TI、TO位以及計(jì)數(shù)器完成附加數(shù)據(jù)的傳送;4)處理器操作完成后將置位AE信號;5)PMC接受數(shù)據(jù)后將復(fù)位A號;6)后處理器復(fù)位AA、AE信號,準(zhǔn)備后續(xù)作業(yè)的傳送。其中AV、AA、AE、TI、TO等為輸入輸出緩沖區(qū)位頭信號。1.3.1輸入輸出緩沖區(qū)位頭信號定義通過讀寫輸入輸出緩沖區(qū)首尾字節(jié)位信號實(shí)現(xiàn)數(shù)據(jù)的傳送控制。輸入緩沖區(qū)的首尾字節(jié)位表示識別系統(tǒng)(BIS)的狀態(tài),輸出緩沖區(qū)首尾字節(jié)位則用于命令控制。根據(jù)系統(tǒng)輸入輸出緩沖區(qū)的設(shè)定給出了位頭信號的定義,如表1所示。1.3.2編碼塊數(shù)據(jù)讀寫例程本系統(tǒng)只使用編碼塊*個(gè)字節(jié)存放數(shù)據(jù),編碼順序?yàn)椋壕咛?,具直徑,具長度,具直徑磨損量,具長度磨損量,每個(gè)數(shù)據(jù)占用兩個(gè)字節(jié)。讀操作時(shí),安裝編碼塊的柄進(jìn)入讀寫頭識別區(qū)域時(shí),系統(tǒng)自動讀取具數(shù)據(jù),并調(diào)用窗口功能將具數(shù)據(jù)寫入偏表。寫操作時(shí),系統(tǒng)將PMC數(shù)據(jù)表中數(shù)據(jù)寫入編碼塊,實(shí)現(xiàn)具數(shù)據(jù)的快速更新。柄編碼塊數(shù)據(jù)的讀、寫控制均通過PMC編程實(shí)現(xiàn)。1)讀取編碼塊數(shù)據(jù)基于機(jī)床與處理器的通信時(shí)序要求,讀控制流程如下:(1)將機(jī)床面板上的閑置按鍵(例:X0.6)定義為讀操作切換鍵,在識別系統(tǒng)就緒時(shí)按下該鍵,使保持型繼電器K11.0置位,K11.1復(fù)位,系統(tǒng)處于讀使能狀態(tài);(2)判斷輸入緩沖區(qū)首尾字節(jié)是否一致,一致時(shí)將內(nèi)部繼電器10.0置位;(3)編碼塊出現(xiàn)在讀寫頭識別區(qū)時(shí),發(fā)送讀命令碼0x01→01,0x00→編碼塊數(shù)據(jù)低位開始地址02,0x00→編碼塊數(shù)據(jù)高位開始地址03,0x0a→編碼塊數(shù)據(jù)低位字節(jié)數(shù)04,0x00→編碼塊數(shù)據(jù)高位字節(jié)數(shù)05;同時(shí)置位輸出緩沖區(qū)位頭信號AV、AV2;(4)當(dāng)AE信號置位時(shí),將輸入信號傳送至數(shù)據(jù)表(如圖3所示);(5)置位讀操作結(jié)束信號10.5;(6)調(diào)用窗口功能指令WINDW,將數(shù)據(jù)寫入偏表。圖3給出了部分輸入信號的傳送過程。程序執(zhí)行結(jié)果將輸入緩沖區(qū)R1001~R1002數(shù)據(jù)直接傳送至數(shù)據(jù)寄存器D206~D207,而緩沖區(qū)R1003~R1004數(shù)據(jù)經(jīng)中間變量D400乘1000后傳送至D210~D213。在調(diào)用窗口功能指令前,需定義寫入偏的數(shù)據(jù)表。以寫入具直徑為例,新增數(shù)據(jù)表的首地址為D200,如圖4(a)所示,數(shù)據(jù)構(gòu)成如圖4(b)所示。寫入具幾何直徑偏置值的功能代碼為14,結(jié)束代碼無需設(shè)定;考慮到應(yīng)用數(shù)據(jù)表寫入偏量的單位為微米,數(shù)據(jù)長度需占用4字節(jié)。偏置號為讀取的具號(10);偏置類型設(shè)為1時(shí),表示寫入具直徑值。窗口指令執(zhí)行后,數(shù)據(jù)寫入偏表。2)寫入編碼塊數(shù)據(jù)與讀編碼塊數(shù)據(jù)相比,寫操作無需調(diào)用PMC窗口功能,但在數(shù)據(jù)傳送中需要調(diào)用TI信號,其控制流程如下:(1)將機(jī)床面板上的+X、-X手動按鍵同時(shí)按下時(shí)定義為寫操作控制鍵,目的使K11.0復(fù)位、K11.1置位,系統(tǒng)處于寫使能狀態(tài);(2)接著判斷輸入緩沖區(qū)首尾字節(jié)是否一致,一致時(shí)內(nèi)部繼電器10.1接通;(3)編碼塊出現(xiàn)在讀寫頭識別區(qū)時(shí),發(fā)送寫命令碼0x02→01,0x00→編碼塊數(shù)據(jù)低位開始地址02,0x00→編碼塊數(shù)據(jù)高位開始地址03,0x0a→編碼塊數(shù)據(jù)低位字節(jié)數(shù)04,0x00→編碼塊數(shù)據(jù)高位字節(jié)數(shù)05;同時(shí)置位輸出緩沖區(qū)位頭信號AV、AV2;(4)AA狀態(tài)位為1時(shí),將預(yù)置數(shù)據(jù)表(例如D300)開始的具號、直徑值、長度等傳送至輸出緩沖區(qū);(5)取反TI信號位,數(shù)據(jù)輸出啟動;(6)查詢處理器命令完成信號AE,AE為1時(shí)復(fù)位A號,數(shù)據(jù)傳送結(jié)束。