⑴ 组态王与单片机通讯变量实时显示时不能接收。我用串口监视精灵监视发现组态王只发送部接收数据。为什么啊
第一,检查通信物理连接是否正确
第二,检查通信协议是否一致
第三,检查数据是否正确
第四,检查单片机方有否回应
⑵ 组态王与单片机能用自定义通信吗
根据组态王使用手册上面说,用户可以自己开发驱动程序,即可以自定义通信。详见组态王使用手册第六章第四节6.4。
⑶ 请问MCGS组态王和单片机modbus rtu通信,当通信几分钟就失败了,
你可以通过串口工具查看数据帧,看通信中断的时候是什么帧结构,一般能有一个初步的判断
(1)设备回了数据帧,并且是对的,问题出在组态王
(2)设备回了数据帧,是错误的,检查单片机程序
(3)设备没有回数据帧,检查链路或者程序
⑷ 组态王和单片机通信出现如下的问题可能是什么原因呢
考虑一下这个问题:
读取模拟量输入的03功能码(用于兼容组态王)
需要新增一个03功能码应答。
组态王的Modbus RTU驱动会发送一个查询报文。使用功能码03,EIO-S需要应答此报文,如果不应答,组态王会等到超时之后才会执行下一条指令,从而严重影响拖慢执行时间。
01 03 00 00 00 02
组态王发送查询报文:[01] [03] [0000] [0002] [C40B]
[01]:设备地址
[03]:03功能码读取模拟量
[0000]:开始地址
[0002]:要读取的寄存器数量,1个寄存器2个字节,2个寄存器就是需要返回4个字节。
[C40B]:CRC校验
EIO-S应答:[01] [03] [04] [00 00 00 00] [FA 33]
[01]:地址码
[03]:功能码
[04]:返回的数据字节数,发送报文要读取2个寄存器,所以返回4个字节。
[00 00 00 00]:4个数据字节,目前只返回00,以后可以放入温湿度、模数值等。
[FA 33]:CRC校验。
01 03 04 00 00 00 00
⑸ 单片机和组态王怎么通信
组态王通信是分tcp/ip方式,串口方式(rs232,rs485),单片机也采样同样的方式。如串口方式,要设置波特率,数据位数长度,校验位等,两者要一致。更主要的是,组态王通信是有协议的,单片机也必须按这个协议来写程序才行,是很麻烦的,很复杂的。