工控论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 35|回复: 0

[HMI/SCADA] 组态王机与51单片机(STC15F2K60S2)通信示例源码

[复制链接]

223

主题

225

帖子

147

积分

初级会员

Rank: 2

工控币
147
发表于 2019-12-25 23:52:34 | 显示全部楼层 |阅读模式
厂商
厂商: 其他
程序思路:组态王向51单片机通讯总共就两条命令读命令和写命令,读命令共分三条,字节读和双字和浮点读三条命令,写命令也分三条,字节读和双字和浮点读三条命令,读时的三条命令的数据长度都一样都是14个ASSIC码,而且单片机回传的数据分别是10个ASSIC码和12个ASSIC码和16个ASSIC码
                    40  30 31 30 32 30 30 30 31  0D                                 数据是1个字节2个ASSIC码
                   [字头-地-址-字节--数-据-异或值-字尾]
                    40  30 31 30 32 30 30 30 31 30--30  0D                         数据是2个字节4个ASSIC码
                   [字头-地-址-字节--数-------据-异或值-字尾]
                    40  30 31 30 32 30 30 30 30 30-30-30-30----31-30--0D         数据是4个字节8个ASSIC码
                   [字头-地-址-字节--数-------------------据---异或值-字尾]
写时的命令组态王分别发送字节16个ASSIC到单片机,双字节是18个ASSIC和浮点22个2ASSIC码
单片机只需回答正确和不正确的俩条命令 40 30 31 23 23 30 31 0D
然后再把数据处理就可以了如果不理解请仔细阅读组态王与单片劫ASSIC通讯手册。
与组态王通讯时请注意选择的单片机晶震频率和波特率及效验否则无法通讯成功
          本次测试组态王只支持19200波特率,再高的波特率没有成功,
          不知道是何原因难道组态的原因吗?
        功能描述:                        接收组态王的数据
(组态王发送来的数据有读都是14个ASSIC,
                       bite写16个ASSIC,
                       word写18个ASSIC,
                       FLOAT写22个ASSIC,
单片机回传----读单字节时正确回传10个个ASSIC,读双字节时正确回传12个个ASSIC,读浮点时正确回传16个个ASSIC,
                读时不正确回传8个个ASSIC
单片机回传----写时正确回传  8个个ASSIC,
                写时不正确回传8个个ASSIC  

代码有详细注释
1.png

组态王上位机界面

测试.jpg

组态王与单片机通讯协议.doc

 可以先预览文档前3页,然后再选择下载 
组态王与单片机通讯协议.doc (176.5 KB, 售价: 5 工控币)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|手机版|工控技术网 |网站地图

GMT+8, 2020-1-27 11:56

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表