技術文章
三菱PLC采用RS485控制變頻器-工作原理
閱讀:725 發布時間:2023-3-16需要的硬件:三菱FX3G型PLC,485通訊模塊(FX3G-485BD), 變頻器一臺英威騰,觸摸屏(MT6071IP)。
需要了解內容:PLC通信協議,發送指令,變頻器通信參數設置。
接線
接線較為簡單,將FX3G-485-BD模塊插在PLC上,將SDB和RDB短接,SDA和RDA短接,在變頻器上485+端子引出導線接到模塊的SDA和RDA上,在變頻器上485-端子引出導線接到模塊的SDB和RDB上,采用RS485接口工作半雙工,它的意思就是信號的讀取和寫入不能同時發送,發送的時候不能讀取。
變頻器參數設置
將變頻器的運行指令和頻率指令都改成MODBUS通信設定,在P00組上P00.01運行指令通道改為2:通訊運行指令通道(缺省值0),P00.07B頻率指令選擇8:MODBUS通訊設定(缺省2),P00.09設定源組合方式1:B,當前頻率設定為B頻率指令。
通訊參數的設置,在P14組,P14.00將變頻器的站號設為1,P14.01波特率設為9600,P14.02數據位校驗設為無校驗(N, 7, 2)for ASCII。
PLC通訊參數的設定
PLC參數的設定有兩種方法“
1是在軟件(GX-Works2)里設置:點擊導航中的參數→PLC參數→PLC的系統設置(2):
PLC系統參數設置
2采用程序設定:
梯形圖參數設置
M8161=1,為8位運算,意思就是忽略高8位只傳送數據的低8位,為什么這么做后面會說到。MOV HOC88 D8210是通訊格式,它是怎么算出來的,我們看下D8120內容:
D8120內容
D8210是一個16位的數據,根據設定的參數來算計算,比如上述程序的H0C88是怎么來的,看下通訊方式是,波特率9600,7位數據長度,無奇偶校驗,停止位是2,控制線是無協議的調制解調器模式(RS485接口):
通訊參數計算
相關指令
串行數據發送RS,16進制轉換為ASCII碼ASCI,ASCII碼轉換為16進制數HEX.
RS:該指令是用于通過安裝在基本單元上的RS-232C或RS-485串行通信口進行無協議通信,從而執行數據的發送和
接收的指令。
RS舉例
RS指令用于從FX可編程控制器發出的發送數據的起始軟元件和數據點數, 以及保存接收數據的起始軟元
件, 和可以接收的最大點數,編程按照下列要領:
發送指令
接受指令
ASCII 碼使用的7 位或8 位二進制數組合來表示128 或256 種可能的字符,MODBUS協議有兩種傳輸模式,ASCII和RTU模式, 本次變頻器采用ASCII模式傳輸信號, 上一章的HMI控制變頻器采用的就是RTU模式。因此采用ASCII模式, 所以數據格式M8161選擇8位數據模式。
PLC程序
程序大致分為4部分
5.1 變頻器功能說明
采用ASCII模式傳輸數據,在 ASCII 模式中,幀頭為“:"(“0x3A"),幀尾缺省為“CRLF"(“0x0D"“0x0A")。在 ASCII 方式下,除了幀頭和幀尾之外,其余的數據字節全部以 ASCII 碼方式發送,先發送高 4 位位元組,然后發送低 4位位元組。ASCII 方式下數據為 8 位長度。對于‘A’~‘F’,采用其大寫字母的 ASCII 碼。此時數據采用 LRC校驗,校驗涵蓋從從機地址到數據的信息部分。校驗和等于所有參與校驗數據的字符和(舍棄進位位)的補碼。
MODBUS報文
ASCII 幀的標準結構
MODBUS對變頻器功能說明:
功能說明
程序
程序可以分5部分
6.1通訊設定
就是第3PLC通訊參數的設定的梯形圖
6.2 ASCII碼轉換
ASCII碼轉換
根據ASCII 幀的標準結構將數據轉換為ASCII碼,
起始符START:3AH
地址Address:就是站號, 兩個ASCII碼組成, 例如站號1, 地址就是01H, 轉成ASCII碼就是30,31, PLC監控:
程序中顯示的是10進制。
功能碼Function:就是要寫入數據還是讀取數據,由兩個ASCII碼組成,寫入是06H, 讀取是03H。
功能碼地址:就是寫入或讀取的地址,由兩個ASCII碼組成。
數據內容DATA:就是要寫入或讀取的數據內容, 由2n個ASCII碼組成。
LRC校驗值:LRC檢查碼,由兩個ASCII碼組成
結束符END:END Hi=0DH, END Lo=0AH。
RS D0 K17 D50 D15 這條指令就是發送以上內容的,D0起始符, D1D2地址,D3D4功能碼,D5D6命令碼高位地址,D7D8命令碼低位地址,D9D10數據內容高位地址,D11D12數據內容低位地址,D13D14LRC檢查碼,D15D16結束符。
6.3 寫入數據
寫入數據
M8122是送信指令, 表示在發送信息,ASCI D200 D500 K4.D200為頻率數據, 將D200數據轉換成ASCII,例如D200=0ABCH,K4就表示D500=0,D501=A,D502=B,D503=C,只轉換4位。
D101站號,D102功能碼,D103D104功能碼高低位地址,D105D106數據內容。
根據變頻器的MODBUS功能,我們知道寫入頻率的地址是2001H, 因此高位20H傳到D103,低位01H傳到D104,然后將頻率值傳送到D105D106, 傳送完畢LRC值復位。
這樣就完成了寫的功能,變頻器的正反停功能根據上表依次編程。
6.4 讀取數據
由于采用半雙工工作,寫入和讀取不能同時進行,
數據讀取
意思就是讀取數據時,必須在送信、回信、寫入指令意外完成。查看變頻器功能表,讀取頻率的地址是3000H。
HMI界面: