This blog is dedicated to open, interoperable manufacturing software and the coolest, latest and greatest things I see every day while conducting business under the banner of Inductive Automation.

Hello, my name is Steve Hechtman and I am president of Inductive Automation. During the span of one day there is more excitement, more discovery than I can possibly keep to myself. This blog is, therefore, my outlet. WARNING: This site is highly biased in favor of the most powerful, affordable manufacturing software in the world - Ignition by Inductive Automation!

PLC Virtual Shared Memory using SQLBridge

How can you accomplish virtual shared memory between PLCs of different models or even different brands? For example, how can you share memory between Rockwell and
Siemens processors? And what problems would this solve?

The first thing I want to point out is that the solution is not complicated or expensive and very few people even know about it. Yet it's the simplest solution in the world and can be setup to work in just a few minutes. The solution, by use of SQL Bridge, simply involves mapping two transaction groups in the bidirectional update mode to the same table. That's all. Each transaction group maps to a single PLC. And did you know you can create additional transaction groups for many more PLCs configured in the same way and have all of them share the same memory? There's no limit in the number of PLCs that can partake.

All this can be configured from only the Ignition Gateway and Designer. You can even launch several Gateway clients and using the Quick Client monitor and manipulate address values in each of the PLCs simultaneously. Everything for configuration and testing in one program and at arms length. How simple is that?

Think of the problems solved. Some gnarliest problems I ever encountered as an integrator had to the with inter-processor communications and handshaking, particularly between different brands or models of PLCs. It usually got complicated. Just documenting all the communication paths and getting my head around them, especially when there were many different brands/ models of processors involved, was onerous. Usually hardware protocol converters were required and talk about a pain, ouch! Handshaking was unreliable and it seemed like communication would always stop at 2am in the morning...always. And none of this was really "shared memory" anyway. Not really.

What do I mean by shared memory? Simple... you change a value of an address in PLC "A" to 99 and a corresponding address in PLC "B" gets the same value of 99. Now if you change the same address in PLC "B" to 33, then the original address in PLC "A" now sees 33. This is the magic of the bidirectional mode. I call it bidirectional mirroring. It's the most useful thing ever for an integrator. A thousand uses. No one else would ever understand the value of this.

But it gets better than that. Transaction Groups are configured just by dragging and dropping browsed tags into them. There are just a few fields to fill out to make it all work and half of those are just dropdown or checkbox selections.

Experienced integrators know that shutting down any system during production is no good. That's why online programming was invented for PLCs. Well, it's the same with SQL Bridge. Need to make an online change? No problem - no need to shut anything down.

You only need the SQL Bridge module and the zero-cost platform all at a price which is ridiculously low. You might want some OPC drivers too but they are equally low cost. I think the pricing committee lost their minds!

Virtual Shared Memory is just one thing out of 1000 things you can do with SQL Bridge. SQL Bridge was my secret weapon when I was an integrator. Now it's yours. Enjoy!

No comments: