机械必威体育网址

找回密码
注册会员

QQ登录

只需一步,快速开始

搜索
查看: 5457 | 回复: 10
打印 上一主题 下一主题

利用MSComm进行串口通信小结

[复制链接]
跳转到指定楼层
1#
发表于 2011-4-17 20:39:15 | 只看该作者 回帖奖励 | 倒序浏览 | 阅读模式
之前发过几个帖子,求助串口通信程序的编制,得到了无能前辈的无私帮助,还有我的两位同学的大力支持。
2 s/ q& F: o% h3 U现在程序基本完成,写个小结,说不上经验,毕竟我也是第一次写通信程序,算是教训吧。
: G1 f8 g6 m$ U% r1 H5 R1. 通信协议的理解' T' [/ Z/ f* G. \: J# \' _$ D0 f
每个硬件设备厂商都有自己的一套通信协议,比如发送或接收命令的定义,发送命令之后返回数据的定义等等。这应该是通信程序收发数据逻辑顺序的依据。
; ^1 _. Q! u0 M% o8 R- ^2. 接受、发送数据的格式
0 l5 F) c( y/ xMSComm接、发数据有两种格式,在属性InputMode里设置,一为comInputModeBinary,二进制;二为comInputModeText,为文本。
, n* V) X# L- c& I我之前就是数据格式弄混了,所以一直出现错误。例如,MSComm1.Output = "R00000016U"," "里面的就是文本形式的数据,如果InputMode里设置的是InputMode=comInputModeBinary,那么发送肯定有误。
5 ^4 W9 A+ N- E5 m1 E0 S3. 清空缓存和清空接收数据存放的缓冲数组
, I: k$ R: C# o3 }# G每收发一次数据,就要清空缓存或是数据存放的缓冲数组。以免两次收发的数据发生交叠,产生错误。0 `6 I6 _- @' _; l) P
1 }/ v, w* \( K! D% ~
$ U: i3 E$ X) @/ p
这三点是之前编程时最常犯的错误。希望能给各位需要编制串口通信程序的社友提个醒。' Z4 G8 z# b$ A" e- _; V" F+ w
B( E* D9 t- a% \
再次感谢各位社友的关注和帮助!5 \( U0 W6 F# U8 I; B V

- Y3 Y9 ]( d- D4 x/ Z* W: r# d7 l! l6 A$ n' m" B3 p% c' U9 F
' y% g/ R9 T9 q' P+ p) r* e

点评

可能给你帮了倒忙了…… 发表于 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的帖子
5 I# a. l D5 F- B9 `
0 R% f! F% z' G" F8 e" I: N我做的是串口通讯,用API函数,或是MSComm。; {2 [5 H* E0 ]5 I
通信程序C和VB都可以编。
6 y5 h6 \( ~' @ \" b

评分

参与人数1 威望+1 收起理由
metalstorm + 1

查看全部评分

4#
发表于 2011-4-18 18:33:30 | 只看该作者
回复robi的帖子2 h1 R* D! f( X1 z8 B
+ X" Y' G- c0 x1 `! x7 F, K
你有用VC编的和PLC通讯的程序吗?如有的话可发到我的邮箱:qw_mailbox@163.com。不胜感激
5#
楼主 | 发表于 2011-4-18 23:07:21 | 只看该作者
回复happqiwei的帖子
# G+ T: D& Q! X. R& T5 k4 ^/ {$ X4 a
具体需要实现什么功能呢 不同功能的实现程序不一样
- F. ]6 f. B; Q1 u# d' ^
6#
发表于 2011-4-19 10:12:41 | 只看该作者
回复robi的帖子
( B# ?6 d/ @* {7 B
( m; h& M) F/ Q: E就是通过一个简单的界面对PLC输入输出或辅助寄存器按位进行读取和控制,以及读取数据寄存器的数值。如果有三菱PLC和S7-200PLC的例子最好。主要是不知道该怎么做,想找个示例程序参考参考,谢谢!
7#
发表于 2011-4-19 14:00:31 | 只看该作者
谢谢楼楼主的分享,在此支持下~~
8#
楼主 | 发表于 2011-4-23 22:13:31 | 只看该作者
回复happqiwei的帖子
, [% ]7 X+ [7 R$ ?3 R, h4 c1 \9 Z' _; ~, q6 ]# e! H
我现在正在做一个用VB监控DB72的程序。做好了再拿到必威APP精装版下载来跟大家探讨。
% ~: w: _1 ]& O% u
9#
楼主 | 发表于 2011-4-23 22:41:26 | 只看该作者
回复happqiwei的帖子
0 P1 g/ w; g( l
* k, L5 F$ i0 j0 E7 s8 ?1 |6 D' b J, M西门子PLC可以用FB2\FB3进行DB的读写。可以用step7软件讲数据放入数控系统变量R参数中,再通过VB或C,使用DDE,将数据读取出来。! M8 g( u( T* Y, k6 O
当然你说读取的是位数据,用R参数可能不便。我现在准备用VB直接读,应该不难的。
1 [+ a2 G3 i! O" ~. `' T. e
10#
发表于 2011-4-25 12:51:47 | 只看该作者
有机会试试看,串口通讯现在仍然有活力呀。
您需要登录后才可以回帖 登录| 注册会员

本版积分规则

小黑屋|手机版|Archiver|机械必威体育网址(京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号)

GMT+8, 2025-1-9 14:55, Processed in 0.057624 second(s), 19 queries , Gzip On.

Powered byDiscuz!X3.4Licensed

? 2001-2017Comsenz Inc.

快速回复 返回顶部 返回列表