FX系列PLC與計算機采用RS-232C標(biāo)準(zhǔn),通信協(xié)議的有關(guān)規(guī)定如下所述。
1.?dāng)?shù)據(jù)格式
通信采用異步串行方式,通信協(xié)議的數(shù)據(jù)交換格式為字符串的方式,由奇偶校驗位、起始位和停止位、數(shù)據(jù)位組成。數(shù)據(jù)位利用字符串的ASCII碼表示。數(shù)據(jù)是以幀為單位發(fā)送和接收的,FX系列PLC與計算機通信的數(shù)據(jù)格式如圖5.5所示。
2.通信控制字符
通信控制字符有ENQ、ACK、NAK、STX和ETX共5個。PLC和計算機之間的數(shù)據(jù)傳輸以幀為單位,每一幀為10個字符,其中ENQ、ACK或NAK可以構(gòu)成單字節(jié)字符幀;其余的字符在發(fā)送和接收時,必須以字符STX為起始符,ETX為結(jié)束符,否則將不能保持同步,產(chǎn)生錯幀。表5.1所示為FX系列PLC與計算機的通信控制字符及含義。
表5.1 FX系列PLC與計算機的通信控制字符及含義
字符 ASCⅡ碼 數(shù)據(jù)格式 注 釋
ENQ 05H 1100001010 來自計算機的查詢信號
ACK 06H 1100001100 無校驗錯誤,PLC對ENQ的確認(rèn)應(yīng)答信號
NAK 15H 1100101010 檢測到錯誤,PLC對EHQ的否認(rèn)應(yīng)答信號
STX 02H 1100000100 數(shù)據(jù)(信息幀)的起始標(biāo)志
ETX 03H 1100000110 數(shù)據(jù)(信息幀)的結(jié)束標(biāo)志
3.通信命令
FX系列PLC有4條通信命令,分別是讀命令、寫命令、強制為ON命令和強制為OFF命令。表5.2所示為FX系列PLC的通信命令代碼及功能說明。
表5.2 FX系列PLC的通信命令代碼及功能說明
命令 命令代碼 目標(biāo)元件 功能說明
讀 0:ASC碼30H X.YM, S,T.C.D 讀軟繼電器狀態(tài)及數(shù)據(jù)
寫 1:ASC碼3IH X,Y,M.S,T,C,D 將數(shù)據(jù)寫入軟繼電器
強制為ON 7:ASC碼37H X,YM.S.T,C 強制為ON
強制為OFF 8:ASC碼38H X,Y,M,S,T,C 強制為OFF
4.報文格式
多字符傳送時構(gòu)成多字符幀,一個多字符幀由字符STX、命令碼、數(shù)據(jù)段、字符ETX及校驗位組成。計算機向PLC發(fā)出的報文格式如圖5.7(a)所示,PLC向計算機發(fā)出的應(yīng)答報文格式如圖5.7(b)所示。
圖5.7 報文格式
5.傳輸規(guī)程
在FX系列PLC與計算機的通信中,無論是讀或?qū)懖僮鳎?/FONT>PLC始終為被動狀態(tài),都是由計算機發(fā)出信號,傳輸規(guī)程說明如圖5.8所示。
圖5.8 傳輸規(guī)程說明
開始通信由計算機發(fā)出一個控制字符ENQ,去詢問PLC是否做好通信準(zhǔn)備,同時也可以檢查PLC與計算機之間的鏈接是否正確。當(dāng)PLC接收到該字符后,正處在STOP狀態(tài),則立即做出回答,如通信有錯,則回答NAK,如通信正常,則回答ACK。若PLC正處于RUN狀態(tài),則要等待至本次掃描結(jié)束時(至END指令)才能回答。
如果計算機發(fā)出一個ENQ經(jīng)過Ss后,沒有收到回答,則計算機會再次發(fā)出ENQ控制字符,仍沒有回答說明鏈接有錯。在計算機收到回答字符ACK后,就可以進行數(shù)據(jù)通信了。
6.通信格式
PLC和計算機通信的詳細(xì)協(xié)議采用PLC內(nèi)部的特殊輔助繼電器D8120進行設(shè)置,具體的設(shè)置內(nèi)容為:數(shù)據(jù)長度、校驗形式、傳輸速率和協(xié)議方式等。圖5.9所示為D8120設(shè)置示例,如果采用模式1標(biāo)準(zhǔn),圖中梯形圖程序的設(shè)置為:無協(xié)議通信、傳送數(shù)據(jù)長度為7位、偶校驗位、1位停止位和9600b/s數(shù)據(jù)通信速率。對于多臺PLC鏈接時,還要用D8121設(shè)置PLC的站號。站號的設(shè)置范圍為00~07CH。
采用D8129設(shè)置檢驗時間。檢驗時間指計算機向PLC傳送數(shù)據(jù)失敗時,從傳送開始至接收完最后一個字符所等待的時間。計算機向PLC傳送的字符串的格式如圖5.10所示。
圖5.9 D8120設(shè)置示例
圖5.10 字符串的格式










