FCS CPU Load Mechanism: IA Global Engineering Center
FCS CPU Load Mechanism: IA Global Engineering Center
FCS CPU Load Mechanism: IA Global Engineering Center
June, 2008
IACS-WG-G07002
Copyright © Yokogawa Electric Corporation
7/31/2007
Contents
Appendix
<General Guideline>
How to Estimate CPU Time for External Communication
IACS-WG-G07002
Copyright © Yokogawa Electric Corporation
7/31/2007
Confidential Page 2
Objectives, Current Issues,
and Plans to Resolve
IACS-WG-G07002
Copyright © Yokogawa Electric Corporation
7/31/2007
Confidential Page 3
Objectives
IACS-WG-G07002
Copyright © Yokogawa Electric Corporation
7/31/2007
Confidential Page 4
Current Issues
Tools Projects
IACS-WG-G07002
Copyright © Yokogawa Electric Corporation
7/31/2007
Confidential Page 5
Improvement in each perspective
System Develop a new FCS with a faster CPU clock
– YHQ R&D is responsible for this. (They already have the roadmap)
Tools Develop a new tool to more accurately estimate the CPU load
– YHQ ETC/GTD is responsible for this
Work Improve work processes for all the design engineers to more
Process accurately estimate and more practically assess the CPU load
– EP Network is responsible for proposing new work processes
– All design engineers are responsible for following new work processes and
meeting customer’s requirements
Projects Training
– Need to exactly know the FCS system features
– Need to exactly know how to correctly use the current CPU load estimation
tool
Projects Knowledge Management
– Make good use of other available information
Projects GES
– Need to change the GES procedure in this regard
IACS-WG-G07002
Copyright © Yokogawa Electric Corporation
7/31/2007
Confidential Page 6
FCS CPU Load Mechanism
IACS-WG-G07002
Copyright © Yokogawa Electric Corporation
7/31/2007
Confidential Page 7
FCS Tasks
FCS Tasks: there are many tasks executed in FCS.
– System Initialization, Message Sending, Data Access (reception,
sending, and area data link), On-line Maintenance Reception, Trend
Communication Reception, I/O Services, Control Functions, System
Monitoring, Memory Access, Dialogue Message, Unit Instrument, Batch
Management, V-net Diagnostic, TCP/IP Processing, etc.
Control Functions
Basic-scan I/O Basic-scan processing other
Processing than SEBOL and I/O. The
High-scan function blocks and main processing is for basic-
I/O processing. If high-scan Basic-scan Function
scan function blocks.
function blocks and I/O are not Block Processing
implemented, this time is 0. Medium-scan
Processing Medium-scan function blocks
1000 msec processing. If medium-scan function
High-scan Processing blocks are not implemented, this
time is 0.
Alarms and events processing. Data Access
When there are no alarms and
events, this time is 0. Message Sending
User-C
Other Tasks External communication frame reception
and sending processing. This includes
communication from HIS, OPC server,
Time when CPU is not PRM, ADL, other station data access by
processing any tasks SEBOL, etc.
User C programming. Some of
Touch Software use this area. When there are no V-net frames to be
Example: processed, this time is 0.
-Data Transition Monitoring function CPU time spent for this processing is
-Expanded Link Transfer function etc. limited up to 200 msec.
IACS-WG-G07002
Copyright © Yokogawa Electric Corporation
7/31/2007
Confidential Page 9
Definition of CPU Idle Time & CPU Load -1/2
CPU Idle Time [msec]
– Definition: Time when CPU does not process any tasks + SEBOL
executable time + User-C executable time
– Reverse definition is:
1000 - ∑(Actual CPU time used for processing all the tasks except SEBOL & User-C)
– Practical definition is:
1000 - ∑(Actual CPU time used for processing the Control Functions and Data Access)
• Tasks other than the Control Functions and Data Access do not consume much
CPU time or are not periodically executed.
IACS-WG-G07002
Copyright © Yokogawa Electric Corporation
7/31/2007
Confidential Page 10
Definition of CPU Idle Time & CPU Load 2/2
CPU Time CPU Idle Time (A):
Basic-scan I/O Processing This time can be monitored on the FCS Status Display
Basic-scan Function Block window. The data on the window is a moving average
Processing value in a minute (100% Idle time = 60 Sec).
Medium-scan Processing CPU Idle Time must be more than following data for the
(B) unscheduled maintenance operation such as APC, tuning
1000 msec
IACS-WG-G07002
Copyright © Yokogawa Electric Corporation
7/31/2007
Confidential Page 11
What’s happen when CPU Load is High!
With the CPU load high to an extent that there is not enough
CPU time to execute all required functions in time, completion
of the lower-priority tasks is delayed or not executed.
– High CPU load will make SEBOL execution delayed first
– Higher CPU load will make the SEBOL not executed at all and the basic-scan
processing delayed next
– Further higher CPU load will make the basic-scan processing not executed
at all and the medium-scan processing delayed next
– Much further higher CPU load will make the medium-scan processing not
executed at all and the high-scan processing delayed next
With the CPU load high to an extent that the basic-scan I/O
processing is not complete within four seconds,
– I/O value will be its default fall-back value. (This situation is equivalent to
loss of process control functions.)
– System alarm “FCS Too Heavy Load” will be reported.
With the CPU load much further higher to an extent that the
highest-priority processing is not complete within two seconds
(this situation is a very remote chance),
– The controlling CPU will be shutdown.
– CPU change-over will occur for a dual redundant CPU FCS.
• After CPU change-over, if further delay of the highest-priority processing
continues for another two seconds, the controlling CPU will be shutdown.
IACS-WG-G07002
Copyright © Yokogawa Electric Corporation
7/31/2007
Confidential Page 12
CPU Load under Maintenance – 1/3
When maintenance operation is in progress such as All Program Copy (APC), tuning parameter saving,
and online maintenance, more CPU time is consumed by the Control Functions.
Below shows the image of CPU under the maintenance operation is in progress with sufficient CPU idle
time
Control Functions
Basic-scan Function
Block Processing
Basic-scan Function
Block Processing
executed as
Medium-scan Maintenance Processing
expected.
Processing Medium-scan
1000 msec
Control Functions
Block Processing
Basic-scan Function functions are not
Block Processing
Maintenance Processing executed as
Medium-scan Medium-scan expected.
1000 msec
Processing Processing
High-scan Processing
Maintenance Processing
Completion is
High-scan Processing
delayed or not
Data Access
Maintenance Processing
executed at all.
Data Access
Message Sending
Other Tasks
User-C Message Sending
Time when CPU is not
processing any tasks Other Tasks
IACS-WG-G07002
Copyright © Yokogawa Electric Corporation
7/31/2007
Confidential Page 14
CPU Load under Maintenance – 3/3
IACS-WG-G07002
Copyright © Yokogawa Electric Corporation
7/31/2007
Confidential Page 15
FCS CPU Load Quotation Sheet
IACS-WG-G07002
Copyright © Yokogawa Electric Corporation
7/31/2007
Confidential Page 16
FCS CPU Load Quotation Sheet
IACS-WG-G07002
Copyright © Yokogawa Electric Corporation
7/31/2007
Confidential Page 17
Revise FCS CPU Load Quotation Sheet
IACS-WG-G07002
Copyright © Yokogawa Electric Corporation
7/31/2007
Confidential Page 18
Revise FCS CPU Load Quotation Sheet
Under investigation.
Other factors reflecting to CPU Load
seems to be hidden.
IACS-WG-G07002
Copyright © Yokogawa Electric Corporation
7/31/2007
Confidential Page 19
Revise FCS CPU Load Quotation Sheet
NEW
NEW
IACS-WG-G07002
Copyright © Yokogawa Electric Corporation
7/31/2007
Confidential Page 20
Revise FCS CPU Load Quotation Sheet
IACS-WG-G07002
Copyright © Yokogawa Electric Corporation
7/31/2007
Confidential Page 21
Estimate FCS CPU Load at FAT
IACS-WG-G07002
Copyright © Yokogawa Electric Corporation
7/31/2007
Confidential Page 22
Environment at FAT
Mostly all CENTUM components like HIS, FCS are ready at FAT.
But the actual device and/or subsystem are not ready.
Therefore all FCS are under TEST mode with IO disconnection.
Under this condition, CPU Load for Control functions and Data
access by ADL, SEBOL, HIS can be measured as CPU Idle time in
HIS FCS Station Status Display window.
[Note] Windows from HISs are displayed as per the normal operating condition.
Graphic
Trend
Vnet
ADL, SEBOL
Important Note:
Under this condition,
Field Device
Subsystem CPU Idle Time doesn’t contain
Processing time of PIO.
IACS-WG-G07002
Copyright © Yokogawa Electric Corporation
7/31/2007
Confidential Page 23
Environment at FAT
IACS-WG-G07002
Copyright © Yokogawa Electric Corporation
7/31/2007
Confidential Page 25
Risk Assessment and Counter Measures
Risk Assessment
– Project risk assessment around FCS CPU load must take
place during BD phase
– Otherwise the project financially suffers
Counter Measures
– Risk mitigation plans shall include the following counter
measures:
• Properly design the operation specification so as to have the
less-than 100 msec CPU time for data access from HIS and
OPC servers.
– Reduce the data item quantity of graphic windows
– Make the data update rate of graphic windows slower
– Reduce the OPC data access quantity
– Make the OPC data update rate slower
• Set the scan coefficient for function blocks bigger as applicable
(Make function blocks be scanned at slower rate)
• Set the update rate for FF view object bigger as applicable
(Make the server/client data access from FF faceplate blocks
slower)
• Use the slower sub-schedule for FF faceplate blocks
• Set the ADL communication period bigger
IACS-WG-G07002
Copyright © Yokogawa Electric Corporation
7/31/2007
Confidential Page 26
Thank you very much
for your attention
IACS-WG-G07002
Copyright © Yokogawa Electric Corporation
7/31/2007
Confidential Page 27
<General Guideline>
How to Estimate CPU Time for External Communication
IACS-WG-G07002
Copyright © Yokogawa Electric Corporation
7/31/2007
Confidential Page 28
Estimate CPU Time for External Communication from HIS
Design the DCS operation specification so that the total CPU time for
an FCS to periodically process V-net frames from HIS shall be less than
100 msec in that FCS.
– Total of communication data items from HIS will determine the V-net frames that FCS
will periodically consume CPU time to process
– One V-net frame consumes 2 msec (or less) CPU time
• One graphic with 400 data items: 7 frames
• One tuning panel: 3 frames
• One control panel: 4 frames
• One faceplate: 1 frame
– If one HIS sends 15 V-net frames (2 graphics and 1 faceplate) to one particular FCS,
3 HISs are recommended quantity of HISs under the normal operating condition to
meet the 100 msec guideline. (Historical trend communication is neglected here.)
IACS-WG-G07002
Copyright © Yokogawa Electric Corporation
7/31/2007
Confidential Page 29
Estimate CPU Time for External Communication from OPC
Total of communication data items from an OPC server (and HIS) will
determine the V-net frames that FCS will periodically consume CPU time to
process
– CPU time consumed to process V-net frames from the OPC server:
2 [msec] * ((V-net frame quantity of DA group1) / (Data update rate of DA group1)
+ (V-net frame quantity of DA group2) / (Data update rate of DA group2) + ….)
<Example>
When there are 500 items in the 5-sec update rate DA group and 1,000
items in the 30-sec update rate DA group, CPU time to process these
items is approximately
2 * (int(500 / 25 / 5sec) + int(1,000 / 25 / 30sec))
= 2 * 6 frames/sec
= 12 msec / sec
IACS-WG-G07002
Copyright © Yokogawa Electric Corporation
7/31/2007
Confidential Page 30
Estimate CPU Time for External Communication from PRM
IACS-WG-G07002
Copyright © Yokogawa Electric Corporation
7/31/2007
Confidential Page 31
Estimate CPU Time for External Communication from ADL
ADL Function Block
– One ADL function block has eight software connections for data access points in other FCS (tag
data item or function block connection terminal)
– Need the CPU time to scan the ADL block (Refer to the CPU Loading Quotation Sheet for the
actual value)
– For reading or writing a data item value from/to other FCS tag
(e.g. FCS1!TAG1.IN FCS2!TAG2.PV, FCS1!TAG1.OUT FCS2!TAG2.SV), an ADL function
block is created in the source FCS (FCS1 in the above example) and one software connection is
used for each point.
FCS1 FCS2
IN
TAG1 TAG2.PV TAG2
PID OUT ADL PID
TAG2.SV
– For connecting a function block terminal from/to other FCS tag (e.g. FCS1!TAG1.OUT FCS2!
TAG2.SET), the ADL function block is created in both FCSs and two software connections are
used for each point.
FCS1 FCS2
IACS-WG-G07002
Copyright © Yokogawa Electric Corporation
7/31/2007
Confidential Page 32
Estimate CPU Time for External Communication from SEBOL
Coding Tip
– V-net frame quantity optimization does not take place for V-net frames that are initiated by
SEBOL
– Code the SEBOL where other FCS tag data items are grouped so as to minimize quantity of other
FCS access statements.
IACS-WG-G07002
Copyright © Yokogawa Electric Corporation
7/31/2007
Confidential Page 33
Estimate CPU Time for Real-time Trends and Global
Switches
Global Switches
– Refer to the CPU Loading Quotation Sheet for the actual CPU time
value
IACS-WG-G07002
Copyright © Yokogawa Electric Corporation
7/31/2007
Confidential Page 34