Using Step7 to configure a CP1616 with Beckhoff I/O on ProfiNet

Ken Roach

Lifetime Supporting Member + Moderator
Join Date
Apr 2002
Location
Seattle, WA
Posts
17,482
I'm working for the first time with an ABB IRC5 Robot controller that is using Beckhoff I/O modules with ProfiNet buscouplers, and I hope somebody in the Forum can help get me over the initial communications setup hurdles.

The IRC5 robot controller has a Siemens CP1616 ProfiNet card installed in a PCI slot, which ABB calls a DSQC 678.

The ProfiNet network consists of that CP1616 card, two Beckhoff BK9103 ProfiNet bus couplers, one Beckhoff BK9053 ProfiNet bus coupler, and an SMC Pneumatics EX260 valve manifold on ProfiNet.

I've never used these devices together and am a novice also with Step7. Documentation from ABB and from Beckhoff simply says "use Step7 Hardware Configuration to configure the CP1616" and tells you to go read Step7 documentation to figure out how.

The system came from the OEM with the CP1616 configured to scan just one of the Beckhoff BK9103 adapters. We know this works.. we can see physical sensor states changing in Robot Studio.

I want to upload the working configuration before I start trying to add the rest of the I/O adapters to the configuration.

I have Step7 5.5 installed on a Windows 7 32-bit VMWare virtual machine. It's configured as a static IP bridged to the physical Ethernet network. I have installed the GSDML files for all of the Beckhoff and SMC devices.

I can PING the CP1616 at 192.168.0.1 and can see its built-in web page. I can also PING the Beckhoff BK9103 bus coupler.

I can use Step7's Hardware Configuration tool to see the status of the various ports on the CP1616. It even tells me the name and MAC of the Beckhoff device in the daisy-chain on the X1 port.

But that's where my knowledge ends. I can't seem to get any of the topology exploration or "browsing" functions to work.

The basic question is: Does anyone know if a *.XDB file or another form of configuration file can be uploaded from a CP1616 like this ?
 
Can you link to the ABB and Beckhoff documentation ?

I am guessing that the robot controller is a PC, and there is an ABB application that uses OPC to communicate to the Beckhoff devices.
This because that is the way I can understand that it would need Siemens software to configure the Profinet.
Is it like this:

ABB Controller
[ABB application program as OPC client ... Simatic net as OPC server ... CP1616] ...[Profinet network] ... [Beckhoff devices]

The basic question is: Does anyone know if a *.XDB file or another form of configuration file can be uploaded from a CP1616 like this ?
If I am right in the above, then I think that it should be possible. No guarantee though.
You should use the "Upload station to PG" function in Simatic Manager.
Even if it works, it would be a last resort, since you will not get any symbols (which are probably needed).
It will be better if you can work with the original STEP7 project.

edit: It makes a difference if STEP7 is installed on the same PC as the ABB application, or if it is installed on another PC.
You should definitely look for a STEP7 project with the current setup.
Can you access the ABB controller to check what software is installed for example ?

edit again: Do you have some documentation of the setup or programming on the ABB side ?
That could tell you about the existing Simatic Net configuration.
If need be, it should be possible to create a new Simatic Net setup from scratch.
I am also guessing that the changes to the Beckhoff modules should be mirrored in the ABB application somehow.
 
Last edited:
I have dabbled into it a little bit more.

What is funny is that both ABB, GE Fanuc and KUKA all use the Siemens CP1616 for Profinet comms.

Here is a thread about the setup with KUKA and someone says it works exactly the same on ABB (!):
http://www.roboterforum.de/roboter-...1616-als-controller-und-device-konfigurieren/
It is in german.
Essentially there are a number of specific steps involved.
I think I could do it with the information from that thread, but not sure about a newcomer to STEP7.

edit: In the forum entry is described that the KUKA (and thus ABB) is an IO Device to a higher level IO Controller (makes sense).
If I can get the configuration from the higher level IO Controller, I am certain I can create the STEP7 Project for the lower level IO Device robot.

edit again: scratch that. Ken described that the ABB robot is connected to Beckhoff bus couplers with IO.
In other words the Beckhoff IO modules are IO Devices for the ABB as IO controller.
So it is NOT the same setup.
I would need to know the current setup of the "Simatic PC Station" in the ABB controller, and how it should be expanded.
 
Last edited:
Thanks for the comments, Jesper.

ABB's IRC5 robot controller is a PC-like architecture with serial and Ethernet ports and PCI slots, but it's an embedded OS rather than Windows.

I suspect it's like a dual-page memory where you "map" the data that the CP1616 scans from the I/O adapters using Step7's Hardware Manager, and then "map" that data to logical tags in ABB's Robot Studio.

The robot system vendor did not include the *.XDB file or any written documentation on how they configured the ProfiNet system, so my goal is to preserve whatever I can by uploading from the CP1616 before I attempt to expand the system.

This sort of multivendor networking is exactly what I used to do for a living with DeviceNet and EtherNet/IP, but doing it with unfamiliar tools like Step7 and a much more complex technology like ProfiNet is harder.

The user manual I have for the CP1616 is ABB document 3HAC031975, which seems to be available only from non-ABB websites or on their documentation DVDs. For the Beckhoff I just have datasheets from their website, which show connectivity to S7 PLC controllers.
 
It helps a lot to know that "upload station to PG" is the function I'm looking for.

I had hoped to be able to "browse the network" and upload the configuration of the Beckhoff Buscoupler and the configuration of the CP1616.
 
The OEM was kind enough to send us the Step7 project files this morning, which include the configuration of the Beckhoff buscoupler and the CP1616. It shows me the four Beckhoff K-bus modules and where they've been mapped in CP1616 memory in I and Q registers.

I still don't know if you can walk up to one of these machines and upload this information, but at least now I have a backup that I can load if I make mistakes doing the expanded configuration from scratch.

Thanks for the input, Jesper.

I'll make sure the people who work on it after me have better documentation !
 
I am guessing the ABB robot looks like a "Simatic PC Station" to the STEP7 software, despite that it is not really a Windows PC.

With the unchanged source project loaded into STEP7, open NetPro (options .. configure network).
Then in NetPro activate view .. with DP slaves / IO devices.
And use PLC .. Activate connection status.
If you then can see the various IO Devices being online, you know that you are online with the ABB controller, and that you have the correct configuration.

Is it possible that we could see the 3HAC031975 document ?
 
Thanks for that procedure... I'm going to try it with the unmodified project now.

The copy I found online was the first Google result for "3HAC031975-001", from an FTP crawler. I will check that revision against the one we got on DVD from ABB.

I may have more questions about how the I and Q addresses are determined. The single Beckhoff adapter provided by the OEM has just two 8-point digital input modules and two 8-point digital output modules, but the stuff we've added to the ProfiNet includes analog and thermocouple and relay modules.
 
That manual seems pretty good with step-by-step instructions how to setup a project.

It looks like the ABB controller is connected to the CP1616 via a "monkey swing" and it is a Profinet IO Device to the CP1616 card as IO Controller.
I dont get how IO is passed between the ABB controller and the Beckoff IO Devices. Maybe as "shared device". You may be able to see that in the project.
 
One of the critical issues turned out to be the way my VMWare OS was configured in relation to the Siemens Workstation Configuration network service.

Once I reconfigured my VM to have just one network adapter it became clear that the Workstation Configuration was listing the network adapters in reverse order, and sending all the discovery packets to the host-only network.

So now browsing actually returns results, and I can configure Device Names and IP Addresses and ProfiNet Device Numbers using the NetPro feature in Step7.

Tomorrow our robot programmer will be back and he'll dig into how ABB Robot Studio relates to the S7-like memory map that was created by Step7's Hardware Configuration tool.

Thank you for your advice and encouragement !
 
I am also beginning to understand how the CP1616 card functions in the ABB controller.
The CP1616 card functions almost autonomously. It does not pass anything over the PCI bus. Everything goes via the monkey swing to the ABB controllers own ethernet port.
You just have to download the configuration to the CP1616 and it will then function as a standalone Profinet Controller. It is the explanation how it can function in "any" controller with a PCI slot.
 
Configure ABB IRC5 as PROFINET Slave to S7-1200 PLC

Hello
It seems that this issue is quite similar to the problem I face
I'm trying to Connect ABB IRC5 controller using profinet to Siemens S7-1200 PLC
The PLC is the master and IRC5 is the salve.
The IRC5 has 2 options to connect to PROFINET: built-in Field-bus adapter and PCI card - CP1616
I've successfully connected it using the Field-bus adapter and it works fine. I've build S7 project using Siemens TIA Portal v13. I've imported the ABB GSDML file (supplied by ABB Robotware 5.15 installation) named GSDML-V2.0-PNET-FA-20100510.xml

On the ABB side I've used ABB RobotStudio 5.15 and just moved the DNET existing unit to Profinet_FA1 bus - and it worked as it always worked on DNET before.

Now I want to use CP1616 solution instead (it support 128 bytes I/O instead of 64 bytes on the Field-adapter)
I've configured S7 using TIA Portal tool and used GSDML-V2.2-Siemens-CP16xx-20100812.xml gsdml file (from ABB)
I've selected FW version 2.4 and also upgraded the CP1616 firmware to 2.4
I've configured the IP address of CP1616 and the PLC properly. I've also named the CP1616 as Profinet1 - the same bus name in ABB environment.

On the ABB side I've used ABB RobotStudio 5.15 and just moved the unit to Profinet1 bus - and it worked as it always worked on DNET before.

Now I'm able to see CP1616 configuration (FW version, IP address etc.) using its web service. It looks fine.

But both the ABB controller and the PLC are reporting errors

The ABB controller display some warning symbol on the Profinet1 bus display (SEE THE ATTACHED IMAGE)
It also reports on its event log:
41555: No Contact With Unit

Description
Task: COMM_SYNC
There is no contact with the unit XXXX
(this the unit allocated now to Profinet1)

S7 TIA Portal complains:

Error: Hardware component removed or missing -

|> HW_ID= 270
(this is the ID of the CP1616 unit)

And also:
CPU error: New I/O access error during process image update
output 256 (128 Bytes) will temporarily not be updated as part of process image PIP 0

|> HW_ID= 277 - Execution level system

CPU error: New I/O access error during process image update
input 256 (128 Bytes) will temporarily not be updated as part of process image 0

|> HW_ID= 276 - Execution level system



Any idea how to bypass this issue?

Thanks
Haim.

abb.jpg
 

Similar Topics

I'm using a 3rd party USB to MPI adapter cable. I can see 157 blocks of various types listed under Accessible Nodes in Simatic Manager. The Upload...
Replies
28
Views
8,173
may you please explain that programm im not very familiar with statement list.
Replies
0
Views
1,287
How to simulate 2 cpu using Step7 plcsim i tried with no success i followed this guide here...
Replies
4
Views
90,813
In older step7 versions it was not preferable using direct acess to UDT data in the block interface. (defined as in/out paramters to FB/FC blocks...
Replies
2
Views
3,402
Can I reuse the same timer in a Function Block? I have a bunch of time delays that never run concurrently. I would like to just reassign a the...
Replies
4
Views
2,312
Back
Top Bottom