三菱FX系列通信協(xié)議.doc
《三菱FX系列通信協(xié)議.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《三菱FX系列通信協(xié)議.doc(6頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
FX系列PLC專用協(xié)議通信指令一覽 以下將詳細(xì)列出PLC專用協(xié)議通信的指令: 指令 注釋 BR 以1點(diǎn)為單位,讀出位元件的狀態(tài) WR 以16點(diǎn)為單位,讀出位元件的狀態(tài),或以1字為單位,讀出字元件的值 BW 以1點(diǎn)為單位,寫入位元件的狀態(tài) WW 以16點(diǎn)為單位,寫入位元件的狀態(tài),或以1字為單位,寫入值到字元件 BT 以1點(diǎn)為單位,SET/RESET 位元件 WT 以16點(diǎn)為單位,SET/RESET 位元件,或?qū)懭胫档阶衷? RR 控制PLC運(yùn)行RUN RS 控制PLC停止STOP PC 讀出PLC設(shè)備類型 TT 連接測(cè)試 注:位元件包括X,Y,M,S以及T,C的線圈等; 字元件包括D,T,C,KnX,KnY,KnM等。 三菱FX系列PLC編程口通信協(xié)議總覽 該協(xié)議實(shí)際上適用于PLC編程端口以及FX-232AW模塊的通信。 通訊格式: 命令命令碼目標(biāo)設(shè)備 DEVICEREADCMD"0"X,Y,M,S,T,C,D DEVICEWRITECMD"1"X,Y,M,S,T,C,D FORCEONCMD"7"X,Y,M,S,T,C FORCEOFFCMD"8"X,Y,M,S,T,C 傳輸格式:RS232C 波特率:9600bps 奇偶:even 校驗(yàn):累加方式(和校驗(yàn)) 字符:ASCII 16進(jìn)制代碼: ENQ05H請(qǐng)求 ACK06HPLC正確響應(yīng) NAK15HPLC錯(cuò)誤響應(yīng) STX02H報(bào)文開(kāi)始 ETX03H報(bào)文結(jié)束 幀格式: STXCMDDATA......DATAETXSUM(upper)SUM(lower) 例子: STX,CMD,ADDRESS,BYTES,ETX,SUM 02H,30H,31H,30H,46H,36H,30H,34H,03H,37H,34H SUM=CMD+......+ETX; 30h+31h+30h+46h+36h+30h+34h+03h=74h; 累加和超過(guò)兩位取低兩位 1、DEVICEREAD(讀出軟設(shè)備狀態(tài)值) 計(jì)算機(jī)向PLC發(fā)送: 始命令首地址位數(shù)終和校驗(yàn) STXCMDGROUPADDRESSBYTESETXSUM 例子:從D123開(kāi)始讀取4個(gè)字節(jié)數(shù)據(jù) 02h30h31h,30h,46h,36h30h,34h03h37h,34h 地址算法:address=address*2+1000h 再轉(zhuǎn)換成ASCII 31h,30h,46h,36h PLC返回 STX1STDATA2NDDATA.....LASTDATAETXSUM 注:最多可以讀取64個(gè)字節(jié)的數(shù)據(jù) 例子:從指定的存儲(chǔ)器單元讀到3584這個(gè)數(shù)據(jù) 02h33h35h38h34h03h44h,36h 2、DEVICEWRITE(向PLC軟設(shè)備寫入值) 始命令首地址位數(shù)數(shù)據(jù)終和校驗(yàn) STXCMDGROUPADDRESSBYTES1STDATA2NDDATA......LASTDATAETXSUM 例子:向D123開(kāi)始的兩個(gè)存儲(chǔ)器中寫入1234,ABCD 02h31h31h,30h,46h,36h30h,34h33h,34h,31h,32h,43h,44h,41h,42h03h34h,39h PLC返回 ACK(06H)接受正確 NAK(15H)接受錯(cuò)誤 3、位設(shè)備強(qiáng)制置位/復(fù)位 FORCEON置位 始命令地址終和校驗(yàn) STXCMDADDRESSETXSUM 02h37haddress03hsum FORCEOFF復(fù)位 始命令地址終和校驗(yàn) STXCMDADDRESSETXSUM 02h38haddress03hsum PLC返回 ACK(06H)接受正確 NAK(15H)接受錯(cuò)誤 設(shè)備強(qiáng)制中的地址公式:Address=Address/8+100h 說(shuō)明: 1.幀中的BYTES表示需要讀取或者寫入的字節(jié)數(shù)。 2.地址算法上有說(shuō)明。 3.累加和是從STX后面一個(gè)字節(jié)開(kāi)始累加到ETX的和。 三菱FX系列PLC編程口通信源代碼 fx_comm.h FX系列PLC四種通信模式的特性 首先講講FX系列PLC的通信方式。 FX系列PLC根據(jù)使用的通信模塊與協(xié)議不同,分為以下四種通信模式: 1、PLC的N:N通信方式 2、PLC雙機(jī)并聯(lián)通信方式 3、PLC與計(jì)算機(jī)專有協(xié)議通信方式(無(wú)須梯形圖,電腦直接讀寫操縱PLC) 4、PLC與計(jì)算機(jī)無(wú)協(xié)議通信方式(梯形圖RS指令方式,可自定義通信協(xié)議) 以下將詳細(xì)列出各通信模式的特性: N:N網(wǎng)絡(luò)PLC并聯(lián)專用協(xié)議計(jì)算機(jī)連接無(wú)協(xié)議通信 傳輸標(biāo)準(zhǔn)RS485RS485/RS422RS485/RS422或RS232 傳輸距離500mRS485/RS422:500mRS232:15m 連接數(shù)量8站1:11:N(N<=16)1:1 通信方式半雙工FX,FX2c,FXon:半雙工FX2n:全雙工 數(shù)據(jù)長(zhǎng)度固定7bit/8bit 校驗(yàn)無(wú)/奇/偶 停止位1bit/2bit 波特率38400bps19200bps300/600/1200/2400/4800/9600/19200 頭字符固定無(wú)/有效 尾字符 控制線------ 協(xié)議---格式1/格式4無(wú) 和校驗(yàn)固定無(wú)/有效 適用機(jī)型FX2n,FXonFX2n,FX,FX2cFX2n,FXon,FX,FX2c FX系列PLC專用協(xié)議通信指令一覽 以下將詳細(xì)列出PLC專用協(xié)議通信的指令: 指令注釋 BR以1點(diǎn)為單位,讀出位元件的狀態(tài) WR以16點(diǎn)為單位,讀出位元件的狀態(tài),或以1字為單位,讀出字元件的值 BW以1點(diǎn)為單位,寫入位元件的狀態(tài) WW以16點(diǎn)為單位,寫入位元件的狀態(tài),或以1字為單位,寫入值到字元件 BT以1點(diǎn)為單位,SET/RESET 位元件 WT以16點(diǎn)為單位,SET/RESET 位元件,或?qū)懭胫档阶衷? RR控制PLC運(yùn)行RUN RS控制PLC停止STOP PC讀出PLC設(shè)備類型 TT連接測(cè)試 注:位元件包括X,Y,M,S以及T,C的線圈等; 字元件包括D,T,C,KnX,KnY,KnM等。 FX系列PLC專用協(xié)議通信指令格式詳解 約定說(shuō)明: ENQ為請(qǐng)求標(biāo)志,ASCII值5,VB中以chr(5)表示; ACK為正確標(biāo)志,ASCII值6,VB中以chr(6)表示; STX為請(qǐng)求標(biāo)志,ASCII值2,VB中以chr(2)表示; EXT為請(qǐng)求標(biāo)志,ASCII值3,VB中以chr(3)表示; 表格中紅色字為需要求和效驗(yàn)的部分; 和效驗(yàn)為每一項(xiàng)的ASCII值的總和轉(zhuǎn)換成十六進(jìn)制后區(qū)低兩位; 站號(hào)、PLC號(hào)、元件數(shù)量、和效驗(yàn)都是以十六進(jìn)制表示; 等待延時(shí)為0-150毫秒,以十六進(jìn)制0H-FH表示,如100ms為AH。 1、批量讀出位元件--BR指令 格式: 12345678151617 PC側(cè):ENQ站號(hào)PLC號(hào)BR延時(shí)首地址數(shù)量和效驗(yàn)ACK站號(hào)PLC號(hào) PLC側(cè):STX站號(hào)PLC號(hào)數(shù)據(jù)EXT和效驗(yàn) 91011121314 [注]上述中:1、"PLC號(hào)"系統(tǒng)默認(rèn)為"FF";2、"首地址"應(yīng)以十進(jìn)制表示,如首地址"X0018"表示從X寄存器的第18地址單元開(kāi)始讀取I/O量;3、"數(shù)量"表示讀取的I/O量個(gè)數(shù);4、"和效驗(yàn)"是指從"站號(hào)"到"數(shù)量"之間的各代碼的ASCII碼的累加和;5、PLC側(cè)的響應(yīng)碼中"和效驗(yàn)"是指從"站號(hào)"到"EXT"之間的各代碼的ASCII碼的累加和。6、可以讀出"X"、"Y"和"M"寄存器的內(nèi)容。 例如:要讀出站號(hào)為0的Fx2n系列PLC的X00到X08共9點(diǎn)的狀態(tài)值,延時(shí)100ms,假設(shè)采用CommunicationFormat(D8120)的Format1方式:: 注釋:請(qǐng)求站號(hào)PLC號(hào)命令延時(shí)元件首地址元件數(shù)量和效驗(yàn) 代碼:ENQ00FFBRAX00000942 ASCII碼:05H30H30H46H46H42H52H41H58H30H30H30H30H30H35H34H32H 您只要將以上蘭色部分的代碼以字符串形式(VB中可以表示為CHR(5)&"00FFBRAX00000942")發(fā)送到PLC,就會(huì)有正確的回應(yīng)信息,如下: 注釋:頭站號(hào)PLC號(hào)元件首地址尾和效驗(yàn) 代碼:STX00FF001101101EXT05 ASCII碼:02H30H30H46H46H30H30H31H31H30H31H31H30H31H03H30H35H 若發(fā)送碼有誤,則有以下回應(yīng): 注釋:頭站號(hào)PLC號(hào)和效驗(yàn) 代碼:NAK00FF06 ASCII碼:15H30H30H46H46H30H36H 2、批量讀出字元件--WR指令 格式: 12345678151617 PC側(cè):ENQ站號(hào)PLC號(hào)WR延時(shí)首地址數(shù)量和效驗(yàn)ACK站號(hào)PLC號(hào) PLC側(cè):STX站號(hào)PLC號(hào)數(shù)據(jù)EXT和效驗(yàn) 91011121314 該命令使用方法與1(BR)命令相同,不再贅述。 3、批量寫入位元件--BW指令 格式: 1 2 3 4 5 6 7 8 9 PC側(cè):ENQ站號(hào)PLC號(hào)BW延時(shí)首地址數(shù)量寫入值和效驗(yàn) PLC側(cè):ACK站號(hào)PLC號(hào) 101112 4、批量寫入字元件--WW指令(M寄存器100單元置"1") 格式:01FFWWAM01000100010C 123456789 PC側(cè):ENQ站號(hào)PLC號(hào)WW延時(shí)首地址數(shù)量寫入值和效驗(yàn) PLC側(cè):05H01FFAM01000100010CACK站號(hào)PLC號(hào) 101112 請(qǐng)自行分析以上代碼。 請(qǐng)繼續(xù)關(guān)注如何控制PLC的運(yùn)行/停止。 三菱PLC與PC機(jī)通訊的VB源程序 PLC與PC機(jī)通訊的VB源程序大體如下:采用的是FX232BD通訊模塊,協(xié)議就是FX通訊協(xié)議。 ‘強(qiáng)制PLC為RUN PrivateSubcommand1_Click() DimdatAsString commli.OutBufferCount=0 commli.InBufferCount=0 dat="01FFRR0" commli.Output=Chr$(5)+dat+SumChk(dat) EndSub ‘強(qiáng)制PLC為STOP PrivateSubcommand2_Click() DimdatAsString commli.OutBufferCount=0 commli.InBufferCount=0 dat="01FFRS0" commli.Output=Chr$(5)+dat+SumChk(dat) EndSub ‘強(qiáng)制Y0為1 PrivateSubcommand3_Click() DimdatAsString commli.OutBufferCount=0 commli.InBufferCount=0 commli.Output=“01FFBW0Y001011” EndSub ‘強(qiáng)制Y0為0 PrivateSubcommand3_Click() DimdatAsString commli.OutBufferCount=0 commli.InBufferCount=0 commli.Output=“01FFBW0Y001010” EndSub 設(shè)置電腦通信參數(shù) PrivateSubCommlis() Ifcommli.PortOpen=TrueThen commli.PortOpen=False EndIf IfNotcommli.PortOpenThen commli.CommPort=1通信口 commli.Settings="9600,N,8,1" commli.Handshaking=0 commli.InputLen=0 commli.OutBufferCount=0 commli.InBufferCount=0 commli.PortOpen=True EndIf ExitSub EndSub PrivateFunctionSumChk(Dats$)AsString Dimi& DimCHK& Fori=1ToLen(Dats) CHK=CHK+Asc(Mid(Dats,i,1)) Nexti SumChk=Right(Hex$(CHK),2) EndFunction- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 三菱 FX 系列 通信協(xié)議
鏈接地址:http://www.820124.com/p-9065964.html