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