本設(shè)計(jì)選用三菱FX2N系列的PLC,以Visual c++6.0作為開發(fā)工具對PLC通訊主程序進(jìn)行設(shè)計(jì),串口通訊采用ActiveX控制Microsoft Communication Control 6.0,最后用PLC編程電纜將PLC編程口與計(jì)算機(jī)串口連接進(jìn)行調(diào)試。
1 三菱PLC與計(jì)算機(jī)之間通信協(xié)議
串行通信是指外設(shè)和計(jì)算機(jī)間使用一根數(shù)據(jù)信號線一位一位地傳輸數(shù)據(jù),每一位數(shù)據(jù)都占據(jù)一個(gè)固定的時(shí)間長度?!按小笔侵竿庠O(shè)與接口電路之間的信息傳送方式,CPU與接口之間仍按并行方式工作。串行通信的四個(gè)重要參數(shù):波特率(衡量通信速度的參數(shù))、奇偶校驗(yàn)位(一種簡單的檢錯(cuò)方式)、數(shù)據(jù)位(衡量通信中實(shí)際數(shù)據(jù)位的參數(shù))和停止位(表示單個(gè)數(shù)據(jù)包的最后一位)。
(1)三菱FX2N系列通信數(shù)據(jù)幀格式
FX2N系列的PLC與計(jì)算機(jī)之間的通信采用RS-232C標(biāo)準(zhǔn),其傳輸速率一般設(shè)為9 600 bps,實(shí)際傳輸過程還可設(shè)其它,比如115 200 bps等。奇偶校驗(yàn)位采用偶校驗(yàn)。數(shù)據(jù)以幀為單位發(fā)送和接收。一個(gè)多字符幀由起始字元、命令號碼、元件首地址、結(jié)束字元、和校驗(yàn)五部分組成,其中和校驗(yàn)值是將命令碼STX—ETX之間的字符的ASCII碼(十六進(jìn)制數(shù))相加,取得所得和的最低二位數(shù)。STX和ETX分別表示該字符幀的起始標(biāo)志和結(jié)束標(biāo)志。
起始字元(STX):ASCII碼的起始字元STX對應(yīng)的16進(jìn)制數(shù)位0x02。無論命令信息還是回應(yīng)信息,它們的起始字元均為STX,接收方以此來判知傳輸資料的開始;
命令號碼:為兩位16進(jìn)制數(shù)。所謂命令號碼是指上位機(jī)要求下位機(jī)所執(zhí)行的動作類別,例如要求讀取或?qū)懭雴吸c(diǎn)狀態(tài)、寫入或讀取暫存器資料、強(qiáng)制設(shè)定、運(yùn)行、停止等。在回應(yīng)信息中,下位機(jī)會將上位機(jī)接收到的命令號碼隨同其它信息一同發(fā)送給上位機(jī);
元件首地址:對應(yīng)要操作的元件的相應(yīng)的地址。如從D123單元中讀取數(shù)據(jù)時(shí),要把它對應(yīng)的地址:0x10F6發(fā)送給PLC;
元件個(gè)數(shù):一次讀取位元件或字元件的數(shù)量;
結(jié)束字元(ETX):ASCII碼的結(jié)束字元ETX對應(yīng)的16進(jìn)制數(shù)為0x03。無論命令信息還是回應(yīng)信息,它們的結(jié)束字元均為ETX,接收方以此來判知此次通訊已結(jié)束;
校驗(yàn)碼(Checksum):校驗(yàn)碼是將STX—ETX之間的ASCII字元的16進(jìn)制數(shù)值以"LRC(Longitudinal Redundancy Check)"法計(jì)算出1個(gè)Byte長度(兩個(gè)16進(jìn)制數(shù)值00-FFH)的校驗(yàn)碼。當(dāng)下位機(jī)接收到信息后,用同樣的方法計(jì)算出接收信息的校驗(yàn)碼,如果兩個(gè)校驗(yàn)碼相同,則說明傳送正確。
(2)三菱FX2N系列通信命令
FX2N系列PLC有4個(gè)通信命令,它們是讀命令(30H)、寫命令(31 H)、強(qiáng)制通命令(37H)、強(qiáng)制斷命令(38H)。
(3)三菱FX2N系列通信控制字符
ENQ(ASCII代碼05H):計(jì)算機(jī)向PLC發(fā)送請求;
ACK(ASCII代碼06H):PLC對ENQ的確定回答;NAK(ASCII代碼15H):PLC對ENQ的否認(rèn)回答;
STX(ASCII代碼02H):報(bào)文開始;
ETX(ASCII代碼02H):報(bào)文結(jié)束。
(4)FX2N系列設(shè)備地址
①讀寫時(shí)的軟設(shè)備地址
S0-S7:0000H;X0-X7:0080H;Y0-Y7:00AOH;TO-T7:00COH;M0-M7:0100H;CO-C7:01COH;DO-D7:1000H
②置位/復(fù)位時(shí)的軟設(shè)備地址
S0-S7:0000H;X0-X7:0400H;Y0-Y7:0500H;TO-T7:0600H:MO-M7: 0800H;CO-C7:0E00H;DO-D7:0100H
③傳輸過程
PC機(jī)與FX系列PLC之間采用應(yīng)答方式通信,傳輸出錯(cuò)則組織重發(fā)。其傳輸過程如圖1所示。

圖1傳輸過程
PLC根據(jù)PC機(jī)的命令,在每個(gè)循環(huán)掃描結(jié)束處的END語句后組織自動應(yīng)答,無需用戶在PLC一方編寫程序。










