發布日期:2022-04-26 點擊率:900 品牌:組態王_Kingview
PC 與三菱 FX 系列 PLC 通訊,是經過 PLC 的編程口與 PC 機的串口進行的,選用 SC-09 編程電纜作為核算機與 PLC 通訊的連線。電纜的 9 芯 D 形插頭聯接在核算機串口上,另一端聯接 PLC 的 RS-422 編程口。
編寫 PC 的通訊程序可選用匯編言語、各種高檔言語,也能夠選用工控組態軟件或直接選用 PLC 廠家的通訊軟件。這篇文章選用 VB6 . 0 軟件,它有必要依據所聯接 PLC 的通訊規程來編寫通訊協議,所以先簡略介紹 FX 系列 PLC 的通訊協議。
一、 FX 系列 PLC 的通訊協議
1 .數據傳輸格局
FX 系列 PLC 選用異步格局,由 1 位開端位、 7 位數據位、 l 位偶校驗位及 l 位間斷位構成,波特率為 9600bps ,字符為 ASCi Ⅱ碼。
2 .通訊指令
FX 系列 PLC 有 4 條通訊指令,即讀指令、寫指令、強行通指令、強行斷指令。表 1 中, X 為輸入繼電器; Y 為輸出繼電器; M 為輔佐繼電器; S 為狀況元件; T 為守時器; C 為計數器; D 為數據寄存器。
3 .通訊操控字符
FZ 系列 PLC 選用面向字符的傳輸規程,用到 5 個通訊操控字符,如表 2 所示。
4 .報文格局
PC 機向 PLC 發送的報文格局如表 3 所示。其間, STX 為開端象征; ETS 為完畢象征; CMD 為指令的 ASC Ⅱ碼: SUMH 、 SUML 為從 CMD 到 ETX 按字節求累加和,溢出不計。因為每字節十六進制數變為兩字節 ASC Ⅱ代碼,故校驗和為 SUMH 與 SUMI 。
PLC 向 PC 機發送的應對報文格局如表 4 所示。
二、 PC 通訊程序的編寫
1 .通訊口初始化
, MSComm 控件簡介: VB 帶有專門處理串行通訊的 MSComm 控件。只需設置幾個首要參數就能夠完畢 PLC 與 PC 間的串行通訊。要完畢通訊有必要設置 MSComm 的挨近特征值,即通訊口初始化,其進程如下:
(1)CoinmPort :設置或傳回通訊聯接端口代號。
(2)Settings :設置初始化參數。以字 - 符串的辦法設置或傳回聯接速度、奇偶校驗、數據位、間斷位等 4 個參數。
(3)PortOpen :設置或傳回通訊聯接端口的狀況。
(4)Input :從輸入寄存器傳回并移除字符。
(5)Output :將一個字符串寫入輸出寄存器。
(6)InputLen :指定由串行端口讀入的字符串長度。
(7)InBufferCount:傳回在接納寄存器中的字符數。
2 .通訊程序舉例
首要,在窗體開端方案之前,增加 MSComm 控件和按鈕、文本框、標簽等。
(1)PC 從 PLC 中讀取數據
假定 PC 要從 PLC 中讀入從 D123 開端的 4 個字節的數據 ( 占用兩個數據寄存器: D123 、 D124) ,其報文如表 5 所示。
依據三菱 FX 系列 PLC 編程口通訊協議,地址算法為
address=address×2+1000h
將地址 123 改換成十六進制為 7Bh ,因此首地址為:
address=addressx2+1000h=7Bhx2+1000h=10F 6h .
再改換成 ASCII 碼為 31h,30h,46h,36h
校驗和 SUM=30H+31H+30H+46H+36H+30H+34H+03H=174H ,溢出有些不計,故 SUMH 為 "7" , SUML 為 "4" ,相應的 ASC Ⅱ碼為“ 37H ”和“ 34H ”。
PLC 的應對報文格局如表 6 所示。
(2) 把數據寫入 PLC
例如,向 PLC 的 D123 數據寄存器寫入數據“ 1234ABCD ”的報文格局如表 7 所示
這篇文章介紹的運用 VB6 . O 完畢 PC 與三菱 PLC 通訊的根柢辦法,真實可行,具有廣泛的有用價值。對初專家很有協助。
三菱FX系列PLC編程口通訊協議舉例
1、DEVICE READ(讀出軟設備狀況值)
核算機向PLC發送:始指令首地址位數終和校驗STXCMDGROUP ADDRESSBYTESETXSUM
比方:從D123開端讀取4個字節數據
02h30h31h,30h,46h,36h30h,34h03h37h,34h
地址算法:address=address*2+1000h,將123 改換為16進制*2 得F6,10F6
再改換成ASCII
31h,30h,46h,36h
PLC回來STX1ST DATA2ND DATA.....LAST DATAETXSUM
注:最多能夠讀取64個字節的數據
比方:從指定的存儲器單元讀到3584這個數據02h33h35h38h34h03h44h,36h
2、DEVICE WRITE(向PLC軟設備寫入值)
始指令首地址位數數據終和校驗STXCMDGROUP ADDRESSBYTES1ST DATA2ND DATA......LAST DATAETXSUM
比方:向D123開端的兩個存儲器中寫入1234,ABCD
02h31h31h,30h,46h,36h30h,34h33h,34h,31h,32h,43h,44h,41h,42h03h34h,39h
PLC回來
ACK (06H) 承受準確
NAK (15H) 承受差錯
3、位設備強行置位/復位
FORCE ON置位
始指令地址終和校驗STXCMDADDRESSETXSUM02h37haddress03hsum
FORCE OFF復位
始指令地址終和校驗STXCMDADDRESSETXSUM02h38haddress03hsum
PLC回來
ACK(06H) 承受準確
NAK(15H) 承受差錯
設備強行中的地址公式:Address=Address/8+100h
闡明:
1.幀中的BYTES標明需求讀取或許寫入的字節數。
2.地址算法上有闡明。
3.累加和是從STX后邊一個字節開端累加到ETX的和。
三菱FX系列PLC編程口通訊協議總覽
該協議實習上適用于PLC編程端口以及 FX-232AW 模塊的通訊。謝謝網友visualboy供應。
通訊格局:
指令指令碼方針設備DEVICE READ CMD"0"X,Y,M,S,T,C,DDEVICE WRITE CMD"1"X,Y,M,S,T,C,DFORCE ON CMD" 7"X,Y,M,S,T,CFORCE OFF CMD"8"X,Y,M,S,T,C
傳輸格局: RS232C
波特率: 9600bps
奇偶: even
校驗: 累加辦法(和校驗)
字符: ASCII
16進制代碼:
ENQ05H懇求ACK06HPLC準確照應NAK15HPLC差錯照應STX02H報文開端ETX03H報文完畢
幀格局:
STXCMDDATA......DATAETXSUM(upper)SUM(lower)
比方:
STX ,CMD ,ADDRESS, BYTES, ETX, SUM02H, 30H, 31H,30H,46H,36H, 30H,34H, 03H, 37H,34H
SUM=CMD+......+ETX;30h+31h+30h+46h+36h+30h+34h+03h=74h;累加和逾越兩位取低兩位
下一篇: PLC、DCS、FCS三大控
上一篇: MATLAB和Simulink在航