上位机是如何采集下位机发送的串口数据的???
下位机是西门子s7-200PLC,下位机要采集4路模拟量数据,并经各种转换后,在上位机上自动显示这四路数据,上位机用的是VC++的MFC编写的,上位机和下位机用的是RS4...
下位机是西门子s7-200PLC,下位机要采集4路模拟量数据,并经各种转换后,在上位机上自动显示这四路数据,上位机用的是VC++的MFC编写的,上位机和下位机用的是RS485通讯的,只用到一个COM口(假设为COM3)。
我想知道的是,下位机是如何发送这四个数据,是在一个报文内同时发送,还是分四个报文发送?上位机是如何采集这四个数据,并把每个数据都关联一个变量,然后再把各个数据显示在指定的EDIT控件位置上的?
本人是新手,不懂,望高人指点迷津…… 展开
我想知道的是,下位机是如何发送这四个数据,是在一个报文内同时发送,还是分四个报文发送?上位机是如何采集这四个数据,并把每个数据都关联一个变量,然后再把各个数据显示在指定的EDIT控件位置上的?
本人是新手,不懂,望高人指点迷津…… 展开
展开全部
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个设备是同时收发数据
2014-10-10
展开全部
根据通讯协议,一般是单个数据,也可以是四个数据
http://wenku.baidu.com/view/a00ce0c36137ee06eff9180d.html
http://wenku.baidu.com/view/a00ce0c36137ee06eff9180d.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询