精華區beta Programming 關於我們 聯絡資訊
※ 引述《GreatShot (我要拿Ph.D.!!!)》之銘言: : 我來分享我的經驗好了 : 一般來說大一點的工廠都會有個圖控軟體在做某部份的控制 : 有些額外的機器可能不受圖控軟體直接控制(沒有driver之類的) : 這時候你就要自己去寫程式 : 你寫的程式是負責擷取機器資料以及發送指令給機器(透過RS232) : 而圖控軟體與你的程式可以用ODBC或是DDE之類的方式進行溝通 : (DDE只有VB6有支援喔) : 架構是這樣 : 圖控軟體 <---DDE--->VB6程式<--RS232-->地震儀、毒氣分析儀、blahblahblah : : 有的硬體只吃byte指令(就是你要自己送0101010進去) : 有的硬體有良心一點會吃ascii指令(你可以送 'get_oxygen_value' 這樣的字串進去) : : 這時候溝通就會有點像TCP/IP一樣有handshake的動作 : 你送訊號 機器接收訊號後回傳你送的訊號 : 你檢查回傳值之後證明機器目前狀態正常 確保回傳的值會是正確的 請教一下, 這個檢查是 polling RS-232 serious I/O port 還是 Polling Flag ? 這種 COMM 程式是否有支援 up-call 的功能 ? 也就是說不用自己寫一 個 check loop 不停的做 polling I/O 的動作, 當 I/O port ready 時 系統就會自動呼叫某個宣告為 up-call 處裡的 function , 這個 function 再自己去設定 flag 給自己的後續處理程式. : : 此時你再送指令 : 機器就會回傳你需要的數值或是執行你要的動作 : 以上動作就像上一篇說的一樣 : : 用MSCOMM都可以做到 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.1.146