Commnunicate RealIO between controllers
I have 2 PM866 on a control network. Each of them runs half of the plant.
I have a cascade PID control module loop residing in controller B but the Pv (RealIO) is phisycally connected to controller A.
I thought of MMSRead4RealIO/MMSDef4RealIO but it is intended for applications residing inside the same controller.
What is the best way to transfer the Pv (RealIO) from controller A to controller B ? I would like to keep it in the RealIO format because I want the PID to keep the backtracking functionality.
Voted best answer
MMS will also work between applications in different controllers.
I guess you already know, but having inputs and outputs for the same PID control loop in different controllers is fundamentally a very BAD IDEA, and should be avoided if at all possible. The recommended solution is always to move the input PV to the correct controller and program the PV, PID Controller and OutP all in the same application.
1. If you have CI868 card with both the controllers, then you can use IEC GOOSE communication to send REALIO from one Controller to another Controller. For this you have to export CID file from CI868 cards and then have to do SCD engineering and then import again the SCD file to CI868 cards.
2. You can use MMS connect and MMS Read Function blocks, to read the REALIO from remote controller.
3. You can use Communication Variables also. (The variable must be declared in the control module editor - Communication Variables list with "Out" direction and Remote Controller IP address need to fill, and in another Controller's Control Module editor, wherever it is read, with "In" direction, with IP address mentioned.)
Keeping All paramters related to the simple PID/cascade loop in the same controller is the best engineering practice
else keeping PV in one controller and AO in other controller will have scan issues and controlling issues.
Better do a hardwired from one controller to other using (P&F)multipliers so that keep the one pV in one controller for calculation if you are using for any prupose and other for controlling in the PID.
Its not good carry the realIO(structured datatype) through mms/EAC communication since the data transfer is based on the network load.
Hi to all,
I should have mentioned the system is stil running under 5.0 Rev.C SP2. We are migrating the existing plant from DCI (with two DCU controllers). Migration to 6.0 is the last step of the project. For many reasons, that is the way it has been planned.
1- We do not have a CI868
2- We already use MMS to share data between the 2 controllers
3- Yes, What I want to do is a VERY bad idea. Unfortunately, for many resaons, that is the way I have to go.
I'll give a try the MMS even if they are in different controllers and let you all know how it turns out.
The RealIO MMS functions works fine for transferring data between to controllers but as it is a read type of function pair, When the "Force" is activated from the signalInReal faceplate in controller B, the "Force" command does not get back to Controller A.
But at least, I get the status signals.
Thanks to everyone for the answers.