中国自动化学会专家咨询工作委员会指定宣传媒体
免费注册 登录 广告服务 | 客服中心
您现在所在的是:

串口通信

抖音 德嘉 泓格论坛 FLIR红外热像论坛
工控论坛首页 串口通信 → 浏览主题: 工控机上的串口数据怎么读取啊
发表新帖 回复该主题
回帖:24个,阅读:7033 [上一页] [1] [2] [3] [下一页]
* 帖子主题:

工控机上的串口数据怎么读取啊

分享到
438
zkpig123
文章数:13
年度积分:50
历史总积分:438
注册时间:2017/5/28
发站内信
发表于:2017/5/28 22:06:05
#0楼
   本人会点编程,对串口不了解,特来请教,可能表达有不准确地方,敬请谅解!
   是这样,单位有台采集数据的工控机(windows xp),工控机上串口的数据采集程序源代码没法得到,因为是第三方的,如果想要自己保存一份串口的数据,应该怎样做?
   我自己设想是否可以自己编写一个串口程序作为中转站,转发数据采集程序发送到物理串口的数据和从物理串口得到的数据? 也就是,通过虚拟软件设置一对虚拟串口,然后将数据采集程序的串口地址设置成虚拟串口的其中一个,在自己的串口程序中打开用来采集数据的物理串口和虚拟串口的另一个,然后我的串口程序读取采集程序从虚拟串口进来的请求并将请求转发给物理串口,再将物理串口发来的数据保存并通过虚拟串口转发到串口程序.
   请问可行吗?另外,虚拟串口只能通过虚拟软件来实现吗?是否能通过c编程调用windows api自己模拟?
先谢过!
[此贴子已经被作者于2017/5/28 22:09:08编辑过]
28164
cfg168
文章数:17098
年度积分:60
历史总积分:28164
注册时间:2012/11/28
发站内信
2018论坛解答高手
2015论坛贡献奖
发表于:2017/5/28 23:52:00
#1楼
以下是引用zkpig1232017/5/28 22:06:05的发言:
   本人会点编程,对串口不了解,特来请教,可能表达有不准确地方,敬请谅解!
   是这样,单位有台采集数据的工控机(windows xp),工控机上串口的数据采集程序源代码没法得到,因为是第三方的,如果想要自己保存一份串口的数据,应该怎样做?
   我自己设想是否可以自己编写一个串口程序作为中转站,转发数据采集程序发送到物理串口的数据和从物理串口得到的数据? 也就是,通过虚拟软件设置一对虚拟串口,然后将数据采集程序的串口地址设置成虚拟串口的其中一个,在自己的串口程序中打开用来采集数据的物理串口和虚拟串口的另一个,然后我的串口程序读取采集程序从虚拟串口进来的请求并将请求转发给物理串口,再将物理串口发来的数据保存并通过虚拟串口转发到串口程序.
   请问可行吗?另外,虚拟串口只能通过虚拟软件来实现吗?是否能通过c编程调用windows api自己模拟?
先谢过!
你的想法是美好的,但是现实是残酷的。
首先,串行数据通讯端口,据我所知,在视窗操作系统的平台上,只能一对一的进行使用。也就是说,一个软件对应一个COM口,不能两个软件共享一个COM口,否则会出现打架的情况,就像一个碗只能给一个人吃饭用一样。

至于通过程序模拟出COM口的情况,这个用法的现象非常普遍,甚至已经泛滥了。通过程序模拟COM口的案例,也是只能一对一的使用,一个软件霸占一个COM口(甭管是真实的还是虚拟的COM口),普遍的用法就是通过一个USB口来模拟出一个COM口来进行数据传输作业。
[此贴子已经被作者于2017/5/29 0:12:17编辑过]
28164
cfg168
文章数:17098
年度积分:60
历史总积分:28164
注册时间:2012/11/28
发站内信
2018论坛解答高手
2015论坛贡献奖
发表于:2017/5/29 0:07:35
#2楼
你的案例,想通过用上位机的软件截取COM物理通讯端口的数据,一分为二,还真不能实现。因为COM端口的物理性质决定了它的数据只能一对一的传输,并且非常稳定,这也就是为什么COM口从研发出来问世,时间过了将近半个世纪,依然被广泛应用于工业控制的通讯领域的缘故。

办法还是有的,COM口可以组网进行群组设备通讯,就像网吧的电脑网络一样,这个通讯格式就是RS485总线网络。所以说,你还是得从增加物理硬件的通讯端口上想办法获得COM端口的数据。
[此贴子已经被作者于2017/5/29 0:09:28编辑过]
18704
pqsh 版主
文章数:7350
年度积分:534
历史总积分:18704
注册时间:2006/8/22
发站内信
2018论坛解答高手
发表于:2017/5/29 7:27:01
#3楼
关键是,你读到了串口的出入数据,有没有用.
如果你能解码数据,你就能抛弃第三方,自己做出来自己的源代码.
你是想破解别人的通讯,简单的就是监听串口.
你是想利用数据,那还是从数据保存那找途径.要不然,串口的一堆数据,也是莫名其妙的.
如果我忘了我
请帮忙记得我
pqsh@163,326199298@v&q同号
438
zkpig123
文章数:13
年度积分:50
历史总积分:438
注册时间:2017/5/28
发站内信
发表于:2017/5/29 9:04:10
#4楼
   谢谢几位的回答。
   我的目的不是要破解,我有串口数据的格式解读编码,我是做监测的,因为想自己保存一份数据库,做一个自动化处理,第三方没有提供这个功能。机器上好像几个端口都满了,没地方加端口了。。
   不是有软件能虚拟出两个串口,串口A写则能从串口B读到,这个不算是虚拟串口吗?我的想法不是一分为二,是我的软件来读写物理串口,然后通过虚拟的串口和第三方软件进行通讯,充当第三方软件和物理串口的中间代理,行不通吗?
438
zkpig123
文章数:13
年度积分:50
历史总积分:438
注册时间:2017/5/28
发站内信
发表于:2017/5/29 9:05:02
#5楼
以下是引用pqsh2017/5/29 7:27:01的发言:
关键是,你读到了串口的出入数据,有没有用.
如果你能解码数据,你就能抛弃第三方,自己做出来自己的源代码.
你是想破解别人的通讯,简单的就是监听串口.
你是想利用数据,那还是从数据保存那找途径.要不然,串口的一堆数据,也是莫名其妙的.

请问怎样监听串口?我没接触过串口和串口编程,但会点c程序编写的皮毛,请教!
438
zkpig123
文章数:13
年度积分:50
历史总积分:438
注册时间:2017/5/28
发站内信
发表于:2017/5/29 9:07:47
#6楼
以下是引用cfg1682017/5/29 0:07:35的发言:
你的案例,想通过用上位机的软件截取COM物理通讯端口的数据,一分为二,还真不能实现。因为COM端口的物理性质决定了它的数据只能一对一的传输,并且非常稳定,这也就是为什么COM口从研发出来问世,时间过了将近半个世纪,依然被广泛应用于工业控制的通讯领域的缘故。

办法还是有的,COM口可以组网进行群组设备通讯,就像网吧的电脑网络一样,这个通讯格式就是RS485总线网络。所以说,你还是得从增加物理硬件的通讯端口上想办法获得COM端口的数据。
[此贴子已经被作者于2017/5/29 0:09:28编辑过]

设备已经固定死了,增加物理硬件来获取是说串口一接二吗?
438
zkpig123
文章数:13
年度积分:50
历史总积分:438
注册时间:2017/5/28
发站内信
发表于:2017/5/29 9:09:48
#7楼
回复 #1楼 cfg168
通过usb虚拟串口,这样就是增加一个串口对吧,需求太多了,因为仪器上面有四个采集串口采集四个监测仪器的数据,应该没有剩下串口了。。
438
zkpig123
文章数:13
年度积分:50
历史总积分:438
注册时间:2017/5/28
发站内信
发表于:2017/5/29 10:31:06
#8楼
回复 #3楼 pqsh
监听是通过hook吗?
28164
cfg168
文章数:17098
年度积分:60
历史总积分:28164
注册时间:2012/11/28
发站内信
2018论坛解答高手
2015论坛贡献奖
发表于:2017/5/29 16:04:30
#9楼
以下是引用zkpig1232017/5/29 9:05:02的发言:
以下是引用pqsh2017/5/29 7:27:01的发言:
关键是,你读到了串口的出入数据,有没有用.
如果你能解码数据,你就能抛弃第三方,自己做出来自己的源代码.
你是想破解别人的通讯,简单的就是监听串口.
你是想利用数据,那还是从数据保存那找途径.要不然,串口的一堆数据,也是莫名其妙的.

请问怎样监听串口?我没接触过串口和串口编程,但会点c程序编写的皮毛,请教!
互联网上有可供免费下载的串口调试工具,可以在电脑的显示屏上进行检测串口返回的数据。但是在用软件监测串口的同时,你的工控机的软件无法正常使用。
工控学堂推荐视频:

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

62.4004