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