安川V1000變頻器的485組網通訊的問題


背景

某項目使用安川(YASKAWA) V1000變頻器27台,采樣RS485通訊,協議為安川的MEMOBUS。MEMOBUS為標准Modbus的細微變種,變化主要體現在寄存器定義方面,支持有限的功能碼。具體信息可參見產品計數手冊:(株)安川電機 SICP C710606 17A 安川變頻器V1000 技術手冊

需要實現的功能

需要實現的功能是分別向變頻器的保持寄存器280H寫入頻率設定值,然后再分別向變頻器保持寄存器900H寫入0以實現頻率的掉電保持功能。

實現方式

MEMOBUS只支持三個Modbus功能碼:03H 讀取存儲寄存器的內容;08H 回路測;10H 向多個存儲寄存器的寫入。因此,選用10H功能碼組織報文,向串口發送。

測試程序如下:

    class Program
    {
        static void Main(string[] args)
        {
            byte[] read=new byte[1024];
            byte[] toSend=new byte[]{0x01 ,0x10 ,0x02 ,0x80 ,0x00 ,0x01 ,0x02 ,0x0B ,0x2C ,0x9C ,0xBD};
            SerialPort sp = new SerialPort();
            sp.PortName = "COM2";
            sp.Open();
            while (true)
            {
                sp.Write(toSend, 0, toSend.Length);
                Thread.Sleep(75);
                sp.Read(read,0,1000);
            }
        }
    }

問題

執行完畢后,27台變頻器不能全部實現掉電保持,成功與不成功的機器不固定,是隨機的。先前的推測是向900H寫0失敗,后來觀察,也可能是向280H寫頻率這一步就失敗了,為什么呢?

探究原因

 現場工程人員通過在兩條寫命令之間添加固定時間的延時,發現可以解決問題,前提是時間大於某個固定值。

 翻開技術手冊,發現了如下知識點:(圖片是針對PLC與變頻器的通訊,我們把PLC看成PC)

從上圖可見,每一個通訊周期是可以計算的。變頻器有個叫H5-06(通信等待時間)的參數,用來設定變頻器從接收數據到開始發送為止的時間。出廠設定在5ms,范圍在5--65ms。我們使用的變頻器是默認的出廠設定沒有更改。

經過測試,指令信息發送到相應信息返回,基本在120ms的時間;兩條指令信息的發送間隔,在75ms,可以正常執行功能。

那么24位長度是什么意思呢?我正在詢問安川的技術支持還沒有答復,希望有知道的人留言解答。這個時間是怎么計算出的,受何種因素影響,還要再分析。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM