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

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 5868|回復: 10

利用MSComm進行串口通信小結

[復制鏈接]
1#
發表于 2011-4-17 20:39:15 | 只看該作者 |倒序瀏覽 |閱讀模式
之前發過幾個帖子,求助串口通信程序的編制,得到了無能前輩的無私幫助,還有我的兩位同學的大力支持。2 _$ z7 b% X6 N
現在程序基本完成,寫個小結,說不上經驗,畢竟我也是第一次寫通信程序,算是教訓吧。
$ y3 }2 J% Y+ G% E# j1. 通信協議的理解
' [: O. [4 z) _* T. T每個硬件設備廠商都有自己的一套通信協議,比如發送或接收命令的定義,發送命令之后返回數據的定義等等。這應該是通信程序收發數據邏輯順序的依據。& D! I4 I  A+ ?$ Q, z. T  W: T  ~1 h
2. 接受、發送數據的格式
1 I, d' q9 D. GMSComm接、發數據有兩種格式,在屬性InputMode里設置,一為comInputModeBinary,二進制;二為comInputModeText,為文本。) h/ j) _/ Z: f/ g0 ?
我之前就是數據格式弄混了,所以一直出現錯誤。例如,MSComm1.Output = "R00000016U"," "里面的就是文本形式的數據,如果InputMode里設置的是InputMode=comInputModeBinary,那么發送肯定有誤。
; C2 E' _4 ~" k2 V+ Z3. 清空緩存和清空接收數據存放的緩沖數組: N6 M2 ~  Y& r" _+ e5 u, L
每收發一次數據,就要清空緩存或是數據存放的緩沖數組。以免兩次收發的數據發生交疊,產生錯誤。$ X$ n+ x+ m5 S2 n
( C" r9 S( [( Y  k5 x

  c/ e" d/ F2 C6 L" [這三點是之前編程時最常犯的錯誤。希望能給各位需要編制串口通信程序的社友提個醒。4 a! V* J+ B# p" W. X( Q" t
9 W' C! v/ n3 D$ D1 I0 k1 F  ~4 J" W
再次感謝各位社友的關注和幫助!& g6 V! Q. k% e8 P2 P+ h  o# \
0 g' ?& {; d5 A# e' S" G
# m0 X8 c% {) S4 `
, M7 o+ ?: X: g8 l  s

點評

可能給你幫了倒忙了……  發表于 2011-4-17 21:00
樓主這種精神值得學習,解決了問題上來還晾下,很多大俠一問不知歸處了。哈哈  發表于 2011-4-17 20:55

評分

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

查看全部評分

回復

使用道具 舉報

2#
發表于 2011-4-17 21:24:35 | 只看該作者
請教樓主,這類面向硬件的通訊程序大都用什么語言來寫的?
3#
 樓主| 發表于 2011-4-17 21:41:38 | 只看該作者
回復 metalstorm 的帖子6 W/ h+ ^! a* e$ y& D8 g3 i; n8 z" n
: z7 d) _# B4 _! a/ s) O
我做的是串口通訊,用API函數,或是MSComm。1 U# s) S" H7 u2 F. X  o- Z
通信程序C和VB都可以編。" W' s- t5 }; t( H

評分

參與人數 1威望 +1 收起 理由
metalstorm + 1

查看全部評分

4#
發表于 2011-4-18 18:33:30 | 只看該作者
回復 robi 的帖子
+ w2 B9 x9 G" k2 \+ k: `8 }2 w" p2 `8 c
你有用VC編的和PLC通訊的程序嗎?如有的話可發到我的郵箱:qw_mailbox@163.com。不勝感激
5#
 樓主| 發表于 2011-4-18 23:07:21 | 只看該作者
回復 happqiwei 的帖子( Q; }, g* B8 J3 `/ r4 R

( l! b9 `: R# j  z# R具體需要實現什么功能呢 不同功能的實現程序不一樣' I6 I! _0 p4 T7 p% H
6#
發表于 2011-4-19 10:12:41 | 只看該作者
回復 robi 的帖子
6 r2 L9 y! C0 Y. v
* }' Z0 m; A. Q# S) \$ `+ B( X就是通過一個簡單的界面對PLC輸入輸出或輔助寄存器按位進行讀取和控制,以及讀取數據寄存器的數值。如果有三菱PLC和S7-200PLC的例子最好。主要是不知道該怎么做,想找個示例程序參考參考,謝謝!
7#
發表于 2011-4-19 14:00:31 | 只看該作者
謝謝樓樓主的分享,在此支持下~~
8#
 樓主| 發表于 2011-4-23 22:13:31 | 只看該作者
回復 happqiwei 的帖子
0 V4 i* e* ?& M+ ]  _9 }3 [/ U0 B' E5 N9 H$ x( n" p% v
我現在正在做一個用VB監控DB72的程序。做好了再拿到論壇來跟大家探討。
" M* V3 q: p+ B* W+ n
9#
 樓主| 發表于 2011-4-23 22:41:26 | 只看該作者
回復 happqiwei 的帖子/ O5 S+ S3 X( o5 v3 J
# g) L/ E0 g' }9 Y2 Y' m; M* W
西門子PLC可以用FB2\FB3進行DB的讀寫??梢杂胹tep7軟件講數據放入數控系統變量R參數中,再通過VB或C,使用DDE,將數據讀取出來。8 l/ A! J6 `: C6 B/ j& n8 p$ @  \
當然你說讀取的是位數據,用R參數可能不便。我現在準備用VB直接讀,應該不難的。  ^  f. E( i3 B* ^6 _5 N. s
10#
發表于 2011-4-25 12:51:47 | 只看該作者
有機會試試看,串口通訊現在仍然有活力呀。
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規則

Archiver|手機版|小黑屋|機械社區 ( 京ICP備10217105號-1,京ICP證050210號,浙公網安備33038202004372號 )

GMT+8, 2025-7-19 12:54 , Processed in 0.075112 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回復 返回頂部 返回列表