chinazhu6666
嚴謹求實
級別: 網(wǎng)絡(luò)英雄
![]() |
設(shè)備1:臺達DVP40EH00T2(RS232,8針圓形接口,預設(shè)與某觸摸屏進行通信) (RS485,2接線柱,預設(shè)接RS232-RS485雙向轉(zhuǎn)換器的RS485端口) 設(shè)備2:某測量儀(RS232C,插頭為RJ45通用8針網(wǎng)線水晶頭,預設(shè)接RS232-RS485雙向轉(zhuǎn)換器的RS232端口) 設(shè)備3:RS232-RS485雙向轉(zhuǎn)換器 工程目標:使用PLC向測量儀發(fā)送串行指令,測量儀接受到串行指令后回傳給PLC測量數(shù)據(jù),PLC自動將回傳的數(shù)據(jù)處理成10進制數(shù)并存儲。 1 ![]() 測量儀通訊設(shè)置為固定模式,無法更改,9600,EVEN,1,8。此測量儀需要發(fā)送串行指令才能輸出測量值。指令為M0,0 CR 2 ![]() 上圖是我使用串口調(diào)試程序連接測量儀,輸入4D 30 2C 30 0D,對應(yīng)ASCII碼為M0,0 CR 返回的數(shù)據(jù)如接收數(shù)據(jù)區(qū)所示,對應(yīng)ASCII碼為M0,+0023.833,+0023.841CR 我需要的就是這兩個返回的測量值,+0023.833,+0023.841 3 ![]() 上圖是我是用電腦自帶的超級終端連接測量儀,直接輸入M0,0 返回的數(shù)據(jù)如圖所示,M0,+0023.833,+0023.841 我的問題就是在PLC編寫通信指令,發(fā)送串行指令M0,0給測量儀,然后接受這兩個測量的數(shù)據(jù)回到PLC。哪位大神幫忙看看。我以前沒寫過。謝謝了。再幫看看通信的接線是否有問題。 [ 此帖被chinazhu6666在2014-01-10 15:27重新編輯 ] |
|
---|---|---|
|
chinazhu6666
嚴謹求實
級別: 網(wǎng)絡(luò)英雄
![]() |
謝謝啊,關(guān)鍵是如何把指令M0,0CR發(fā)送出去,樓上說對應(yīng)好相應(yīng)的物理地址,就這個不太會啊 ![]() |
|
---|---|---|
|
chinazhu6666
嚴謹求實
級別: 網(wǎng)絡(luò)英雄
![]() |
圖片:
![]() 看看這段程序,DO到D3沒數(shù)據(jù)回傳啊。哪的問題 ![]() 使用的是ASCII模式,8位數(shù)據(jù)傳輸。 |
|
---|---|---|
|
chinazhu6666
嚴謹求實
級別: 網(wǎng)絡(luò)英雄
![]() |
額,我設(shè)長了,還是不行啊,該不會是這種通訊方式不行吧,也幫助看看圖片1我那樣接通信線是否有問題啊 |
|
---|---|---|
|
chinazhu6666
嚴謹求實
級別: 網(wǎng)絡(luò)英雄
![]() |
圖片:
![]()
樓上大哥說的檢測方法很好啊,謝謝。我測試下雙向轉(zhuǎn)換這條通信線(這條線是我自己做的),還有這個雙向轉(zhuǎn)換器,也需要測試(幫看看這個轉(zhuǎn)換器是否可行)。另測量儀和電腦之間的通信是測量儀公司提供的一條通信線,一端是232C,一端是DB-9的 [ 此帖被chinazhu6666在2014-01-13 09:35重新編輯 ] |
|
---|---|---|
|
chinazhu6666
嚴謹求實
級別: 網(wǎng)絡(luò)英雄
![]() |
圖片:
![]()
樓上的哥說的H86是沒結(jié)束字和起始字要求的,看這個圖,那測量儀要求連接PLC通信時必須加加字符STX,ETX,看看我設(shè)置的是否正確 給測量儀發(fā)送的串行指令是:M0,0CR 所以PLC給測量儀發(fā)送的數(shù)據(jù)內(nèi)容我就設(shè)置成:STX M0,0 CR ETX 對應(yīng)ASCII碼: STX :H02 M:H4D 0:H30 ,:H2C 0:H30 CR:H0D ETX:H03 [ 此帖被chinazhu6666在2014-01-13 09:48重新編輯 ] |
|
---|---|---|
|
chinazhu6666
嚴謹求實
級別: 網(wǎng)絡(luò)英雄
![]() |
用電腦與測量儀之間通信時,使用串口調(diào)試發(fā)送數(shù)據(jù)沒有加STX,ETX的,輸入4D 30 2C 30 0D,就出數(shù)據(jù)了。電腦自帶的超級終端連接測量儀,直接輸入M0,0,就出數(shù)據(jù)了。 我筆記本沒DB-9的串口,所謂的電腦是臺式機。臺式機有DB-9的串口。使用串口軟件與PLC接收、發(fā)送數(shù)據(jù)我需要重新做線。臺達的這臺PLC有2個端口,8針圓形RS232和2接線柱RS485。做8針圓形RS232與DB-9的線是一種方式,做RS485和DB-9的線是另一種方式。 |
|
---|---|---|
|
chinazhu6666
嚴謹求實
級別: 網(wǎng)絡(luò)英雄
![]() |
我現(xiàn)在是用PLC的RS485,通過RS232-RS485雙向轉(zhuǎn)換器連接電腦DB-9的串口,然后使用串口調(diào)試精靈測試,PLC與電腦之間可以互相通信(互傳數(shù)據(jù)),證明RS232-RS485雙向轉(zhuǎn)換器是么有問題的。然后我重新做了插頭,使用RS232-RS485雙向轉(zhuǎn)換器連接測量儀和PLC,也可以互傳數(shù)據(jù)了。現(xiàn)在就是傳回來的數(shù)據(jù)有點問題。需要處理。我再研究下。謝謝各位大神的指導。 |
|
---|---|---|
|
chinazhu6666
嚴謹求實
級別: 網(wǎng)絡(luò)英雄
![]() |
圖片:
![]()
圖片:
![]()
圖片:
![]()
圖片:
![]() 如上圖所示,整個程序,我就是選擇COM2,RS485通信,格式是8,E,1. 需要PLC每次發(fā)送固定的數(shù)據(jù)M0,0 加上起始符,第一結(jié)束符,第二結(jié)束符就是:3A 4D 30 2C 30 0D 0A(電腦接收) 需要電腦每次發(fā)送的固定數(shù)據(jù)是M0,+0023.796,+0023.832(PLC接收) 這程序使用串口調(diào)試精靈來通信,結(jié)果每次發(fā)送和接收的數(shù)據(jù)都不一樣。為什么 [ 此帖被chinazhu6666在2014-01-15 09:31重新編輯 ] |
|
---|---|---|
|
chinazhu6666
嚴謹求實
級別: 網(wǎng)絡(luò)英雄
![]() |
圖片:
![]()
使用串口的自動發(fā)送功能,每次接收到的數(shù)據(jù)一點規(guī)律都沒。大神推薦一款有源RS232-RS485轉(zhuǎn)換器吧。我在網(wǎng)上看的都不能用在PLC通信上啊。 圖片所示就是有源RS232-RS485雙向轉(zhuǎn)換器,外接電源9-30V。賣家說有使用到PLC通信上的先例。大神幫看看這個可以不 [ 此帖被chinazhu6666在2014-01-15 15:33重新編輯 ] |
|
---|---|---|
|
chinazhu6666
嚴謹求實
級別: 網(wǎng)絡(luò)英雄
![]() |
![]() ![]() |
|
---|---|---|
|