ICS TRIPLEX T8402 DCS工控模塊備件
2 00 80設(shè)置點(diǎn)地址0080設(shè)置點(diǎn)數(shù)量2 00 02 2個(gè)設(shè)置點(diǎn)(總共4字節(jié))字節(jié)計(jì)數(shù)1 04 2個(gè)寄存器=4字節(jié)命令功能2 00 05地址0080命令操作2 00 01地址0081 CRC 2 0B D6 CRC的數(shù)據(jù)由主從站響應(yīng)計(jì)算:字節(jié)示例/描述從站11功能代碼1 10的從站地址1 0B響應(yīng)消息存儲(chǔ)設(shè)置點(diǎn)數(shù)據(jù)起始地址2 00 80設(shè)置點(diǎn)地址0080設(shè)置點(diǎn)數(shù)量2 00 02 2個(gè)設(shè)置點(diǎn)(共4字節(jié))CRC 2 40 8A由從屬GE Power Management 469電機(jī)管理繼電器6-15 6通信6.3錯(cuò)誤響應(yīng)6 6.3錯(cuò)誤響應(yīng)6.3.1描述當(dāng)469檢測(cè)到CRC錯(cuò)誤以外的錯(cuò)誤時(shí),將向主控發(fā)送響應(yīng)。FUNCTION CODE(功能代碼)字節(jié)的MSbit將設(shè)置為1(即,從從機(jī)發(fā)送的功能代碼將等于從主機(jī)發(fā)送的功能碼加上128)。以下字節(jié)將是一個(gè)異常代碼,指示發(fā)生的錯(cuò)誤類(lèi)型。469將忽略從具有CRC錯(cuò)誤的主機(jī)接收的傳輸。從機(jī)對(duì)錯(cuò)誤(CRC錯(cuò)誤除外)的響應(yīng)為:?從機(jī)地址:1字節(jié)?功能代碼:1字節(jié)(MSbit設(shè)置為1)?異常代碼:1個(gè)字節(jié)?CRC:2字節(jié)469實(shí)現(xiàn)以下異常響應(yīng)代碼。01-非法功能傳輸?shù)墓δ艽a不是469支持的功能之一。02-非法數(shù)據(jù)地址主機(jī)發(fā)送的數(shù)據(jù)字段中引用的地址不是469的允許地址。03-非法數(shù)據(jù)值主機(jī)傳輸?shù)臄?shù)據(jù)字段中引用的值不在所選數(shù)據(jù)地址的范圍內(nèi)。6-16 469電機(jī)管理繼電器GE電源管理6.4存儲(chǔ)器映射6通信6.4存儲(chǔ)器映射6.4.1存儲(chǔ)器映射信息469中存儲(chǔ)的數(shù)據(jù)分為設(shè)定值和實(shí)際值。設(shè)置點(diǎn)可由主計(jì)算機(jī)讀取和寫(xiě)入。實(shí)際值為只讀。所有設(shè)定值和實(shí)際值存儲(chǔ)為雙字節(jié)值。也就是說(shuō),每個(gè)寄存器地址都是兩字節(jié)值的地址。地址以十六進(jìn)制列出。數(shù)據(jù)值(設(shè)定點(diǎn)范圍、增量、出廠值)以十進(jìn)制表示。許多Modbus通信驅(qū)動(dòng)程序?qū)?0001d添加到寄存器地址的實(shí)際地址。例如:如果要讀取地址0h,則40001d將是Modbus通信驅(qū)動(dòng)程序所需的地址;如果要讀取地址320h(800d),則40801d將是Modbus通信驅(qū)動(dòng)程序所需的地址。6.4.2用戶(hù)可定義的內(nèi)存映射區(qū)域469具有一個(gè)強(qiáng)大的功能,稱(chēng)為用戶(hù)可定義內(nèi)存映射,允許計(jì)算機(jī)通過(guò)使用一個(gè)Modbus數(shù)據(jù)包讀取多達(dá)124個(gè)非連續(xù)數(shù)據(jù)寄存器(設(shè)置點(diǎn)或?qū)嶋H值)。主計(jì)算機(jī)經(jīng)常需要連續(xù)輪詢(xún)每個(gè)連接的從屬繼電器中的各種值。如果這些值分散在整個(gè)內(nèi)存映射中,那么讀取它們將需要多次傳輸,并會(huì)給通信鏈路帶來(lái)負(fù)擔(dān)。用戶(hù)可定義存儲(chǔ)器映射可編程為將任何存儲(chǔ)器映射地址連接到連續(xù)用戶(hù)映射位置塊中的一個(gè),從而可以通過(guò)讀取這些連續(xù)位置來(lái)訪問(wèn)它們。用戶(hù)可定義區(qū)域有兩個(gè)部分:1。包含125個(gè)實(shí)際值或設(shè)定點(diǎn)寄存器地址的寄存器索引區(qū)(存儲(chǔ)器映射地址0180h至01FCh)。2.寄存器區(qū)域(存儲(chǔ)器映射地址0100h至017Ch),其包含寄存器索引中的地址處的數(shù)據(jù)。在存儲(chǔ)器映射的其余部分中分離的寄存器數(shù)據(jù)可以重新映射到用戶(hù)可定義寄存器區(qū)域中的相鄰寄存器地址。這是通過(guò)寫(xiě)入用戶(hù)可定義的寄存器索引區(qū)域中的寄存器地址來(lái)實(shí)現(xiàn)的。這允許改進(jìn)數(shù)據(jù)的吞吐量,并且可以消除對(duì)多個(gè)讀取命令序列的需要。例如,如果平均相位的值
2 00 80 setpoint address 0080 NUMBER OF SETPOINTS 2 00 02 2 setpoints (4 bytes total) BYTE COUNT 1 04 2 registers = 4 bytes COMMAND FUNCTION 2 00 05 data for address 0080 COMMAND OPERATION 2 00 01 data for address 0081 CRC 2 0B D6 CRC calculated by the master SLAVE RESPONSE: BYTES EXAMPLE / DESCRIPTION SLAVE ADDRESS 1 0B response message from slave 11 FUNCTION CODE 1 10 store setpoints DATA STARTING ADDRESS 2 00 80 setpoint address 0080 NUMBER OF SETPOINTS 2 00 02 2 setpoints (4 bytes total) CRC 2 40 8A CRC calculated by the slave GE Power Management 469 Motor Management Relay 6-15 6 COMMUNICATIONS 6.3 ERROR RESPONSES 6 6.3 ERROR RESPONSES 6.3.1 DESCRIPTION When an 469 detects an error other than a CRC error, a response will be sent to the master. The MSbit of the FUNCTION CODE byte will be set to 1 (i.e. the function code sent from the slave will be equal to the function code sent from the master plus 128). The following byte will be an exception code indicating the type of error that occurred. Transmissions received from the master with CRC errors will be ignored by the 469. The slave response to an error (other than CRC error) will be: ? SLAVE ADDRESS: 1 byte ? FUNCTION CODE: 1 byte (with MSbit set to 1) ? EXCEPTION CODE: 1 byte ? CRC: 2 bytes The 469 implements the following exception response codes. 01 - ILLEGAL FUNCTION The function code transmitted is not one of the functions supported by the 469. 02 - ILLEGAL DATA ADDRESS The address referenced in the data field transmitted by the master is not an allowable address for the 469. 03 - ILLEGAL DATA VALUE The value referenced in the data field transmitted by the master is not within range for the selected data address. 6-16 469 Motor Management Relay GE Power Management 6.4 MEMORY MAP 6 COMMUNICATIONS 6 6.4 MEMORY MAP 6.4.1 MEMORY MAP INFORMATION The data stored in the 469 is grouped as Setpoints and Actual Values. Setpoints can be read and written by a master computer. Actual Values are read only. All Setpoints and Actual Values are stored as two-byte values. That is, each register address is the address of a two-byte value. Addresses are listed in hexadecimal. Data values (setpoint ranges, increments, factory values) are in decimal. Many Modbus communications drivers add 40001d to the actual address of the register addresses. For example: if address 0h was to be read, 40001d would be the address required by the Modbus communications driver; if address 320h (800d) was to be read, 40801d would be the address required by the Modbus communications driver. 6.4.2 USER DEFINABLE MEMORY MAP AREA The 469 has a powerful feature, called the User Definable Memory Map, which allows a computer to read up to 124 non-consecutive data registers (setpoints or actual values) by using one Modbus packet. It is often necessary for a master computer to continuously poll various values in each of the connected slave relays. If these values are scattered throughout the memory map, reading them would require numerous transmissions and would burden the communication link. The User Definable Memory Map can be programmed to join any memory map address to one in the block of consecutive User Map locations, so that they can be accessed by reading these consecutive locations. The User Definable area has two sections: 1. A register index area (memory map addresses 0180h to 01FCh) that contains 125 actual values or setpoints register addresses. 2. A register area (memory map addresses 0100h to 017Ch) that contains the data at the addresses in the register index. Register data that is separated in the rest of the memory map may be remapped to adjacent register addresses in the User Definable Registers area. This is accomplished by writing to register addresses in the User Definable Register Index area. This allows for improved through-put of data and can eliminate the need for multiple read command sequences. For example, if the values of Average Phase