當前位置: 首頁 > 工業(yè)控制產(chǎn)品 > 自動化控制 > PLC可編程控制器
發(fā)布日期:2022-04-26 點擊率:937 品牌:組態(tài)王_Kingview

PC 與三菱 FX 系列 PLC 通訊,是經(jīng)過 PLC 的編程口與 PC 機的串口進行的,選用 SC-09 編程電纜作為核算機與 PLC 通訊的連線。電纜的 9 芯 D 形插頭聯(lián)接在核算機串口上,另一端聯(lián)接 PLC 的 RS-422 編程口。
編寫 PC 的通訊程序可選用匯編言語、各種高檔言語,也能夠選用工控組態(tài)軟件或直接選用 PLC 廠家的通訊軟件。這篇文章選用 VB6 . 0 軟件,它有必要依據(jù)所聯(lián)接 PLC 的通訊規(guī)程來編寫通訊協(xié)議,所以先簡略介紹 FX 系列 PLC 的通訊協(xié)議。
一、 FX 系列 PLC 的通訊協(xié)議
1 .數(shù)據(jù)傳輸格局
FX 系列 PLC 選用異步格局,由 1 位開端位、 7 位數(shù)據(jù)位、 l 位偶校驗位及 l 位間斷位構(gòu)成,波特率為 9600bps ,字符為 ASCi Ⅱ碼。
2 .通訊指令
FX 系列 PLC 有 4 條通訊指令,即讀指令、寫指令、強行通指令、強行斷指令。表 1 中, X 為輸入繼電器; Y 為輸出繼電器; M 為輔佐繼電器; S 為狀況元件; T 為守時器; C 為計數(shù)器; D 為數(shù)據(jù)寄存器。
3 .通訊操控字符
FZ 系列 PLC 選用面向字符的傳輸規(guī)程,用到 5 個通訊操控字符,如表 2 所示。
4 .報文格局
PC 機向 PLC 發(fā)送的報文格局如表 3 所示。其間, STX 為開端象征; ETS 為完畢象征; CMD 為指令的 ASC Ⅱ碼: SUMH 、 SUML 為從 CMD 到 ETX 按字節(jié)求累加和,溢出不計。因為每字節(jié)十六進制數(shù)變?yōu)閮勺止?jié) ASC Ⅱ代碼,故校驗和為 SUMH 與 SUMI 。
PLC 向 PC 機發(fā)送的應(yīng)對報文格局如表 4 所示。
二、 PC 通訊程序的編寫
1 .通訊口初始化
, MSComm 控件簡介: VB 帶有專門處理串行通訊的 MSComm 控件。只需設(shè)置幾個首要參數(shù)就能夠完畢 PLC 與 PC 間的串行通訊。要完畢通訊有必要設(shè)置 MSComm 的挨近特征值,即通訊口初始化,其進程如下:
(1)CoinmPort :設(shè)置或傳回通訊聯(lián)接端口代號。
(2)Settings :設(shè)置初始化參數(shù)。以字 - 符串的辦法設(shè)置或傳回聯(lián)接速度、奇偶校驗、數(shù)據(jù)位、間斷位等 4 個參數(shù)。
(3)PortOpen :設(shè)置或傳回通訊聯(lián)接端口的狀況。
(4)Input :從輸入寄存器傳回并移除字符。
(5)Output :將一個字符串寫入輸出寄存器。
(6)InputLen :指定由串行端口讀入的字符串長度。
(7)InBufferCount:傳回在接納寄存器中的字符數(shù)。
2 .通訊程序舉例
首要,在窗體開端方案之前,增加 MSComm 控件和按鈕、文本框、標簽等。
(1)PC 從 PLC 中讀取數(shù)據(jù)
假定 PC 要從 PLC 中讀入從 D123 開端的 4 個字節(jié)的數(shù)據(jù) ( 占用兩個數(shù)據(jù)寄存器: D123 、 D124) ,其報文如表 5 所示。
依據(jù)三菱 FX 系列 PLC 編程口通訊協(xié)議,地址算法為
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" ,相應(yīng)的 ASC Ⅱ碼為“ 37H ”和“ 34H ”。
PLC 的應(yīng)對報文格局如表 6 所示。
(2) 把數(shù)據(jù)寫入 PLC
例如,向 PLC 的 D123 數(shù)據(jù)寄存器寫入數(shù)據(jù)“ 1234ABCD ”的報文格局如表 7 所示
這篇文章介紹的運用 VB6 . O 完畢 PC 與三菱 PLC 通訊的根柢辦法,真實可行,具有廣泛的有用價值。對初專家很有協(xié)助。
三菱FX系列PLC編程口通訊協(xié)議舉例
1、DEVICE READ(讀出軟設(shè)備狀況值)
核算機向PLC發(fā)送:始指令首地址位數(shù)終和校驗STXCMDGROUP ADDRESSBYTESETXSUM
比方:從D123開端讀取4個字節(jié)數(shù)據(jù)
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個字節(jié)的數(shù)據(jù)
比方:從指定的存儲器單元讀到3584這個數(shù)據(jù)02h33h35h38h34h03h44h,36h
2、DEVICE WRITE(向PLC軟設(shè)備寫入值)
始指令首地址位數(shù)數(shù)據(jù)終和校驗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、位設(shè)備強行置位/復(fù)位
FORCE ON置位
始指令地址終和校驗STXCMDADDRESSETXSUM02h37haddress03hsum
FORCE OFF復(fù)位
始指令地址終和校驗STXCMDADDRESSETXSUM02h38haddress03hsum
PLC回來
ACK(06H) 承受準確
NAK(15H) 承受差錯
設(shè)備強行中的地址公式:Address=Address/8+100h
闡明:
1.幀中的BYTES標明需求讀取或許寫入的字節(jié)數(shù)。
2.地址算法上有闡明。
3.累加和是從STX后邊一個字節(jié)開端累加到ETX的和。
三菱FX系列PLC編程口通訊協(xié)議總覽
該協(xié)議實習上適用于PLC編程端口以及 FX-232AW 模塊的通訊。謝謝網(wǎng)友visualboy供應(yīng)。
通訊格局:
指令指令碼方針設(shè)備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準確照應(yīng)NAK15HPLC差錯照應(yīng)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在航