前言之前寫了一篇文章,,關于上位機能不能代替PLC實現控制: “上位機能不能代替PLC實現控制,?” 這篇文章引發(fā)了很多小伙伴的討論,我摘取幾個比較典型的:
個人理解首先,,我個人認為上位機是可以替換PLC的,,但并不一定可以代替全部PLC。 其實工業(yè)現場已經有很多這樣的應用,,尤其是在一些運動控制,、機器視覺的項目里,在沒有PLC的情況下,,所有的邏輯都是在上位機來實現的,。 可能有些小伙伴理解有誤,其實我寫那篇文章的目的,并不是說要使用上位機來代替PLC,,這個我在文章里也說明了,。 因為上位機的宗旨不是為了取代PLC,而且為了和PLC更多地融合,,PLC發(fā)展這么長時間,,事實證明,是一個非常成功的工業(yè)控制器,。然而,,PLC只是控制器的一種,是使用頻率比較多,,應用場合比較多,,而且性價比比較高的一種,但這并意味著所有的項目必須要使用PLC,,比如很多小型項目,,可能自己做單片機的成本更低,運動控制視覺項目,,可能采用運動控制卡的方式實現起來性價比更高,。
其次,,上位機并不意味著就是C#,,也并不意味著就一定是Windows系統(tǒng)。 除了我們常規(guī)的PLC模塊,,還有一種稱為軟PLC,。 這個其實倍福做的一直都是,后面西門子等其他大廠也一直在致力于做這樣的產品,。 軟PLC也被稱為軟件控制器,,它是一套軟件系統(tǒng),可以根據需要安裝到不同的硬件環(huán)境中,。其實就相當于把常規(guī)PLC的軟件部分單獨拿出來,,適配到不同的硬件中,從而形成新的PLC,。 因此,,軟PLC需要基于某種操作系統(tǒng)(比如Windows或Linux),它至少包括兩個部分:編程開發(fā)環(huán)境和運行時(runtime),,編程開發(fā)環(huán)境用于編寫/編譯/下載PLC程序,;運行時將原操作系統(tǒng)改造成PLC實時環(huán)境,,并運行用戶下載的程序,。 CODESYS是典型的軟PLC,當然,西門子也有軟PLC產品——SIMATIC S7-1500軟件控制器,。S7-1500軟件控制器(軟PLC)必須安裝到西門子的工業(yè)計算機上,,它是一套運行在Windows系統(tǒng)上的軟件產品。準確來說,,S7-1500軟件控制器采用Hypervisor技術,,將工業(yè)計算機的資源分成兩部分,一部分用于運行Windows系統(tǒng)及其程序,;另一部分用于運行軟PLC,。兩者之間保留SIMATIC通信功能,但Windows系統(tǒng)及其程序無權訪問軟PLC的資源,。 我認為,,如果使用C#結合Windows系統(tǒng),來代替PLC,,最大的瓶頸在于實時性,,而不是可行性,因為Windows操作系統(tǒng)本身是一個多用戶多任務操作系統(tǒng),,并不是一個實時系統(tǒng),,但是如果我們不使用Windows系統(tǒng)呢,所以,,未來,,還有很多東西,值得我們去探索,。 測試實時性另外,,還有小伙伴比較關心,上位機讀取IO的實時性,,借此機會,,給大家測試一下,不同環(huán)境,,不同配置電腦可能有所不同,,測試結果僅供參考: 連續(xù)讀取100次: 連續(xù)讀取1000次: 連續(xù)讀取10000次: 測試了很多次,基本上結果都是比較穩(wěn)定的,,單次讀取大約在0.38ms,,對于要求不是特別高的項目來說,一般是可以滿足要求的,。 |
|