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


















文章版權歸西部工控xbgk所有,未經許可不得轉載。