本項(xiàng)目操作系統(tǒng)是ubuntu20.04,應(yīng)用軟件是Qt,都是開源,因?yàn)槭钦憬瓊鹘y(tǒng)行業(yè),什么都要便宜嘛。
( D. W. |) m* Z. @: Ywin系統(tǒng)修改下配置就可以了,到時(shí)我另開一篇。 5 l) W0 ~% G* A; k7 o, H% V
S7通訊是HMI、TIA軟件和PLC的通訊方式。
9 F7 }4 ~8 p6 e9 S本項(xiàng)目涉及的通訊有:西門子S7通訊、數(shù)據(jù)庫sql2012通訊、4個(gè)tcp客戶端、10個(gè)ModbusTcp客戶端。 7 A) i# R1 j$ D, B% x
4 o2 I( M5 |: p! N# h A& T. W 本篇先開始概況性寫S7通訊,下幾篇從配置開始寫具體的操作,有不少注意事項(xiàng)。 & s" g, ?$ i$ y- q$ U2 Q1 w& I
3 N; U: ^/ R: i7 F3 n- f
簡(jiǎn)單的上個(gè)S7通訊線程的代碼截圖,至于界面,比較敏感,就不公開發(fā)了。 ; Q; o8 G N, T4 Y6 e. P
以下是讀取DB1數(shù)據(jù),從240地址開始,連續(xù)讀取8個(gè)雙字?jǐn)?shù)據(jù): 以下是連續(xù)讀取M區(qū)數(shù)據(jù),從M540開始: 以下是寫入M區(qū)的位數(shù)據(jù),bitset函數(shù)按位功能,實(shí)用:
" v/ E* O: t6 G0 X2 D: }以下的讀取浮點(diǎn)數(shù),需要注意C++和PLC數(shù)據(jù)是有大小端的,要注意轉(zhuǎn)換,轉(zhuǎn)換函數(shù)自己寫:
* ?; A1 m" s1 o- V* Q! }另外,敝司項(xiàng)目不多,購買西門子PLC有點(diǎn)高,不知是否有人要一起拼的,量大優(yōu)惠嘛。 - Z( I9 O1 }' G
|