组态王和stm32之间通信笔录

来源:互联网 发布:关于孙悟空的网络歌曲 编辑:程序博客网 时间:2024/05/17 12:52

组态王是亚控科技开发的一款上位机软件,上位机是一种软件只能在电脑上运行,对控制的设备而言没有任何意义,和MCU通讯进行数据交换,最终还是由MCU控制设备运行

上位机主要是现实作用,之所以能控制MCU是某个按钮或数据经过通讯链接到MCU的相应地址从而改变MCU程序数据状态控制设备,上位机可以更直观的控制设备,可以代替按钮和仪表显示。如果设备离开上位机照样可以运行,如果离开MCU设备就运行不了了。


建立新组态王工程的一般过程是:

1.设计图形界面(定义画面)
2.定义设备
3.构造数据库(定义变量)
4.建立动画连接

5.运行和调试

通信方式:串行口和上位机交换数据

传输协议:ASCLL通信协议,内容简单,但由于其传输数据类型的局限性大,可用于传输数据的寄存器较少,并且要需要经过复杂的数据类型转换,。

ModbusRTU协议---基于消息队列的协议,协议通过监测相应的消息来完成对应功能。

初步设想,在下位机程序初始化时配置好设备地址、波特率以及校验方式,同时在组态王上建立设备时选择PLC/莫迪康/ModbusRTC/com,参数的配置要与下位机的保持一致。

更新中。。

今天组态王和stm32单片机终于成功了。

首先组态王方面

第一步、建立工程

第二步、新建I/0口设备,并配置其波特率,校验位,数据位,停止位,波特率和单片机相同。选择莫迪康- modbusRTU




第三步、定义变量

打开数据字典,双击新建按钮。


连接设备选择刚刚新建的设备,寄存器选择40001,(可以参考帮助文档)确定按钮,搞定。

第四步、新建画面,创建文本。


第五步、运行系统,画面切换view模式。成功。

小结:在此过程中,我遇到很多麻烦。我首先测试了,组态王和串口助手的通信,串口发送modbus协议格式报文,当串口收到组态王发过来的数据然后发送报文,组态王可以收到串口助手数据。(这需要仔细研究协议格式,crc校验需要正确,波特率校验位也要一致)。此过程中用到虚拟串口软件vspd,及crc校验生成器。如果组态王和串口助手未能成功还可以进行在组态王测试I/o口设备


2、以上成功后,可以按照modbus协议调试单片机代码,单片机和串口助手实现报文格式通信,最后将虚拟串口删掉,连接组态王串口,最后终于成功了。

3、另外次过程中还有其他收获,例如modscan32MODBUS测试的使用。在这就不列举了。

自我认知:革命尚未成功,同志仍需努力。希望高手指出不足。也希望和朋友继续学习继续探讨解决问题。附上我的企鹅号:2013462220

1 0