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