莫迪康ModbusRTU_第1頁(yè)
莫迪康ModbusRTU_第2頁(yè)
莫迪康ModbusRTU_第3頁(yè)
莫迪康ModbusRTU_第4頁(yè)
莫迪康ModbusRTU_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、異步串行傳輸(各種介質(zhì)如有線RS-232-/422/485/;光纖、無(wú)線等),對(duì)應(yīng)的通信模式是MODBUS RTU或MODBUS ASCII。莫迪康ModbusRTU1、 設(shè)備簡(jiǎn)介本驅(qū)動(dòng)構(gòu)件用于MCGS軟件通過(guò)ModbusRTU協(xié)議讀寫(xiě)Modicon PLC設(shè)備的各種寄存器的數(shù)據(jù); 同時(shí)也可用于對(duì)支持ModbusRTU標(biāo)準(zhǔn)協(xié)議的各類PLC、儀表、控制器數(shù)據(jù)的讀寫(xiě)。本驅(qū)動(dòng)支持01、02、03、04、05、06、15、16常用功能碼,對(duì)功能碼支持請(qǐng)參見(jiàn)附錄1。驅(qū)動(dòng)類型串口子設(shè)備,須掛接在“通用串口父設(shè)備”下才能工作通訊協(xié)議采用莫迪康ModbusRTU協(xié)議通訊方式一主一從、一主多從方式。驅(qū)動(dòng)構(gòu)件為主

2、,設(shè)備為從。2、 硬件連接MCGS軟件與設(shè)備通訊之前,必須保證通訊連接正確。通訊連接方式:TPC與設(shè)備之間采用標(biāo)準(zhǔn)的RS485或RS232通訊。 Modicon TSX系列和Twido系列PLC的編程通訊口(Terminal Port)的通訊電纜圖如下:其他設(shè)備的通訊連接,具體請(qǐng)參考對(duì)應(yīng)設(shè)備手冊(cè)。3、 設(shè)備通訊參數(shù)“通用串口父設(shè)備”通訊參數(shù)設(shè)置如下:設(shè)置項(xiàng)參數(shù)項(xiàng)通訊波特率9600 (默認(rèn)值)、19200、38400數(shù)據(jù)位位數(shù)7、8(默認(rèn)值)停止位位數(shù)1(默認(rèn)值)、2奇偶校驗(yàn)位奇校驗(yàn)、偶校驗(yàn)(默認(rèn)值)、無(wú)校驗(yàn)其中父設(shè)備通訊參數(shù)設(shè)置應(yīng)與設(shè)備的通訊參數(shù)相同,否則無(wú)法正常通訊。設(shè)備通訊參數(shù)的具體設(shè)置請(qǐng)

3、參見(jiàn)對(duì)應(yīng)設(shè)備手冊(cè)。4、 設(shè)備構(gòu)件參數(shù)設(shè)置“莫迪康ModbusRTU”子設(shè)備參數(shù)設(shè)置如下:l 內(nèi)部屬性:?jiǎn)螕簟安榭丛O(shè)備內(nèi)部屬性”,點(diǎn)擊按鈕進(jìn)入內(nèi)部屬性,具體設(shè)置請(qǐng)參看內(nèi)部屬性。l 最小采集周期:MCGS對(duì)設(shè)備進(jìn)行操作的時(shí)間周期,單位為ms,默認(rèn)為100ms,根據(jù)采集數(shù)據(jù)量的大小,設(shè)置值可適當(dāng)調(diào)整。l 設(shè)備地址:必須和實(shí)際設(shè)備的地址相一致,范圍為0-255,默認(rèn)值為0。l 通訊等待時(shí)間:通訊數(shù)據(jù)接收等待時(shí)間,默認(rèn)設(shè)置為200ms,根據(jù)采集數(shù)據(jù)量的大小,設(shè)置值可適當(dāng)調(diào)整。l 快速采集次數(shù):對(duì)選擇了快速采集的通道進(jìn)行快采的頻率(已不使用,為與老驅(qū)動(dòng)兼容,故保留,無(wú)需設(shè)置)。16位整數(shù)解碼順序:調(diào)整字元

4、件的解碼順序,對(duì)于Modicon PLC及標(biāo)準(zhǔn)PLC設(shè)備,使用默認(rèn)值即可。16位整數(shù)解碼順序舉例:0x0001012表示字元件高低字節(jié)不顛倒(默認(rèn)值)表示1121表示字元件高低字節(jié)顛倒表示25632位整數(shù)解碼順序:調(diào)整雙字元件的解碼順序,對(duì)于Modicon PLC,請(qǐng)?jiān)O(shè)置為“2-3412”順序解碼。32位整數(shù)解碼順序舉例:0x0000 000101234表示雙字元件不做處理直接解碼(默認(rèn)值)表示112143表示雙字元件高低字不顛倒,但字內(nèi)高低字節(jié)顛倒表示25623412表示雙字元件高低字顛倒,但字內(nèi)高低字節(jié)不顛倒表示6553634321表示雙字元件內(nèi)4個(gè)字節(jié)全部顛倒表示1677 721632位

5、浮點(diǎn)數(shù)解碼順序:調(diào)整雙字元件的解碼順序,對(duì)于Modicon PLC,請(qǐng)?jiān)O(shè)置為“2-3412”順序解碼。32位浮點(diǎn)數(shù)解碼順序舉例:0x3F80 000001234表示雙字元件不做處理直接解碼(默認(rèn)值)表示1.012143表示雙字元件高低字不顛倒,但字內(nèi)高低字節(jié)顛倒表示-5.78564e-03923412表示雙字元件高低字顛倒,但字內(nèi)高低字節(jié)不顛倒表示2.27795e-04134321表示雙字元件內(nèi)4個(gè)字節(jié)全部顛倒表示4.60060e-041校驗(yàn)方式:選擇LRC校驗(yàn)值的組合方式,對(duì)于Modicon PLC及標(biāo)準(zhǔn)PLC設(shè)備,使用默認(rèn)設(shè)置即可。0LH低字節(jié),高字節(jié) :校驗(yàn)結(jié)果為2個(gè)字節(jié),低字節(jié)在前,高

6、字節(jié)在后。1HL高字節(jié),低字節(jié) :校驗(yàn)結(jié)果為2個(gè)字節(jié),高字節(jié)在前,低字節(jié)在后。分塊采集方式:驅(qū)動(dòng)采集數(shù)據(jù)分塊的方式,對(duì)于Modicon PLC及標(biāo)準(zhǔn)PLC設(shè)備,使用默認(rèn)設(shè)置可以提高采集效率。0 按最大長(zhǎng)度分塊:采集分塊按最大塊長(zhǎng)處理, 對(duì)地址不連續(xù)但地址相近的多個(gè)分塊,分為一塊一次性讀取,以優(yōu)化采集效率。1 按連續(xù)地址分塊:采集分塊按地址連續(xù)性處理,對(duì)地址不連續(xù)的多個(gè)分塊, 每次只采集連續(xù)地址,不做優(yōu)化處理。例如:有4區(qū)寄存器地址分別為15,7,912的數(shù)據(jù)需采集,如果選擇“0按最大長(zhǎng)度分塊”,則兩塊可優(yōu)化為地址112的數(shù)據(jù)打包1次完成采集;如果選擇“1按連續(xù)地址分塊”,則需要采集3次。4區(qū)1

7、6位寫(xiě)功能碼選擇:寫(xiě)4區(qū)單字時(shí)功能碼的選擇,這個(gè)屬性主要是針對(duì)自己制作設(shè)備的用戶而設(shè)置的,這樣的設(shè)備4區(qū)單字寫(xiě)可能只支持0x10功能碼,而不支持0x06功能碼。 00x06:?jiǎn)巫謱?xiě)功能碼使用0x06。 10x10:?jiǎn)巫謱?xiě)功能碼使用0x10。注意:1. “解碼順序”及“校驗(yàn)方式”設(shè)置:主要是針對(duì)非標(biāo)準(zhǔn)ModbusRTU協(xié)議的不同解碼及校驗(yàn)順序。當(dāng)用戶通過(guò)本驅(qū)動(dòng)軟件與設(shè)備通訊時(shí),如果出現(xiàn)解析數(shù)據(jù)值不對(duì),或者通訊校驗(yàn)錯(cuò)誤(通訊狀態(tài)為3),可與廠家咨詢后對(duì)以上兩項(xiàng)進(jìn)行設(shè)置。而對(duì)于Modicon PLC及支持標(biāo)準(zhǔn)ModbusRTU的PLC及控制器等設(shè)備,一般需將“32位整數(shù)解碼順序”和“32位浮點(diǎn)數(shù)解碼

8、順序”設(shè)置為“23412”。 另外,在使用本驅(qū)動(dòng)與“Modbus串口數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備”構(gòu)件通訊時(shí),“解碼順序”及“校驗(yàn)方式”均需按默認(rèn)值設(shè)置,否則會(huì)導(dǎo)致通訊失敗或解析數(shù)據(jù)錯(cuò)誤。2. “分塊采集方式”設(shè)置:主要是針對(duì)非標(biāo)準(zhǔn)ModbusRTU協(xié)議設(shè)備。當(dāng)用戶通過(guò)本驅(qū)動(dòng)軟件與設(shè)備通訊時(shí),如果按默認(rèn)“0按最大長(zhǎng)度分塊”時(shí),出現(xiàn)讀取連續(xù)地址正常,而不連續(xù)地址不正常時(shí),可與廠家咨詢,并設(shè)置為“1按連續(xù)地址分塊方式”嘗試是否可正常通訊。而對(duì)于Modicon PLC及支持標(biāo)準(zhǔn)ModbusRTU的PLC及控制器等設(shè)備,直接使用默認(rèn)設(shè)置即可,這樣可以提高采集效率。5、 采集通道a、 通訊狀態(tài):通訊狀態(tài)值代表意義0表示

9、當(dāng)前通訊正常1表示采集初始化錯(cuò)誤2表示采集無(wú)數(shù)據(jù)返回錯(cuò)誤3表示采集數(shù)據(jù)校驗(yàn)錯(cuò)誤4表示設(shè)備命令讀寫(xiě)操作失敗錯(cuò)誤5表示設(shè)備命令格式或參數(shù)錯(cuò)誤6表示設(shè)備命令數(shù)據(jù)變量取值或賦值錯(cuò)誤6、 內(nèi)部屬性用戶可通過(guò)內(nèi)部屬性,添加通道,本驅(qū)動(dòng)構(gòu)件可支持ModbusRTU寄存器類型及對(duì)應(yīng)功能碼如下:寄存器數(shù)據(jù)類型讀取功能碼寫(xiě)入功能碼操作方式通道舉例1區(qū)輸入繼電器BT02只讀只讀10001 表示1區(qū)地址10區(qū)輸出繼電器BT0105、15讀寫(xiě)讀寫(xiě)00001 表示0區(qū)地址13區(qū)輸入寄存器BT、WUB、WB、WDDUB、DB、DD、DF、STR04只讀只讀30001 表示3區(qū)地址14區(qū)輸出寄存器BT、WUB、WB、WDDU

10、B、DB、DD、DF、STR0306、16讀寫(xiě)讀寫(xiě)40001 表示4區(qū)地址1說(shuō)明:功能碼:1區(qū)、3區(qū)不支持寫(xiě)操作;4區(qū)在雙字(32位)數(shù)據(jù)寫(xiě)操作或批量寫(xiě)入多個(gè)數(shù)據(jù)時(shí),使用16功能碼。數(shù)據(jù)類型:“STR”數(shù)據(jù)類型是專用于和MCGS“Modbus串口數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備”驅(qū)動(dòng)構(gòu)件配合使用的,并且只能通過(guò)寫(xiě)通道的方式來(lái)改變“Modbus串口數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備”從設(shè)備的值。具體數(shù)據(jù)類型說(shuō)明請(qǐng)參見(jiàn) 附錄2注意:在內(nèi)部屬性中添加通道時(shí),起始地址均為1,這是遵從Modbus協(xié)議的,即所謂的“協(xié)議地址”,對(duì)于部分寄存器起始地址為0的設(shè)備,通道添加時(shí),地址應(yīng)加1處理。 7、 設(shè)備命令本設(shè)備構(gòu)件提供設(shè)備命令,具體格式如下: 設(shè)

11、備命令命令格式命令舉例讀取命令ReadRead(寄存器名稱, 寄存器地址, 數(shù)據(jù)類型=返回值)例1.1: !SetDevice(設(shè)備0,6, "Read(0,1,BT00=Data00;1,10,BT00=Data01) ")讀取0區(qū)地址為1,1區(qū)地址10的繼電器值,放入MCGS變量Data00,Data01中。例1.2: !SetDevice(設(shè)備0,6, "Read(4,10,WUB=Data00;4,40,DF=Data01) ")讀取寄存器4區(qū)地址1的16位無(wú)符號(hào)值, 和地址40的浮點(diǎn)數(shù)值,放入MCGS變量Data00,Data01中。寫(xiě)入命令W

12、riteWrite(寄存器名稱, 寄存器地址, 數(shù)據(jù)類型=寫(xiě)入值)例1.3: !SetDevice(設(shè)備0,6, "Write(4,10,WUB=Data00;4,40,DF=Data01) ")將Data00,Data01的值分別以16位無(wú)符號(hào)和浮點(diǎn)數(shù)寫(xiě)入4區(qū)寄存器地址10和40中。32位讀命令Read32Read32(寄存器名稱, 寄存器地址, 數(shù)據(jù)類型=字符返回值)例2.1: !SetDevice(設(shè)備0,6, "Read32(4,10,DUB=strData) ")讀取4區(qū)寄存器中地址10的32位無(wú)符號(hào)值, 放入字符變量strData中。32位寫(xiě)

13、命令Write32Write32(寄存器名稱, 寄存器地址, 數(shù)據(jù)類型=字符寫(xiě)入值)例2.2: !SetDevice(設(shè)備0,6, "Write32(DM,10,DUB=strData) ")將字符變量strData的值, 以32位無(wú)符號(hào)格式寫(xiě)入4區(qū)寄存器地址1中。批量讀取A:ReadPReadP(寄存器名稱, 起始地址, 數(shù)據(jù)類型,數(shù)據(jù)個(gè)數(shù)n, 數(shù)據(jù)1, .數(shù)據(jù)n ,返回狀態(tài))例3.1: !SetDevice(設(shè)備0,6,"ReadP(4,10,WUB,2,Data00,Data01,nReturn)")表示讀取4區(qū)寄存器從地址10開(kāi)始的兩個(gè)16位無(wú)符

14、號(hào)數(shù)值,放入MCGS變量Data00,Data01中, 執(zhí)行結(jié)果存入變量nReturn中。批量讀取B:ReadPVReadPV(寄存器名稱, 起始地址, 數(shù)據(jù)類型,數(shù)據(jù)個(gè)數(shù)n, 數(shù)據(jù)1 ,返回狀態(tài))例3.2: !SetDevice(設(shè)備0,6,"ReadPV(4,10,WUB,5,Data00,返回值)")表示讀取4區(qū)寄存器從地址10開(kāi)始的5個(gè)16位無(wú)符號(hào)數(shù)值,放入MCGS變量Data00為起始,連續(xù)5個(gè)變量(即: Data00,Data01,Data02,Data03,Data04) 中, 結(jié)果存入變量“返回值”中。批量讀取C:ReadBlockReadBlock (寄存

15、器名稱, 起始地址, 數(shù)據(jù)類型1數(shù)據(jù)類型,讀取數(shù)量n, 字符數(shù)據(jù) ,返回狀態(tài))說(shuō)明: 讀取數(shù)量是指讀取N個(gè)數(shù)據(jù)類型中指定的數(shù)據(jù)段到字符變量中,數(shù)據(jù)類型可以有多個(gè),之間用中括號(hào)分隔。實(shí)際連續(xù)讀取個(gè)數(shù) = 讀取數(shù)量n *(數(shù)據(jù)類型1+數(shù)據(jù)類型n)返回?cái)?shù)據(jù)“字符數(shù)據(jù)”格式為:123,456,xxx的csv方式,每次讀取時(shí)以回車換行結(jié)尾。例3.3: !SetDevice(設(shè)備0,6, "ReadBlock(4,10,WUBDF,3,strData)")表示讀取4區(qū)寄存器從地址10開(kāi)始,按WBU,DF格式連續(xù)讀取3組數(shù)據(jù) (即: 數(shù)據(jù)格式為WUB,DF,WUB,DF,WUB,DF),

16、并以相應(yīng)格式解析并以逗號(hào)間隔的CSV格式存入字符變量StrData中。批量讀取D:ReadMutiRegReadMutiReg(寄存器名稱, 起始地址, 數(shù)據(jù)個(gè)數(shù)n, 數(shù)據(jù)類型, 字符數(shù)據(jù))說(shuō)明: 按指定數(shù)據(jù)類型批量讀取起始地址開(kāi)始連續(xù)地址的n個(gè)數(shù)據(jù)到字符變量數(shù)據(jù)中,數(shù)據(jù)間以逗號(hào)間隔。例3.4: !SetDevice(設(shè)備0,6," ReadMutiReg (4, 10, 5, DF, strData)")表示讀取4區(qū)寄存器從地址10開(kāi)始的5個(gè)32位浮點(diǎn)數(shù)值,并以逗號(hào)間隔形式,放入MCGS字符串變量strData中。例如:字符變量strData = “123.4,234.5

17、,345.6,456.7,567.8” 。批量寫(xiě)入A:WritePWriteP(寄存器名稱, 起始地址, 數(shù)據(jù)類型,數(shù)據(jù)個(gè)數(shù)n, 數(shù)據(jù)1, .數(shù)據(jù)n ,返回狀態(tài))例4.1: !SetDevice(設(shè)備0,6, "WriteP(4,10,WUB,2,Data00,Data01,nReturn)")表示將MCGS變量Data00,Data01的值, 以16位無(wú)符號(hào)形式寫(xiě)入4區(qū)寄存器從地址10起始的兩個(gè)寄存器中, 執(zhí)行結(jié)果存入變量nReturn中。批量寫(xiě)入B:WritePVWriteP(寄存器名稱, 起始地址, 數(shù)據(jù)類型,數(shù)據(jù)個(gè)數(shù)n, 數(shù)據(jù)1 ,返回狀態(tài))例4.2: !SetDe

18、vice(設(shè)備0,6, "WritePV(4,10,WUB,5,Data00,nReturn)")表示將以MCGS變量Data01為起始,連續(xù)5個(gè)變量的值(即: Data00,Data01,Data02, Data03, Data04), 以16位無(wú)符號(hào)形式寫(xiě)入4區(qū)寄存器從地址10起始的兩個(gè)寄存器中, 執(zhí)行結(jié)果存入變量nReturn中。批量寫(xiě)入C:WriteBlockWriteBlock (寄存器名稱, 起始地址, 數(shù)據(jù)類型1數(shù)據(jù)類型,讀取數(shù)量n, 字符數(shù)據(jù) ,返回狀態(tài))說(shuō)明: 寫(xiě)入的數(shù)據(jù)在指定的字符數(shù)據(jù)對(duì)象中,格式為:xxx,xxx,xxx的csv方式,每次讀取時(shí)換行以回

19、車換行結(jié)尾。其他具體格式參見(jiàn)ReadBlock。例4.3: !SetDevice(設(shè)備0,6, "WriteBlock(4,10,WUBDF,3,strData)")表示將strData字符變量中的CSV格式的數(shù)據(jù),按指定格式,寫(xiě)入4區(qū)寄存器從地址10開(kāi)始的連續(xù)地址中。批量寫(xiě)入D:WriteMutiRegWriteMutiReg(寄存器名稱, 起始地址, 數(shù)據(jù)個(gè)數(shù)n, 數(shù)據(jù)類型, 字符數(shù)據(jù))說(shuō)明: 按指定數(shù)據(jù)類型將字符數(shù)據(jù)中以逗號(hào)間隔的n個(gè)數(shù)據(jù),批量寫(xiě)入起始地址開(kāi)始連續(xù)地址的n個(gè)數(shù)據(jù)到字符變量數(shù)據(jù)中,數(shù)據(jù)間以逗號(hào)間隔。例4.4: !SetDevice(設(shè)備0,6,"

20、; WriteMutiReg (4, 10, 5, DF, strData)")其中字符變量strData = “123.4,234.5,345.6,456.7,567.8”,表示將字符串變量strData中以逗號(hào)間隔形式的123.4等5個(gè)數(shù)據(jù),以浮點(diǎn)數(shù)形式寫(xiě)入4區(qū)寄存器從地址10開(kāi)始連續(xù)5個(gè)地址中。通訊日志SetHiddenPro(1,屬性值)開(kāi)啟通訊日志: !SetDevice(設(shè)備0,6, "SetHiddenPro(1, 1) ")開(kāi)啟錯(cuò)誤日志: !SetDevice(設(shè)備0,6, "SetHiddenPro(1, 2) ")關(guān)閉通訊日

21、志: !SetDevice(設(shè)備0,6, "SetHiddenPro(1, 0) ")屬性獲取GetHiddenPro(1,屬性值)讀取通訊日志狀態(tài):!SetDevice(設(shè)備0,6, "GetHiddenPro(1, Data01) ")Data01為1時(shí),表示通訊日志開(kāi)啟;為0時(shí),表示通訊日志關(guān)閉。讀取PLC延時(shí):!SetDevice(設(shè)備0,6, "GetHiddenPro(2, Data01) ")讀取PLC實(shí)際的響應(yīng)延遲時(shí)間,存入變量Data01中。讀取最小采集耗時(shí):!SetDevice(設(shè)備0,6, "GetHi

22、ddenPro(3, Data01) ")讀取采集最小數(shù)據(jù)(1字長(zhǎng)數(shù)據(jù))所用耗時(shí),存入變量Data01中。注:通常情況下,驅(qū)動(dòng)日志功能默認(rèn)為關(guān)閉的;參數(shù)說(shuō)明:寄存器名稱:字符型變量,表示當(dāng)前操作的寄存器,值為”1”,”0”,”3”,”4”,分別對(duì)應(yīng)1區(qū)輸入繼電器、0區(qū)輸出繼電器、3區(qū)輸入寄存器、4區(qū)輸出寄存器。寄存器地址:數(shù)值型變量,表示當(dāng)前操作的寄存器地址,不同的設(shè)備地址范圍不同,查閱相關(guān)手冊(cè)確定。數(shù)據(jù)類型: 字符型變量,表示當(dāng)前操作的寄存器數(shù)據(jù)類型附錄2數(shù)據(jù):數(shù)值型變量、開(kāi)關(guān)量,它是用來(lái)存儲(chǔ)設(shè)備命令數(shù)據(jù)的MCGS變量。返回狀態(tài):返回批量讀寫(xiě)設(shè)備命令的執(zhí)行狀態(tài)(當(dāng)設(shè)備命令格式錯(cuò)誤時(shí)

23、無(wú)效), 具體返回值意義請(qǐng)參見(jiàn)通訊狀態(tài)說(shuō)明, 返回狀態(tài)為可選參數(shù)(以標(biāo)記), 用戶也可通過(guò)通訊狀態(tài)通道判斷返回結(jié)果。批量讀寫(xiě)說(shuō)明:1.批量讀寫(xiě)操作(包括:ReadP、ReadPV、WriteP、WritePV),為對(duì)同類寄存器連續(xù)地址的一次性讀寫(xiě)操作。使用時(shí)要注意變量對(duì)應(yīng)寄存器地址的連續(xù)性。 2.批量讀寫(xiě)操作(包括:ReadP、ReadPV、WriteP、WritePV),數(shù)據(jù)個(gè)數(shù)最大為512個(gè)。建議一次批量操作數(shù)據(jù)量不要過(guò)大, 否則會(huì)影響正常采集效果。3.批量讀寫(xiě)ReadPV和WritePV為對(duì)連續(xù)變量的操作,使用時(shí)要注意保證變量命名的索引累加的連續(xù)性。具體可參看相應(yīng)“命令舉例”部分。4.批

24、量讀寫(xiě)ReadBlock和WriteBlock為對(duì)連續(xù)地址的讀寫(xiě)操作,其字符變量格式為特定的CSV格式,在寫(xiě)入及讀取解析時(shí)一定要注意符合格式要求。 通訊日志功能說(shuō)明:設(shè)備命令中提供的通訊日志功能是為了方便用戶現(xiàn)場(chǎng)調(diào)試,默認(rèn)為不開(kāi)啟狀態(tài)。正常時(shí)無(wú)需開(kāi)啟,否則影響速度。當(dāng)現(xiàn)場(chǎng)有疑難無(wú)法正常通訊時(shí),可開(kāi)啟通訊日志功能,記錄日志信息,將通訊過(guò)程記錄以供技術(shù)人員分析。對(duì)于通訊跳變等不穩(wěn)定狀態(tài),可以開(kāi)啟通訊錯(cuò)誤日志記錄(即:當(dāng)通訊不正常時(shí),記錄通訊錯(cuò)誤的日志,而正常通訊時(shí)不記錄日志)。通訊日志默認(rèn)保存為C:ModbusRTU.log (TPC下為harddisk ModbusRTU.log)。當(dāng)文件大于6

25、M時(shí)自動(dòng)清空。日志格式舉例說(shuō)明如下:設(shè)備地址行號(hào)操作時(shí)間發(fā)/收時(shí)間發(fā)/收次數(shù)字節(jié)長(zhǎng)度耗時(shí)發(fā)送或接收內(nèi)容Address:01Line001(2007-12-05 16:21:51)1289961Send0/Revc08 Byte20ms屬性獲取功能說(shuō)明:使用設(shè)備命令中提供的屬性獲取功能,可以獲得通訊日志狀態(tài)、PLC延時(shí)、最小采集耗時(shí)等數(shù)據(jù)。其中:通訊日志狀態(tài):讀回值為1時(shí),表示通訊日志開(kāi)啟;讀回值為2時(shí),表示開(kāi)啟錯(cuò)誤日志;為0時(shí),表示通訊日志關(guān)閉。PLC延時(shí):為PLC實(shí)際的響應(yīng)延遲時(shí)間,即:驅(qū)動(dòng)讀寫(xiě)指令幀發(fā)出后到PLC響應(yīng)并開(kāi)始返回?cái)?shù)據(jù)幀所用的時(shí)間。最小采集耗時(shí):為采集最少數(shù)據(jù)(1字長(zhǎng)數(shù)據(jù))所耗

26、費(fèi)的時(shí)間,最小采集耗時(shí)=發(fā)指令幀耗時(shí)+ PLC延時(shí)+接收數(shù)據(jù)幀耗時(shí)。用戶在調(diào)試時(shí),可根據(jù)PLC延時(shí)、最小采集耗時(shí)判斷PLC的實(shí)際響應(yīng)時(shí)間,并結(jié)合驅(qū)動(dòng)通訊日志判斷采集速度是否正常。如數(shù)據(jù)值過(guò)大,說(shuō)明PLC可能因程序過(guò)大而導(dǎo)致響應(yīng)時(shí)間過(guò)長(zhǎng),影響采集速度。解決方法為優(yōu)化PLC程序,提高PLC響應(yīng)時(shí)間。8、 常見(jiàn)故障分析故障現(xiàn)象分析處理建議通訊狀態(tài)為1或 2采集初始化錯(cuò)誤或采集無(wú)數(shù)據(jù)返回(通訊硬件連接、參數(shù)設(shè)置問(wèn)題)1、檢查串口父設(shè)備參數(shù)設(shè)置是否正確2、檢查串口是否被其他程序占用3、檢查通訊電纜是否正確連接4、檢測(cè)設(shè)備,并使用廠家測(cè)試程序確保通訊正常。并確認(rèn)設(shè)備設(shè)置項(xiàng)與幫助中要求相同。5、檢查“設(shè)備地

27、址”與PLC設(shè)置是否一致6、適當(dāng)延長(zhǎng)“通訊等待時(shí)間”7、讀取數(shù)據(jù)地址超范圍通訊狀態(tài)為3采集數(shù)據(jù)校驗(yàn)錯(cuò)誤(包括應(yīng)答數(shù)據(jù)不完整或校驗(yàn)錯(cuò)誤兩種情況)1、檢查父設(shè)備串口校驗(yàn)位設(shè)置是否正確2、適當(dāng)延長(zhǎng)“通訊等待時(shí)間”3、設(shè)備斷電,重新上電,使初始化設(shè)備4、通訊電纜太長(zhǎng),做短距離測(cè)試5、現(xiàn)場(chǎng)干擾太大,避免周圍環(huán)境干擾6、通訊信號(hào)變?nèi)?,使用有源RS232/485模塊通訊狀態(tài)在0與非0之間跳變通訊不穩(wěn)定或讀取地址超范圍1、同通訊狀態(tài)為3的處理2、讀取數(shù)據(jù)地址超范圍 (典型情況為,添加某通道后,導(dǎo)致通訊狀態(tài)變非0)通訊狀態(tài)為0,數(shù)據(jù)不正確組態(tài)工程錯(cuò)誤1、新建工程測(cè)試驅(qū)動(dòng)2、檢測(cè)通道是否連接變量3、檢測(cè)工程是否對(duì)

28、數(shù)據(jù)進(jìn)行處理通訊速度太慢通訊數(shù)據(jù)量過(guò)大或采集周期設(shè)置過(guò)長(zhǎng)1、將“采集優(yōu)化”屬性設(shè)置為“1-優(yōu)化”2、減小父設(shè)備及子設(shè)備的最小采集周期(最小可設(shè)置為20ms)3、使用設(shè)備命令,減少實(shí)時(shí)采集的數(shù)據(jù)4、通過(guò)設(shè)備命令獲取PLC延時(shí),判斷是否因PLC響應(yīng)時(shí)間過(guò)長(zhǎng)而影響采集速度。通訊次數(shù)過(guò)多5、將數(shù)據(jù)放到連續(xù)的地址塊中,提高塊讀效率6、將不同寄存器的數(shù)據(jù)放到同一寄存器連續(xù)的地址塊中,減少采集塊數(shù),提高采集效率9、 特殊應(yīng)用的開(kāi)發(fā)本設(shè)備構(gòu)件目前只實(shí)現(xiàn)部分通訊功能,如需要用作其它用途或本構(gòu)件不能滿足要求時(shí),可自行進(jìn)行開(kāi)發(fā),MCGS用戶指南中有關(guān)于開(kāi)發(fā)設(shè)備構(gòu)件的詳細(xì)說(shuō)明,也可以提出具體的技術(shù)要求,由我們親自為您定制。附表:附錄1本驅(qū)動(dòng)構(gòu)件支持的寄存器及功能碼說(shuō)明如下:寄存器讀取功能碼寫(xiě)入功能碼功能碼說(shuō)明1區(qū)輸入繼電器0202: 讀取輸入狀態(tài)0區(qū)輸出繼電器01051501: 讀取線圈狀態(tài)05: 強(qiáng)制單個(gè)線圈15: 強(qiáng)制多個(gè)線圈3區(qū)輸入寄存器0404: 讀輸入寄存器4區(qū)輸出寄存器03061603: 讀保持

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論