关于从下位机读取数据到数据库和串口的问题

leilei97611 2003-04-01 09:00:47
也许说起来有点泛,可我还是想请教一下大家的经验,现在这个系统就是要和下位机进行通讯,比如说系统的操作人员要得到某一个下位机中的某个数据,就会通过串口-modem发出命令,然后,得到就会从下位机得到传回来的数据,一个一个分辨后,写进数据库中,我想问,这里对Modem的串口初始化该怎么写呢:(,还有啊,跟串口的通信中,要设置一些软硬握手的参数么,这种通信中,要不要用到线程呢,还是用事件的激励好呢,各位有这方面的经验或是相关的资料么,可不可以帮我一下,谢了先,还有啊,我的分不是很多,希望不要介意
...全文
208 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
geggegeda 2003-04-06
  • 打赏
  • 举报
回复
mark
kataboy 2003-04-04
  • 打赏
  • 举报
回复
那没关系的。
你看我们的楼主好娇啊!
:)
wangxiangsjz 2003-04-04
  • 打赏
  • 举报
回复
串口操作可以用SPComm控件,我已经用了好几年。非常好的。如果需要请和我联系。wangxiangsjz@sina.com
路人丁 2003-04-04
  • 打赏
  • 举报
回复
首先你要和高单片机的一起定通讯协议,这等问题采用API编程可以很容易实现,如果使用Moxa公司提供的PComm函数库更容易。QQ找我:16880669 注明:CSDN朋友
imickey 2003-04-04
  • 打赏
  • 举报
回复
给你推荐一套控件:

APRO,在www.51delphi.com有下载,比较全,还有例子,你看看,还有就是一本书:DELPHI串口与语音传真高级编程,是北航出版的,就是针对这一套控件写的书。

我不能给你发代码,我这里上网只有去网吧上,还有就是不用MODEM也行,直接连到计算机的232串口,一样的。
kataboy 2003-04-03
  • 打赏
  • 举报
回复
楼主,我帮你UP!
gfh_79_0 2003-04-03
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/853/853481.xml?temp=.6900141

http://expert.csdn.net/Expert/topic/725/725516.xml?temp=.2845728
leilei97611 2003-04-03
  • 打赏
  • 举报
回复
对了,你说我要是只把接收数据地程序放在线程里,而不放发送数据地函数,那么在上位机和下位机之间进行通信验证地时候,岂不是要在主线程和线程里跳来跳去的了么,是这样么,这样好么:(
leilei97611 2003-04-03
  • 打赏
  • 举报
回复
谢谢大家了,我都好菜,好感动你们不嫌我问的问题,谢谢
borland_boy 2003-04-03
  • 打赏
  • 举报
回复
不管你用MODEM还是直接用串口传数据

首先你应明确的问题是通讯(建立连接)和数据是分开的两个概念

1。通讯(建立连接)首先要能让两边能接收和发送数据

2。保证通讯的正确性

最好采用主机发送请求 客户机应答的方式

定义包的格式 一般来说需要

OXFF,OXFF,OXFF,OXFF //过滤线路上的信号 既收到4个0XFF后认为后面的是数据
任务号 //本包数据是什么任务具体由你自己定
命令号 //比如:0x31表示传送数据 0x32传送正确 0x33传送错误 0x34重发等
此包数据长度 //好知道要接受多少数据
实际数据 //你要发送的数据
保留 //要保留几位为以后的需要做铺垫 不要过长也别太小
校验位(非常重要,因为远程通讯经常会收干扰)

leilei97611 2003-04-02
  • 打赏
  • 举报
回复
可我的版本里面用不了这个控件,总说是license出错,真头大,而且时间好紧了,想用API了,不知道该怎么办了:(各位有什么高招么
jne888 2003-04-02
  • 打赏
  • 举报
回复
可用MSComm Active组件对串口操作,比较简单。
如果是简单的通讯,可设置通过软件协议控制通讯数据流。
这样,只需三根线即可实现串口通讯。
leilei97611 2003-04-01
  • 打赏
  • 举报
回复
mickey,有例子么,你说的我懂,可不知道如何下手:(还有啊,是要用Modem的呢,因为和下位机的连接是通过拨号完成的呢
imickey 2003-04-01
  • 打赏
  • 举报
回复
如果只是这么简单的话,为什么要用MODEM啊,直接连到计算机的串口不可以吗??

要用到线程了,这样接收发送数据放到一个线程里,然后再处理哦,

爱有就是握手的时候就得看你计算机和下位机的协议了,比如先让计算机发出信息给下位机,下位机收到后响应,给计算机发送一个反馈信息,计算机再发送一个确认信息,握手完成!

接下来就是正常通信了。

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧