Sharing between two GE 90/30 racks using Genius

caddymac

Member
Join Date
Jan 2006
Location
IA
Posts
94
Hi everybody! I have an upcoming project where two separate 90/30 PLC racks will need to share info between the two. Not much information needs to be passed, maybe 16-32 discrete inputs from each and perhaps an equal amount of global variables.

Due to the distance apart (approximately 500ft), and a lack of desire/capacity for the customer to install additional hardware beyond pulling cables, I have chosen to go with Genius instead of an Ethernet network.

I have been spending the last few days reading through the IC693BEM331 manual (GFK-1034B) and the online help available in Proficy Machine Edition (version 5.7). From what I can tell, basically I need to install the hardware and configure the Genius cards on the Global Data screen (PLC rack 1 sends out a certain set of discrete inuts and global variables, recieves certain amount of discrete inputs/global variables) Is it really that simple?

Also, I have been doing some experimenting in the ladder logic and it appears that %G bits are retentive. Will this be an issue sending across the Genius network? For example, let's say in PLC rack 1 that I have a series of inputs and internal bits that turns on %G0004, which will be used in rack 2. Now let's say that rack 1 loses power - does rack 2 see the global bit from rack 1 go low, or does it stay high?

I think I'm starting to read and worry so much that I'm over complicating things, so any input/feedback is greatly appreciated.

Thanks!
 
Last edited:
Yes, what you want to do with Genius is relatively simple. In your scenario, if %G0004 is being driven high from Rack 1 and power is lost, %G0004 will go low in Rack 2. However, when Rack 1 comes back online, the point will go high if the logic is such that it should.

What are you using to convert from Genius to Ethernet and back? What CPU's are you using? It may be easier to use an Ethernet CPU and EGD since you already have to pull cable. BTW, why not just use Genius cable instead of the converters and CAT5?
 
Sorry, I meant to say I am going with Genius instead of Ethernet, due to the cable length/hardware. I edited my first post to be a bit clearer on that.

CPU will most likely be CPU350.

Obviously going off on a tangent to the topic at hand, but does EGD work the same way in that I can specify a length of inputs to transmit from one PLC to another?
 
Yes in a way. With EGD you have exchanges, each exchange is either a producer (sends out data) or a consumer (receives data). To send data from PLC A to PLC B, a Produced exchange is setup on PLC A and a Consumed exchange on PLC B. In the exchange you can specify the type and length of data to be sent virtually any GE data type can be configured into EGD. The one thing to remember is the exchange sizes (Produced and Consumed) must match exactly. Size, not data type. You can send %I in a produced exchange and map it into %M in a consumed exchange. You can also have multiple exchanges to the same or different PLC's.
 
Thanks for the help thus far. It's going to be awhile before I'll get a chance to practice on live equipment, but I just wanted to get my ducks in a row before I get too far along.
 
I'm back again for more questions. Customer wants to run two separate runs of communication cables for communication redundancy. Would this mean I would have to use two Genius Bus Controller cards?
 
I'm pretty sure you'll need two bus controllers in each PLC. There are Bus Switcing modules available so that outputs on Genius I/O blocks can take their marching orders from different controllers over different cables, but I don't know of anything that permits a single bus controller to switch between bus cables.

You'll need a strategy to decide which bus cable to use when both are up and running. Also how and when to switch back to the primary when a failed cable gets repaired and how to alarm when a bus cable goes down. Redundancy gets complicated quickly.
 
Just as Steve indicated, redundancy can get real complicated, real quick. To have redundant Genius you will have to have 2 controllers in each rack, 2 cables, 2 terminations, etc. Then, as Steve said you will have to write failover logic to go from Primary to Secondary and back.

Personally I don't see the need for this level of redundancy in a 90-30 application as correctly installed and configured Genius is about as bullet proof as you can get.

But, that's just my opinion.
 
correctly installed and configured Genius is about as bullet proof as you can get
In addition, the 90-30 Genius Bus Controller gives you 32 %I bits of status data. Each bit corresponds to a Genius address. If the bit is true, it indicares that the corresponding Genius device is present on the bus. False means it is not communicating. You can use those bits to alert someone that the communications link between the two PLCs has failed and to drive the shared data to some predefined values.
 
Just thought I would update everyone that helped me out: I finally loaded and tested the PLCs over the last few days with this redundant Genius network. It is now working great, and I should be ready to show the customer next week.

I made quite a bit of careless mistakes early on in the process, but hopefully I learned my lesson for next time.

First mistake I made was, for some reason I don't even know, I had the impression that I could send %M bits across the Genius network. Obviously that did not work, so I had to spend about a day rewriting the program to use %G bits instead.

Next mistake was trying to separate the blocks of global data (%G) by 100. 100 divided by 8 does not equal an even number. Thankfully I was using Excel list of the exported variables, so I was able to quickly move around the variables as needed.

For the redundancy part, here is what I did: To start, 1st rack I called A, it had two GBC A.1 and A.2. 2nd rack had GBC B.1 and B.2. A.1 connects to B.1 and A.2 connects to B.2. I used the status bits for each card - if GBC A.1 lost status bit for the opposite card GBC B.1, then the program would stop using the Global bits shared and start using GBC A.2 and GBC B.2. If communication came back, program would still run off of x.2 cards until communication was lost there. The redundancy added a lot of steps to the program, but it is what the customer wanted.

I'm surprised I was so nervous to use Genius for so long - once you figure out how to pass bits across (exporting to Excel helps a lot) and how to configure the cards, there isn't much extra to do in the programming. I especially like sending data only over 2 wires (plus shield) versus using a thick heavy cable like the one used for 90/30 remote/expansion baseplates.

I think my next experiment should be trying out that EGD that the kids all seem to be crazy about.
 

Similar Topics

One of my customers made a request I've never heard before and I'm not sure if I should agree to do it. They say that at their facility, there is...
Replies
7
Views
1,881
I want to make an application in C# .Net to read Tags from CitectScada (Local variables, Variables tags, Digital Alarms ...) so that I can process...
Replies
1
Views
1,572
hey, I'm working in somachine basic with TM221 PLCs. At the moment i'm making a program to control some machines. but I need to share data...
Replies
7
Views
2,091
G'day All. I am having a problem with a conveyor system which is controlled by two different Mitsubishi PLCs and below is the CPU information...
Replies
3
Views
1,700
Hey guys, I'm hoping for some help here. Normally my machines are small enough that one L62 can handle the load with average cycle times around...
Replies
6
Views
2,714
Back
Top Bottom