Can I create a custom quantity in System Manager Software (SMS) that has a scale factor or multiplier other than a factor of 10?



System Manager Software (SMS) will only scale by factors of 10, but there is a way around this by using a virtual circuit node and if necessary a meter with available utility registers. PM800s, CM3000s, and CM4000s all have a block of 200 utility registers starting at register 15,800. These are empty read/write registers that a user can use to store values.
Example Scenario:

User has a third party device such as Caterpillar EMCP (Electronic Modular Control Panel) which uses non-standard scaling calculations
User has a PowerLogic meter which has available utility registers

For example, assume the desired value requires a scale factor of 0.026 and a offset of -200:

y = 0.026x 200

Where y is the desired value to be logged or displayed in SMS and x is the raw register value in the EMCP
The scale or slope is 0.026 and the offset is -200
When creating a custom quantity within SMS, you can only apply a scale or multiplier that is a factor of 10: unity, tens, tenths, thousands, thousandths, etc. This simply moves the decimal point to the left or the right which is not what we want to accomplish.


1. Within SMS, create a new custom quantity. For this example, use the name CQ. Make it writable and loggable. Leave the format code set to No Format
2. Assign CQ to the device type that holds the raw register value 'x'. Point it to the specific register number of 'x'
3. Assign CQ to a CM4000, CM3000, or PM800 that is available in the system. Point it to one specific register within the block of 15800 to 15999 ( 12000-12199 in PM800 series)
4. Assign CQ to the device type Virtual Circuit Node
5. Write the value of the offset to the utility register. For example, you would write the value of 200 to register 15800 in a CM4000
6. Create a Virtual Circuit Node
a. First, add the device that holds the raw register value 'x' to the virtual circuit node. For the multiplier use the value of the scale or slope, in this example use the value of 0.026
b. Second, add the device which you are using the utility register from, in this example a CM4000. For the multiplier, use a value of -1. This will effectively apply -200 (the offset)

The virtual circuit node puts together the equation that governs the value that you want to log or display in SMS.

Logging and alarming of this custom quantity can then be configured for the virtual circuit node. This custom quantity can also be used for the virtual circuit node in GFX screens.

Note : This virtual circuit node is specific to this one quantity. The process of steps 1 6 will have to be repeated for any other quantity that is stored in a similar manner in the device.
Note : If only the "scale" is required, a utility register is not required and steps 3, 5, and 6b can be skipped.

Legacy KB System (APS) Data: RESL200112 V2.0, Originally authored by MaTh on 09/25/2009, Last Edited by MaTh on 12/01/2010
Related ranges: System Manager 4.0, System Manager 4.2, System Manager 4.3