尹夢超
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 100 個
工控威望: 257 點
下載積分: 6734 分
在線時間: 76(小時)
注冊時間: 2012-05-24
最后登錄: 2024-10-30
查看尹夢超的 主題 / 回貼
樓主  發(fā)表于: 2022-03-10 17:17
首先講下,這片帖子不是講200smart PLC和變頻器通訊程序怎么編寫的,因為類似的帖子網上其實有很多,而且大多數(shù)照著操作,編程就能成功。但是呢往往有一些鉆牛角尖的人,就是照貓畫虎還是會失敗,比如說像我這樣的。然而出錯的原因,又是比較有意思的,可能有些人也會遇到,所以在此記錄下。

現(xiàn)在的通訊基本都是用的Modbus通訊,西門子PLC的這個也是比較多見,而且?guī)椭謨砸捕加薪榻B。Modbus通訊里面有一個指令碼是連續(xù)多字節(jié)傳送,功能碼是03。我之前是用慣了S7-1200PLC,所以喜歡把連續(xù)的寄存器地址寫在一起,舉個例子,比如變頻器啟停命令是40005,變頻器頻率設定是40006,那么我自然就會連續(xù)發(fā)送2個字地址。于是我在200smart PLC也是這么用的。可實際調試的結果就是,這樣的連續(xù)傳送大于1個字的地址,變頻器通訊控制是失敗的。至于失敗的原因是smart200不行,還是變頻器端不行。我也沒有具體研究,咱也沒這個能力。




如圖,在字節(jié)數(shù)改成1以后,如果接線正確,參數(shù)正確,程序正確,那就能正常啟停變頻器,以及更改變頻器頻率。但是字節(jié)數(shù)改成2及以上,那肯定是通訊異常。而且現(xiàn)在網上的編程說明文檔也基本都是1個字節(jié)。
[ 此帖被尹夢超在2022-03-10 17:23重新編輯 ]
黃原古塔
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 166 個
工控威望: 240 點
下載積分: 3755 分
在線時間: 355(小時)
注冊時間: 2021-10-22
最后登錄: 2024-11-10
查看黃原古塔的 主題 / 回貼
1樓  發(fā)表于: 2022-10-17 11:08
看了之前測試的PLC和變頻器的通訊程序,啟動和頻率給定是單獨分開的,地址本身就不連續(xù)。