Workstation Status Driver I/O Addressing

A workstation status driver tag monitors attributes of a named workstation. Use associated I/O tags to retrieve and display data about the workstation.

Updated values will be returned at the scan interval of the I/O tag.

In order to access information about the workstation being monitored by a workstation status driver tag, follow these steps:

  1. Create a workstation status driver tag. Set the Workstation Name drop-down list to the name of the workstation you wish to monitor. (You can create one workstation status driver tag for each workstation you wish to monitor.)
  2. Create one Analog Input tag for each piece of data you wish to obtain from the workstation being monitored. (You can create multiple Analog Input tags and associate them with a single workstation status driver tag.)
  3. Use the I/O Device field for each Analog Input tag to associate the analog input with the workstation status driver tag.
  4. Set the Address field of each Analog Input tag to one of the available strings.

Troubleshooting

If values do not appear for anything other than battery checks, it is likely that the Windows performance counter needs to be reset on this machine. Test by opening a command prompt with administrative privileges and typing PERFMON. If this opens with an error message, close the performance monitor and type LODCTR /R

Note that the /R must be in uppercase. If you did not open the command prompt with administrative privileges, this command will fail with error 5.

Restart the workstation.

If you intend to measure the amount of memory being used by VTScada, the PrivateBytes metric offers a reasonable approximation of this, being the sum of the amount of physical memory allocated, including paged data.
The VirtualMemory metric is the least accurate measure of actual memory in use since it refers to reserved space rather than used space.

Address Field Value Information Returned from Workstation
AverageCPU Running average of total system CPU
BatteryLevel The percentage of the battery level remaining
BatteryLifetime An estimation of the remaining battery life, in seconds
PowerStatus 0 == on battery
1 == on A/C
2 == on back-up power
BatteryState:High 1 if the battery's power state is high
BatteryState:Low 1 if the battery's power state is low
BatteryState:Critical 1 if the battery's power state is critical
BatteryState:Charging 1 if the battery is charging
BatteryState:NoBattery 1 if no battery is found
Expression:Memory() Calls the Memory function, returning the current amount of memory acquired for VTScada from the operating system heap on the named workstation.
Expression:AnyScriptFunction() Call any script-only function or expression. This will fail if you attempt to use a steady-state only function. For example, Expression:Now(1) % 100 will fail but Expression:Seconds() % 100 will work.
FreeDiskSpace Free disk spaces (bytes) for a logical disk that is addressable with a drive letter. (*) See note.
GDIObjects GDI objects used by VTS
Handles Handles in use by VTS
IOBPS I/O bytes per second, including all disk reads/writes, as well as network traffic
Memory VTScada memory use in bytes, as seen by Windows. Does not decrease as memory is released.
In general, both Expression:Memory() and PrivateBytes will provide more useful measurements.
PageFileBytes

The total number of bytes that have been committed to the process, whether in physical memory or not. May include memory in shared DLLs.

This value provides the best reflection of how much memory VTScada needs while running your application.

PrivateBytes The total memory actually in use by the process, both physically and in the page file. Does not include shared memory such as that in shared DLLs.
SystemCPU

System CPU - all processes

100% means that all logical processors are being used to their fullest. (In versions of VTScada prior to 12.1, VTSCPU was capped at 1 divided by the number of logical processors.)

SystemTotalMemoryBytes Total committed memory available on system in bytes.
SystemUsedMemoryBytes Amount of committed memory currently being used by system in bytes.
SystemUsedMemoryPercentage Amount of committed memory currently being used by system in percentage.
Threads Threads being used by VTS
VirtualMemory

Virtual memory (hard drive space used as memory) allocated to VTScada, but not necessarily in use. Does not decrease as memory is released. Measured in bytes.

This does not provide an accurate view of memory that is actually in use. Page file size is allocated in blocks on an "in case needed" basis. The size of those blocks will be larger on a 64-bit system than on a 32-bit system.

VTSCPU

CPU used by VTScada only.

100% means that all logical processors are being used to their fullest. (In versions of VTScada prior to 12.1, VTSCPU was capped at 1 divided by the number of logical processors.)

(*) You must append the letter for the drive to be monitored to FreeDiskSpace (e.g. FreeDiskSpaceC for drive C, or FreeDiskSpaceD for drive D.