OMRON Host Link and RS-485: Newbie


Thread Starter

nick boretos

Hello all,

My first post here.
I've been asked to "re-design" a hydroponic greenhouse system that is PLC based. PLC talks vis RS-232 to a PC running some CX-programmer software that monitors sensors, which then talks to Excel for calculations, which then sends commands to the PLC to switch pumps and motors.

I would like to maintain as much of the existing system as possible to avoid rewiring anything as this is properly executed.

What I want to do is read inputs from the PLC, generate my own control logic and send back commands. Effectively I want to get rid of CX and Excel. I would use an industrial pc with (RT)Linux.

I want to reuse some ADAM 4520 converters as I'm a a distance to the site.

My questions are these:

1. Is my approach sound. I have programming experience so the software part is ok. I do not want to become a CX programmer, and neither do we have "sources" for the existing program.

2. Can some one give me a couple of basic commands to test communications with. I am reading up on host link currently.

3. I am guessing that the PLC does not have any program stored, it's all in the CX. Anyway to verify this?

Last time I played with RLL was 30 years ago.

nick boretos
You can try microcontrollers i.e. 8051, pic etc.
these are cheap, easygoing and easy to replace.
You can program the PIC micron. through C programming also. Communicate the microcontroller with C programming. Even you can replace the PLC and set up the required logic in this microcontroller independently.
But it requires a through of this subject.

Wassim Daoud

Hi Nick,

>What I want to do is read inputs from
>the PLC, generate my own control logic
>and send back commands. Effectively I
>want to get rid of CX and Excel. I would
>use an industrial pc with (RT)Linux.

The easiest way I can suggest is to use OPC. All you need is an OPC Server for your OMRON PLC. you can read and write commands to the PLC.

Here is the link to try it ... it comes with a free OPC Client:

The conventional, commercial off-the-shelf PLC reads data from field sensors, makes logic control decisions whose results drive motors/pumps

You've got field sensors going to a PLC whose signals run through a calculation which then go back to the PLC to drive pumps or motors.

What sort of calculations are running in Excel that a PLC couldn't do?

Maybe that model Omron doesn't have the horse power, but the PAC (process automation controllers) nowadays routinely have math functions.

Doing calculations in a PLC eliminates the complexity of the PC (Windows?) and its communications.

nick boretos

Thank you all for the responses,

As I said in my post I need some help with some commands just to test comms w/ the PLC, and if anyone sees any hiccups with my approach.

I am very comfortable writing code to do what I want, and while appreciate the suggestion of an OPC server, I would prefer to communicate at the "low level" I suggested.

I do not want to use another micro as one poster suggested, the existing infrastructure/interfacing/wiring is quite in tact and I don't want to re-do it.

So, I ask again, any rudimentary commands to test my comms, and is there a way to check whether there is any "logic" stored in the plc itself?

Hi again,

Ok, I've gone OPC...

I've setup a trial OPC server and have added all my tags, and I see the different data values via an OPC client and see how they change when the program is running so I know that this map is correct.

My problem now is that i cannot change the data via an OPC client (I've tried several). While the value changes in the client, e.g setting a channel in one of the OC222 I/O modules from 0 to 1 does not propagate back to the plc, e.g. toggle the relay/pump attached to it.

I have set the plc into monitor mode, and according to Omron's doc's one can change things in this mode
The OPC tags were created as read write

What do I need to to to be able to change things via an OPC client?

FWIW, I changed the PLC into monitor mode via CX1, and AFAIU, monitor mode permits changes even though a program might be running or is loaded.

Do I need to be in "program" mode?

I have a feeling I'm obviously missing something :-(

Would appreciate some help.


I've checked my dip switches and they seem ok
2 off
3 on
4 on
5 off
6 off
7 on
8 off

I'm able to put the plc into monitor mode via cx programmer.
I am not able to "force on" anything in cx programmer...

any ideas,