Communication Between PLC and DCS


Thread Starter



I am student of Instrumentation engg. in V.C.E.T Vasai. My final year project is all about process loop control using DCS and PLC in master slave configuration.

As I said before my college is sponsored the DCS as well as PLC. We are using Honeywell HC900 (C30 CPU) as master and Siemens s7 200 (224 cpu) as slave with analog modules. As we are controlling level parameter of simple vessel we use modules for analog i/p (from level transmitter) & o/p (to I to P Converter). We are connecting pc (HNI) with DCS using MODBUS TCP/IP protocol via ethernet (straight) cable & DCS-PLC by RS232/485 cable. Both systems uses FBD. My question is all about is that possible to communicate between these two systems? If yes then How? Means what changes I should do in software setting while configuring for communication?

please give us your expert advise about this.

Thank you

I'm not quite sure what you are asking so I will just say this.
It's not normal to rely on intercommunications for part of a loop control or interlocks.

If the PLC is wired to the transmitters and the control valves it should also do the PID control. No part of the control loop should rely on the inter communications.

The DCS can be supervisory, send setpoints to the PLC and monitor the PLC. If, for example, someone were to chop the cable between DCS and PLC, the PLC should be capable of maintaining control and shutting down in a safe manner. PID setpoints should stay as before.

Having said that obviously if the DCS loses it's link to the PLC, the operator has no way of knowing what is happening in the PLC and you may want to shut down the process. In a case like that a Watchdog Timer is used to monitor the health of the communications.

Where there are interlocks required between the PLC and DCS, it's usual to hard wire discrete outputs of one system to discrete inputs of the other.

I'm sure others will comment on that.
I, too, am not quite sure why you would split loop control PID between an HC900 and a PLC, unless it is a purely academic exercise in Modbus. The HC-900 is technically a Process Automation Controller, a PAC; it is not a DCS.

If you are using the Honeywell brand "Control Station" as the HMI, then it talks a proprietary protocol over Ethernet, not Modbus. If you are using a 3rd party HMI, then the HMI is typically a Modbus/TCP client (master) and the HC-900 would be a Modbus/TCP server/slave.

There are restrictions on Modbus server/slave functionality that I can not recite off the top of my head, but it warrants your serious attention because that functionality, or lack of it, will determine whether the HC-900 or the PLC will be the Modbus Master/client or Server/slave.

The communications is fairly well documented in the HC-900 communications manual.

There is a power point overview of the HC-900 Modbus functionality, in some respects a better overview than the manual:

The HC-900 has a fixed Modbus server/slave register map determined by the CPU, or a custom Modbus map where the custom is populated with only the registers desired.

A power point discussion of fixed vs custom map is here:

Read Constant and Write Constant Function Blocks can be used to access or change values of elements internal to a Function block.

One drawback is the lack of a master/client Function Code 16, write multiple registers, particularly on the serial side.

As I understood your project here, there are two key objectives;
1- Demonstration of CASCADE Control
2- Comunication between DCS & PLC

In general when you use any DCS ,PAC or capable PLC ,they are equipped with master slave configuration in same DCS or PLC & one can tune them as per their transfer function as normally slave loops are faster than master.

In cascade configuration set point of slave controller is derived from master controller which can be form either in same DCS or PLC or through communication or physical hard wiring from one controller (DCS) to ant other (PLC).

For your academics level project if you are not much concerned about communication or OPC interface I would suggest you to utilize AO and AI of respective controller and individually scale your process parameters inside both of the controllers.

You can discuss further on this subject if you need more clarification.

PiControl Solutions LLC
[email protected]
we were aware of it sir, but frankly speaking this is acedemic level project. We are actually not familiar with coils, configuration of Modbus, input/holding registers, address mapping, etc., basically setting up software for communication over modbus rtu protocol. I just want to know that is that possible to communicate in this way or not?

The plc which we are using is local plc-renu electronics (FL050 with analog module FLA0402U). As said before DCS is connected with pc via ethernet. we want connect dcs and plc via modbus rtu protocol. We are done with plc programming (scaling, descaling). We checked data is transmitted through plc on modscan32 on laptop by rs485 to usb converter. we actually give 4-20 ma signal to plc, and behalf of dcs we give value manually by modscan32 and get proportional output at plc. Beside the problem of wire breaking is it possible to put pid into hc900 dcs which we are using?