人妻暴雨中被强制侵犯在线,亚洲国产欧美日韩精品一区二区三区,四虎影免看黄,国产无人区二卡三卡四卡不见星空
機(jī)械社區(qū)
標(biāo)題:
利用MSComm進(jìn)行串口通信小結(jié)
[打印本頁(yè)]
作者:
robi
時(shí)間:
2011-4-17 20:39
標(biāo)題:
利用MSComm進(jìn)行串口通信小結(jié)
之前發(fā)過(guò)幾個(gè)帖子,求助串口通信程序的編制,得到了無(wú)能前輩的無(wú)私幫助,還有我的兩位同學(xué)的大力支持。
1 Z5 [7 ^1 q$ G9 \% _
現(xiàn)在程序基本完成,寫(xiě)個(gè)小結(jié),說(shuō)不上經(jīng)驗(yàn),畢竟我也是第一次寫(xiě)通信程序,算是教訓(xùn)吧。
; U7 F+ ~" p# S3 D1 q* s
1. 通信協(xié)議的理解
9 t- z) T1 {6 ?+ W2 u' J1 f) Q
每個(gè)硬件設(shè)備廠商都有自己的一套通信協(xié)議,比如發(fā)送或接收命令的定義,發(fā)送命令之后返回?cái)?shù)據(jù)的定義等等。這應(yīng)該是通信程序收發(fā)數(shù)據(jù)邏輯順序的依據(jù)。
8 p' S. K; r5 }0 `( P
2. 接受、發(fā)送數(shù)據(jù)的格式
; Z& V6 K: s* t: s
MSComm接、發(fā)數(shù)據(jù)有兩種格式,在屬性InputMode里設(shè)置,一為comInputModeBinary,二進(jìn)制;二為comInputModeText,為文本。
: F- ^3 o: [" Z2 M# X4 T5 }: b
我之前就是數(shù)據(jù)格式弄混了,所以一直出現(xiàn)錯(cuò)誤。例如,MSComm1.Output = "R00000016U"," "里面的就是文本形式的數(shù)據(jù),如果InputMode里設(shè)置的是InputMode=comInputModeBinary,那么發(fā)送肯定有誤。
* W* l6 B% a) Y
3. 清空緩存和清空接收數(shù)據(jù)存放的緩沖數(shù)組
/ P" g* b4 s2 p( b/ O: J
每收發(fā)一次數(shù)據(jù),就要清空緩存或是數(shù)據(jù)存放的緩沖數(shù)組。以免兩次收發(fā)的數(shù)據(jù)發(fā)生交疊,產(chǎn)生錯(cuò)誤。
# f! {; l- n# `* n; b, R; c6 L
6 Y2 N) Z6 s* G* X4 [# ^
2 [$ d _7 \ w: G P
這三點(diǎn)是之前編程時(shí)最常犯的錯(cuò)誤。希望能給各位需要編制串口通信程序的社友提個(gè)醒。
. H; y3 E# {' m$ p# X
$ t5 w( b7 {/ O! _7 O G
再次感謝各位社友的關(guān)注和幫助!
% T( Y- K* |" K6 q/ n
/ `" ^6 y/ _6 N2 v) a7 M
: j7 n+ h/ @9 A& M$ ^7 W7 Z
% O" z: d& w3 ]9 u
作者:
metalstorm
時(shí)間:
2011-4-17 21:24
請(qǐng)教樓主,這類(lèi)面向硬件的通訊程序大都用什么語(yǔ)言來(lái)寫(xiě)的?
作者:
robi
時(shí)間:
2011-4-17 21:41
回復(fù)
metalstorm
的帖子
* b6 U7 B/ \. [. ^5 r7 y; y
# S) J' m( [. o1 y' x
我做的是串口通訊,用API函數(shù),或是MSComm。
3 o, t+ J% n9 s$ \; {
通信程序C和VB都可以編。
2 c* r2 M7 n; ^" P# j
作者:
happqiwei
時(shí)間:
2011-4-18 18:33
回復(fù)
robi
的帖子
" {( p% z6 `9 V/ B
( @1 S9 l1 W; l- m3 {% Y
你有用VC編的和PLC通訊的程序嗎?如有的話可發(fā)到我的郵箱:
qw_mailbox@163.com
。不勝感激
作者:
robi
時(shí)間:
2011-4-18 23:07
回復(fù)
happqiwei
的帖子
8 N; Q+ S" x. }3 L
$ e# i, K* J9 E7 h( I
具體需要實(shí)現(xiàn)什么功能呢 不同功能的實(shí)現(xiàn)程序不一樣
4 l' H$ T5 i- A$ ]+ D
作者:
happqiwei
時(shí)間:
2011-4-19 10:12
回復(fù)
robi
的帖子
3 p0 ^, }& u0 f, P! a
8 }5 _* r, I3 x, Q
就是通過(guò)一個(gè)簡(jiǎn)單的界面對(duì)PLC輸入輸出或輔助寄存器按位進(jìn)行讀取和控制,以及讀取數(shù)據(jù)寄存器的數(shù)值。如果有三菱PLC和S7-200PLC的例子最好。主要是不知道該怎么做,想找個(gè)示例程序參考參考,謝謝!
作者:
寒秋飄雨
時(shí)間:
2011-4-19 14:00
謝謝樓樓主的分享,在此支持下~~
作者:
robi
時(shí)間:
2011-4-23 22:13
回復(fù)
happqiwei
的帖子
/ m0 W+ v, r2 ?/ Q* x* m5 i% p
9 m! @3 C4 s z( i' \% v& |
我現(xiàn)在正在做一個(gè)用VB監(jiān)控DB72的程序。做好了再拿到論壇來(lái)跟大家探討。
/ c5 {' z0 G: \& `. E, q' Y
作者:
robi
時(shí)間:
2011-4-23 22:41
回復(fù)
happqiwei
的帖子
5 F: @" |/ b1 B; o
& {: @( k; u: U5 F9 a
西門(mén)子PLC可以用FB2\FB3進(jìn)行DB的讀寫(xiě)??梢杂胹tep7軟件講數(shù)據(jù)放入數(shù)控系統(tǒng)變量R參數(shù)中,再通過(guò)VB或C,使用DDE,將數(shù)據(jù)讀取出來(lái)。
+ X" R! M3 P3 D+ m
當(dāng)然你說(shuō)讀取的是位數(shù)據(jù),用R參數(shù)可能不便。我現(xiàn)在準(zhǔn)備用VB直接讀,應(yīng)該不難的。
u9 H2 x4 P6 J* F# a4 T" i
作者:
wancj
時(shí)間:
2011-4-25 12:51
有機(jī)會(huì)試試看,串口通訊現(xiàn)在仍然有活力呀。
作者:
robi
時(shí)間:
2011-4-25 17:25
回復(fù)
wancj
的帖子
4 r5 I; I' X$ c0 _# n
4 }' Y& P9 C3 _1 K0 [, R+ O
西門(mén)子840D早期的版本是沒(méi)有RS232串口的,后來(lái)用戶覺(jué)得很不方便,所以后期版本都有兩個(gè)RS232串口。
歡迎光臨 機(jī)械社區(qū) (http://www.xa-space.com/)
Powered by Discuz! X3.5