leechonghua
級別: 論壇先鋒
|
三菱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)標(biāo)志位: ※ M8122:數(shù)據(jù)發(fā)送請求標(biāo)志 當(dāng)PLC處于接收完成狀態(tài)或接收等待狀態(tài)時,用脈沖觸發(fā)M8122,將使得從D0開始的連續(xù)8個數(shù)據(jù)被發(fā)送。當(dāng)發(fā)送完成后,M8122自動被復(fù)位。當(dāng)RS指令的驅(qū)動輸入X0變?yōu)镺N狀態(tài)時,PLC就進入接收等待狀態(tài)。 ※ M8123:數(shù)據(jù)接收完成標(biāo)志 當(dāng)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:通訊超時標(biāo)志 接收數(shù)據(jù)中途中斷時,那個時點開始如果在D8129中規(guī)定的時間內(nèi)不再重新開始接收,作為超時輸出標(biāo)志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ù)接收后,直至接收完成標(biāo)志M8123轉(zhuǎn)為ON之前為接收中,此時不能執(zhí)行 發(fā)送要求。 ※ M8161:8位/16位選擇 當(dāng)M8161為OFF時,數(shù)據(jù)幀處理的是16位有效數(shù)據(jù),也就是一個字包含兩個有效的信息字符,發(fā)送和接收都是先低字節(jié)后高字節(jié)順序。 當(dāng)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ā)送等待標(biāo)志,用于其他通訊方式 M8122 數(shù)據(jù)發(fā)送請求標(biāo)志 M8123 數(shù)據(jù)接收完成標(biāo)志 M8129 通訊超時標(biāo)志 M8161 8位/16位數(shù)據(jù)處理模式轉(zhuǎn)化標(biāo)志 ※ 如果使用FX2N-485BD或FX0N-485ADP時,需設(shè)定D8120的(bit11,bit10)=(1,1)。否則接收到的數(shù)據(jù)和發(fā)送的數(shù)據(jù)一樣。 ※ 使用FX2N-285BD模塊時,通訊接收完成的判斷標(biāo)準(zhǔn)如下:接收的字節(jié)數(shù)達到指定的接收長度或者接收到指定的結(jié)束字符。由于FX2N-485BD模塊在做RS485通訊時,RDA連接SDA,RDB連接SDB,發(fā)送的信號同樣會回到接收線上,因此接收完成標(biāo)志會產(chǎn)生兩次(第一次接收的字符為發(fā)送的字符,第二次接收的信號才是變頻器的應(yīng)答信號),務(wù)必小心處理。 ※ 發(fā)送、接收標(biāo)志的處理:發(fā)送啟動只需要一次,即置位一次M8122,通訊指令RS需要長期驅(qū)動,直至發(fā)送和接收都完成。發(fā)送完成后M8122自動復(fù)位,接收完成則M8123置位。處理完接收數(shù)據(jù)后,需對M8123手工復(fù)位。 ※ 超時標(biāo)志的處理:接收數(shù)據(jù)途中中斷時,如在D8129指定的時間內(nèi)不再重新開始數(shù)據(jù)接收,做為超時輸出標(biāo)志位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校驗程序。 |
---|---|
本帖最近評分記錄: |