參數(shù)配置如圖。
程序是手冊(cè)里的例程。
與no.2設(shè)備通信時(shí),用調(diào)試助手發(fā)現(xiàn)可以連接得上,sd10680.1接通。
但是置位M2000發(fā)送時(shí)數(shù)據(jù)會(huì)出現(xiàn)c1b1的報(bào)警,接收也會(huì)出現(xiàn)c1b1報(bào)警。
手冊(cè)里的內(nèi)容,C1B1H 指定連接的開放處理未結(jié)束。 處理方法,進(jìn)行開放處理,并在開放結(jié)束后進(jìn)行通信。
plc作為服務(wù)器只是偵聽,被動(dòng)等待鏈接,不需要像客戶端那樣主動(dòng)要求連接。
有個(gè)問題,上圖參數(shù)配置中,plc與no.2設(shè)備連接時(shí),plc是作為服務(wù)器,no.2設(shè)備是作為客戶端吧?
20200114
no.2設(shè)備連接改為用unpassive方式,和調(diào)試助手連上了,無(wú)論收發(fā)都會(huì)出現(xiàn)上述報(bào)警。
終于找到問題了。還是自己沒有仔細(xì)看好手冊(cè),沒有對(duì)指令理解好。
上述指令通道2時(shí)應(yīng)該選擇k2,而不是k1,該參數(shù)的取值范圍是從k1~k8。我一開始以為指令輸入?yún)?shù)中的“u0”就可以表示通道了,其實(shí)這個(gè)也是錯(cuò)的。
為什么報(bào)錯(cuò)指定連接的開放處理未結(jié)束,其實(shí)就是我一直對(duì)通道1進(jìn)行操作,而通道1中plc是作為客戶端的,需要主動(dòng)連接。
這也解釋中間遇到其他因?yàn)檫@個(gè)錯(cuò)誤而造成的現(xiàn)象。
1:中間遇到如果no.1設(shè)備連上后,那么與no.2設(shè)備進(jìn)行連接后通信收發(fā)是不會(huì)報(bào)錯(cuò)的,no.1連上后,已經(jīng)打開完成了,no.2程序中使用收發(fā)指令不會(huì)出現(xiàn)開放處理未結(jié)束報(bào)警。
2:當(dāng)no.1和no.2都連上后,與no.2的數(shù)據(jù)發(fā)送都出現(xiàn)在no.1中。
感謝給予幫助的網(wǎng)友!
[ 此帖被勤工儉學(xué)在2020-01-14 10:47重新編輯 ]