發布日期:2022-04-17 點擊率:44 品牌:西門子_Siemens
在實際應用過程中,某些時候可能會采用VB/DELPHI/VC等高級語言,自主編程與西門子PLC進行通訊,這類帖子、論文在網上都可以找到,在此總結一下。
1、Prodave通訊
Prodave是西門子提供的一個軟件包,為高級語言編程和plc通訊提供接口。
通訊接口:MPI
因為MPI口是每塊cpu的編程口,所以plc不需要另外添加通訊模塊,這個方案就比較經濟,而且prodave軟件包里面附帶了example和詳細的說明,用起來應該比較簡單和方便(本人只匆匆看過文檔,沒有實驗過)。這方面的資料在百度上很多。當然,mpi的速度是有限的,如果采用普通的pcadapter連接pc和plc,最高速度也就38.4kbps,我不知道prodave能否支持mpi卡(5611之類的話),如果可以的話速度可以達到187.5kbps。
2、串行通訊
看到過一些論文,采用串行通訊的方法實現pc和plc通訊。這種情況存在幾點要求:
a、需要為plc添加一塊串行通訊模塊,比如300的話就需要cp340或者cp341(前者便宜些);
b、plc里面需要對串行通訊進行編程,其實也就是接收報文和發送報文,調用fb2/fb3(cp340的話)。
c、串行通訊的速度是有目共睹的,而且cp340或者cp341的數據吞吐量也是有限的,即報文長度是有限制的,因此個人認為通訊數據量大的話采用串行通訊就不合適了。
d、報文格式的話就比較自由,但是也應當合理,我雖然沒有具體實驗過,但是個人認為可以參考modbus的報文結構來編程,甚至就采用modbus的規范,不過這樣的話要求編程者對pc和plc側的modbus編程都要熟悉。
3、OPC
Opc是這些年來很流行的東西,其實我很討厭opc的安全認證的設定。不過采用opc編程來訪問plc真的是一件非常輕松愜意的事情。你需要做的就是了解opc的結構和編程,尤其是采用vb來編寫opc簡直是件傻瓜化的工作當然也犧牲了很多。
前面我實驗了用vb通過opc(以太網)來訪問300,包括用西門子的simaticnet提供的opc接口和第三方的kepserver。
采用opc接口編程的優點:通訊速度快,編程簡單。
4、以太網編程
采用以太網編程訪問plc,其實又可以分為兩種:
一種是socket接口,需要在plc里面編程進行收/發,大概是fc5/fc6吧,印象不深了,當然plc里面要定義一個connection,填好地址、端口號之類的信息,這個對于熟悉西門子工業通訊的人是很easy的事情。Pc側采用socket接口編程,最簡單的就是vb里面的wisock控件,當然這掩蓋了很多細節。Socket編程本來就是一門藝術,講究說學逗唱:)
這個方法的優點應該是pc側編程稍微簡單點(相對于后一種),而且可以不局限于windows平臺,因為socket接口被諸如unix支持的更好。
第二種是采用西門子的sapi接口函數,這樣plc里面不需要過多的編程了,當然pc側的編程難度就比較高了,ms只能用c來寫,所以我望而卻步鳥。看過相關帖子和論文,有高人在項目里面就這么干的,而且數據量很大,看來高人很多很多啊,向他們致敬!關于sapi的資料其實都在simaticnet軟件光盤里面,有興趣的可以去找來看看。
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV