BRX PLC Serial Communication – Modbus RTU to Solo Process Temperature Controller

Serial communication instructions will allow you to send and receive serial data to an external device. The communication method that you setup can be ASCII or numeric (binary). ASCII (American Standard Communication for Information Interchange) can be used to send to devices such as a printer or display.

Receiving ASCII can be used for connecting barcode scanners to the PLC. The barcode will be read as an ASCII string in the PLC.

The BRX Series PLC will allow you to use instructions such as STREAMIN and STREAMOUT to send and receive data from devices mentioned above. They are usually a one to one device and do not have a protocol.
A protocol is like a language used to communicate to different devices connected together. Modbus serial communication (Modbus RTU) is a standard protocol used in many industrial automation devices. The BRX Series PLC has a MRX (Modbus Network Read) and MWX (Modbus Network Write) instructions.

We will demonstrate these instructions by communicating Modbus RTU to a Solo Temperature Controller. (RS485) Our example will read the current process (PV) value and write the set point value (SV) in the controller. Let’s get started.

Previously in this BRX series PLC we have discussed:
System HardwareVideo
Unboxing – Video
Installing the SoftwareVideo
Establishing CommunicationVideo
Firmware Update – Video
Numbering Systems and AddressingVideo
First ProgramVideo
Monitoring and Testing the ProgramVideo
Online Editing and Debug ModeVideo
TimersVideo
CountersVideo
High Speed IOVideo
Compare InstructionsVideo
Math InstructionsVideo
Program ControlVideo
Shifting InstructionsVideo
Drum InstructionVideo

The first thing that we will do is set up the Solo Temperature Controller.

Additional information can be found at the following link.
https://accautomation.ca/solo-process-temperature-controller/

Wiring diagram:

RS485 is a two wire serial communication media.

The solo process temperature controller needs to be setup before we can communicate to it. The default setting is ‘Off’ for the On-Line Configuration. Here is the way to change into the different modes in the Solo.


In the Initial Setting Mode we will change the on line configuration to on and make the changes to the Modbus settings as follows: 9600 Baud, Even, 8 Data Bits, 1 Stop Bit, Modbus RTU Format. We will leave the default unit number as 1.


Our controller is now set to communicate.
Download the documentation and/or configuration and monitoring software at the following URL link:
http://support.automationdirect.com/products/solo.html

Modbus RTU will be the serial (RS485) method in which we will communicate between the BRX PLC Built in RS-232/485 port and the Automation Direct Solo Process Temperature Controller.
We can address up to 247 (Solo 1 to 247) devices on this master – slave protocol. A maximum of 32 devices (Nodes) on the network can communicate to the master. A review of the Modbus RTU protocol can be seen at the following URL.
http://www.rtaautomation.com/technologies/modbus-rtu/

Let’s look at the BRX Series PLC configuration information that we need to provide.

Select the configuration symbol on the main menu. Alternatively we can also select from the main menu PLC | System Configuration…

Under the CPU Configuration menu on the left hand side you will see the Serial Port Configuration selections.

The protocol for the serial port will be Modbus RTU Client (Master). This means that the BRX PLC will initiate all of the communication to the other devices on the system. The other devices are referred to the Servers or Slaves.
The port type will be RS485. We also have specified to enable the 120 ohm termination resistor at the end of the communication line.
You will see that the communications in the BRX Series PLC will use a device. The device in our case will be called @IntSerModbusClient.
Select the Device Settings.

Here we can change the Modbus Protocol Settings and the Port Settings. Remember that the port settings must match the port settings on each of the servers. In our case the settings are 9600 baud, 8 data bits, 1 stop bit and even parity.
Hit OK to set and close the device settings.
Go back to the System Configuration and select the Device Configuration from the menu on the left.

We can see our device (@IntSerModbusClient) listed with the type and configuration.
Hit OK to close the system configuration menu.

MRX – Modbus Network Read

We use the MRX instruction to read registers from the slave devices.
Unit ID – 1 – This is the number of the slave (server) that we want the information.
Function Code – 3 – Read Holding Registers – This is the address of the slave (server) that contains the information.
Number of Modbus Registers – 1 – The number of registers to read.
To Do-more Memory Address – V0 – This is the starting address to put the information that we have read into the BRX PLC.
Our on success and error bits can be set. In our case this is C1 and C2 respectfully. We can set up an Exception Response memory area in the BRX if we wish. This has not been set.

Here is our MRX instruction in the ladder logic. We use the first scan bit to start the communication. The other two bits are from the success and error of our write instruction MWX.

MWX – Modbus Network Write

We use the MRX instruction to write registers to the slave devices.
Unit ID – 1 – This is the number of the slave (server) that we want the information.
Function Code – 6 – Write Single Register – This is the address of the slave (server) that we will write information.
From Do-more Memory Address – V1 – This is the address that has information in the BRX PLC that we have to write to the slave (server).
Our on success and error bits can be set. In our case this is C3 and C4 respectfully. We can set up an Exception Response memory area in the BRX if we wish. This has not been set.

Here is our MWX instruction in the ladder logic. The success and error bits from our read instruction will activate our write instruction MWX.

Note: If we need several more read and write instructions in our program then we would set up additional output bits to trigger the next instruction, etc.

You can watch the video below to see this code in action, communicating to the Solo Process Temperature Controller from the BRX Series PLC.

You can download the program here.

BRX Series PLC from Automation Direct – Power to deliver
Overview Link (Configure and purchase a system)
Manuals and Product Inserts (Installation and Setup Instruction)
Do-More Designer Software v2.0.3 (Free Download Link) – The software will contain all of the instruction sets and help files for the BRX Series PLC.

Next time we will look at the file system in the BRX PLC.

Watch on YouTube : BRX PLC Serial Communication – Modbus RTU to Solo Process Temperature Controller
If you have any questions or need further information please contact me.
Thank you,
Garry



If you’re like most of my readers, you’re committed to learning about technology. Numbering systems used in PLC’s are not difficult to learn and understand. We will walk through the numbering systems used in PLCs. This includes Bits, Decimal, Hexadecimal, ASCII and Floating Point.

To get this free article, subscribe to my free email newsletter.


Use the information to inform other people how numbering systems work. Sign up now.

The ‘Robust Data Logging for Free’ eBook is also available as a free download. The link is included when you subscribe to ACC Automation.




Leave a Reply

Your email address will not be published. Required fields are marked *