公司新聞
上位機能不能替代PLC實現控制
發布時間: 2023-11-05 20:45 更新時間: 2024-12-27 09:10
但是如果邏輯不是很復雜,又確實不想使用PLC,也可以使用上位機來實現一定的邏輯控制,現在很多運動控制視覺項目就是這么來實現的。
PLC全稱可編程邏輯控制器,主要由輸入輸出(IO)+ 邏輯控制(程序)+ 外部接口(通信)三部分組成。
如果不采用PLC,僅僅通過上位機,我們通過一個IO采集卡,然后將PLC的邏輯控制改成上位機代碼來實現,是不是可以實現一些簡單的邏輯控制?
既然可行,給大家做一個簡單的測試,基于IO采集卡實現起保停控制。
實現原理PLC的實現原理,就是通過不斷地從上而下,從左而右來掃描PLC程序,然后對接一些IO輸入輸出,通過上位機來實現的話,實現原理可以類似,我們可以通過單獨的一個線程來實現掃描,而PLC里的每個指令,我們上位機都可以通過構造對應的類來實現。從某種意義上來說,為什么PLC實現邏輯控制比較簡單,其實是因為廠家已經幫我們封裝好了很多開箱即用的指令,我們直接調用即可。如果想使用上位機來替代PLC,PLC的IO可以采用IO采集卡,PLC指令可以自己封裝類,PLC中斷,可以通過事件來實現,通信部分上位機自然可以實現。
IO采集卡我這里采用的是正運動的一個IO采集卡,型號是ECI0032,相關參數如下所示:
ECI0032 板上自帶 16 個通用輸入口,16 個通用輸出口(帶過流保護)。
ECI0032 帶 1 個 RS232 串口,1 個以太網接口。
ECI0032 帶一個 CAN 總線接口,支持通過 ZCAN 協議來連接擴展模塊和控制器。
實現過程基本的接線和配置,我這里就不詳細闡述了,這里我將板卡的IP地址改為192.168.2.33。
這里接了兩個按鈕和一個指示燈,分別表示啟動、停止和狀態顯示。
界面設計如下所示:
當連接上IO卡之后,可以通過按鈕進行本地控制,也可以通過上位機進行遠程控制。
核心代碼:
private void ProcessControl(){
while (!cts.IsCancellationRequested)
{
//檢測到開始按鈕
if (startEdge.CheckEdgeSingal(motion.GetInput(1)))
{
motion.SetOutput(0, true);
}
//檢測到停止按鈕
if (stopEdge.CheckEdgeSingal(motion.GetInput(0)))
{
motion.SetOutput(0, false);
}
}
}
這個寫法有點類似于SCL的邏輯。
測試結果如下所示:
其他新聞
- 西門子博圖功能塊的加密和清除辦法 2024-12-27
- 西門子PLC常見問題及解決辦法 2024-12-27
- 西門子S7-200smart如何做運動控制的暫停功能 2024-12-27
- 你了解PLC選型及設計要點嗎 2024-12-27
- 用變頻器控制多臺電機同步,那么變頻器的參數要怎么設置 2024-12-27
- 西門子S7-1500 PLC項目案例,一步一步教會你 2024-12-27
- 西門子PLC200smart通信時報未找到指定的訪問節點的解決辦法 2024-12-27
- 西門子S7-1200與編碼器的連接、編程實例 2024-12-27
- 西門子S7-1500如何批量讀取和寫入機器人信號 2024-12-27
- S7-1500系列PLC與變頻器位置控制 2024-12-27
- S7-200 SMART下載時搜索不到CPU怎么辦 2024-12-27
- 西門子S7-1500冗余PLC自控項目實例分享 2024-12-27
- 為什么PLC程序中不要用M和T,為什么要需要PLC編程標準化 2024-12-27
- 工業控制系統網絡安全評估和框架圖 2024-12-27
- S7 300 PLC常見故障及處理辦法 2024-12-27
產品分類
聯系方式
- 電 話:18126392341
- 聯系人:梁濤
- 手 機:15267534595
- 微 信:15267534595