人妻暴雨中被强制侵犯在线,亚洲国产欧美日韩精品一区二区三区,四虎影免看黄,国产无人区二卡三卡四卡不见星空

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

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

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

[復(fù)制鏈接]
1#
發(fā)表于 2011-4-17 20:39:15 | 只看該作者 |倒序?yàn)g覽 |閱讀模式
之前發(fā)過幾個(gè)帖子,求助串口通信程序的編制,得到了無能前輩的無私幫助,還有我的兩位同學(xué)的大力支持。
. V, T2 M: A& }現(xiàn)在程序基本完成,寫個(gè)小結(jié),說不上經(jīng)驗(yàn),畢竟我也是第一次寫通信程序,算是教訓(xùn)吧。! T' [0 _) C$ x2 m! Y: w
1. 通信協(xié)議的理解
+ k( F8 E) I3 _每個(gè)硬件設(shè)備廠商都有自己的一套通信協(xié)議,比如發(fā)送或接收命令的定義,發(fā)送命令之后返回?cái)?shù)據(jù)的定義等等。這應(yīng)該是通信程序收發(fā)數(shù)據(jù)邏輯順序的依據(jù)。
. T2 N4 e3 E, ]6 B2. 接受、發(fā)送數(shù)據(jù)的格式% N& L' t. X3 N" f
MSComm接、發(fā)數(shù)據(jù)有兩種格式,在屬性InputMode里設(shè)置,一為comInputModeBinary,二進(jìn)制;二為comInputModeText,為文本。
" B+ [9 x/ Z3 {3 ?4 R我之前就是數(shù)據(jù)格式弄混了,所以一直出現(xiàn)錯(cuò)誤。例如,MSComm1.Output = "R00000016U"," "里面的就是文本形式的數(shù)據(jù),如果InputMode里設(shè)置的是InputMode=comInputModeBinary,那么發(fā)送肯定有誤。
. Z; V# w5 t. g: b: O2 ^: E3. 清空緩存和清空接收數(shù)據(jù)存放的緩沖數(shù)組5 q0 v+ \- k  p8 j. C5 S3 L+ C0 G0 Y
每收發(fā)一次數(shù)據(jù),就要清空緩存或是數(shù)據(jù)存放的緩沖數(shù)組。以免兩次收發(fā)的數(shù)據(jù)發(fā)生交疊,產(chǎn)生錯(cuò)誤。
; C+ n; @7 A6 q/ d4 O, s9 x+ z! L0 u' a& o9 ?
; J9 p9 i2 V) `+ v; C3 Q
這三點(diǎn)是之前編程時(shí)最常犯的錯(cuò)誤。希望能給各位需要編制串口通信程序的社友提個(gè)醒。
) R7 }( c0 l7 }' X1 P5 b2 V8 w2 d4 O" [, j/ k8 s7 n
再次感謝各位社友的關(guān)注和幫助!
' P$ o6 Q0 i! j5 ^7 H9 j
4 \' w0 w* @5 W; i6 w. J, }8 v
- S; L4 s7 x0 I  t) _  y" m5 M
' H  t$ A5 R* L8 v/ ~2 [% |" l  h

點(diǎn)評

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

評分

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

查看全部評分

2#
發(fā)表于 2011-4-17 21:24:35 | 只看該作者
請教樓主,這類面向硬件的通訊程序大都用什么語言來寫的?
3#
 樓主| 發(fā)表于 2011-4-17 21:41:38 | 只看該作者
回復(fù) metalstorm 的帖子
" _) a' w( V' E) s& v3 K
( g: u, e8 {) q& W% A我做的是串口通訊,用API函數(shù),或是MSComm。! z4 l# m6 }3 S
通信程序C和VB都可以編。! D# \$ ]9 q: s& s! x9 j- z$ N, t

評分

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

查看全部評分

4#
發(fā)表于 2011-4-18 18:33:30 | 只看該作者
回復(fù) robi 的帖子
5 D. O- _! U6 _# h: o: U* x2 G: ~8 T8 W+ ?: W; x  a; x' `
你有用VC編的和PLC通訊的程序嗎?如有的話可發(fā)到我的郵箱:qw_mailbox@163.com。不勝感激
5#
 樓主| 發(fā)表于 2011-4-18 23:07:21 | 只看該作者
回復(fù) happqiwei 的帖子
: |; V3 m  ~# N' q: D5 V
% o" N/ l* b7 d( t具體需要實(shí)現(xiàn)什么功能呢 不同功能的實(shí)現(xiàn)程序不一樣0 \* A" F3 ?! D, v
6#
發(fā)表于 2011-4-19 10:12:41 | 只看該作者
回復(fù) robi 的帖子
. c2 k% |% k# y# ~, [) T4 R2 |& l/ H/ r- h9 t8 M6 e( t
就是通過一個(gè)簡單的界面對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 的帖子) Q/ U- E& l! t" l1 S5 a3 e& e
! ?4 }3 x- `- d& U3 I! K
我現(xiàn)在正在做一個(gè)用VB監(jiān)控DB72的程序。做好了再拿到論壇來跟大家探討。( b6 k% L* ~  H7 i" z3 h
9#
 樓主| 發(fā)表于 2011-4-23 22:41:26 | 只看該作者
回復(fù) happqiwei 的帖子
; Y! X2 l; K' |5 K
6 o) b! V7 c5 o3 b! Z& b, e西門子PLC可以用FB2\FB3進(jìn)行DB的讀寫??梢杂胹tep7軟件講數(shù)據(jù)放入數(shù)控系統(tǒng)變量R參數(shù)中,再通過VB或C,使用DDE,將數(shù)據(jù)讀取出來。
) Y6 b+ f' [" |8 M9 o3 B: e1 G; |當(dāng)然你說讀取的是位數(shù)據(jù),用R參數(shù)可能不便。我現(xiàn)在準(zhǔn)備用VB直接讀,應(yīng)該不難的。" g. x5 E- i2 Y7 S4 w& w5 K
10#
發(fā)表于 2011-4-25 12:51:47 | 只看該作者
有機(jī)會試試看,串口通訊現(xiàn)在仍然有活力呀。
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規(guī)則

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

GMT+8, 2025-7-19 11:05 , Processed in 0.064341 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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