何英武, 戴朝永, 陳妙玲
(廣州數(shù)控設(shè)備有限公司, 廣東 廣州 510530)
現(xiàn)場(chǎng)總線是連接各數(shù)控設(shè)備的橋梁, 它在工業(yè)智能制造中發(fā)揮著重要的作用。 在這個(gè)日新月異的科技發(fā)展時(shí)代,對(duì)現(xiàn)場(chǎng)總線也提出了更高的要求,在通訊周期數(shù)據(jù)以及非周期數(shù)據(jù)通訊量需求更大, 同時(shí)連接從站站點(diǎn)需要支持更多、 每從站的周期通訊的數(shù)據(jù)長(zhǎng)度要求可單獨(dú)設(shè)置,站點(diǎn)的故障診斷更精準(zhǔn)化。 GSK-Link 現(xiàn)場(chǎng)總線[1-3]是廣州數(shù)控設(shè)備有限公司(以下簡(jiǎn)稱廣數(shù))擁有自主知識(shí)產(chǎn)權(quán)的現(xiàn)場(chǎng)總線,GSK-Link 新技術(shù)方案正是為滿足這些新的需求而設(shè)計(jì)的。
基于GSK-Link 現(xiàn)場(chǎng)總線的新技術(shù)方案是采用通用以太網(wǎng)[4]的物理層芯片PHY,MAC 采用FPGA 實(shí)現(xiàn),
傳輸媒介采用超5 類非屏蔽雙絞線, 周期數(shù)據(jù)能在主站和從站之間傳輸, 非周期數(shù)據(jù)可以在任意站點(diǎn)之間傳輸。 新技術(shù)方案采用環(huán)型、單線型、雙線型兼容的拓?fù)浣Y(jié)構(gòu),總線拓?fù)淙鐖D1 所示,總線作為單線形拓?fù)鋾r(shí),另一個(gè)端口可以由處理器選擇與局域網(wǎng)互聯(lián)。 主站與從站內(nèi)的通信模塊結(jié)構(gòu)如圖2 所示。
圖1 拓?fù)浣Y(jié)構(gòu)
圖2 通信模塊結(jié)構(gòu)
總線包含同步電報(bào)(Master Sync Telegram,簡(jiǎn)稱MST)、編址電報(bào)(Address Assign Telegram,簡(jiǎn)稱AAT)、延時(shí)測(cè)試電報(bào)(Time-lapse Test Telegram,簡(jiǎn)稱TTT)、主站數(shù)據(jù)電報(bào) (Master Data Telegram, 簡(jiǎn)稱MDT) 和普通數(shù)據(jù)電報(bào)(General Data Telegram,簡(jiǎn)稱GDT)五種電報(bào)類型進(jìn)行數(shù)據(jù)通訊[6]。
新技術(shù)方案的Gsk-Link 現(xiàn)場(chǎng)總線報(bào)文結(jié)構(gòu)包括目的地址、源地址、控制字、幀長(zhǎng)度、數(shù)據(jù)域及CRC 等六部分組成,如圖3 所示。
圖3 報(bào)文基本結(jié)構(gòu)
地址域包括目的地址和源地址,其中主站地址為0,廣播地址為255(只有主站有權(quán)發(fā)廣播),從站地址為1-254??刂谱值淖止?jié)長(zhǎng)度是2 字符,每個(gè)位代表不同的意義。
2.3.1 MST 報(bào)文結(jié)構(gòu)
MST 的報(bào)文結(jié)構(gòu)如圖3 所示, 目的地址是255 (廣播),源地址是0(只有主站有權(quán)發(fā)送同步報(bào)文),幀長(zhǎng)度是10,控制字是0x9X00(如:0x9800 或0x9900),數(shù)據(jù)域是4 字節(jié)的時(shí)間參數(shù)。
該報(bào)文在每個(gè)周期開始時(shí)發(fā)送一次0x9800, 每個(gè)從站收到該報(bào)文后根據(jù)從站本身的傳輸延時(shí)來更新時(shí)鐘計(jì)數(shù)器,保證主從站時(shí)鐘計(jì)數(shù)器同步。 如是線形拓?fù)浣Y(jié)構(gòu),最后一個(gè)從站把控制字改為0x9900 往回發(fā)送,將不更新同步時(shí)鐘計(jì)數(shù)器, 主站接收到此數(shù)據(jù)幀得知該拓?fù)浣Y(jié)構(gòu)為線形連接。
2.3.2 AAT 報(bào)文結(jié)構(gòu)
AAT 的報(bào)文結(jié)構(gòu)如圖3 所示, 目的地址是255 (廣播),源地址是0(只有主站有權(quán)發(fā)送同步報(bào)文),幀長(zhǎng)度是10,控制字是0xAXXX,數(shù)據(jù)域是4 字節(jié)的無關(guān)數(shù)據(jù)。
該報(bào)文在總線初始化時(shí)由處理器控制主站發(fā)送,每個(gè)從站收到該報(bào)文后根據(jù)控制字的12~8 位來改變7~0位的數(shù)據(jù)發(fā)送出去,并以7~0 位的數(shù)據(jù)作為從站的地址。可以配置成環(huán)形、正向單線形、反向單線形、雙線形。如圖4 所示。
圖4 編址類型
2.3.3 TTT 報(bào)文結(jié)構(gòu)
TTT 的報(bào)文結(jié)構(gòu)如圖3 所示,目的地址是255(廣播),源地址是0(只有主站有權(quán)發(fā)送同步報(bào)文),幀長(zhǎng)度是10字節(jié),控制字是0xBX00,數(shù)據(jù)域是4 字節(jié)的主站計(jì)數(shù)器發(fā)送時(shí)間。
該報(bào)文在總線初始化時(shí)由處理器控制其發(fā)送, 每個(gè)從站收到該報(bào)文后根據(jù)控制字的12~8 位來記錄從站的時(shí)鐘計(jì)數(shù)器,延時(shí)時(shí)間=((M_OT-M_ST)-(N_ST-N_BT))/2;或延時(shí)時(shí)間= (N_ST-N_BT)/2。 環(huán)形、正/反向單線形計(jì)算延時(shí)時(shí)間如圖5 所示。
圖5 從站計(jì)算延時(shí)時(shí)序
2.3.4 MDT 報(bào)文結(jié)構(gòu)
MDT 的報(bào)文結(jié)構(gòu)如圖6 所示,目的地址是255(廣播),源地址是0 (只有主站有權(quán)發(fā)送同步報(bào)文), 幀長(zhǎng)度小于2000,控制字是0xC800 或0xC900,數(shù)據(jù)域是MDT 數(shù)據(jù)。
圖6 MDT 報(bào)文結(jié)構(gòu)
2.3.5 GDT 報(bào)文結(jié)構(gòu)
GDT 的報(bào)文結(jié)構(gòu)如圖7 所示, 目的地址是主站或從站,源地址是發(fā)送GDT 的主站或從站地址,幀長(zhǎng)度為12~1000 字節(jié),GDT 應(yīng)答幀時(shí)為10 字節(jié), 控制字的內(nèi)容是0xD8XX 或0xD9XX 或0xDAXX, 數(shù)據(jù)域是GDT 數(shù)據(jù)幀時(shí),6 個(gè)字節(jié)的數(shù)據(jù)控制字加非周期數(shù)據(jù);GDT 應(yīng)答幀時(shí)為4 字節(jié)的站點(diǎn)時(shí)間值。
圖7 GDT 報(bào)文結(jié)構(gòu)
新技術(shù)方案的Gsk-Link 現(xiàn)場(chǎng)總線工作時(shí)序見圖8。
圖8 總線工作時(shí)序
(1)Tscyc:通訊周期時(shí)間,保留2 次重傳時(shí)間最小值為100μS。 ①M(fèi)ST 時(shí)間=(2+14)×8clk=112clk=1.28μS;②MST 與MDT 的間隔時(shí)間=64clk=0.64μS; ③MDT 時(shí)間=(2+10+6×n)×8clk,n 為從站數(shù),10 為從站MDT 的數(shù)據(jù)長(zhǎng)度 (最 短 為4); ④MDT 與GDT 的 間 隔 時(shí) 間=64clk=0.64μS;⑤GDT 時(shí)間=(2+10+2+n)×8clk,n 為GDT 電報(bào)的數(shù)據(jù)長(zhǎng)度;⑥GDT 應(yīng)答時(shí)間=(2+14)×8clk=1.28μS;⑦從站延時(shí)時(shí)間=n×32clk,n 為從站個(gè)數(shù); ⑧每個(gè)周期的非傳輸時(shí)間間隔5μS。
(2)t1:t1 的時(shí)間設(shè)置是為了MST 開始傳輸時(shí), 通信環(huán)路處于空閑狀態(tài),該時(shí)間必須大于5μS。 當(dāng)時(shí)間處于通訊周期的結(jié)束區(qū)域,且時(shí)間小于5μS 時(shí),所有站點(diǎn)丟棄正在傳輸?shù)臄?shù)據(jù),等待MST 指令的到來。
(3)t2:MDT 幀完成傳輸時(shí)間,小于最大傳輸時(shí)間。
(4)t3:最大開始傳輸時(shí)間。
總線診斷除基本的初始化錯(cuò)誤狀態(tài)外, 進(jìn)入正常通信后,各個(gè)從站在判斷接收到狀態(tài)字時(shí),首先判斷狀態(tài)字值,當(dāng)是有效MDT 狀態(tài)時(shí),有效MDT 寄存器計(jì)數(shù)加1;當(dāng)是無效MDT 狀態(tài)時(shí),無效MDT 寄存器加1;當(dāng)是無MDT狀態(tài)時(shí),無MDT 寄存器計(jì)數(shù)加1;當(dāng)總線異常斷開時(shí),保存有效MDT 寄存器、無效MDT 寄存器及無MDT 寄存器的數(shù)據(jù)??偩€再次初始化成功后,把這三個(gè)寄存器的數(shù)據(jù)上傳到主站,主站通過收到各個(gè)從站的MDT 寄存器計(jì)數(shù)最終診斷出是哪一個(gè)從站出現(xiàn)故障, 這種診斷方法能夠快速準(zhǔn)確的查找總線偶發(fā)性斷開的故障點(diǎn)[5]。 如圖9(a)表示主站與從站之間有故障, 主站連接從站的端口及主站連接從站的線有問題;圖9(b)表示從站1 與從站2 之間有故障,從站1 與從站2 的端口或連接線有問題。
圖9 總線工作階段故障時(shí)計(jì)數(shù)
基于Gsk-Link 現(xiàn)場(chǎng)總線的技術(shù)方案已應(yīng)用在GSK GR-C 工業(yè)機(jī)器人系統(tǒng)、GSK980TC3/TB3i 及GSK218MC系統(tǒng)中, 可以連接多軸伺服從站、I/O 從站和焊機(jī)卡從站等,可以根據(jù)不同的從站需求設(shè)置不同的周期數(shù)據(jù)長(zhǎng)度,如多軸服伺可以設(shè)置為96 字節(jié)滿足同時(shí)6 軸伺服數(shù)據(jù)通訊、I/O 可以設(shè)置為32 字節(jié), 可提供256 輸入輸出點(diǎn)及焊機(jī)卡從站可以設(shè)置為256 字節(jié)同一周期傳輸多組焊機(jī)的數(shù)據(jù),同時(shí)滿足偶發(fā)性故障診斷需求,見圖10、圖11。
圖10 GSK RB-C 機(jī)器人系統(tǒng)Gsk-Link 應(yīng)用
圖11 數(shù)控系統(tǒng)Gsk-Link 診斷
基于Gsk-Link現(xiàn)場(chǎng)總線的技術(shù)方案的設(shè)計(jì), 解決了連接32 個(gè)以上從站的局限問題、 快速診斷Gsk-Link 偶發(fā)性斷網(wǎng)故障點(diǎn)問題、 焊機(jī)從站獲取256 字節(jié)的問題及單個(gè)從站多軸伺服數(shù)據(jù)傳輸?shù)膯栴}。通過在廣數(shù)的GSK GR-C 工業(yè)機(jī)器人系統(tǒng)、GSK980TC3/TB3i 及GSK218MC系統(tǒng)中的應(yīng)用,驗(yàn)證了基于Gsk-Link 現(xiàn)場(chǎng)總線的通訊技術(shù)方案的可行性。 本方案的實(shí)施可以有效地提升廣數(shù)的數(shù)控系統(tǒng)與機(jī)器人系統(tǒng)的產(chǎn)品在市場(chǎng)中的競(jìng)爭(zhēng)力, 同時(shí)為現(xiàn)場(chǎng)總線技術(shù)設(shè)計(jì)與應(yīng)用提供了參考。