特立獨行
級別: 略有小成
![]() |
![]() |
---|---|
|
特立獨行
級別: 略有小成
![]() |
由于PLC非正版,485接口只提供了A、B兩條線(xiàn),未提供地線(xiàn)連接。 |
---|---|
|
zhangqi_1234
級別: 略有小成
![]() |
這是三菱RS指令的問(wèn)題,收發(fā)數據幾乎是同時(shí)進(jìn)行,中間沒(méi)有時(shí)間的間隔,容易收到回傳的數據。解決的方法有兩種: 1、改用四線(xiàn)制連接,發(fā)送和接收的線(xiàn)路分開(kāi)。 2、修改RS指令,發(fā)送數據時(shí),設定接收0個(gè)數據,然后延時(shí)3.5個(gè)字節時(shí)間(9600bps,約30ms),再發(fā)送0個(gè)數據,接收n個(gè)數據。 第2種方法是否有效,需要驗證。我采用的是第1種方法。 |
---|---|
|
特立獨行
級別: 略有小成
![]() |
目前的設備情況無(wú)法改成4線(xiàn)制的。由于485設備是收到PLC的指令后立刻響應一串數據,因此若設置延時(shí),將收不到設備響應的數據。 現在我想嘗試用232口做通訊,然后經(jīng)過(guò)232轉485的轉換器連接到485設備上。但我現在沒(méi)有搞明白:怎么選擇通訊口,我現在只能從 485口讀到數據,232口讀不到數據。想請問(wèn)怎么選擇使用232口做通訊。 我現在將232口和485口通過(guò)usb轉換都連接到電腦上,通過(guò)串口調試助手監控。232口無(wú)法進(jìn)行傳輸數據 [ 此帖被特立獨行在2017-11-15 11:40重新編輯 ] |
---|---|
|
小滿(mǎn)和老鳥(niǎo)
專(zhuān)注,堅持!
級別: 略有小成
![]() |
正在學(xué)習PLC串行通信,祝好運。 |
---|---|
|
zhangqi_1234
級別: 略有小成
![]() |
RS232轉485,轉換了信號電平,但不能使收發(fā)數據線(xiàn)分開(kāi)。如果用RS指令,還是容易出現收到反射回來(lái)的數據。我還是那個(gè)意見(jiàn):如果用第二種方法,發(fā)送數據時(shí),設置接收0個(gè)數據,中間延時(shí)一段時(shí)間,再發(fā)送0個(gè)數據,接收n個(gè)數據。難度在于延時(shí)時(shí)間的調節,30ms不行,就調成10ms、20ms、40ms嘗試。實(shí)在不行,只有在硬件上增加FX3U-485ADP-MB適配器,使用ADPRW指令。另外,如果PLC使用RS232通信功能板,那么就按RS232方式設置通信參數。 [ 此帖被zhangqi_1234在2017-11-16 21:45重新編輯 ] |
---|---|
|
特立獨行
級別: 略有小成
![]() |
圖片:
![]()
圖片:
![]() 我已經(jīng)嘗試設置延時(shí),從10ms到30ms,隔5ms嘗試一次。收到的數據均為0。程序如圖 |
---|---|
|
zhangqi_1234
級別: 略有小成
![]() |
1、使某個(gè)位元件置1(如M10),執行發(fā)送數據的RS指令,接著(zhù)把數據傳送到發(fā)射緩沖區。然后用邊沿脈沖使M8122置1,開(kāi)始發(fā)送數據。收到回復后M8123置1,需要同時(shí)對M10和M8123復位,避免發(fā)送數據的指令一直有效。你的程序中使用的是T200,程序中沒(méi)有看到對T200的復位。 2、間隔一段時(shí)間(間隔時(shí)間與通信速率有關(guān),如9600,表示每秒發(fā)送1200個(gè)字節,間隔3.5個(gè)字符,約3ms左右,可適當調節。如果間隔時(shí)間太短,就降低通信速率)后,使某個(gè)位元件置1(如M11),執行接收數據的RS指令,然后用邊沿脈沖使M8122置1,開(kāi)始接收數據,收到回復后M8123置1,需要同時(shí)對M11和M8123復位。 在論壇上有人提過(guò),采用這種方式能收到二線(xiàn)式連接從站回復的數據。祝你好運! [ 此帖被zhangqi_1234在2017-11-17 19:56重新編輯 ] |
---|---|
|
harrison0621
級別: *
![]() |
命令字串如不對,也有問(wèn)題?上韧高^(guò)電腦下命令確認命令字串是否正確比較快 |
---|---|
|