I have a project where we will control some industrial transformers to provide a requested voltage. The PLC will interface with the hardware level switches and motor on a variable transformer. Then a PC interface for technician will verify voltage via instrumentation over SCPI. Fine adjustments will be requested from the PC of the PLC / power supply. Everything will communicate over ethernet.
Long story short, I need to study up on a protocol with I can code this all up in. We’re working with Allen Bradley 5000 series PLCs.
That sounds like a good project. Hardware-level switches, motorized transformers, a PC interface, and SCPI instrumentation define a system like yours that where you’re interfacing an Allen-Bradley PLC (ControlLogix or CompactLogix from the 5000 series) for a dependable, well-supported protocol.
The following are some best choices for your arrangement:
Best for direct connection among PLC, PC interface, & instrumentation is EtherNet/IP (Industrial Protocol) Rockwell’s go-to protocol.
If SCPI instruments do not support native EtherNet/IP, Modbus TCP - simple, universal, and widely supported - best for communicating with them.
Best for PC interface applications with advanced monitoring & control needs OPC UA (Unified Architecture), flexible and secure.
Make that the instruments enable SCPI across LAN (or) USB/Ethernet bridges.
Python with pycomm3 for EtherNet/IP (or) pymodbus for Modbus makes PC-side development easy.
Studio 5000 has an Allen-Bradley Ecosystem. Natively supporting EtherNet/IP, Logix Designer can also incorporate Modbus via Add-On Profiles (AOPs).
My Suggestion
For direct PLC communications, go with EtherNet/IP; if the SCPI devices require for Modbus TCP, use it as an alternative.
Consider about integrating OPC UA if your PC interface needs more than just basic changes - such as logging or enhanced visualization.
Excellent thank you! I will be likely utilizing C# (.NET) on the PC. I’ve got ethernet sockets running (TCP/IP) to control the instruments already (SCPI) with PC to Instruments.
I’d like to utilize a protocol for PLC’s that doesn’t require additional licensing if possible. Something I can establish an ethernet connection with and code up in .NET.
I was also looking for an Allen Bradley 5000 series emulator if there is such a thing. Where I could emulate the PLC in software on a PC for development.