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

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