2010-07-30 58 views
0

我有幾個不同的規模,我正在建立一個VB應用程序。是否有一種通用串行端口語言在我可以用於將實時權重導入VB的體重秤中很常見?規模接口到VB應用程序

+0

什麼樣的體重秤?我的意思是,儘管我們知道你可以稱一茶匙糖或一輛汽車!沒有冒犯:)請給我們一些品牌名稱和型號的比例尺。 – MarkJ 2010-07-30 14:57:54

回答

1

是的,有一個標準協議,由規模製造商協會制定。該規格下載is here。無論您的實際秤是否遵循該標準,都是一個懸而未決的問題,請檢查數據表中的小字或編程手冊。這很少是一個真正的問題,這些協議很容易使用簡單的命令/響應字符串。

+0

非常感謝,這是完美的。 – muncherelli 2010-07-30 18:31:24

+0

上面的鏈接是死的這是正確的鏈接http://www.scalemanufacturers.org/PDF/ScaleCommProtocol5199M1.pdf – 2012-07-13 07:17:07

0

這是我發現閱讀Zebra的ZBI 2/ZPL手冊。非常有用!

1 rem ******************************************************** 
05 for i = 1 to 9 step 1 
10 close #i 
20 next i 
30 open # 2 : name "SER" 
40 open # 1 : name "ZPL" 
1 rem ******************************************************** 
1 rem main program; send serial port a 'W' in order to get a weight 
1 rem ******************************************************** 
50 do 
60 do 
70 sleep 1 ! sleep so scale is not bombarded with incoming 
1 rem data 
80 print # 2 : "W" ; ! semicolon ends sent W without a CRLF 
1 rem ******************************************************** 
1 rem get response from scale; note that input requires a CRLF to be 
1 rem entered 
1 rem ******************************************************** 
90 input # 2 : a$ 
100 if a$ = "EXIT" then! back door exit - if EXIT is received, ZBI ends 
110 close # 2 
120 print #1: "^XZ" 
130 close #1 
140 end 
150 end if 
1 rem ******************************************************** 
1 rem loop until valid weight is received, then print on label 
1 rem ******************************************************** 
160 loop while pos (a$ , "000.00") = 1 or pos (a$ , "?") = 1 
170 print # 1 : "~SD25^XA^FS"; 
180 print # 1 : "^LH0,0^FS"; 
190 print # 1 : "^FO56,47^A0N,69,58^FDThis weighs^FS"; 
1 rem ******************************************************** 
1 rem print weight on label; & character concatenates strings 
1 rem ******************************************************** 
200 print # 1 : "^FO56,150^A0N,69,58^FD" & A$ & " lbs^FS"; 
210 print # 1 : "^PQ1,0,0,N"; 
220 print # 1 : "^XZ" 
1 rem ******************************************************** 
1 rem loop until weight is off scale, then repeat for next item 
1 rem weighed 
1 rem ******************************************************** 
230 do 
240 print # 2 : "W" ; 
250 input # 2 : A$ 
260 loop until pos(A$ , "000.00") = 1 or pos(A$ , "?") = 1 
270 loop