Windows considerations, Observe windows objects, Appendix d – Rockwell Automation 1789-L10_L30_L60 SoftLogix 5800 System User Manual User Manual

Page 237: Appendix

Advertising
background image

Rockwell Automation Publication 1789-UM002J-EN-P - December 2012

237

Appendix

D

Windows Considerations

This appendix describes considerations when using the Microsoft Windows
operating system.

Observe Windows Objects

There are three objects that execute within the Windows operating system that
get CPU resources based on Window’s multitasking and
multithreading algorithms.

Topic

Page

Observe Windows Objects

237

Additional Considerations

238

Run a SoftLogix Controller on the Windows Operating System

239

HMI Considerations

243

Personal Computer Hardware Considerations

244

Windows Object

Description

Interrupt service routine (ISR)

An interrupt service routine is a software routine that is primarily executed in response to hardware and
software interrupts.

ISR always executes immediately and run in the kernel-mode layer of Windows. Each ISR executes at one of 32 levels.
The hardware interrupts that occur in a computer get mapped to 16 of the 32 possible levels. The important point about
ISRs is that they are written by the vendors of hardware and software products and not Microsoft. Microsoft can
recommend how to write ISRs, but there is no guarantee about the how well other vendors write them. For example,
once an ISR starts to execute, it can raise its level to a higher priority so that the Windows scheduler won’t swap it out, or
it can even make a function call to mask all other interrupts until it is finished. Due to the variations in code writing, ISRs
can cause swings in system responsiveness and determinism in a soft controller.

Deferred procedure call (DPC)

A deferred procedure call is a software routine that is queued by an ISR to perform less time-critical processing.

DPCs also execute in the kernel-mode layer of Windows, and therefore can prevent user mode applications from
running. DPCs do not have priority levels, but execute in a FIFO (first-in-first-out) order as queued by their associated
ISRs. Poorly written DPCs can unnecessarily keep the SoftLogix controller from running. Disk drivers, network drivers,
and video drivers can be major sources of long DPCs, causing variation in SoftLogix performance. Do not use CD writing
(recording) devices and fancy screen savers on the SoftLogix controller because they have shown significant jumps in
CPU utilization.

Dispatched threads of execution

Threads are the primary execution pieces of software that Windows switches between. Some are associated with larger
application programs and background processes, while others are created by the kernel and device drivers.
Threads are individual code segments spawned from processes that can be in one of four priority levels; low, medium,
high and real-time. Threads that are spawned from a real-time process, like the SoftLogix controller, execute to the point
of blocking, yielding, or completing. The dwell component of the SoftLogix controller allows the continuous task of the
controller to give time to other lower priority threads that need to execute.

Advertising