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