sihu国产精品永久免费_日韩午夜在线视频_久久99中文字幕伊人_古代男男嗯…啊h总攻

特立獨行
級別: 略有小成
精華主題: 0
發帖數量: 6 個
工控威望: 205 點
下載積分: 470 分
在線時間: 2(小時)
注冊時間: 2017-11-05
最后登錄: 2018-03-22
查看特立獨行的 主題 / 回貼
樓主  發表于: 2017-11-15 10:00
現在用的是FX3U與步進電機驅動器通過485雙線通訊,即半雙工。現在出現的問題是PLC能正常的發送數據給驅動器,但不能正常的接收驅動器返回的數據,接收到的數據混亂,偶爾能接收到正常的。通訊格式設置的是H0C81,RS指令見附件。求教各位,應該怎么解決?步進電機驅動器已經用電腦的串口監視過,收發沒問題。PLC也是。 程序(部分)


特立獨行
級別: 略有小成
精華主題: 0
發帖數量: 6 個
工控威望: 205 點
下載積分: 470 分
在線時間: 2(小時)
注冊時間: 2017-11-05
最后登錄: 2018-03-22
查看特立獨行的 主題 / 回貼
1樓  發表于: 2017-11-15 10:15
由于PLC非正版,485接口只提供了A、B兩條線,未提供地線連接。
zhangqi_1234
級別: 略有小成
精華主題: 0
發帖數量: 342 個
工控威望: 493 點
下載積分: 4015 分
在線時間: 250(小時)
注冊時間: 2013-03-22
最后登錄: 2024-12-07
查看zhangqi_1234的 主題 / 回貼
2樓  發表于: 2017-11-15 10:41
這是三菱RS指令的問題,收發數據幾乎是同時進行,中間沒有時間的間隔,容易收到回傳的數據。解決的方法有兩種:
1、改用四線制連接,發送和接收的線路分開。
2、修改RS指令,發送數據時,設定接收0個數據,然后延時3.5個字節時間(9600bps,約30ms),再發送0個數據,接收n個數據。
第2種方法是否有效,需要驗證。我采用的是第1種方法。
特立獨行
級別: 略有小成
精華主題: 0
發帖數量: 6 個
工控威望: 205 點
下載積分: 470 分
在線時間: 2(小時)
注冊時間: 2017-11-05
最后登錄: 2018-03-22
查看特立獨行的 主題 / 回貼
3樓  發表于: 2017-11-15 11:34
引用
引用第2樓zhangqi_1234于2017-11-15 10:41發表的  :
這是三菱RS指令的問題,收發數據幾乎是同時進行,中間沒有時間的間隔,容易收到回傳的數據。解決的方法有兩種:
1、改用四線制連接,發送和接收的線路分開。
2、修改RS指令,發送數據時,設定接收0個數據,然后延時3.5個字節時間(9600bps,約30ms),再發送0個數據,接收n個數據。
第2種方法是否有效,需要驗證。我采用的是第1種方法。

目前的設備情況無法改成4線制的。由于485設備是收到PLC的指令后立刻響應一串數據,因此若設置延時,將收不到設備響應的數據。
現在我想嘗試用232口做通訊,然后經過232轉485的轉換器連接到485設備上。但我現在沒有搞明白:怎么選擇通訊口,我現在只能從
485口讀到數據,232口讀不到數據。想請問怎么選擇使用232口做通訊。
我現在將232口和485口通過usb轉換都連接到電腦上,通過串口調試助手監控。232口無法進行傳輸數據
[ 此帖被特立獨行在2017-11-15 11:40重新編輯 ]
小滿和老鳥
專注,堅持!
級別: 略有小成
精華主題: 0
發帖數量: 256 個
工控威望: 371 點
下載積分: 904 分
在線時間: 83(小時)
注冊時間: 2017-08-27
最后登錄: 2024-07-24
查看小滿和老鳥的 主題 / 回貼
4樓  發表于: 2017-11-15 19:32
正在學習PLC串行通信,祝好運。
lizi707
級別: 探索解密
精華主題: 0
發帖數量: 18 個
工控威望: 145 點
下載積分: 598 分
在線時間: 15(小時)
注冊時間: 2013-06-26
最后登錄: 2023-03-30
查看lizi707的 主題 / 回貼
5樓  發表于: 2017-11-16 11:05
個人意見,發送太快,還沒接收完成
zhangqi_1234
級別: 略有小成
精華主題: 0
發帖數量: 342 個
工控威望: 493 點
下載積分: 4015 分
在線時間: 250(小時)
注冊時間: 2013-03-22
最后登錄: 2024-12-07
查看zhangqi_1234的 主題 / 回貼
6樓  發表于: 2017-11-16 21:03
RS232轉485,轉換了信號電平,但不能使收發數據線分開。如果用RS指令,還是容易出現收到反射回來的數據。我還是那個意見:如果用第二種方法,發送數據時,設置接收0個數據,中間延時一段時間,再發送0個數據,接收n個數據。難度在于延時時間的調節,30ms不行,就調成10ms、20ms、40ms嘗試。實在不行,只有在硬件上增加FX3U-485ADP-MB適配器,使用ADPRW指令。另外,如果PLC使用RS232通信功能板,那么就按RS232方式設置通信參數。
[ 此帖被zhangqi_1234在2017-11-16 21:45重新編輯 ]
特立獨行
級別: 略有小成
精華主題: 0
發帖數量: 6 個
工控威望: 205 點
下載積分: 470 分
在線時間: 2(小時)
注冊時間: 2017-11-05
最后登錄: 2018-03-22
查看特立獨行的 主題 / 回貼
7樓  發表于: 2017-11-17 09:56
圖片:
圖片:
我已經嘗試設置延時,從10ms到30ms,隔5ms嘗試一次。收到的數據均為0。程序如圖
zhangqi_1234
級別: 略有小成
精華主題: 0
發帖數量: 342 個
工控威望: 493 點
下載積分: 4015 分
在線時間: 250(小時)
注冊時間: 2013-03-22
最后登錄: 2024-12-07
查看zhangqi_1234的 主題 / 回貼
8樓  發表于: 2017-11-17 19:51
1、使某個位元件置1(如M10),執行發送數據的RS指令,接著把數據傳送到發射緩沖區。然后用邊沿脈沖使M8122置1,開始發送數據。收到回復后M8123置1,需要同時對M10和M8123復位,避免發送數據的指令一直有效。你的程序中使用的是T200,程序中沒有看到對T200的復位。
2、間隔一段時間(間隔時間與通信速率有關,如9600,表示每秒發送1200個字節,間隔3.5個字符,約3ms左右,可適當調節。如果間隔時間太短,就降低通信速率)后,使某個位元件置1(如M11),執行接收數據的RS指令,然后用邊沿脈沖使M8122置1,開始接收數據,收到回復后M8123置1,需要同時對M11和M8123復位。
在論壇上有人提過,采用這種方式能收到二線式連接從站回復的數據。祝你好運!
[ 此帖被zhangqi_1234在2017-11-17 19:56重新編輯 ]
harrison0621
級別: *
精華主題: * 篇
發帖數量: * 個
工控威望: * 點
下載積分: * 分
在線時間: (小時)
注冊時間: *
最后登錄: *
查看harrison0621的 主題 / 回貼
9樓  發表于: 2017-11-18 10:59
命令字串如不對,也有問題。可先透過電腦下命令確認命令字串是否正確比較快
ywf2008
級別: 探索解密
精華主題: 0
發帖數量: 61 個
工控威望: 173 點
下載積分: 433 分
在線時間: 197(小時)
注冊時間: 2014-02-06
最后登錄: 2024-10-15
查看ywf2008的 主題 / 回貼
10樓  發表于: 2017-11-19 16:45
  


正在學習PLC串行通信,祝好運。
按圖索驥
級別: 正式會員
精華主題: 0
發帖數量: 3 個
工控威望: 91 點
下載積分: 523 分
在線時間: 11(小時)
注冊時間: 2016-04-23
最后登錄: 2018-07-15
查看按圖索驥的 主題 / 回貼
11樓  發表于: 2017-11-19 21:50
因為是半雙工,RS指令應該由上升沿觸發,否則持續發送,沒有接收數據