The Service will then record the number of data blocks available in the SOE_DATA area in the NUM_BLKS register followed by incrementing the value of the SEQ_NO register. This marks the beginning of the XFER state. While in the XFER state, the Service will ignore new events, keeping them on the queue until the next time the IDLE state is entered. The Service will examine the SEQ_NO, ACK_SEQ, NUM_BLKS, and ACK_BLKS registers to determine when the XFER state has completed, and a new IDLE state has begun. The XFER state will be complete only when the SEQ_NO and ACK_SEQ are equal, and the NUM_BLKS and ACK_BLKS are equal.
Modbus Master Responsibilities
The Master will examine the SEQ_NO and ACK_SEQ registers to determine when the IDLE state is over and a new XFER state has begun. The XFER state will have begun only when the SEQ_NO and ACK_SEQ are not equal, and the NUM_BLKS and ACK_BLKS are not equal. The Master will then read each of the blocks in the SOE_DATA area as specified in the NUM_BLKS register. The Master may do this one block at a time or in block groups, up to the limits imposed either by the size of the SOE_DATA area, or by the limitations of the MODBUS read command. The Master may also read all blocks in the SOE_DATA area, ignoring those that do not contain valid data for this sequence.Once the blocks have been read, the Master writes the value in NUM_BLKS to the ACK_BLKS register, then the value in SEQ_NO to the ACK_SEQ register. This will end the XFER state, and mark the beginning of the next IDLE state.
SOE_DATA Contents
The data blocks read from the SOE_DATA area will contain either Time stamp or Variable information. For each sequence, a Time stamp block with a REASON code of 4 (data event) will proceed the first Variable block. Subsequent Variable blocks will use the time stamp from the preceding Time stamp block. Note that it is possible to have a single Time stamp block followed by any number of Variable blocks. In such a case, all of the variables share the same time stamp. It is also possible to have a Time stamp block preceding each Variable block. In such a case, each variable is associated with a unique time stamp. Because a Time stamp block is present before the first Variable block of a sequence, it is possible for 2 Variable blocks transferred in different sequences to share a time stamp that was derived from 2 separate (but equal) Time stamp blocks.
Our superior products
ABB -- AC 800M controller, Bailey, PM866 controller, IGCT silicon controlled 5SHY 3BHB01 3BHEO0 3HNA00 DSOC series
BENTLY --- 3500 system/proximitor, front and rear cards, sensors, power modules, probes, cables
Emerson -- modbus card, power panel, controller, power supply, base, power module, switch
EPRO --- Data acquisition module, probe, speed sensor, vibration sensor, shaft vibration transmitter, proximitor
FOXBORO - thermal resistance input/output module, power module, communication module, cable, controller, switch
GE --- module, air switch, I/O module, display, CPU module, power module, converter, CPU board, Ethernet module, integrated protection device, power module, gas turbine card
HIMA --- DI module, processor module, AI card, pulse encoder
Honeywell --- Secure digital output card, program module, analog input card, CPU module, FIM card
MOOG - servo valve, controller, module, power module
NI --- Information acquisition card, PXI module, card, chassis multi-channel control card
WESTINGHOUSE --- RTD thermal resistance input module, AI/AO/DI/DO module, power module, control module, base module
Woodward - Regulator, module, controller, governor
YOKOGAWA - Servo module, control cabinet node unit