dujiang100
我是一只小小鳥
級別: 家園常客
![]() |
最近在研究VB跟歐姆龍CP1H的通信.了解到可以用串口進行HOSTLINK通信,還可以用以太網(wǎng)進行FANS通信.CP1H沒有網(wǎng)口所以不可以用FANS通信嗎?串口通信情況下,PLC處于運行時寫入不了數(shù)據(jù),只有當(dāng)PLC是監(jiān)控狀態(tài)時才能寫入.這怎么能達到隨時寫入的目的呢? |
---|---|
本帖最近評分記錄: |
xyzenter
活在當(dāng)下,順其自然
級別: 略有小成
![]() |
FINS通訊命令,0401可以讓PLC進入運行/監(jiān)控模式,0402可以讓PLC進入停止模式。 實測用0402讓PLC停止后還可以用0101和0102對DM區(qū)進行讀寫。 另:串口的hostlink模式FINS命令只能上位機控制PLC,PLC無法主動發(fā)數(shù)據(jù)給上位機。通過看w227文件,發(fā)現(xiàn)FINS幀格式自由度比較高,理論上來講可以通過修改幀里面的命令符進行PLC通過串口對上位機發(fā)送數(shù)據(jù),就好像用以太網(wǎng)發(fā)送一樣。但是歐姆龍PLC說明書里面并沒這方面的介紹。目前來說,PLC通過串口主動發(fā)數(shù)據(jù)給上位機發(fā)送數(shù)據(jù)要用無協(xié)議通訊。但是無協(xié)議通訊的話上位機無法控制PLC的開關(guān)狀態(tài)。小弟剛學(xué)歐姆龍通訊,好多東西還不懂,望論壇各位前輩不吝賜教。 |
---|---|
|
xyzenter
活在當(dāng)下,順其自然
級別: 略有小成
![]() |
如果用HostLink通訊,F(xiàn)INS指令,上位機要等待PLC某些步驟準備好,就要上位機監(jiān)控PLC某位是否是設(shè)定值,那就需要不斷循環(huán)地發(fā)讀指令,這時候串口一直在工作,上位機程序一直調(diào)用串口函數(shù),這樣會顯得很繁忙,整個程序的資源都被串口收發(fā)給占用了,程序經(jīng)常處在假死狀態(tài)。這樣的程序顯然是有很大缺陷的。 最好的解決辦法當(dāng)然是用中斷來代替循環(huán)等待。然而,F(xiàn)INS指令無法讓PLC主動發(fā)送就緒信號,無法提供這個中斷。哪位高手有辦法解決這個問題? |
---|---|
|