本项目操作系统是ubuntu20.04,应用软件是Qt,都是开源,因为是浙江传统行业,什么都要便宜嘛。
3 s {( E# ~1 z+ wwin系统修改下配置就可以了,到时我另开一篇。
7 e; R! W2 k7 p" o8 S9 }# g" MS7通讯是HMI、TIA软件和PLC的通讯方式。 2 ?1 Q: |2 Z: w% M; G
本项目涉及的通讯有:西门子S7通讯、数据库sql2012通讯、4个tcp客户端、10个ModbusTcp客户端。
! D- \. r. k+ h+ J9 Z
6 e) G' ^9 r6 r5 C
本篇先开始概况性写S7通讯,下几篇从配置开始写具体的操作,有不少注意事项。 3 P4 K. U U: t
& {) H: f+ ` r0 ?: z. v, w
简单的上个S7通讯线程的代码截图,至于界面,比较敏感,就不公开发了。
3 B2 d1 |/ N% b3 ~/ p以下是读取DB1数据,从240地址开始,连续读取8个双字数据: 以下是连续读取M区数据,从M540开始: 以下是写入M区的位数据,bitset函数按位功能,实用: + Y! } R/ |% Z+ ^1 C* Z, q
以下的读取浮点数,需要注意C++和PLC数据是有大小端的,要注意转换,转换函数自己写:
5 a( D0 P3 g3 Y" [- L! [. L4 W另外,敝司项目不多,购买西门子PLC有点高,不知是否有人要一起拼的,量大优惠嘛。 9 O6 t" m% l% t) V/ I# P
|