Introduction
CX-Supervisor comes with two utilities to help you monitor how healthy your application is while you are designing and testing it:
- Application Analysis checks your application performance ‘theoretically’. At design time it views the chosen network, the points used and other variables and provides a summary of calculations, suggestions and warnings to help you improve the application.
- Performance Monitor works during the runtime to check the actual performance figures and provides analysis based on how your application actually works with your network and PLC program.
This guide shows you how to understand the calculations and recommendations so you can improve your application.
Content
1. CX-Supervisor Application Analysis
Always Updating
The total number of points that are always updating whether they are on display or not – this should be kept to a minimum to reduce bandwidth use – only use this if the point value is required by scripts or other actions on pages where this point is not otherwise used.
Always Updating %
The percentage of points that are always updating – this should be reduced in favour of update on display
Always Updating Bytes/Sec
This is a count of points that are set to Always update at the specified rate. It is best to have a small number of different update rates as this helps CX-Server to optimise. Whilst good to have a low number of different update rates it is also worth remembering that the more updates per second the more bandwidth is used.
Inputs On Request
The total number of inputs that are on request. These are potentially less efficient than an ‘on interval’ – a single point being requested is not optimised by CX-Server when sending to a PLC many points at the same interval can be sent in the same message with negligible overheads.
Inputs/Outputs at X (M)Sec
This list shows the total number of device points at each update rate – these should be kept to a few well chosen update rates – many points on very few update rates that are not more frequent than absolutely necessary
Invalid Points/ Invalid CX-Server Point Keys
References to invalid CX-Server point keys
These indicate that the cdm file has become corrupted. CX-Supervisor auto generates the cdm file so if this has become corrupted for some reason, you can close all Omron software and delete the file. When you re-open CX-Supervisor developer the file will be re-generated.
Max Bandwith % Used
This is the percentage of the network used in the worst case (Theoretical max bandwidth) scenario. This is based on an assumption of bandwidth for the particular network and does not take into account network traffic or other variables.
Max Bytes/Sec
This is the theoretical maximum number of bytes per second of updating points – this is a better gauge of bandwidth use.
Max Points/Sec Max Elements/Sec
This is the theoretical maximum number of points that will update each second – the higher this number the greater chance of comms problems – this value is very dependent on data type though so is not the best reflection on bandwidth use. Some points are arrays so the element count reflects the number of elements updated per second. Again this is independent of data type but when compared with Max Points/Sec can give an idea of how many points are actually array points.
Outputs On Change
The total number of points that are output to the device whenever the value has changed
Outputs On Request
The total number of points that are only output to the device when request – this can be more efficient if the value changes frequently but the device doesn’t need to be notified of this frequently,
References to non-existent points
This indicates a big problem – you are using a point in a script or in some other action which doesn’t exist – this will fail if this script or action ever runs.
Theoretical Max (Bandwidth) Bytes/Sec
This is a measure of all the points updating all the time and all points on display for the worst case page in the project. This figure should be kept as low as possible and within the bandwidth of your network.
Total ActiveX Objects
This is a count of the total number of ActiveX objects used in the project, this includes objects which are used more than once. Using ActiveX is a great way of adding advanced functionality to your application but it carries the risk that the component used may not be as reliable as required.
Total Alarms
A count of the total defined alarms on the system – this is limited in ME so this gives an idea of if the limit is being approached. Many alarms also make an application harder to manage and maintain so keep this number as low as possible and avoid unnecessary alarms.
Total DDE Points
DDE is an antiquated technology and is prone to problems especially when used with non English characters. Any DDE points should be removed and an alternative used instead.
Total Graphical Objects
The total number of objects used on all the pages in the project. The more objects that are in the project the slower larger it is on disk and the longer it may take to re-draw a page. This is especially key when using an IPC where space and power are at a premium.
Total Memory Points
The total number of points that are not on an external device. These are the most efficient points as they don’t consume network bandwidth,
Total OPC/Other Points
The total number of points that are external to CX-Supervisor using a comms interface such as OPC or on another CX-Supervisor runtime.
Total Pages
This is the total number of pages in your project (including pop up pages). This is limited in ME so this gives an idea of when you are approaching this limit. Too many pages can make a project hard to maintain so this should be kept to a minimum.
Total PLC Points
The total number of points in the application that are on a device
Total PLCs
The total number of PLCs in this project – Any PLCs used on the same network will obviously share bandwidth. If there are more PLCs here than you expect, check the PLC configuration and make sure you’ve not defined a duplicate PLC.
Total Points
The total number of points in the project. Obviously for simplicity and performance this should be kept to the minimum you require.
Total Regular Interval Scripts
Regular interval scripts indicate poor design decisions. Running a script on a regular interval can be inefficient and cause a significant increase on local CPU usage. If regular interval scripts also update points on devices this can lead to increased bandwidth use. Consider using an ‘on condition’ script instead.
Total Sleep commands
The sleep command has been shown to cause problems with applications due to the necessity to have the containing script in a separate thread. It is highly recommended that this command is not used and an alternative method is used such as ‘On Condition’ scripts which can be triggered when something completes.
There is almost always a better, more efficient alternative to a Sleep - see the User Manual FAQ "How Does Sleep work?" or see the FAQ on myOMRON
Update on Display %
The percentage of points that only update when you can see them.
Update on Display Bytes/Sec
If a point value is not required unless you can see it this is a more efficient way of getting its value frequently. The same recommendations apply as with ‘Always Updating’ but these points will only update when you can see them (the page is displayed).
Updating When Displayed
The total number of points on a device that are only updated when on display – this could be 100% if there is only one page.
2. CX-Supervisor Performance Monitor
Actual CPS
The number of characters per second being used on the network, if this is approaching the same value as the theoretical CPS (60% or higher) then network problems are likely.
Average Active Points/Sec
Average Active Elements/Sec
Calculated Max Points/Sec
Calculated Max Elements/Sec
This is how many points/elements are being updated every second – if all points are at 1 second interval, the calculation would be 1 and the Average should be very close to this. If you have 2 points at 0.5 seconds, the calculation would be 2... If the Average and Calculation differ considerably then there is a problem with bandwidth use.
PLC Average Latency (ms)
The average time it takes the PLC to process its own programs and any other requests of it before responding to a particular request.
Processing Delay (ms)Processing Time (ms)
This is the time used by CX-Supervisor applications, if these values are too high it would indicate the processing required by your application (e.g. scripts) is too much and you need to think more about the design of your application.
Read Time (ms)
Write Time (ms)
Max Read Time (ms)
Max Write Time ms)
This is the time it takes CX-Supervisor to read or write a point on the PLC, the lower this number the better performance you are getting. If you are overloading the network, this value will increase and the heartbeat interval will also be too high
RX Bytes (CX-Supervisor)
The number of bytes received by CX-Supervisor from CX-Server
RX Bytes/Sec (CX-Supervisor)
The number of bytes per second received by CX-Supervisor from CX-Server, this should be well below the bandwidth of the chosen networks capacity. Also take into account other bandwidth use such as received data and other unrelated network traffic
RX Heartbeat Interval (ms)
RX Average Heartbeat Interval (ms)
RX Average Heartbeat Deviation (ms)
If you have an Input point at 1 second this is used as a heartbeat. If there is no point at this rate there will be no monitor of heartbeat interval. This is so the measure doesn’t actually affect the performance.
The average heartbeat should be about 1000 with the deviation as low as possible. If this number is much more than 1000 then this would indicate a communications problem. Even if you don’t notice in normal use, CX-Supervisor is communicating faster than the network bandwidth or infrastructure can cope with and performance is suffering.
Theoretical Max CPS
An assumed maximum CPS possible for the particular network, this is a rough calculation and is only used as a guide. It does not take into account other network traffic or differences between throughput of different PC network cards.
Total Active Points
Total Active Elements
The number of active memory addresses on a PLC – the Active points could be in arrays of many elements so the Elements is a better guide to how much memory on the PLC you are addressing. This number should not be a ‘surprise’ – if this number looks large you need to consider if you are using and updating too many points at once and affecting performance.
TX Bytes (CX-Server) RX Bytes (CX-Server)
The bytes transmitted or received to the PLC from CX-Server.
TX Bytes (CX-Supervisor)
The number of bytes transmitted from CX-Supervisor to CX-Server
TX Bytes/Sec (CX-Supervisor)
The current number of bytes per second being transmitted from CX-Supervisor to CX-Server, this should be kept well below the bandwidth capacity of the network being used. Also take into account other bandwidth use such as received data and other unrelated network traffic