機械社區
標題: PC機做底層控制用什么軟件好? [打印本頁]
作者: syw開門造車 時間: 2006-12-14 19:33
標題: PC機做底層控制用什么軟件好?
各位網友好!
5 z8 q) p" O( [% m9 \& ]; a+ w7 m
q" _) _& N/ M
PC機做底層控制用什么軟件好?這里所說的底層,是指可以進行位運算,
1 u; l: F+ V% w- X) K! i, Z1 Z5 t% I
也就是可以操作到位。
& |/ }8 x5 \. {* k% A4 [
9 E+ }/ {) Q6 k- y- d8 i$ m
我用PC機配I/O卡,做過三個項目。是在DOS環境下用C語言做的。
' H/ r" U0 X! U& y" ]那時操作系統是WIN98,可以在WIN和DOS間來回切換。
/ {0 F% ?% h' [' d1 @1 N
所以,直到現在,我的另兩臺項目上的設備,都不得不保留WIN98。
& e! [0 Y) j. ]6 o- n
a g0 E+ _& N3 M$ D
現在,我的第3、4臺計算機用的是WIN-XP操作系統,已經不能與DOS進行切換了。
# b. W- F/ z& r. a6 a
現在,又有一個新的項目擺到了我的案頭……
3 P- [: w% N$ N" P+ u2 d
6 C7 o) ~- L7 O7 r$ \我想問的是:
8 ~2 ?/ T/ P0 F1?:WIN-XP操作系統下,針對我的情況,用哪個軟件比較合適我?
7 w( y2 V3 l3 a- P
2?:聽說,C++ Biulder--最適合微軟界面,該軟件可以做底層操作嗎?
9 [+ @( Y# i- {. K
% c4 L# `( M$ \
需要說明的是,我的英語水平很底,只有小學水平,VC我有點望而卻步!
! t* E6 X }- Z" g9 q. S7 u; dVB我到是能學,但,據說該軟件底層不好。
6 Z# c3 Q3 O3 M, _$ k# J
7 D( f6 @6 o m- g
請網友幫我參謀、參謀。謝謝!
1 O+ w: g: |! \4 L: l& g8 N
9 r( C: _% G3 P' ~- [, J3 p* d
syw 061214---19.33
7 P5 ?4 h, B% ^1 E( V( r& ?
9 @5 E; H" `2 O/ |+ U
作者: syw開門造車 時間: 2006-12-15 22:22
標題: Re: PC機做底層控制用什么軟件好?
各位網友好!
: \) l" ?9 `. K. M; c8 w% o, ?( `3 z. r8 ]
我的一位朋友向我推薦“E語言”,另一位朋友告訴我“C++ Biulder”% _, M l* c- y
d0 \6 O" l! w# v4 L
可以進行“位運算”及“位操作”。
& Y$ @: ?% ?8 h+ R% {( f
- `4 k: |5 c0 n9 q2 e我想請知道的網友幫我確認一下。
# }$ \5 P+ @, I/ R2 U3 c5 [/ |! [+ a& i" ~8 o/ E6 Q: `! m4 ?
還有比上述兩種語言更好的嗎?
7 q9 p- b: x. Z, f/ q$ x) u( |
) C$ M! w1 _$ o' n% k }謝謝!# T4 q( \! Z ]" j' Y( N- s$ s% y
! B5 L7 _2 E1 x3 d Z5 T9 f
syw 061215---22.22
作者: fhqmc 時間: 2006-12-22 10:12
標題: Re: PC機做底層控制用什么軟件好?
不管是C還是C++還是VB VC,這些都是高級語言,對底層控制的能力都很弱,相對來說C是一種中間語言,是比較接近底層的,真正要控制底層,也就是作驅動級應用只有匯編最合適了。不知你為什么要控制底層,如果是要作驅動級設計,那有專門的軟件SDK來設計,如果是進行位運算和位操作,其實高級語言也可以完成,C VC C++都行。
6 A# g" _) Q- o2 ^ 如果不是專業作編程的話,建議你用LAVIEW ,圖形化編程,上手極快,有豐富的位運算能力,不過是基于上層的,效率上無法和匯編比。或者LABWINDOWS,要有點C基礎。$ u' n5 D4 R! k9 l$ I" W2 E8 j
不要用E語言,那是個玩具極的。
作者: 機器鼠 時間: 2007-11-6 11:32
vc+opc,應該是一個很好的組合。opc具有com接口,可以省去更改硬件后軟件修改的很多麻煩。
作者: syw開門造車 時間: 2007-11-7 00:27
fhqmc和機器鼠兩位網友好!
3 Z/ V# R8 w3 Y4 o5 ^5 W2 A+ Z% ~( u+ V* e* f) _
首先謝謝你們的回復!
% V" d8 T- Y( Y) o O, z, [- R
5 q# h8 P* [ {特別是fhqmc網友,我不知道是什么原因,于一年前的回復我卻沒有看到。. Z+ K. ^( _. P/ v- ]( h% k6 V
因此沒能及時回謝,失禮了,道聲對不起!
' y; h A& o, d
+ ^$ c7 Q: }! k, `% u, d) g機器鼠網友,情況是這樣的:在我做過的項目中,有三個項目是用PC機通過對
& a( A6 k' T- Z+ H( f# jI/O卡的控制,達到對機械上的伺服執行器件進行控制的。這里所說的伺服執行器件,
& L A$ S* m8 o Q8 ]5 y% @指的是步進電機、繼電器、電磁閥之類的東西。
9 U4 P0 i' G! f# I, q0 m& p
$ k9 v" d5 P/ H3 r5 H1 {% @5 \那個I/O卡較比貴,如果做一個或幾個設備,直接買來用就可以了,而如果想做成+ h K- s" s5 M& ^4 G5 o
批量產品的話,要考慮成本和售后服務的問題,所以那個I/O卡必須自己做。
% Y' K0 ]. L3 H k4 P* l" S
& x2 i2 K; {7 ]; g% `I/O做出來后,還要有一個適合的工具軟件編項目的應用程序。9 f" ^& M; C& T% a4 O0 k
& ^2 F2 r2 _& v2 R5 u9 ?
這個應用程序如果自己用,完全可以在DOS下直接用C語言來做,但要做成產品,面向1 z5 t+ u& g6 T# v) L# y
的是普通操作者,就不得不考慮界面問題。8 Z5 E: a$ z9 f. G7 o
0 ? j# i* W7 A5 W$ y$ w' L' e3 j本帖議題中所說的對底層進行控制,指的就是這個問題。: [: u( g1 O/ [8 _% L: ^' @( n
' }' Q2 i n- }
上傳一個I/O卡的照片,此是1996年買的,當時的價格是660元人民幣。1 ]* h: \8 w. F
5 H6 @1 h/ n) W9 ?0 ? X+ W1 Q5 w
如有好的建議請繼續。9 N. k$ s( b, Z( h! A8 `0 g
: p, M7 I' s/ n# r) W$ B謝謝!* G0 F" `; w. }" m( d& z
! o" ^7 }* N* @5 k
syw 071107---00.26
作者: 一劍飄紅 時間: 2007-11-7 15:38
我曾經作過類似的項目。控制結構一般是如你所說的三級框架。上層是面向操作者的工控機或者其它顯示屏(如三菱的GOT界面等),中層是PLC或者數據采集卡,或者其它I/O設備,底層是伺服電機、傳感器、電熱絲、繼電器等等執行部件。
3 O5 O, Z1 b1 r4 _2 c' s' ]! k( H: @
一般說來,現在在上層工控機中使用的是高級語言如:VC++,或者專門的組態軟件如:組態王Kingview等等類似的平臺。中層的硬件設備一般通過PIC接口與計算機相連,它本身帶有驅動程序(動態連接庫)和驅動程序的安裝軟件,用戶只要將其裝入Windows,然后在VC++或者其它應用平臺中調用其內置的Windows驅動函數即可實現數據的傳送、暫存和對底層硬件的驅動或者監控。
& d2 y4 a" w" ]' _) f; C7 u
* L2 i! Y0 n) s9 D( @如果使用匯編或者C對硬件直接編程,效率是高,但對程序員的要求也高,同時界面難以做到友好。各種各樣的組態軟件就是專門針對這一問題的。以組態王軟件連研華數據卡為例來說明這個問題。只要用戶在計算機中安裝組態王軟件和研華數據卡的驅動程序,同時在組態王軟件中作一個簡單的連接設置即可實現了上端工作平臺和中層數據卡的通訊,用戶就可以按照自己的任務在上端的組態王軟件中用簡單的語法去書寫簡單的語句去面向底端硬件編程。1 [* J- A/ Y7 E. s) @
$ x. h' D" p3 d% e
當然,在上述例子中,樓主將的面向底端的程序已經由研華開發好了,在上層工控機中的高級語言程序的框架由組態王這種相對“傻瓜”式的軟件搭好了。用戶沒有必要去書寫復雜的底層代碼了。有一點需要說明研華的驅動需要被組態王識別。但用戶可以放心的是,組態王想讓自己的軟件普及,他們對集成相關的驅動是積極的。* d9 y3 ?5 P8 o$ B- H2 a& e
4 p: K( M$ w. r( S" M1 u不過,如果I/O卡是自己開發的,即其驅動也是自己開發的,不是基于微軟或者控制界的標準接口,這種集成就成了類似的“非標”產品一樣,需要花費額外的功夫。因此,從應用角度講,購買標準的硬件和軟件,然后集成是一種通行的做法,可以做到“開放式”。
作者: a253874750 時間: 2007-11-7 16:25
能否用下面的方法呢?- X* h3 Z& ^" R2 K( M! b p) `, B5 L
自己用單片機開發一塊電子版,一方面用于和底層執行器件或傳感器的連接,單片機本身有一定控制功能,再讓電子版與電腦通過串口來通訊。電腦上程序可以用vb編寫,很簡單,vb 有一串口通訊控件,他也能很容易編寫人機界面。單片機也很容易實現底層位運算。
: z J2 ~$ a0 w我認為這樣開發成本應該更低一些
作者: syw開門造車 時間: 2007-11-7 21:24
一劍飄紅友好!% }6 ?( b1 ^' y, C6 Y+ W
! q9 Q1 B! h3 _* V1 |: \我在5樓上傳照片中的I/O卡,采用的是ISA總線(Industrial Standard Architecture,& v( M( e0 v/ \9 T
工業標準結構總線)也就是計算機中的ISA插槽。
, n+ f: H% i5 |; U
$ B9 b$ q' c1 ?0 L2 Q: ?人們在科研中往往愿意采用已經用過的并且是成熟、熟練的技術。
- R+ v1 p- x( `8 Y& W7 L% M* |我常遇到這樣的情況:用買來的I/O卡成功的完成了一個項目,等到再遇到新的項目時,& D5 T& ]6 c: A, T2 A, G0 j" {3 x
再買那塊用過的I/O卡時,結果發現買不到了。如果采用新卡,以前程序中的口地址都; K* B$ I/ F) p3 Y3 y; b
得改,不光費事,也給維護帶來了不便。
* a) w( q% V8 E1 ]; y, F( H
1 f8 J, J! Z5 x% M如果,項目屬于單機,問題還不大,如果項目屬于批量產品的話,售后服務可就成問
' D" T" Z4 o3 Z" s6 h! Y題了。所以才萌生了自制I/O卡的想法。
' w/ {* P& y; j$ ^% F* @9 h: U0 {9 P. z% C% b0 X; `
你在5樓的發言中提到了“組態軟件”,我知道有這么個東西,但沒用過。我想知道:
x' U8 P, h4 d5 t+ ~1、如果我自制I/O卡的話,并且采用的是ISA總線標準,與“主態軟件”接口是否方便?3 d2 ]) [: s$ I: K0 g- y$ Q
2、你說的那個主態軟件是否為“漢化環境”?2 I$ M9 e# B/ J j8 Y
# K2 z2 W/ u: U1 {3 v! Q9 u
現將我曾做過、并在我們網壇上談過的一個項目,在DOS操作系統下的實
3 {4 q0 v4 v" K& q3 ~6 e: M際操作情況的圖像記錄上傳,你幫我參謀參謀,用哪個組態軟件能完成這9 S8 n; W+ I0 X0 c. B
個工作?
' M1 K5 J8 c2 Q& S6 a
& `( d0 i8 n' G4 t9 H. P7 R; n7 |謝謝!5 @4 l; Z. {% A9 v: k' x
' l& I3 {; [5 u0 c8 {syw 071107---21.21/ T& {: p" Q+ _! {6 _
) n0 \1 S9 [- s$ ~2 @
$ f! a3 D. u- X R& L( r同慶回歸--我的機電一體化派生作品
; w& n% f' P mhttp://bbs.cmiw.cn/viewthread.php?tid=44796
: V- n$ I8 m' n8 r
6 a. w% I ?1 [% j//***********************************************************************
作者: syw開門造車 時間: 2007-11-7 21:42
a253874750網友好!
/ H& E% z- R) H( o0 \5 [8 P$ k; V+ k( j- V
你在7樓的方案是可行的,我們開始時也那樣做過。比較麻煩,后來感到還是采用: ~: _& o- i4 j! ~# u" s
PC機直接省事。1 t: F' f) ~% Z- j( t8 F
主要原因是在實際操作中,時常需要處理隨機事件,時常要用到鍵盤和屏幕,既然,/ t# S4 Z2 e. l8 \4 L6 D% n
一臺主機能解決問題,屬于中間環節的單片機也就省去了。
9 A6 Q1 }) P, |5 o5 H# m0 X1 t7 d
謝謝!
) n5 f' V, K% t. ]0 }1 D# h
/ H3 b; k P# C! l% Ysyw 071107---21.42
作者: a253874750 時間: 2007-11-7 22:29
1、如果我自制I/O卡的話,并且采用的是ISA總線標準,與“主態軟件”接口是否方便?$ r$ j1 F9 \1 ~7 e8 K4 v2 T" Y' }
2、你說的那個主態軟件是否為“漢化環境”?
7 r+ e7 C5 c7 ~, H9 L& Y , H0 L, J: ?) E2 m' W7 C
組態軟件應該是針對特殊的硬件才有效的,自己制造的板卡是無法用別人的組態軟件來編程的。這是我的想法
作者: 一劍飄紅 時間: 2007-11-8 12:39
syw開門造車元帥好,
3 `$ S* c; O* v- p1、如果我自制I/O卡的話,并且采用的是ISA總線標準,與“主態軟件”接口是否方便?
" T. e+ Q" O3 G2、你說的那個主態軟件是否為“漢化環境”?
" o1 G$ b: P! x! Y% H! P
; E- E* D+ Z; d, y" N組態軟件供應商有很多家。我在上面提到的一家“組態王(KingView)”是國內的一家,公司在北京,其軟件為全中文環境。) j4 p) e/ }5 J. r. S
* l3 c8 c- @ ?; V
關于組態軟件和自制硬件的接口,是這樣的:程序員/操作者在PC上通過組態王操作I/O卡,關鍵的問題就是組態王要能夠識別這個卡,并能夠和這個卡通訊。組態軟件供應商和I/O卡等硬件的供應商是不同的供應商,他們的東西要集成在一起工作的話,必須有一定的協議。在Windows工作環境下,這個協議就是“硬件驅動程序(動態連接庫函數群)”。只要I/O卡的驅動程序可以安裝在windows環境中,那么工作在windows平臺上的組態王軟件就可以指揮這個硬件(當然需要該硬件加入到組態王的環境中)。換句話說,一共有兩個問題要解決:
& \6 L( N# K( f2 L# ] R1.硬件能夠為windows接收。這要求這個硬件的驅動程序能夠安裝到windows中。這就要求硬件的驅動程序符合windows的標準,而不是隨便寫匯編代碼。& ~/ N6 F6 U8 @) B* ?! ~- K
2.這個硬件的驅動程序在安裝到windows之后,需要能夠被組態王識別,也就是要符合組態王的標準,這樣,這個硬件才能加入到組態王的硬件列表中,然后組態王才能通過安裝在wiandows的硬件驅動程序庫中,選擇、調用驅動函數,在windows平臺協調下,去實現相關的功能。
' G' t$ f4 Q c% J/ M
4 B w8 z9 k' t" C上面的第一點,可以參考任何一本關于“windows編程”的書去作,第二點需要和組態王軟件的開發商聯系,由他們曲子去作這個事情。如果是買一塊品牌卡,這些工作一般不需要,因為硬件的供應商已經把上述的第1點,組態王軟件開發商已經把第二點都作好了。用戶只需學習兩者的操作說明書,然后去完成自己的任務。
作者: syw開門造車 時間: 2007-11-8 13:58
一劍飄紅友好!
) p4 Q0 [1 x3 H+ |) `
/ W) k" S5 \( D3 C& Q+ _9 ]你在11樓的發言,對我來說非常重要。' R1 r) Q( Q' L1 f6 J' c
特別是對兩個關鍵問題的闡述非常明確!- E) R5 w: r2 R8 r3 m& p# g
使我知道了下一步該怎樣走,而且能少走很多彎路。
; `+ w% j R/ d$ Y( o6 H3 @& q6 D# E# u; l0 X
謝謝你!2 z, H* @/ J' m; u! A
2 [* W, g2 v* y
也謝謝a253874750網友!
* ?0 |4 Q, p! o1 ?9 |# {6 H, s+ R$ Q9 W: S" k2 b. Z$ g9 F
syw 071108---13.58
* n" E: F3 e& [3 n1 S( ?& b5 `2 G( R
" m- B0 O& j. I5 R+ P: s
2 t* O) D3 p4 V. y/ T- K* Y# f8 o3 J" M: C6 v3 t( l' V( g
) T% M3 A" v6 b$ C/ f
% ]# R ^2 w; X
- W! J, b: N& |$ R6 ^9 m' t; E
6 J' K& a# w' _( ?
$ R1 J% {! _, }' [3 g* x p r+ d0 k. \
a253874750
作者: taishandadi 時間: 2007-11-8 16:52
現在如果批量生產,不如直接買現成的io卡,NI,研華等有,就看適合不適合了,可能價格貴點,但是在開發時間及其后續工作上就節省了。再說用組態王和labview開發編程比自己用vc開發時間上要省的多。
| 歡迎光臨 機械社區 (http://www.whclglass.com.cn/) |
Powered by Discuz! X3.5 |