Process Controller Communication Library FAQs

The installation seemed to go ok, but I can’t find the libraries in LabVIEW?

If LabVIEW was open when you ran the install program, have you closed and re-opened LabVIEW as instructed by the installation program? The libraries can be accessed by right-clicking the block diagram and looking under the User Libraries pallette or by looking under the LabVIEW Help menu.

Also, the installation program places the libraries in the most current version of LabVIEW installed on the computer. Check to make sure you have opened this version of LabVIEW.

Why do I receive the error “Device Reports Exception Code: 3 – Illegal data” when trying to write Process Value (PV) limits, Alarm limits, PV offset, etc?

If you are otherwise able to communicate with the process controller (which is probably true if you received an Exception Code as your reply), this is usually caused by exactly what it implies, trying to write inappropriate values for the given command under the circumstances.  Common reasons for this include:

  • Trying to set the Lower Limit above the Upper Limit (or vice versa)
  • Writing a value with the wrong sign.  For example, writing a positive Upper Limit and negative Lower Limit with Alarm Type 1, Deviation Upper and Lower, will return an error because the device requires both the upper and lower deviations from the Setpoint Value (SV) to be defined as positive numbers.
  • Trying to set a limit outside the sensor input range (for example: trying to set PV
    limits below -20 °C when using a Thermocouple K Type 2 which has a range -20 to ~500 °C.
  • Attempting to write alarm limits when the alarm is disabled.

What are the Optional Timing Parameters on Initialize.VI for?

In modbus communications via the RS-485 bus, there are required delays between messages on the bus which are based on the serial baud rate.  Sometimes it is desirable to insert additional delays to account for noise, slow settling, slow device response or other factors.  The Optional Timing Parameters also include the ability to specify how long to wait for a message before timing out and how many times to automatically retry if there is an error.  Under normal circumstances, the default parameters are adequate; however, if you are experiencing intermittent communications in a noisy environment, you can try adjusting these parameters.

Why can’t I set the sensor type remotely?

The VI library only supports getting the sensor type. Although it is theoretically possible to set this value remotely, it’s not supported by the VI library, by design, because the sensor type really should only be changed from the physical front panel of the process controller (and only when physically changing sensors).  Changing this value remotely can cause many issues including a controller reboot, process value (PV) error, setpoint value (SV) change, PV limits and alarm limit changes.

Why are the temperature units wrong when the controller input type is set to 4-20mA?

The temperature units setting (and the LED) are only available when the controller input type is set to thermocouple or RTD input. With voltage or current loop input types, the option isn’t available on the front panel menu and the LED isn’t lit

What are “good” PID Control Values for my application?

That is a question which is a little outside of the scope of communications and varies depending on your application.  The VI library assumes that you already know what you want to say to the process controller and simply gives you a way to say it.  If you don’t know, you can try using the auto-tuning function on the device, or consult someone knowledgeable about the process you are controlling, the process controller documentation, a textbook on process control, or your hardware vendor.  If you would like to hire a consulting engineer, click here.

Leave a Reply

You must be logged in to post a comment.