NI InsightCM™ SDK 3.3 Help
»View Product Info
This process performs device-wide operations, such as restarting all processes during a reboot and monitoring that each process starts up successfully.
- On first call, this process checks whether the device has rebooted more than the maximum number of times during a time period. Both the maximum number of reboots and time period are configurable. If the maximum is exceeded, the device enters Safe Mode.
- After startup, this process waits eight seconds for other processes to complete their Initialize subdiagram and then sends a Start message to all processes. If a process fails to initialize and set its state in Qbus to configured by this time, this process writes a Controller.MajorOps tracepoint that lists each process that is unconfigured.
- When NI InsightCM Server sends new configuration files to the device, this process restarts all processes.
- When a process returns an error at the end of one of its iterations, the Controller process writes a tracepoint that describes the error and then reboots the device by instructing all processes to restart.
- When another process sends a message that a read operation on a configuration file failed, this process places the device in Safe Mode.
Communicating with this Process
The SDK does not provide any messages you can send to this process specifically. However, the Controller process interacts with other processes in the following ways:
- Other processes send ProcessError messages to the Controller process when an error reaches the Catch Errors VI. This VI is part of the template process VI template.
- This process sends a Start message to all processes after it determines they completed their Initialize subdiagrams.
- This process sends an Exit message to all processes in the following situations: a process returned an error, or NI InsightCM Server sends new configuration files to the device.
You can set the following properties in a software configuration definition. This process reads from the software configuration definition when it initializes.
- DisableDeviceRTProtocol (Default: false)—Whether to disable LabVIEW project access so you cannot add or connect to the device in the LabVIEW project that contains Main.vi and dependent source code.
- DisableDeviceUSBConfiguration (Default: false)—Whether to disable the ability of the device to read or write network connection information from a USB drive. If you disable this property, you must instead transfer connection information across the network.
- DisableDeviceWebService (Default: false)—Whether to disable the port NI InsightCM Server uses to communicate with the device web service. Setting this property to True disables certain operations that rely on this form of communication. For example, NI InsightCM Server requires this web service to transfer connection information files across the network to devices. In this case, you must instead manually transfer the connection information file via USB drive.
- SafeModeAllowedReboots (Default: 60)—The maximum number of times the device can reboot during the time period specified by SafeModeLookbackMinutes.
- SafeModeLookbackMinutes (Default: 10)—The time period during which a reboot remains in the reboot count that the device evaluates to determine whether the SafeModeAllowedReboots is exceeded.
Delaying Execution Until a Dependent Process Starts Up
Customizing the Behavior of NI-Developed Processes