FC 106 - Segment Control Block(IMLMM02)

The segment control function code groups subsequent blocks into a scan cycle executed at a specified rate and priority. Each IMLMM02 Logic Master Module supports up to eight segment control blocks. With eight segment control blocks, the module configuration is in eight individual segments. Each segment control block provides three outputs. One segment control block resides in fixed block 15, the other seven are configurable.

 

 

Outputs:

Blk

Type

Description

N

R

Elapsed time of previous cycles in seconds

N+1

R

Elapsed time of current cycle in seconds

N+2

R

Percent processor utilization used by this segment

 

 

Specifications:

Spec

Tune

Default

Type

Range

Description

S1

N

0

I

0 - 255

Segment priority (0 = lowest)

S2

N

0

I

0 or 1

Auto sequencing:

0 = off

1 = on

S3

N

0.050

R

Full

Target segment period (secs)

S4

Y

9.2E18

R

0.0 - 9.2E18

Segment cycle time alarm limit (secs)

S5

N

1.000

R

0.0 - 9.2E18

Minimum report time for all exception reports in this segment (secs)

S6

N

60.000

R

0.0 - 9.2E18

Maximum report time for all exception reports in this segment (secs)

S7

N

1.000

R

0.0 - 9.2E18

Alarm deadband for all high and low alarm reports in this segment

(% of span)

S8

N

1.000

R

Full

Module bus I/O period (secs)

S9

N

0.000

R

Full

Spare

S10

N

0

I

Full

Spare

 

 

106.1  Explanation

 

The segment control block divides the set of function blocks in an IMLMM02 Logic Master Module into subsets (segments), and specifies the operating parameters for each segment

individually. A segment starts with a segment control block and ends at the next higher segment control block or last block. For example, if the configuration has a segment control block in block 1000, the module has two segments of block numbers. The first segment contains blocks 15 through 999, and the second segment contains blocks 1000 through 1023 (the last configurable block). Fixed block 15 contains one segment control block, with outputs occupying blocks 16 and 17. Blocks 15 through 17 cannot be used for any other purpose. The other seven segment control blocks can be placed in any configurable block.

 

 

106.1.1  Specifications

 

S1 - SPRI

(Segment priority) Specification S1 assigns execution priorities to up to eight active segments. An active segment is one that is ready to run or is running. If two or more segments are active, the processor runs the highest priority segment.  Segment priorities run from zero to 255 with zero being the lowest priority.

 

When configuring multiple segments, make sure that each segment runs within the requested cycle time. To determine whether a segment is running within the requested cycle time, observe outputs N and N+1. If output N+1 is continually ramping up, then the segment is not running. This occurs when higher priority segments consume all the processor time. If output N is greater than the requested cycle time set by S3, the segment is consuming more processor time than indirectly requested. When this happens, cycle time must be increased until S3 is equal to the time it really takes to execute the segment (including lower priority segments).

 

S2 - AUTOSEQ

(Auto sequencing signal) Specification S2 is the auto sequencing signal.

0 = off

1 = on

If the auto sequencing function is off (S2 equals zero), blocks are executed in ascending numerical order. If the auto sequencing function is on (S2 equals one), the module creates a memory map when initialized. It finds and saves the most logical execution order, and the function blocks in that segment are executed in that order, regardless of block numbers.  Auto sequencing helps prevent loop backs. Loop backs occur when a block requires the output of a higher numbered block to complete its execution. The segment must then go through two or more execution cycles before the output of the first block is correct. Loop backs can significantly increase apparent module execution time in complex loops.

 

S3 - CYCTIM

(Target segment execution cycle time in seconds) In each segment, blocks are executed in a predefined order, selected with S2. A cycle consists of one execution of the blocks plus any idle time (cycle time remaining after the cycle has been executed). Cycle time is the length of time from the start of one cycle to the start of the next cycle.

 

S4 - CYCALM

(Segment cycle time alarm limit) Specification S4 is the segment cycle time alarm limit (in seconds).

 

S5 - MINXTM

(Minimum interval between updates) Specification S5 is the minimum interval between updates of information sent on the communication highway. Exception reports will not be sent on the loop at each minimum exception report interval unless a value has changed since the last exception report.

 

S6 - MAXXTM

(Maximum interval between updates) Specification S6 is the maximum interval between updates of information sent on the communication highway. If the value of a point has not changed over this time period, a report of its value will automatically be sent on the loop at the end of this time period.

 

S7 - ALMDB

(Alarm deadband) Specification S7 is the alarm deadband in percent of span for all high and low alarm reports in the module.  Alarm deadbands are buffer zones that prevent excessive alarm reports when a value is hovering around the alarm limit.

 

S8 - MBUS

(Module bus I/O period) Specification S8 is the module bus I/O period for this segment, expressed in seconds. This is the interval between updates of module bus I/O. This should bea multiple of the segment cycle time (S3).

 

S9 and S10

Spare

 

 

106.1.2  Outputs

 

N

Output N is the elapsed time of the previous cycle in seconds. Elapsed time includes any segment idle time. If the time required to run the block is less than the requested cycle time, the remainder is idle time spent waiting before starting the next cycle. Any idle time is available for lower priority segments. Output N verifies that the actual cycle time equals the specified cycle time (S3). If the output is greater than the requested cycle time set by S3, the segment is consuming more processor time than requested. If this happens, S3 must be increased until N is equal to the time it takes to run the segment.

 

The cycle time alarm is also displayed in output N.

 

N+1

Output N+1 is the elapsed time of the current execution cycle in seconds. Elapsed time does not include any segment idle time. It is a measure of the actual runtime of the blocks within the segment, plus the block runtime of all higher priority segments that have interrupted it. Output N+1 verifies that the segment is running. A continual upward ramp indicates that the segment is not running or completing. This occurs when higher priority segments consume all the processor time.

 

N+2

Output N+2 is the percentage of processor utilization used by this segment. Processor utilization is given for the previous cycle. Therefore, the percent given is not relative to cycle time but to execution time per cycle (actual time it takes for the processor to complete one full cycle).