机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 2767|回复: 1

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

[复制链接]
发表于 2020-7-16 00:09:09 | 显示全部楼层 |阅读模式
本项目操作系统是ubuntu20.04,应用软件是Qt,都是开源,因为是浙江传统行业,什么都要便宜嘛。
/ o! |$ Z* z9 J$ U" A5 y9 W
win系统修改下配置就可以了,到时我另开一篇。
( |4 S6 u1 G; ~2 x
S7通讯是HMI、TIA软件和PLC的通讯方式。
& t+ p" O+ y; `6 ~$ F* Z
本项目涉及的通讯有:西门子S7通讯、数据库sql2012通讯、4个tcp客户端、10个ModbusTcp客户端。

. {4 h9 M" `+ V9 @! H2 s- ]+ Q' k* p0 W, \+ t2 _
本篇先开始概况性写S7通讯,下几篇从配置开始写具体的操作,有不少注意事项。
6 i1 w- U* D, t: z# ?3 L$ c4 O

" ]- X' {$ X- {2 F7 I, Y4 g
简单的上个S7通讯线程的代码截图,至于界面,比较敏感,就不公开发了。
) H7 b) D9 N2 b% q
以下是读取DB1数据,从240地址开始,连续读取8个双字数据:
以下是连续读取M区数据,从M540开始:
以下是写入M区的位数据,bitset函数按位功能,实用:

( W+ _6 L; G1 o" [+ _
以下的读取浮点数,需要注意C++和PLC数据是有大小端的,要注意转换,转换函数自己写:
6 U; a# G! D4 t5 M. ~
另外,敝司项目不多,购买西门子PLC有点高,不知是否有人要一起拼的,量大优惠嘛。

$ u: y' W# R& `$ w) G# \
回复

使用道具 举报

发表于 2020-7-16 21:43:29 | 显示全部楼层
不明觉厉。
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|机械社区 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2025-5-3 08:50 , Processed in 0.062714 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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