首先講下,這片帖子不是講200smart PLC和變頻器通訊程序怎么編寫的,因為類似的帖子網上其實有很多,而且大多數照著操作,編程就能成功。但是呢往往有一些鉆牛角尖的人,就是照貓畫虎還是會失敗,比如說像我這樣的。然而出錯的原因,又是比較有意思的,可能有些人也會遇到,所以在此記錄下。
現在的通訊基本都是用的Modbus通訊,西門子PLC的這個也是比較多見,而且?guī)椭謨砸捕加薪榻B。Modbus通訊里面有一個指令碼是連續(xù)多字節(jié)傳送,功能碼是03。我之前是用慣了S7-1200PLC,所以喜歡把連續(xù)的寄存器地址寫在一起,舉個例子,比如變頻器啟停命令是40005,變頻器頻率設定是40006,那么我自然就會連續(xù)發(fā)送2個字地址。于是我在200smart PLC也是這么用的。可實際調試的結果就是,這樣的連續(xù)傳送大于1個字的地址,變頻器通訊控制是失敗的。至于失敗的原因是smart200不行,還是變頻器端不行。我也沒有具體研究,咱也沒這個能力。
如圖,在字節(jié)數改成1以后,如果接線正確,參數正確,程序正確,那就能正常啟停變頻器,以及更改變頻器頻率。但是字節(jié)數改成2及以上,那肯定是通訊異常。而且現在網上的編程說明文檔也基本都是1個字節(jié)。
[ 此帖被尹夢超在2022-03-10 17:23重新編輯 ]