久久久国产一区二区_国产精品av电影_日韩精品中文字幕一区二区三区_精品一区二区三区免费毛片爱

 找回密碼
 注冊(cè)會(huì)員

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 5860|回復(fù): 10

利用MSComm進(jìn)行串口通信小結(jié)

[復(fù)制鏈接]
1#
發(fā)表于 2011-4-17 20:39:15 | 只看該作者 |倒序?yàn)g覽 |閱讀模式
之前發(fā)過(guò)幾個(gè)帖子,求助串口通信程序的編制,得到了無(wú)能前輩的無(wú)私幫助,還有我的兩位同學(xué)的大力支持。/ j4 j9 Z! h) @+ K
現(xiàn)在程序基本完成,寫(xiě)個(gè)小結(jié),說(shuō)不上經(jīng)驗(yàn),畢竟我也是第一次寫(xiě)通信程序,算是教訓(xùn)吧。2 z( j5 r- o/ |1 Z. F# n
1. 通信協(xié)議的理解9 A! l6 ]  y  v3 z% R$ N8 _
每個(gè)硬件設(shè)備廠商都有自己的一套通信協(xié)議,比如發(fā)送或接收命令的定義,發(fā)送命令之后返回?cái)?shù)據(jù)的定義等等。這應(yīng)該是通信程序收發(fā)數(shù)據(jù)邏輯順序的依據(jù)。
. Y# r% @2 E1 Y& R1 t2. 接受、發(fā)送數(shù)據(jù)的格式" h2 A% |; }" B: |5 B) y; X5 F
MSComm接、發(fā)數(shù)據(jù)有兩種格式,在屬性InputMode里設(shè)置,一為comInputModeBinary,二進(jìn)制;二為comInputModeText,為文本。) [; @" i8 [) q' b- N6 o, M6 q
我之前就是數(shù)據(jù)格式弄混了,所以一直出現(xiàn)錯(cuò)誤。例如,MSComm1.Output = "R00000016U"," "里面的就是文本形式的數(shù)據(jù),如果InputMode里設(shè)置的是InputMode=comInputModeBinary,那么發(fā)送肯定有誤。6 r/ h% c& n- E
3. 清空緩存和清空接收數(shù)據(jù)存放的緩沖數(shù)組
: I+ Q1 v1 T# Y2 p每收發(fā)一次數(shù)據(jù),就要清空緩存或是數(shù)據(jù)存放的緩沖數(shù)組。以免兩次收發(fā)的數(shù)據(jù)發(fā)生交疊,產(chǎn)生錯(cuò)誤。, ^# o5 |+ \. Z4 ~0 [

/ T3 _4 T; y9 f2 i6 i% r, K( _+ W0 I  b! O8 W. }6 I4 y
這三點(diǎn)是之前編程時(shí)最常犯的錯(cuò)誤。希望能給各位需要編制串口通信程序的社友提個(gè)醒。
/ z5 u  G( A( x* d: ?
1 x7 x9 s  n4 T再次感謝各位社友的關(guān)注和幫助!
! N) ?: g) h8 j5 G: }9 F: P+ m$ C' r5 ]% f

! S+ K! Z6 i+ Z% y4 u/ x: Z, _- o" d6 X: [" a5 R3 k: d

點(diǎn)評(píng)

可能給你幫了倒忙了……  發(fā)表于 2011-4-17 21:00
樓主這種精神值得學(xué)習(xí),解決了問(wèn)題上來(lái)還晾下,很多大俠一問(wèn)不知?dú)w處了。哈哈  發(fā)表于 2011-4-17 20:55

評(píng)分

參與人數(shù) 2威望 +11 收起 理由
metalstorm + 1
舟航 + 10

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

2#
發(fā)表于 2011-4-17 21:24:35 | 只看該作者
請(qǐng)教樓主,這類面向硬件的通訊程序大都用什么語(yǔ)言來(lái)寫(xiě)的?
3#
 樓主| 發(fā)表于 2011-4-17 21:41:38 | 只看該作者
回復(fù) metalstorm 的帖子! ^+ n& o' [& _4 u
* |0 g8 m0 J/ B9 E: i! N8 v
我做的是串口通訊,用API函數(shù),或是MSComm。
9 r" I3 h/ F; _9 i1 `' a通信程序C和VB都可以編。
/ l$ j- t* W% R! |

評(píng)分

參與人數(shù) 1威望 +1 收起 理由
metalstorm + 1

查看全部評(píng)分

4#
發(fā)表于 2011-4-18 18:33:30 | 只看該作者
回復(fù) robi 的帖子
3 R* u) `# z  ?3 ?5 d# ~( k* o0 ~0 m% p' w1 q( k0 e4 _, o" E
你有用VC編的和PLC通訊的程序嗎?如有的話可發(fā)到我的郵箱:qw_mailbox@163.com。不勝感激
5#
 樓主| 發(fā)表于 2011-4-18 23:07:21 | 只看該作者
回復(fù) happqiwei 的帖子+ F- j: W# {8 N

4 D# U4 R7 U% y* |; b具體需要實(shí)現(xiàn)什么功能呢 不同功能的實(shí)現(xiàn)程序不一樣
2 S8 u7 c& X- ^% h7 |9 @
6#
發(fā)表于 2011-4-19 10:12:41 | 只看該作者
回復(fù) robi 的帖子- n' J- ]4 q+ q" l3 v

$ p$ d3 \5 r- L9 \/ i就是通過(guò)一個(gè)簡(jiǎn)單的界面對(duì)PLC輸入輸出或輔助寄存器按位進(jìn)行讀取和控制,以及讀取數(shù)據(jù)寄存器的數(shù)值。如果有三菱PLC和S7-200PLC的例子最好。主要是不知道該怎么做,想找個(gè)示例程序參考參考,謝謝!
7#
發(fā)表于 2011-4-19 14:00:31 | 只看該作者
謝謝樓樓主的分享,在此支持下~~
8#
 樓主| 發(fā)表于 2011-4-23 22:13:31 | 只看該作者
回復(fù) happqiwei 的帖子# _/ g6 y) ~( `

# z) \; o: B, Y1 S$ ~$ h; [我現(xiàn)在正在做一個(gè)用VB監(jiān)控DB72的程序。做好了再拿到論壇來(lái)跟大家探討。3 c8 K- d7 |7 h) Z3 W
9#
 樓主| 發(fā)表于 2011-4-23 22:41:26 | 只看該作者
回復(fù) happqiwei 的帖子" q8 i5 X. t/ d5 L0 o. l7 U

8 Z! P5 q, X1 [: X西門(mén)子PLC可以用FB2\FB3進(jìn)行DB的讀寫(xiě)。可以用step7軟件講數(shù)據(jù)放入數(shù)控系統(tǒng)變量R參數(shù)中,再通過(guò)VB或C,使用DDE,將數(shù)據(jù)讀取出來(lái)。4 X; v( w+ e- E* U" |. E" `! r/ [/ [
當(dāng)然你說(shuō)讀取的是位數(shù)據(jù),用R參數(shù)可能不便。我現(xiàn)在準(zhǔn)備用VB直接讀,應(yīng)該不難的。4 a6 \) X! V4 k5 W9 Q* M
10#
發(fā)表于 2011-4-25 12:51:47 | 只看該作者
有機(jī)會(huì)試試看,串口通訊現(xiàn)在仍然有活力呀。

本版積分規(guī)則

Archiver|手機(jī)版|小黑屋|機(jī)械社區(qū) ( 京ICP備10217105號(hào)-1,京ICP證050210號(hào),浙公網(wǎng)安備33038202004372號(hào) )

GMT+8, 2025-7-17 03:13 , Processed in 0.100453 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回復(fù) 返回頂部 返回列表