Does anyone have experience using Ignition with a GE RX3i PAC system? It looks like the RX3i has the ability to communicate via DNP3. Not sure if this is the only way or if there are other options for communication.
I thought these had a built-in OPC UA server. Is that only some models or an optional thing?
Unfortunately I do not have much experience with these processors. Looking at the documentation for the processor the customer has (IC695CPU320) it seems to only have serial ports. In their rack configuration there is an ethernet module (IC695ETM001) but I see no mention of OPC communications in its documentation. It looks like you need to add a module to get the DNP3 support now that I look into it more.
The spec sheet for this says it supports Modbus TCP, so that may be an option. I don’t know you would go about configuring a data mapping for the tags you’re interested in, though.
GE’s native ethernet protocol for these is “SRTP”, an entirely proprietary re-imagining of GE’s “SNP” protocol, grown out of the older 90-30 and 90-70 products. I have old C code kicking around that does the 90-30’s up through CPU374. Eventually I will get around to turning it into a proper Ignition driver… /:
So this may not be as straightforward as I was hoping. The customer’s current Cimplicity HMI system is failing them and we were hoping we could replace it with Ignition. GE support is severely lacking in our area and with Ignition support widely available it seemed like a good alternative. I will keep digging and see what I can come up with.
You may need to go to TopServer and use their OPC server as the communication driver.
The ETM001 supports modbus tcp, or you can use a opc server like kepware or autosol to communicate with the ETM in the GE native protocol, which is the way I would do it. That way if you want to poll the value in q0001, that is the address you would use.
I’ve done a little bit with the GE RX3i platform, so I will tell you to stay far away from the DNP3 ‘implementation’ that they have on the EDS001 module. It’s just not worth the hassle. If you really need DNP3, then you could couple a SCADAPack up to it, and use the SCADAPack ModbusRTU/TCP master / scanner functionality to map Modbus from the RX3i through to DNP3.
You do have to configure the RX3i (either the CPU, or an ETM module) to use a specific range for the ModbusRTU/TCP, and it is limited to a certain maximum size (which wasn’t that much from memory).
As others have suggested, using SRTP and a 3rd party OPC server is probably the most reliable and future proof method for GE comms.
Thanks for all your responses. As many of you mentioned, it looks like the best option is to go with a 3rd party OPC server. This will provide the best flexibility and least amount of frustration.
If you were to switch to using the Modbus TCP protoocol you have to enable MODBUS In the RX3i CPU configuration and then map each PLC variable that you need in the Ignition HMI to a Modbus Address. This will be a bit of busy work, you can then export tags out of the Machine Edition environment and create the tags in Ignition using the CSV import. Mapping the tag to a Modbus register is done in the variable properties in Machine Edition. Depending on the firmware / hardware version of the CPU this may require an offline download of the PLC program. On the newer CPU’s it is possible to make these changes without stopping the CPU. I have converted both old SNP and SRTP based systems to Modbus TCP. I also would stay away from the DNP, working with the DNP protocol is more complicated than Modbus. I usually reserve use of DNP protocol to scada / substation communications.
FWIW in general only the CPUs with built in Ethernet can have OPC UA servers. I just trolled through my documentation and from the “PACSystems* RX7i, RX3i and RSTi-EP CPU Reference Manual”, GFK-2222AJ, June 2019 it states:
- RX3i CPE302, CPE305, CPE310, CPE330, CPE400 and CPL410 models support OPC-UA. This feature is pending on RSTi-EP CPE100/CPE115.
I think you can use the Kepware GE Ethernet driver for that.
There is a useful how-to PDF in this post (different controller but similar process):
Hi @steven.gyllich! I am curious as to what route you decided to take? We are looking at the exact same problem. We’ve got IC695CPU320 and ethernet module IC695ETM001 but connecting the opc client does not work (probably because there’s no OPC UA server built in which I now know thanks to this thread). Can you please share how you got around this? Many thanks in advance!
I am currently working with Ignition 7.9 and GE Rx3i controllers. We used the Modbus TCP/IP approach, and it has its issues. Mapping is given as follows:
Digital Inputs directly accessible via standard Modbus Vector for DI
Output Coils directly accessible via standard Modbus Vector for Coils
Holding registers only work with %R type registers in Rx3i. No mapping for %M type variables if any logic is developed with this vector. Data must be transferred to %R in order to use Modbus TCP/IP communications.
For Floating Holding Registers (HRF) there are some issues with addressing. I have this working smoothly if you’d like support on this matter.
This is the most straight-forward approach, without any latency due to middleware based architecture. It is just a matter of keeping good track of your %R type variable mapping and you’ll get full functionality, since Rx3i does support Modbus TCP/IP natively.
I hope this helps in your application.
Any update on GE drivers?
It's pretty far down the to-do list, sorry. Maybe 2024.