项目实现与总结--基于Qt5与S7-1200间的ModbusTCP和Socket通讯

项目实践与总结-Qt5+西门子S7-1200 PLC-项目概述

  • 项目需求
  • 方案

项目需求

最近公司接了几台非标设备,甲方抛过来的技术协议很长,主要有以下几点:

  1. 上位机要求为IPC,操作系统限Windows
  2. 上位机软件同时支持中英文
  3. 软件具备一定柔性,可以通过简单配置,来适应后续的新产品迭代与换型
  4. 工艺与过程数据要可存储,通过二维码与产品绑定,用于后续追溯
  5. 设备具备远程维护能力
  6. 设备电气控制采用PLC,品牌限定西门子

方案

以前非标项目做过多个,但基本都是PLC+触摸屏(HMI),为数不多的几个项目采用过PLC+力控组态软件。
针对此次项目需求,感觉用组态软件不够灵活,无法满足客户的全部要求,所以决定自己写上位机软件。
项目的难点在于自己写软件的话要实现一套PC和PLC的通信机制,好在西门子的S7-1200PLC本身对通信的支持比较好,支持ModbusTCP,也支持OPENIE即标准的TCP/IP通信。
另外不得不提的是,做这个项目之前,我写PC端上位机软件的经验限于两年前写过一个小软件来监控特定目录,发现目录下有新文件生成时根据文件内容对其进行重命名。编程语言采用的是C++,大学期间存下的一点底子。至于IDE,也只是对Qt Creater还算熟悉。
项目持续了三个月,中间趟过很多坑,边学边做,现在基本完成,在CSDN取过不少经,现在做个项目总结,希望对有类似开发需求的人提供些许启发。
今天这篇文章只是简单介绍下这个项目,后续会针对一些在项目进行过程中趟过的坑或我认为比较重要的知识点增加几篇文章。
下面上几张图片
项目实现与总结--基于Qt5与S7-1200间的ModbusTCP和Socket通讯_第1张图片
项目实现与总结--基于Qt5与S7-1200间的ModbusTCP和Socket通讯_第2张图片
项目实现与总结--基于Qt5与S7-1200间的ModbusTCP和Socket通讯_第3张图片

你可能感兴趣的:(技术总结)