本项目操作系统是ubuntu20.04,应用软件是Qt,都是开源,因为是浙江传统行业,什么都要便宜嘛。
/ m+ N5 p2 O# w/ q2 ]win系统修改下配置就可以了,到时我另开一篇。 , Q/ j2 ^( u! Z5 w2 V1 j
S7通讯是HMI、TIA软件和PLC的通讯方式。 9 S2 d, ?9 f5 o$ G* ~3 V
本项目涉及的通讯有:西门子S7通讯、数据库sql2012通讯、4个tcp客户端、10个ModbusTcp客户端。
1 I, _+ A4 H: F6 w0 k+ u- U
( k/ m2 i6 D9 b& {5 d- [
本篇先开始概况性写S7通讯,下几篇从配置开始写具体的操作,有不少注意事项。
" T6 ?* Y5 o/ r, c s/ \8 [1 i
; w2 v& A& Z9 e7 v6 f$ u- k
简单的上个S7通讯线程的代码截图,至于界面,比较敏感,就不公开发了。
' o4 J3 _8 N3 z: P- K4 |: w/ F以下是读取DB1数据,从240地址开始,连续读取8个双字数据: 以下是连续读取M区数据,从M540开始: 以下是写入M区的位数据,bitset函数按位功能,实用:
e+ D3 f# g8 J% j. Y以下的读取浮点数,需要注意C++和PLC数据是有大小端的,要注意转换,转换函数自己写: 4 F. Z% K: Z. j5 Z
另外,敝司项目不多,购买西门子PLC有点高,不知是否有人要一起拼的,量大优惠嘛。
9 r m8 N7 K+ `7 N2 y |