VXCOMM.EXE 相關說明[最後修改日期 10/19/2001]

功能說明

  1. 使用 TCP/IP 連線,tcp port 10000 作為下命令的 port,port 10000+n 作為跟 COM n 雙向 bypass 資料用。
  2. port 10000 可以是用的命令如下表:
     
  3. 命令

    說明

    範例

    00[參數]

    結束 vxcomm.exe。一般不會用到,測試程式時方便重新下載程式。
    參數說明:只有"quit"才會結束,其他就不處理。
    回應值:沒有。

    [in] :00quit
    [out]:沒有回應值

    01

    讀取 vxcomm.exe 的版本資訊。
    回應值: vm.n.rr[mm/dd/yyyy]

    [in] :01
    [out]:v2.6.14[09/04/2001]

    02[參數]

    設定 COM PORT 的 baudrate。(跟 06相同,但設定值不存到 EEPROM)

    參數說明
    參數=CBBBB

    • C:comport。1-8,代表com1-com8。
    • BBBB位數不一定,一所設的 baudrate 而定,例如 9600,115200等。

    回應值: 

    • 成功時:OK。
    • 錯誤時:ERROR。

    [in] :02138400
    [out]:OK

    03[參數]

    設定 COM PORT 的 data format。(跟 07相同,但設定值不存到 EEPROM)

    參數說明
     參數=CDPS

    • C:comport。1-8,代表com1-com8。
    • D:databit。7 或是 8。com3 以上也可以是 5 或  6。
    • P:parity。
      1. n,0:none parity。
      2. e,1:even parity。
      3. o,2:odd parity。
    • S:stop bits。1 或是 2。(com1/2 目前只有 1 stop bit。)

    回應值: 

    • 成功時:OK。
    • 錯誤時:ERROR。

    [in] :0328N1
    [out]:OK

    04[參數]

    讀取系統的 reset 狀態。[10/19/2001 新增]

    參數說明
     參數=CC

    • CC:status bit。00-31。
      共提供給最多 32 個 CLIENT 端使用。
      使用此功能的 CLIENT 必須協調好各自使用不同的 status bit.
      該 status bit 被查詢過之後,就會被 reset 掉。也就是第一次查詢是 1,第二次以後就會變成 0,一直到系統有重新 reset 後,才會又出現一次 1。

     

    回應值: 

    • 成功時:OK。
    • 錯誤時:ERROR。

    [in] :0403
    [out]:031

    05[參數]

    設定 COM PORT 的 RTS 信號。
    參數說明
    參數=CS

    • C:comport。1-8,代表com1-com8。
    • S:rts status。0:inactive,1:active。


    回應值: 

    • 成功時:OK。
    • 錯誤時:ERROR。

    [in] :0511
    [out]:OK

    06[參數]

    設定 COM PORT 的 baudrate。(跟 02相同,但設定值有存到 EEPROM)

    參數說明
    參數=CBBBB

    • C:comport。1-8,代表com1-com8。
    • BBBB位數不一定,一所設的 baudrate 而定,例如 9600,115200等。

    回應值: 

    • 成功時:OK。
    • 錯誤時:ERROR。

    [in] :06138400
    [out]:OK

    07[參數]

    設定 COM PORT 的 data format。(跟 07相同,但設定值有存到 EEPROM)

    參數說明
     參數=CDPS

    • C:comport。1-8,代表com1-com8。
    • D:databit。7 或是 8。com3 以上也可以是 5 或  6。
    • P:parity。
      1. n,0:none parity。
      2. e,1:even parity。
      3. o,2:odd parity。
    • S:stop bits。1 或是 2。(com1/2 目前只有 1 stop bit。)

    回應值: 

    • 成功時:OK。
    • 錯誤時:ERROR。

    [in] :0728N1
    [out]:OK

    08[參數]

    設定 vxcomm.EXE 端的 IP address。如果設定成功,client 端程式必須重新連線到新的 IP 才可繼續工作。
    參數說明
     參數=iiipppIIIPPP

    • iii/ppp/III/PPP為 3 位數數字 000-255。前面要補 0。

    回應值: 

    • 成功時:OK..Reconnect。(client 端有可能收不到。)
    • 錯誤時:ERROR。

    [in] :08192168001255
    [out]:OK..Reconnect

    09[參數]

    設定 COM PORT 接收資料的 TIMEOUT 時間。(目前沒用到。)
    參數說明
    回應值: 

    • 成功時:OK。
    • 錯誤時:ERROR。

    [in] :0910
    [out]:OK

    10

    讀取 server 名稱。例如:7188E1,7188E2 等。
    回應值: 7188En。n=1,2,3,4,5,8.

    [in] :10
    [out]:

    11[參數]

    測試命令,會回應 "<測試命令>"
    參數說明
    參數=任意字串,但長度不可超過 80 bytes。
    回應值: 

    • 成功時:<任意字串>。就是在測試字串前後加上<>。
    • 錯誤時:ERROR。

    [in] :11TEST
    [out]:<TEST>

    12[參數]

    設定 vxcomm.EXE 端的 gateway。
    參數說明
     參數=iiipppIIIPPP

    • iii/ppp/III/PPP為 3 位數數字 000-255。前面要補 0。

    回應值: 

    • 成功時:OK..Reconnect。(client 端有可能收不到。)
    • 錯誤時:ERROR。

    [in] :12092168000001
    [out]:OK..Reconnect

    13

    讀取 vxcomm.EXE 端的 gateway。
    回應值: 目前設定的 gateway ip address,xxx.xxx.xxx.xxx,xxx前不補 0。

    [in] :13
    [out]:192.168.0.1

    14[參數]

    設定 vxcomm.EXE 端的 IP mask。
    參數說明
     參數=mmmMMMmmmMMM

    • mmm/MMM為 3 位數數字 000-255。前面要補 0。

    回應值: 

    • 成功時:OK..Reconnect。(client 端有可能收不到。)
    • 錯誤時:ERROR。

    [in] :14255255000000
    [out]:OK..Reconnect

    15

    讀取 vxcomm.EXE 端的 IP mask。
    回應值: 目前設定的 MASK,xxx.xxx.xxx.xxx,xxx前不補 0。

    [in] :15
    [out]:255.255.0.0

    16[參數]

    讀取 COM PORT 目前設定值。
    參數說明
    參數=C

    • C:comport。1-8,代表com1-com8。


    回應值: baudreat,data,parity,stop。例如:9600,N,8,1。

    [in] :162
    [out]:9600,N,8,1

    17[參數]

    讀取某個 input port 的值。
    參數說明
    參數=pppp,四個16進制數字。例如 0x300要輸入 "0300"。
    回應值: 

    • 成功時:由該 input port 讀回的值。
    • 錯誤時:ERROR。

    [in] :170003
    [out]:55

    18[參數]

    由某個 output porty 輸出 data。
    參數說明
    參數=ppppdd。

    • pppp,四個16進制數字,要輸出的 port。例如 0x300要輸入 "0300"。
    • dd,兩個16進制數字。要輸出的值。


    回應值: 

    • 成功時:OK。
    • 錯誤時:ERROR。

    [in] :180010aa
    [out]:

    19[參數]

    bypass command 給 user function。
    參數說明: 參數由 user 自己寫的副程式處理。
    回應值: 由 user 自己寫的副程式決定。

    [in] :
    [out]:

    20[參數]

    設定 5DigitLed 的顯示模式。
    參數說明
    參數=0 或 1。0:不顯示訊息。1:顯示目前的設定值。
    回應值: 

    • 成功時:OK。
    • 錯誤時:ERROR。

    [in] :201
    [out]:OK

    21

    讀取 vxcomm.EXE 端的 MAC。
    回應值: xx:xx:xx:xx:xx:xx,xx為16進位。

    [in] :21
    [out]:71:88:03:3b:02:c7

    22

    讀取 vxcomm.EXE 端的 MiniOS7 版本資訊。
    回應值: 

    [in] :22
    [out]:v1.1.0(2001/9/1)

    23[參數]

    直接 bypass command 給 user function,包含 socket number以及data length。
    參數說明:參數由 user 自己寫的副程式處理。
    回應值: 由 user 自己寫的副程式決定。

    [in] :
    [out]:

    24[參數]

    設定 command 回應值模式。
    參數說明
    參數=m。 

    • m=0:回應值不含命令編號。
    • m=1:回應值命令編號。在此模式下,所有命令回應值最前面加上兩位命令編號。

    回應值: 

    • 成功時:OK。
    • 錯誤時:ERROR。

    [in] :240
    [out]:OK
    [in] :241
    [out]: 24OK

  4. 跟 COM n bypass 資料有兩種模式,/m1 為一問一答模式。 /m0 為一問(或是不問)多答模式。
  5. 一問一答模式
  6. 一問(或是不問)多答模式

 

VXCOMM.EXE 版本說明

版本編號 主要功能說明
2.6.00  (2.6.0x 是屬於 single-client 的版本。 )
2.6.01  
2.6.10
  1. 準備支援 multi-client,但是還沒支援。
2.6.11
  1. 開始支援 multi-client(2.6.1x 是屬於 multi-client 的版本。 )
2.6.12
  1.  加上 一問一答模式。(就是 /m1 模式,2.6.11之前只有 /m0 模式。)
  •  
2.6.13
  1. 從 2.6.12 修改
  2. comport 設定值的儲存,加上一個 byte 的checksum。讀取時如果checksum不對的話就會被設定成預設值 9600,N,8,1。
  3. 加上一個 debug port (7188)。
    • 可以下命令把某個或全部 socket 連線切斷。
    • 可以列出目前所有連線 socket 的訊息。
  • xserver 目前測試的版本。
  • 容易掛掉。(每次有增加新功能後就更容易掛掉。)
2.6.14
  1. 從 2.6.12 修改
  2. 加上給 user 使用的命令"23"
  3. 系統 timeout 預設值為 0 ,就是沒有 timeout。當設定系統 timeout 值時,只要超過該時間沒有任何封包送進來,系統就會被 WatchDog RESET。
  4. 系統的 timetick 值恢復正常,tcpack delay時間設為 0 ms。(有一個現象會發生,就是會比以前多送出一個 ack 封包,但應該沒影響。)
  5. 在 multi-client 模式下,以 timeout 時間來判斷 com port 端的資料結束與否。而不以特殊字元來判斷(例如:0x0D)。
  6. comport 設定值的儲存,加上一個 byte 的checksum。讀取時如果checksum不對的話就會被設定成預設值 9600,N,8,1。
  • xserver 目前測試的版本。也是目前 7188e1/2/x/a 的出貨版本。
3.00.0
  1. 從 2.6.14修改。
  2. 支援到 7188E4。
   

VXCOMM.EXE 命令列參數說明
命令:VXCOMM [/option] (option 不分大小寫)
參數 [/option]

說明

備註

/1
7188E1

 

/2
7188E2 (7188EA請改用 /A,7188EX 請改用 /X。)

 

/3 7188E3 3.0.00目前可以支援 E3
/4 7188E4 3.0.00目前支援到 E4
/5 7188E5 3.0.00目前支援到 E5
/8 7188E8 3.0.00目前支援到 E5
/A 7188EA,com port number=2。(設定使用 7188EA,10 命令會回應 7188EA。) 3.0.00[10/23/2001] 加上
/X 7188EX,com port number=2。 (設定使用 7188EX,10 命令會回應 7188EX。) 3.0.00[10/23/2001] 加上
/M0 COMPORT 收到的資料會傳給每一個連線進來的client端。

2.6.11之前只有這個模式

/M1 一問一答模式 〔預設模式〕

2.6.12之後才有這個模式

/Wxxx 設定連線進來的 socket 的 timeout 時間,單位是秒。(0 表示沒有 TIMEOUT 設定 )

 

/STxxx 設定系統的 timeout 時間。單位是秒。(0 表示沒有 TIMEOUT 設定 )

 

/Txxx 設定一問一答模式的 timeout 時間,單位ms。預設值是 100 ms。

/m1 模式下使用

底下參數屬於測試時期使用,正式出貨的版本不一定會保留。
/Kxxx 設定 tcp/ip 的 ack delay 時間。單位ms。預設值:2。 由 /A 改成 /K [10/23/2001] 修改
/Cxxx 設定 max close delay 時間。單位 ms。預設值:500。  
/Rxxx 設定 8019as 沒收到封包的最大時間。單位 ms。預設值:0。(不會 RESET。) 3.0.00[10/23/2001] 加上

VXCOMM.EXE 5DigitLED/Led 顯示說明
  • 紅色 LED 每秒閃一次。亮 0.5 秒,熄掉 0.5 秒。
  • 5DifitLed 顯示每秒更新一次,共分成四個部份:
    1.  11111. 顯示 IP address.
      接著四次顯示:
      1. xxx
      2. xxx
      3. xxx
      4. xxx
      為 IP ADDRESS 的第 1/2/3/4 碼。
    2.  22222. 顯示 com port 的 baudrate 設定。
      接著 N 次顯示系統 N 個 com port 的設定值(顯示值是實際值除以 100)
      1.1152
      2.  96
      3. 384
      4.1152
      ....
    3.  33333. 顯示 com port 的 data format 設定。
      接著 N 次顯示系統 N 個 com port 的 data format 設定值。
      1. 801
      2. 801
      3. 811
      4. 701
      ....
    4.  44444. 顯示連線及系統 reset 狀態。
      r.ff.cc
      • r=1 系統開機或 reset 後沒有任何連線進來過。
      • r=0 已經有連線進來過。
      • ff:以十進位表示目前還有多少的 free 的 socket。
      • cc:以十進位表示目前連線的 socket 個數。

其他說明事項:

  1. 當使用一問一答模式時(/m1),沒有送任何命令或資料到 7188E 是收不到任何回應的。
  2. 當使用 /m0 (該叫什麼名稱比較好?)模式時,如果兩個以上的 client 端都要送data到 485 port 時,client 端需要考慮錯開 485 端的回應時間,不然當 485 的另一端有回應,又要送出 data 會出現亂碼。其實最好只有一個在送命令,其他的都等著收回應資料就好。如果是 RS-232 就不會有這個半雙工的問題,但仍要考慮另一端能否處理多個 client 端送過來參雜的命令或資料。
  3. 如果要用 232 以 Zmodem 傳檔案,應該是用 /m0 模式,只能有一個 client 端連進來。

發現任何錯誤請通知蔡坤廷