AdvancedHMI to Solo Process Temperature Controller

Modbus RTU will be the serial (RS485) method in which we will communicate between the AdvancedHMI Screen 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/

AdvancedHMI is a free HMI programming package the runs on Microsoft Visual Studio. It can be downloaded at the following URL.
https://sourceforge.net/projects/advancedhmi/

Connections:
We will be running the AdvancedHMI software on the computer. One of the USB ports will have an USB to RS485 adapter and communicate RS485 to the Solo process temperature controller.

See the following post to install the USB to RS485 adapter.
http://accautomation.ca/usb-to-rs485-pc-adapter-installation/

Solo Controller Settings:
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, 7 Data Bits, 1 Stop Bit, Modbus ASCII Format. We will leave the default unit number as 1. See the following post to set the controller:
http://accautomation.ca/solo-process-temperature-controller/

Modbus RTU (Addresses)
The following address will be used in our project:


AdvancedHMI will use the Modbus Decimal value in the PLCAddressValue to determine the information that you want to get. For a list of all Modbus addresses that can be used in your project, refer to the Solo Manual located a the following URL:
https://www.automationdirect.com/adc/Manuals/Catalog/Process_Control_-a-_Measurement/Temperature_-z-_Process_Controllers

Screen Display: (AdvancedHMI)
Here is what our screen will look like:

We have mimicked the look of the solo process temperature controller. Our PV and SV values are DigitalPanelMeters from the AdvancedHMI toolbar.  The eight output indicators are just labels.

Our ModbusRTUCom1 settings are as follows:

Settings: 9600, 8, Even, One StopBit and Station 1 should all match the settings in the Solo process temperature controller that we did previously.
PollRateOverride will allow us to determine how often the communication will take place to the controller. (250msec)
The PortName will be the same port number that the computer will communicate out of. This will be set when you install the USB to RS485 adapter. It may change if a different USB port is used.

The DataSubsciber1 will be used to determine the status of the controller.

PLCAddressValue = 44139

We read the value of the eight status bits and convert this into a string so we can determine the status of each of the individual bits. Here is the code that is used to do this. It is the only code required for this application.

Private Sub DataSubscriber1_DataChanged(sender As Object, e AsDrivers.Common.PlcComEventArgs) Handles DataSubscriber1.DataChanged
        Dim i As Integer = DataSubscriber1.Value
        Dim Status As String
        Status = Convert.ToString(i, 2).PadLeft(8, "0") '8 bits
        'There are 8 bits that we need to check and account for on our screen. 
        'Modbus Decimal - 44139
        'Bit 0 - ALM3 - Alarm 3
        'Bit 1 - ALM2 - Alarm 2
        'Bit 2 - C degrees
        'Bit 3 - F degrees
        'Bit 4 - ALM1 - Alarm 1
        'Bit 5 - OUT 2 
        'Bit 6 - OUT 1
        'Bit 7 - AT - Auto Tuning

The complete AdvancedHMI code for this application can be downloaded at the end of the post.

The PV and SV indicators are DigitalPanelMeters as mentioned above.


They both have four digits with a decimal position of 1. This will give us a value between 000.0 and 999.9.
The SV includes a keypad to change the set value. KeypadScaleFactor is set to 0.1 to allow for the decimal place.

Included in our display is a BasicTrendChart from the AdvancedHMI toolbar.


You want to make sure that the YMaximum and YMinimum settings are set so the values will not go past these settings. If they do then the graph line will disappear from the chart at that point and time.
This will show a running trend for the last 5 minutes.
Polling rate is 250msec x 1200 points in the chart = 300 000msec
300 000msec / 1000 = 300 seconds
300 seconds / 60 (seconds in minute) = 5 minutes

Notes: Displaying Extended ASCII Symbols in Visual Studio (VB.NET)
You can display any symbol in the visual studio environment by holding the ‘Alt’ key down and typing the decimal number of the symbol that you want. In our example the degrees symbol is Alt 248.
Here are the extended ASCII symbols:

http://www.asciitable.com/

Running the Application:

You will notice that the response rate is very quick. (250msec) As the PV, SV or indication values change, the screen will get updated.

The trend chart will show the last 5 minutes of the PV value. 

As you can see, programming the AdvancedHMI to communicate to the Solo process temperature controller is very easily done.

Download the AdvancedHMI code for this project here.

Watch on YouTube : AdvancedHMI 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.

Solo Process Temperature Controller

The SOLO Temperature Controller is a single loop dual output process temperature controller that can control both heating and cooling simultaneously. It is available in 1/32, 1/16, 1/8 and 1/4 DIN panel sizes and is UL, CUL and CE approved.

There are four types of control modes:
PID (Auto Tuning (AT) function)
P stands for proportional and accounts for present values of the error – It reacts to the amount of error which is the difference between the SP (Set Point) and the PV (Present Value)
I stands for integral and accounts for past values of the error – It uses math to basically find the approximation of area under the curve.
D stands for derivative and accounts for possible future values of the error, based upon rate of change – It uses math to determine the slop of the error over time and multiply this by the derivative gain.
AT – Auto Tuning as the name implies will automatically cycle your control system through two cycles and set the PID parameters.

ON / OFF
On/Off control is the simplest form of control. In the case of temperature the output will be on when the temperature is below set point. When the temperature gets above the set point of the controller the output will be off. When this cycling occurs frequently, you can add a hysteresis to the output. This will limit the time the output goes on and off by a number of degrees.

Manual
Manual mode is when you need to control the output directly. By entering manual mode the operator can adjust the values of the output(s).

Ramp / Soak control
The Ramp / Soak control mode is used to control the outputs according to the pre-programmed SP patterns with the PID control method. The Solo can have eight programs with eight steps each. Note: This can be increased with the additional use of hardware and software via HMI or PLC.

The available outputs include relay, voltage pulse, current, and linear voltage. There are up to three alarm outputs available to allow seventeen alarm types in the initial setting mode. SOLO can accept various types of thermocouple, RTD, or analog input. This means that cascade control is possible with these controllers.

Cascade (Application)
When you use the output of one of the Solo process controllers as the input to another, this would be cascade control.

It has a built in RS-485 interface using Modbus slave (ASCII or RTU) communication protocol.
The Solo Process Temperature Controller can be configured through the buttons on the front of the unit or by the configuration software. Monitoring of up to four controllers at once can be done thought the same configuration software.

The following is the wiring of the Modbus Serial communication. We will use a USB to RS485 converter from Automation Direct. (USB-485M)
Installation and operation instructions can be found at the following link: USB to RS485 PC Adapter Installation

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, 7 Data Bits, 1 Stop Bit, Modbus ASCII 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

The configuration and monitoring software does not have to be installed. You just need to download the file “slsoft.zip”.
Once downloaded right click on the file and select “Extract All…”. The file ADC1105.exe can now be run.

The recommended screen resolution is 1024 x 768. If you do not have this resolution then there is another program that will allow us to create a shortcut to this program and change our default resolution. After we exit the program, our screen resolution will return to its original state.

Reso is a free application that works well. It can be downloaded at the following URL link:
http://www.bcheck.net/apps/reso.htm

Download the exe file (reso.exe) into the same extracted folder that you have the ADC1105.exe file.

Click on the reso.exe file in the folder to run the application.
Click the Browse… button and select the ADC1105.exe solo configuration software.
Under the Graphics Mode: Resolution: select 1024×768
We can leave the rest to the defaults as shown below. Now Click Create Shortcut.

Put the shortcut in the same directory as the software that was downloaded.

We will receive notification that the shortcut was created. Click OK.

Our folder will now look like this.

Click on our shortcut (ADC1105 (at 1024×768)) to start the Automation Direct Solo Series Configuration Software.

There are six icons on the main menu. Follow these in order from left to right to setup or troubleshoot your system.

Under the Com port setup we configure the serial port of the computer to communicate to the Solo. In our case we will use COM5, 9600, Even, 7 Data Bits, 1 Stop Bit, Modbus ASCII Format.

In the Configuration menu we will select the address of the controller that we will be communicating. This will be the default of the Solo which is 1.

Selecting Connect will then communicate to the Solo process temperature controller and you will see on the screen a picture of the controller with the PV, SV and indicator lights active.

This screen will now allow you to set up all of the parameters in the Solo. Once you enter a value it will be red on the screen. After hitting enter on the keyboard and the value will then be sent to the controller and be displayed in black again.

The recorder screen is used to monitor the temperature over time. You can monitor up to ten Solo Controllers at once.

Command Test is used to send individual Modbus command out. This is done in Hexadecimal.

The software for the Solo Process Temperature Controllers is very functional. Using the Reso software, you will be able to put the Solo Software in the 1024 x 768 that it was created for without manually changing the screen every time.

Watch on YouTube : Solo Process Temperature Controller

Watch on YouTube : Analog Input to a 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.

USB to RS485 PC Adapter Installation

The USB-485M is a 2-wire USB to RS-485 serial communication adapter for RS485 use. It does not require an external power supply or complicated configuration.

It has a Type A (plug) USB connector for the computer side and a universal female RJ45/RJ12 modular connector. This will accept RJ12 and RJ45 plugs.  The USB-485M supports multiple baud rates and is USB V2.0 Compliant.

Installing the Driver
Do NOT connect the USB-485M to your PC before installing the driver file.

Go to the Automation Direct website and download the latest drivers for this device. I would not use the mini CD that came with the converter because it may be out of date.
USB-485M Serial Converter Support Resources

Download and extracted the zip file. (Right click on the zip file and select Extract All…. )
If you have a 64bit computer double click on the following file:
CP210xVCPInstaller_x64.exe
If you have a 32bit computer double click on this file:
CP210xVCPInstaller_x86.exe

If you are unsure as to 32 bit or 64 bit computer then go to control panel and look under system. Under System type it will display either a 32-bit Operating or 64-bit Operating system.
Alternatively on Windows 7 you can click start and right click on Computer.

Selecting properties will call up the system information for you.

This will now start the installation of the CP210x USB to UART Bridge Driver. Select Next.

You must accept the license agreement before the software will install. Select ‘I accept this agreement’ and hit Next.

You will now get a message that the installation is complete. The Silicon Laboratories Driver is now installed. Click Finish.

We will now configure the device driver for our hardware.
Connect the USB-485M to your PC.
The driver software installation will begin by searching for the CP2103 USB to UART Bridge Controller. It will start by searching windows update…

Once the software has been configured a message will be displayed as follows. If it cannot find the driver software you can manually select the x64 (64bit) or x86 (32bit) folders from the downloaded driver files.

You can now call up device manager and view the ports on your computer. The Silicon Labs CP210x USB to UART Bridge is on communication port 5.

We are now ready to connect to our equipment. Since this is a serial device and is a 1 : N connection. This means that we will have a master and at least one slave unit. All communication must have the same parameters when communicating. What separates the communication is that each slave is assigned an unique number.
Example:

Device Computer ‘Master’ Solo Process Controller
‘Slave’
Do-More PLC
‘Slave’
Additional Devices
‘Slaves’
Station Address / Unit number N/A 1 2
Baud Rate 9600 9600 9600 9600
Data Bits 8 8 8 8
Parity Even Even Even Even
Stop Bits 1 1 1 1

Protocol is the actual communication (Information format that is transferred) that takes place over the network. (Master to Slaves)

Watch on YouTube : USB to RS485 PC Adapter Installation
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.