From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

CRIO com port disabled

The cRIO 9101 shows a com port in MAX but the port settings are disabled.

The manual doesn't have any information about the serial port (DB9 connector).

What needs to be done to enable it and can it be used to commnicate to a device from a host computer?

 

Thanks,

 

Steve 

 

0 Kudos
Message 1 of 11
(5,320 Views)

Hi Steve,

 

The 9101 is a chassis and not a controller. I assume you are trying to communicate with a controller serially. What controller is it? And what are you exactly trying to do?

Adnan Zafar
Certified LabVIEW Architect
Coleman Technologies
0 Kudos
Message 2 of 11
(5,297 Views)

The controller is the cRIO-9014 and it's connected to the chassis along with NI-9211 modules for monitoring temperature.

 

The intention is to send Modbus commands from the cRIO's RS232 port to a Watlow (temperature) controller in order to set the temperature setpoint on the Watlow controller based on the temperature from the 9211 modules. In addition the setpoint and any CRC errors would be sent back through the cRIO's RS232 port to be read by the host computer. 

 

There appears to be a modbus RTU IO server available for this through the RT software.  Was intending to use my modbus drivers but if the IO server is better I'll use that instead.

 

Can modbus commands be sent through the cRIO's RS232 port for controlling and reading a Watlow controller and would the IO server be better to use?

 

Thanks for the help

 

Steve

0 Kudos
Message 3 of 11
(5,283 Views)

You should be able to do this.

 

You would require both the LabVIEW Datalogging and Supervisory Control (DSC) and LabVIEW Real-Time. Refer to How to turn a RT Target into a Modbus Slave using IO Servers for more information on setting up a RT Target as a Modbus Slave device. 

 

If you don't have LabVIEW DSC, you could probably get the whole thing to work using the LabVIEW Modbus Library, but I am not familiar with the library to answer questions on it.

Adnan Zafar
Certified LabVIEW Architect
Coleman Technologies
0 Kudos
Message 4 of 11
(5,280 Views)

Just one more question-

 

Why is this COM port disabled in MAX if the cRIO RS232 port is for Modbus communication. See enclosed jpeg image.

 

Thanks,

 

Steve

0 Kudos
Message 5 of 11
(5,277 Views)
I will let an NI engineer answer that question. I believe you can configure the port in software when you establish the connection. The VISA Config Serial Port VI should be called prior to calling the read and write VIs.
Adnan Zafar
Certified LabVIEW Architect
Coleman Technologies
0 Kudos
Message 6 of 11
(5,273 Views)

Hi Steve,

 

The COM port is not supposed to show up as disabled. Please check whether NI-VISA is installed properly on both your RIO as well as your computer. 

 

Ipshita C.

National Instruments
Applications Engineer
0 Kudos
Message 7 of 11
(5,268 Views)

Steve,

 

Actually, this behavior is by design. We do not support changing the port settings for a COM Port on a cRIO using NI-MAX. You will need to use the VISA Config Serial Port VI Adnan mentioned in his post. Or you can use a property node you find on the VISA Advanced pallette if you want to quickly change a few settings.

 

Pankaj

 

0 Kudos
Message 8 of 11
(5,260 Views)

Pankaj,

 

Does that mean the only was to communicate through the cRIO com-port is from a Host.VI (in a project). 

 

A VISA resource name (visa://NI-cRIO9014-013DBB8D/ASRL1::INSTR) for this cRIO com-port can be made in the host VI of an FPGA project but doesn't seem to be allowed in the target FPGA.VI (that's compiled).

 

Enclosed is my project. Currently it only reads temperature from the 9211 modules.

 

Thanks very much to everyone for the quick responses.

 

Steve

0 Kudos
Message 9 of 11
(5,255 Views)

One of the things that might be different is that when you are targetting the COM port on the controller from a VI running on the host, you have to indicate that it is a remote VISA resource, and hence you use visa://hostname/... as a prefix. For a VI running on the target itself, the COM port is a local VISA resource, so the resource name would just be "ASRL1::INSTR". I don't know if I answered your question, but do let me know if you need more information or if you have other questions.

 

Pankaj

0 Kudos
Message 10 of 11
(5,242 Views)