三菱FX2N PLC串行通訊指令(FNC 80 RS)
串行通訊指令(FNC 80 RS)
1、指令格式: [RS D0 K8 D10 K8]
發(fā)送數(shù)據(jù)幀起始地址和數(shù)目 ↓
接收數(shù)據(jù)幀起始地址和數(shù)目
2、功能和動作:
※ RS指令是為使用RS232C、RS-485功能擴展板及特殊適配器,進行發(fā)送和接收串行數(shù)據(jù)的指令。
※ 傳送的數(shù)據(jù)格式在后面講述的特殊寄存器D8120設(shè)定。RS指令驅(qū)動時即使改變D8120的設(shè)定,
實際上也不接收。
※ 在只發(fā)送的系統(tǒng)中,可將接收數(shù)設(shè)定為K0。(K表示常數(shù))
※ 在只接收的系統(tǒng)中,可將發(fā)送數(shù)設(shè)定為K0。
※ 在程序中可以多次使用RS指令,但在同一時間必須保證只有一個RS指令被驅(qū)動。
※ 在一次完整的通訊過程中,RS指令必須保持一直有效,直至接收數(shù)據(jù)完成。
D8120說明:
※ 根據(jù)MD320的通訊協(xié)議,無幀頭和幀尾,則(bit9,bit8)=(0,0)。
※ bit13~15是計算機鏈接通訊時的設(shè)定項目,使用RS指令時必須設(shè)定為0。
※ RS485未考慮設(shè)置控制線的方法,使用FX2N-485-BD、FX0N-485ADP時,(bit11,bit10 )=(1,1)。
※ 若PLC和變頻器之間的通訊參數(shù)如下:8位數(shù)據(jù)位,無校驗,2位停止位,波特率9600,無幀頭無幀尾,無協(xié)議模式,則D8120=H0C89(H表示16進制)(0000 1100 1000 1001B)
M8002
│──||────────── [ MOV H0C89 D8120 ]
5、相關(guān)標志位:
※ M8122:數(shù)據(jù)發(fā)送請求標志
當PLC處于接收完成狀態(tài)或接收等待狀態(tài)時,用脈沖觸發(fā)M8122,將使得從D0開始的連續(xù)8個數(shù)據(jù)被發(fā)送。當發(fā)送完成后,M8122自動被復(fù)位。當RS指令的驅(qū)動輸入X0變?yōu)镺N狀態(tài)時,PLC就進入接收等待狀態(tài)。
※ M8123:數(shù)據(jù)接收完成標志
當M8123置位時,表明接收已經(jīng)完成,此時需要將接收到的數(shù)據(jù)從接受緩沖區(qū)轉(zhuǎn)移到用戶指定的數(shù)據(jù)區(qū),然后手工復(fù)位M8123。復(fù)位M8123后,則PLC再次進入接收等待狀態(tài)。
如果指定的接收長度為0,則M8123不動作,也不進入接收等待狀態(tài)。從這個狀態(tài)想進入接收等待狀態(tài),必須使接受長度≥0,然后對M8123進行ON→OFF操作。
※ M8129:通訊超時標志
接收數(shù)據(jù)中途中斷時,那個時點開始如果在D8129中規(guī)定的時間內(nèi)不再重新開始接收,作為超時輸出標志M8129變?yōu)镺N狀態(tài),則接收結(jié)束。M8129需手工復(fù)位。
4、收發(fā)數(shù)據(jù)的順序控制程序
│ M8000
│──||────────── [ RS D0 K8 D10 K8 ]
│
│發(fā)送請求脈沖
│──||────────── [ 寫入發(fā)送數(shù)據(jù)的內(nèi)容 ]
│ │─── [ SET M8122 ]
│ 發(fā)送請求,發(fā)送完成后自動復(fù)位
│ M8123
│──||────────── [ 處理接收數(shù)據(jù)的內(nèi)容 ]
│ │─── [ RST M8123 ]
│ 接收完成后,手工復(fù)位
│
※ 超時時間:
在進行通訊時,例如我們設(shè)置的通訊超時時間為50ms,則D8129=K5(K表示常數(shù),在D8129中默認單位為10ms)。
M8002
│──||────────── [ MOV K5 D8129 ]
復(fù)位M8129指令
M8129
│──||────────── [ RST M8129 ]
注意事項:
1、發(fā)送完成→接收開始或接收完成→發(fā)送開始的中間,須設(shè)置下述的OFF時間。
FX1S:2個掃描周期以上; FX2N:100us以上。
2、PLC在接收數(shù)據(jù)時,將直至該接收完成后才能進行發(fā)送。
3、起始數(shù)據(jù)接收后,直至接收完成標志M8123轉(zhuǎn)為ON之前為接收中,此時不能執(zhí)行
發(fā)送要求。
※ M8161:8位/16位選擇
當M8161為OFF時,數(shù)據(jù)幀處理的是16位有效數(shù)據(jù),也就是一個字包含兩個有效的信息字符,發(fā)送和接收都是先低字節(jié)后高字節(jié)順序。
當M8161為ON時,數(shù)據(jù)幀處理的是8位有效數(shù)據(jù),也就是一個字包含一個有效的信息字符,放在低字節(jié)中,高字節(jié)信息忽略。例如用8位數(shù)據(jù)處理模式,則:
M8002
│──||────────── [ SET M8161 ]
特殊寄存器
描述
D8120
通訊格式設(shè)置
D8122
需要發(fā)送的剩余數(shù)據(jù)的個數(shù)
D8123
接收數(shù)據(jù)的個數(shù)
D8129
數(shù)據(jù)接收超時值
M8000
運行監(jiān)控(常通)
M8002
初始脈沖接通
M8121
數(shù)據(jù)發(fā)送等待標志,用于其他通訊方式
M8122
數(shù)據(jù)發(fā)送請求標志
M8123
數(shù)據(jù)接收完成標志
M8129
通訊超時標志
M8161
8位/16位數(shù)據(jù)處理模式轉(zhuǎn)化標志
※ 如果使用FX2N-485BD或FX0N-485ADP時,需設(shè)定D8120的(bit11,bit10)=(1,1)。否則接收到的數(shù)據(jù)和發(fā)送的數(shù)據(jù)一樣。
※ 使用FX2N-285BD模塊時,通訊接收完成的判斷標準如下:接收的字節(jié)數(shù)達到指定的接收長度或者接收到指定的結(jié)束字符。由于FX2N-485BD模塊在做RS485通訊時,RDA連接SDA,RDB連接SDB,發(fā)送的信號同樣會回到接收線上,因此接收完成標志會產(chǎn)生兩次(第一次接收的字符為發(fā)送的字符,第二次接收的信號才是變頻器的應(yīng)答信號),務(wù)必小心處理。
※ 發(fā)送、接收標志的處理:發(fā)送啟動只需要一次,即置位一次M8122,通訊指令RS需要長期驅(qū)動,直至發(fā)送和接收都完成。發(fā)送完成后M8122自動復(fù)位,接收完成則M8123置位。處理完接收數(shù)據(jù)后,需對M8123手工復(fù)位。
※ 超時標志的處理:接收數(shù)據(jù)途中中斷時,如在D8129指定的時間內(nèi)不再重新開始數(shù)據(jù)接收,做為超時輸出標志位M8129變?yōu)镺N,則接收結(jié)束。M8129不能自動復(fù)位,需手工復(fù)位。
※ 協(xié)議內(nèi)容
該串行通信協(xié)議定義了串行通信中傳輸?shù)男畔?nèi)容及使用格式。其中包括:主機輪
詢(或廣播)格式;主機的編碼方法,內(nèi)容包括:要求動作的功能碼,傳輸數(shù)據(jù)和錯誤
校驗等。從機的響應(yīng)也是采用相同的結(jié)構(gòu),內(nèi)容包括:動作確認,返回數(shù)據(jù)和錯誤校驗
等。如果從機在接收信息時發(fā)生錯誤,或不能完成主機要求的動作,她將組織一個故障
信息作為響應(yīng)反饋給主機。
※ 應(yīng)用方式
變頻器接入具備RS232/RS485總線的“單主多從”PC/PLC控制網(wǎng)絡(luò)。
※ 總線結(jié)構(gòu)
(1)接口方式:RS232/RS485硬件接口
(2)傳輸方式:異步串行,半雙工傳輸方式。在同一時刻主機和從機只能有一個發(fā)送 數(shù)據(jù)而另一個只能接收數(shù)據(jù)。數(shù)據(jù)在串行異步通信過程中,是以報文的形式,一幀一幀發(fā)送。
(3)拓撲結(jié)構(gòu):單主機多從機系統(tǒng)。從機地址的設(shè)定范圍為1~247,0為廣播通訊地址。網(wǎng)絡(luò)中的從機地址必須是唯一的。
※ RTU幀格式(詳見MD320串行通訊協(xié)議)
START(無幀頭)
3.5個字符時間
從機地址ADR
通訊地址:1~247 ,廣播地址:0
命令碼CMD
03:讀從機參數(shù);06:寫從機參數(shù)
數(shù)據(jù)內(nèi)容DATA(N-1)
資料內(nèi)容:
功能碼參數(shù)地址,功能碼參數(shù)個數(shù),功
能碼參數(shù)值等。
數(shù)據(jù)內(nèi)容DATA(N-2)
……
數(shù)據(jù)內(nèi)容DATA0
CRC CHK高位
檢測值:CRC值。
CRC CHK低位
END(無幀尾)
3.5個字符時間
※ 變頻器設(shè)置:
F0-02 =2, 命令源選擇為通訊方式給定;
F0-03 =9, 頻率源選擇為通訊方式給定;
FD-00 =5, 波特率選擇為9600;
FD-01 =0, 無校驗:數(shù)據(jù)格式<8,N,2> ;
FD-02 =1, 變頻器地址為1;
FD-03 =10, 應(yīng)答延時10ms;
FD-04 =0.0,通訊超時時間0.0s。
※ 接線方式
首先將FX2N-485-BD上的RDA-SDA端子短接,RDB-SDB端子短接;然后RDA接變頻器通
訊卡的485+,RDB接變頻器通訊卡的485-。
※ 程序構(gòu)架
X0閉合→置位M0→發(fā)送1#機運行命令→置位M1→發(fā)送1#機運行頻率命令(50.00%)
X3閉合→置位M3→發(fā)送廣播停機命令
※ 程序說明
1. 通訊格式[D8120]:波特率9600,無校驗,8位數(shù)據(jù)位,2位停止位,無幀頭和幀
尾;使用FX2N-485-BD通訊模塊。
2. M8161置位表示8位處理模式,其適用于FNC76(ASC)、FNC80(RS)、FNC82
(ASCI)、FNC83(HEX)、FNC84(CCD)指令。
3. 通訊超時[D8129]設(shè)定為10ms。
4. X0閉合→置位M0→發(fā)送1#機運行命令→置位M1→發(fā)送1#機運行頻率命令(50.00%)
X3閉合→置位M3→發(fā)送廣播停機命令。
5. P0子程序為CRC校驗程序。