setchen 发表于 2020-7-16 00:09:09

C++开发西门子PLC上位机

本项目操作系统是ubuntu20.04,应用软件是Qt,都是开源,因为是浙江传统行业,什么都要便宜嘛。
win系统修改下配置就可以了,到时我另开一篇。
S7通讯是HMI、TIA软件和PLC的通讯方式。
本项目涉及的通讯有:西门子S7通讯、数据库sql2012通讯、4个tcp客户端、10个ModbusTcp客户端。

本篇先开始概况性写S7通讯,下几篇从配置开始写具体的操作,有不少注意事项。

简单的上个S7通讯线程的代码截图,至于界面,比较敏感,就不公开发了。
以下是读取DB1数据,从240地址开始,连续读取8个双字数据:http://upload.gongkong.com/Upload/gongkong/technicalDataImage/202007/15/70b30538e28c48968a563dfa39b9d1ae_w.png以下是连续读取M区数据,从M540开始:http://upload.gongkong.com/Upload/gongkong/technicalDataImage/202007/15/e6345d45cca64163b0a701910422c0d1_w.png以下是写入M区的位数据,bitset函数按位功能,实用: http://upload.gongkong.com/Upload/gongkong/technicalDataImage/202007/15/3223a55d4fc74976a13466f5fdcdd5e4_w.png
以下的读取浮点数,需要注意C++和PLC数据是有大小端的,要注意转换,转换函数自己写:
http://upload.gongkong.com/Upload/gongkong/technicalDataImage/202007/15/db21024e08f444589d706e7715d054ed_w.png另外,敝司项目不多,购买西门子PLC有点高,不知是否有人要一起拼的,量大优惠嘛。

未来第一站 发表于 2020-7-16 21:43:29

不明觉厉。
页: [1]
查看完整版本: C++开发西门子PLC上位机