PRO-FACE人機(jī)界面應(yīng)用技巧
face的GP2000系列(除GP2301,2501,2401H和2301H)觸摸屏有一個(gè)擴(kuò)展串行接口(COM2) ,這個(gè)擴(kuò)展串口通過D腳本程序的編寫可以方便的實(shí)現(xiàn)GP與一些特殊設(shè)備間的通訊(RS232) 。 下面是一個(gè)擴(kuò)展串口通訊的實(shí)例。這里我們進(jìn)行通訊的設(shè)備是GP-2500S與CHK-8D型電池巡檢儀(以下簡稱巡檢儀)。 1.通訊要求 我們的目的是通過觸摸屏讀出巡檢儀檢測到的電池電壓信息。 2.通訊設(shè)置 巡檢儀有一個(gè)RS-485口,支持多種波特率。它的通訊格式為異步,一位起始碼,八位數(shù)據(jù)位,一位停止位,無校驗(yàn),半雙工方式。首先,我們在GP的擴(kuò)展SIO設(shè)置中選擇和巡檢儀的通訊設(shè)置一樣的參數(shù)。設(shè)置方法如下:同時(shí)按住GP的任意三個(gè)角,進(jìn)入OFFLINE狀態(tài),依次進(jìn)入INITIALIZE,SETUP I/O,SETUP SIO,這里有GP的通訊設(shè)置,把它們設(shè)置成與巡檢儀相應(yīng)的格式即可。 3.報(bào)文交換格式(代碼各項(xiàng)均為1字節(jié)HEX碼) 上位機(jī)下發(fā)命令: EB 90 EB 90 巡檢儀機(jī)號 上位機(jī)號 03 00 C1 00 00 90 EB 巡檢儀回復(fù): EB 90 EB 90 上位機(jī)號 巡檢儀機(jī)號 報(bào)文長度(L)報(bào)文長度(H) C2 電池組電壓(1)電池組電壓(2)1#電池電壓(1) 1#電池電壓(2) 2#電池電壓(1)2#電池電壓(2) …………N#電池電壓(1) N#電池電壓(2)代碼和(L) 代碼和(H) 90 EB 巡檢儀機(jī)號: 即機(jī)器的地址編號,在CHK-8D型巡檢儀上設(shè)定,我們這里把它設(shè)為1號 電池的節(jié)數(shù)N: 根據(jù)實(shí)際的電池節(jié)數(shù),在CHK-8D型巡檢儀上設(shè)定,我們這里設(shè)為103節(jié) 4.D腳本語句說明 4.1 接收功能 下面的命令被用于讀從擴(kuò)展口接收到的數(shù)據(jù) 格式 IO_READ([p:EXT_SIO], LS Storage Address, Transer Byte) 例子 IO_READ([p:EXT_SIO],[w:LS0100], 10) [p:EXT_SIO]表示接收數(shù)據(jù) [w:LS0100]這是存放接收數(shù)據(jù)的起始地址,接收數(shù)據(jù)的大小存放在LS0100,接收的數(shù)據(jù)從LS0101開始存,10表示有10個(gè)字節(jié)存放在LS區(qū)(最大傳送字節(jié)是6095)。 4.2 發(fā)送功能 下面的命令表示把要發(fā)送的數(shù)據(jù)寫到擴(kuò)展口 格式 IO_WRITE_EX([p:EXT_SIO], LS Storage Address, Transer Byte) 例子 IO_WRITE_EX([p:EXT_SIO], [w:LS0100], 10) [w:LS0100]是要發(fā)送的數(shù)據(jù)開始地址,10表示要發(fā)送10個(gè)數(shù)據(jù)。 *注意:每一個(gè)傳送的是字節(jié),也就是說傳送的是每一個(gè)字的低八位,同樣接收的數(shù)據(jù)也是一樣的。 4.3 控制 增加控制變量去清除發(fā)送和接收緩存器以及錯(cuò)誤狀態(tài),這個(gè)變量的屬性是只能寫的。 格式 位 [c:EXT_SIO_CTRL**] **:00到15 字 [c:EXT_SIO_CTRL] 例如:控制字的內(nèi)容 位 [c:EXT_SIO_CTRL00]=1 字 [c:EXT_SIO_CTRL]=0x0007 當(dāng)控制字的內(nèi)容被確定以后,它的處理過程按照這樣的次序來完成的,先清除錯(cuò)誤狀態(tài),然后清除接收緩存,再清除發(fā)送緩存。


















文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。