Step by step guid to setting up comms between AC900FR controllers?

Hope someone here can help me out with a quick guide on inter-controller comms? I need to set up communication, preferably over Ethernet, between 3x AC900FR controllers. All of them on the same network and subnets.

I would guess it would involve inserting and configuring SR_SNDEV and SR_RNDEV in the Hardware structure? Setting up the relevant IP addresses in here? If so, do I use the Cabinet or Rack IP addresses?

If the above point is correct, do I then use SR_USEND and SR_URECV blocks to communicate the data between controllers? Would it be possible to create one block of date in the form of an array to transfer between controllers, like a UDT or something? Where and how would I create this? How would I configure the SR_USEND and SR_URECV blocks?

I tried searching here for a topic on this, but no result. Hope someone here has a step-by-step guide as to how to do this? If I had the hardware at my disposal, I could have played around and tested a solution. Unfortunately my client is thousands of miles away with his hardware and I do not have access to it. So I cannot figure this out by trial and error.


Add New Comment


StAnder   

asked 2 months ago
Closed



Best Answer

1

Hi StAnder,

There are few ways of doing this, depending on Your project requirements:

1. If all controllers are in the same project You don't need to set up anything - simply define some variables as 'Export' variables and controllers will excheange their values between themselfs.

2. If all the controllers are in different projects then You can use Send/Recive blocks. In this case choose either TCP or UDP standard. You need to insert interface block into hardware structure (this could be either SR_SNDEV and SR_RNDEV for UDP or SR_SRTCP for TCP). Then declare a data structure in Structured data types (these need to be exactly the same in both projects). Then add SR_USEND and SR_URECV blocks in programs. The structural data types can be passed by these blocks so You need only one pair of blocks for one direction of communication. Use 3BDD012515 Engineering Manual - Communication and Fieldbusses to get more info on these blocks and thier parameters.

Hope this helps,

Mike

Source: 3BDD012515 Engineering Manual - Communication and Fieldbusses

MMM   

answered 1 month ago


 


By StAnder on 6/20/2017 | Like (0) | Report

Thank you very much MMM. #1 will work for me. The 3 controllers are in the same project, so "Export" will work. Much easier than I thought.


By MMM on 6/20/2017 | Like (0) | Report

Well, it's Freelance and in Freelance most things are pretty simple.


By StAnder on 6/20/2017 | Like (0) | Report

Most, but not all. :) My first experience was hell, but I guess it can only go better from there. Freelance need to make it up to me. This does help. Anyway, tried it and it seems to work. Does the export variable need to be in the Process image or not? Is the use of Process Image only for redundant controllers?


By StAnder on 6/20/2017 | Like (0) | Report

One last thing, I also assume the export variable need to be without resource?


By MMM on 6/20/2017 | Like (0) | Report

No, export and process image are two different and unrelated things. Also, export variables should be assigned to resource that write their values.


By StAnder on 6/20/2017 | Like (0) | Report

When crating a new variable, there are options for "Export" and "Process Image". Both are available for selection. Would you mind explaining the use of "Process Image"?


By MMM on 6/20/2017 | Like (0) | Report

Each task can produce a so called "Process Image" - think table with values of all variables called by Process Image (which is marked by @ before variable name, like @var) inside the task. These values are read only when the task starts a cycle and are writen only when it ends a cycle. This way all the variables used in application have a value from single point in time. Also only process image values are synchronized between redundant controllers.


By MMM on 6/20/2017 | Like (0) | Report

See Freelance Engineering Manual - IEC 61131-3 Programming for more details.


By StAnder on 6/20/2017 | Like (0) | Report

Thank you for the explanation. So it is no different to S7 PII and PIQ. Good to know. Sometimes between manufacturers they would use similar terminology, but it means something different. I am using PI variables as I am dealing with 3x FR controller pairs.


Add New Comment


Answers

1

Hi StAnder,

There are few ways of doing this, depending on Your project requirements:

1. If all controllers are in the same project You don't need to set up anything - simply define some variables as 'Export' variables and controllers will excheange their values between themselfs.

2. If all the controllers are in different projects then You can use Send/Recive blocks. In this case choose either TCP or UDP standard. You need to insert interface block into hardware structure (this could be either SR_SNDEV and SR_RNDEV for UDP or SR_SRTCP for TCP). Then declare a data structure in Structured data types (these need to be exactly the same in both projects). Then add SR_USEND and SR_URECV blocks in programs. The structural data types can be passed by these blocks so You need only one pair of blocks for one direction of communication. Use 3BDD012515 Engineering Manual - Communication and Fieldbusses to get more info on these blocks and thier parameters.

Hope this helps,

Mike

Source: 3BDD012515 Engineering Manual - Communication and Fieldbusses

MMM   

answered 1 month ago


 


By StAnder on 6/20/2017 | Like (0) | Report

Thank you very much MMM. #1 will work for me. The 3 controllers are in the same project, so "Export" will work. Much easier than I thought.


By MMM on 6/20/2017 | Like (0) | Report

Well, it's Freelance and in Freelance most things are pretty simple.


By StAnder on 6/20/2017 | Like (0) | Report

Most, but not all. :) My first experience was hell, but I guess it can only go better from there. Freelance need to make it up to me. This does help. Anyway, tried it and it seems to work. Does the export variable need to be in the Process image or not? Is the use of Process Image only for redundant controllers?


By StAnder on 6/20/2017 | Like (0) | Report

One last thing, I also assume the export variable need to be without resource?


By MMM on 6/20/2017 | Like (0) | Report

No, export and process image are two different and unrelated things. Also, export variables should be assigned to resource that write their values.


By StAnder on 6/20/2017 | Like (0) | Report

When crating a new variable, there are options for "Export" and "Process Image". Both are available for selection. Would you mind explaining the use of "Process Image"?


By MMM on 6/20/2017 | Like (0) | Report

Each task can produce a so called "Process Image" - think table with values of all variables called by Process Image (which is marked by @ before variable name, like @var) inside the task. These values are read only when the task starts a cycle and are writen only when it ends a cycle. This way all the variables used in application have a value from single point in time. Also only process image values are synchronized between redundant controllers.


By MMM on 6/20/2017 | Like (0) | Report

See Freelance Engineering Manual - IEC 61131-3 Programming for more details.


By StAnder on 6/20/2017 | Like (0) | Report

Thank you for the explanation. So it is no different to S7 PII and PIQ. Good to know. Sometimes between manufacturers they would use similar terminology, but it means something different. I am using PI variables as I am dealing with 3x FR controller pairs.


Add New Comment



Get weekly AKS updates


Partner Exclusive Webinars

 

> – Login to the partner portal to register



Points Redemption Program - Redeem your points for ABB training, Bluetooth speakers and mugs. Terms and conditions >


Earn points when you refer a friend
AKS Referral Program is "Live" - Learn more



AKS Experts


avatar
Ask Flavio Mussolin   

Rank: 6

ABB AVP, Senior Electronic and Automation Engineer with over 30 years of experience in the field of process automation automotive, pharmaceutical, hollow glass, steel and rolling.


avatar
Ask MMM   

Rank: 4

ABB PA CT Technical Support


avatar
Ask Dieter Henkel   

Rank: 24


avatar
Ask Harsha.D   

Rank: 5

Tech.Support,software and commisioning engineer with Proficient knowledge in 800xA and its products, RNRP,Networking in general.


avatar
Ask nikismith   

Rank: 258

I have been a part of the Recording & Control Factory team for 17 years in total, having spent a number of years as a repairs technician withi the manufacturing department, but being in my current role for 9 years now.


avatar
Ask kstoilov   

Rank: 22

Control System Engineer: 800xA, Compact 800, AC500, AC31-50, Advant Master, Simatic, AC&DC Drives 11 years worked for ABB - Control Systems


avatar
Ask Govindaraj   

Rank: 10

Working in ABB India Operation Center. Have Project engineering and commissioning experience in ABB 800xA, Freelance, AC500.


avatar
Ask Rob Lyon   

Rank: 3

info@lymac.co.nz I'm an independent DCS software and commissioning engineer with extensive experience in 800xA and other ABB products. I've worked in almost every corner of the world and still haven't seen it all.


avatar
Ask Stefan Stromqvist   

Rank: 1

I joined ABB in the year of 1994 and has since 1999 been working as a Service & Support Engineer at BU Control Technologies in Västerås, Sweden. My areas of expertise are: 800xA Base, 800xA for Advant Master, Information Management, operating systems, RNRP and Ethernet comms/networking in general.


avatar
Ask Sumit Gargav   

Rank: 2

I have worked with Freelance in majority, with 800xA FD and Melody system partly. Also had opportunity to work with Protocols - HART,Profibus,FF & Modbus.