Connecting Excel To ControlLogix - PLCdev PDF
Connecting Excel To ControlLogix - PLCdev PDF
Recent Posts
Home Products Tutorial Directory Glossary Recent Posts Contrib
Resources
GE Automation Connecting Excel to ControlLogix
Allen-Bradley
Siemens
PDF Electric &
Supply by John Schop
Do Supply Have you ever lost data in a CLX processor, because you downloaded new code?
Company
AX Control Unfortunately, when you donwload a program to a ControlLogix processor, you also
Distcache download the values of the tags (variables).
Networking
A solution to this problem that could be useful, is an Excel sheet that reads and writes
Hardware
values to the ControlLogix processor using the DDE/OPC capabilities of RSLinx.
PLC Programming In this article, I will show you how to create one of these sheets for your projects.
Handbooks
Allen Bradley Here's what you'll need:
Siemens
Modicon Microsoft Excel, with some basic knowledge about programming macro's in Visual
Basic
Popular Articles RSLinx (not the 'Lite' version, because that does not have DDE/OPC capabilities)
PLC Timeline A ControlLogix processor of course
Rockwell Automation's
Retroincabulator!
Let's fire up RSLogix first, and create a bunch of tags with values. In this example, I
PLC Basics
created 2 arrays, of the types DINT and REAL, each with a length of [10] tags. These
PLC Simulators
Cheap PLCs
arrays I filled with some values:
Navigation
Book reviews
Online books
Recent posts
About
RSS
Feed Me! Firefox
and Thunderbird make it
easy to keep up on the
latest articles from
PLCdev
User login
Username: *
Password: *
Log in
Create new account
www.plcdev.com/connecting_controllogix_excel 1/10
3/19/2020 Connecting Excel to ControlLogix | PLCdev
Request new
password
I'm not going to do anything with the PLC program, I just need some data in a number of
tags.
Next, we're going to set up a DDE/OPC Topic in RSLinx. Depending on the version of
RSLinx you use, it might look slightly different, but you should be able to follw this with
the screenshots.
Assuming that you know how to setup RSLinx initally to get online with your controller,
I've skipped some steps. The setup I use looks like this in RSLinx:
As you can see, I have a 10 slot CLX rack, with a 1756-ENBT card in slot 1 (address
134.200.211.16), and two processors, one in slot 0, and one in slot 2. The one in slot 2 is
the processor we are going to use for this exercise.
Now, open up the DDE/OPC topic configuration by clicking 'DDE/OPC' and then 'Topic
Configuration' in the top menu of RSLinx.
www.plcdev.com/connecting_controllogix_excel 2/10
3/19/2020 Connecting Excel to ControlLogix | PLCdev
I'm going to create a new DDE/OPC topic called 'EXCEL_TEST', and use the Logix5550
processor in slot 2 as the data source. In order to do this, you have to click the 'New'
button, give the topic the desired name, and make sure the processor in slot 2 is selected
as the source before you click 'Done'
To test if your setup is working, at this point you can use the OPC test client provided with
RSLinx. I'm not going into detail about that, but I did make sure this worked before
continuing with the next step, creating the Excel sheet.
Let's start up good old Excel, and create a new workbook. On this workbook, place a new
command button. You can find the Command Button control in the 'Control Toolbox'
toolbar in Excel. When you have the button, right click on it and choose 'View Code'. This
will take you to the Visual Basic Editor:
www.plcdev.com/connecting_controllogix_excel 3/10
3/19/2020 Connecting Excel to ControlLogix | PLCdev
First, create a function that will open the DDE topic to Excel:
Now, if I call this function from the CommandButton1_Click event, it will open the link to
RSLinx:
The variable 'rslinx' will hold the number of the open channel. All subsequent DDE
functions use this number to specify the channel.
To save you all the steps to program the rest of the code, here is the final code to get the
array of REALs out of the controller, and put them in cells D2 – D11, and the array of
DINTs in cells E2-E11.
www.plcdev.com/connecting_controllogix_excel 4/10
3/19/2020 Connecting Excel to ControlLogix | PLCdev
Now we know how to read, it would of course be a lot of fun if we could write values as
well. I would like to be able to change the values in the cells, and then hit a 'Write Data'
button.
First, make another button on the sheet (mine looks like below now)
www.plcdev.com/connecting_controllogix_excel 5/10
3/19/2020 Connecting Excel to ControlLogix | PLCdev
The way this is implemented is of course very rudimentary, but once you get the concept,
the sky is the limit.
To make this easier on everybody, I've included the Excel file with the code already in it.
The only thing you have to do to make this Excel sheet work, is make sure there is an
DDE/OPC topic in your RSLinx setup called 'EXCEL_TEST', and the arrays REAL_Array and
DINT_Array in your controller (of at least length 10).
Printer-friendly version
( categories: Allen Bradley Programmable Logic Controllers )
Hard link
www.plcdev.com/connecting_controllogix_excel 6/10
3/19/2020 Connecting Excel to ControlLogix | PLCdev
link tags
Small Bug
instead of:
www.plcdev.com/connecting_controllogix_excel 7/10
3/19/2020 Connecting Excel to ControlLogix | PLCdev
Submitted by Tim Young on Fri, 2010-06-18 21:49.
Nice catch! Thanks Ryan
i is a variable determined
www.plcdev.com/connecting_controllogix_excel 8/10
3/19/2020 Connecting Excel to ControlLogix | PLCdev
Excel to PLC5
2D Array
REAL-Data[0,0]
.
.
.
REAL_Data[1,3]
.
.
.etc.
Thank you
For a = 0 to 1 For i = 0 to
www.plcdev.com/connecting_controllogix_excel 10/10