上位机是如何采集下位机发送的串口数据的???

下位机是西门子s7-200PLC,下位机要采集4路模拟量数据,并经各种转换后,在上位机上自动显示这四路数据,上位机用的是VC++的MFC编写的,上位机和下位机用的是RS4... 下位机是西门子s7-200PLC,下位机要采集4路模拟量数据,并经各种转换后,在上位机上自动显示这四路数据,上位机用的是VC++的MFC编写的,上位机和下位机用的是RS485通讯的,只用到一个COM口(假设为COM3)。
我想知道的是,下位机是如何发送这四个数据,是在一个报文内同时发送,还是分四个报文发送?上位机是如何采集这四个数据,并把每个数据都关联一个变量,然后再把各个数据显示在指定的EDIT控件位置上的?
本人是新手,不懂,望高人指点迷津……
展开
 我来答
fengyuemao
推荐于2017-09-27 · TA获得超过141个赞
知道小有建树答主
回答量:96
采纳率:50%
帮助的人:26.4万
展开全部
RS485总线通信,上位机通过主机轮询的方式采集下位机信号! 也就是说下位机不能够主动发送信号,而是上未机通过地址依次读取这四路的报文并打印显示出来;每次通信都是有上位机发起的握手信号,下位机接收到信息后判断是不是自己信息,如果是则发送数据
追问
不是四个COM口,总共只有一个COM口,是从PLC出来接到PC机上的。
我知道如果是多个串口(也就是多个PLC,每个PLC采集一路模拟量)的话,上位机可以通过串口的地址依次读取每个串口的数据,也就是你说的轮询啊,握手啊之类的过程。
但是我是一个COM口(一个PLC)传送四个变量(采集四路数据),这种情况下,上位机怎么区分这四个变量(假设有两个温度、两个压力的数据)啊?
追答
举个例子:温度传感器T1,T2,压力传感器P1,P2,分别给T1,T2,P1,P2赋予地址1,2,3,4;那么把四个传感器挂载在485总线上,我的PC机只要通过一个COM分别发送信息去读取地址1,2,3,4的内容就可以了。比如我现在的上位机发送信息读取地址2号的内容,T1,T2,P1,P2都会接收到上位机发送过来的信息,通过判断信息发现地址为2那么T1,P1,P2直接把数据包丢弃,只有T2的地址匹配然后T2发送数据给上位机;上位机通过地址1,2,3,4轮询这四个设备,因为速度快所以看起来是4个设备是同时收发数据
prclijialu
推荐于2017-10-15 · TA获得超过520个赞
知道小有建树答主
回答量:700
采纳率:100%
帮助的人:213万
展开全部
下位机(比如单片机)通过串口线(比如RS232)发送数据给上位机(PC),下位机部分主要程序就是将数据按照一定的封装格式打包好数据,然后配置好串口相关参数(比如波特率,校验位什么的),上位机需要有软件将串口获得的数据再根据封装格式还原成你需要的数值,这就是整个过程了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-10-10
展开全部
根据通讯协议,一般是单个数据,也可以是四个数据
http://wenku.baidu.com/view/a00ce0c36137ee06eff9180d.html
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式