Using Arduino to send Signal to PLC (Allen Bradley MicroLogix 1500)

Hello,

I am currently working on a prototype where I am using an Arduino and an RFID shield to send a signal to a MicroLogix 1500 to control a process depending on the tag read. I have read that an RS232 connection could work using a specific shield for the arduino, but I would like to use a direct connection to inputs on the PLC. I know there are differences in voltage signals arduino being +5V and the PLC +13V. How can I go about connecting them? Would a Step-up voltage converter do the trick?

Thank you.

Hello vicre23

Take a search engine of your choice and ask the WWW for 'RS232 / 485-Shield '.

What is the PLC input voltage? AC or DC? Is the input sourcing (LOW true) or sinking (HIGH true)?

Thanks I will look to buy a couple in case I can't connect directly through I/O pins.

It's 24V dc sink/source for the inputs, it's an 1764 LSP Controller consisting of a MicroLogix 1500 Processor. I would like to avoid using an RS232 connection and connecting directly through I/O points from the Arduino to the PLC if possible. Reason being I am limited on funds and will be connecting to SCADA in the future through the RS232 connection on the PLCs. It is 9 different PLCs of which 3 will have arduinos connected to them. Any other tips would be appreciated.

What kind of frequency and duty cycle woukd the signal have in this case?

It is easy to get an Arduino circuit to provide a logic output to another machine.

If it is like pressing a button from time to time you could use a relay run by the Arduino.

For quieter or faster signals, an optoisolator could be used.

A MOSFET switch circuit could be made to either pull up or pull down the PLC input to the voltage it needed to be pulled up or down to. For that matter such a circuit cou,d pull it one way or the other depending on the Arduino output.

I just googled

 arduino mosfet logic level translate

and hit "images", soon looking at schematics of various often seen solutions.

HTH

a7

1 Like

Thank you will look into this not exactly sure about the frequency/duty cycle to be honest.

For prototyping purposes the arduino would output a number from 0-2 depending on the rfid tag for the specific part on each station pertaining to each individual process to be performed. This number would then be compared and/or activate a specific input in the ladder logic program to enter a specific subroutine.

I'm thinking your idea of using a MOSFET would work for these purposes. Will look into all of your tips to see then come back if I have further questions, thank you.

The IO will be 24v unless you have something very unusual. I recommend using optocouplers for communication in either direction.

1 Like

Which do you want to use?

Since they both can do either I think having the PLC sinking would be better not that I know if it makes a difference honestly. I'm still pretty inexperienced. The PLC will never send a signal to the Arduino it will only receive from it and the Arduino will be powered by a small 5V power supply so id rather the current flow be from the Arduino to the PLC. What would you recommend?

If sinking works, it would be the easiest circuit on the Arduino side.

See the circuits on this thread. Just remove the load and the diode:


Note the use of a "logic level" MOSFET. This is so the 5 volt output of the Arduino will def turn it fully on.

HTH

a7

1 Like

If you use a sinking (HIGH true) input, you will need 24V+ for input, that means a PNP or P channel transistor which you cannot connect to a 5V output pin without a level shifting transistor first. I would use sourcing (LOW true) input using NPN transistor to pull to ground. Do you need a diagram?

This really should be done with optocouplers as the communication will likely end up being bidirectional. The PLC will signal when to read, confirm it read, etc. Then any sinking/sourcing can be handled on either side however it needs to. Beyond that, a pre packaged logic level shifter might be appropriate.

Plant personal will also have to be able to debug and diagnose the system if something goes wrong and that type of setup won't fly.

Is this in a production environment? I've been a controls engineer for over 10 years and I know that field well.

I am conducting research at University dealing with manufacturing lines where production will be conducted yes.

If I could see one of what you are referring to I would very much appreciate it so I can look at all of the help given by everyone further.

OK?
schemeit-Project(5)

Unless you've tested that in a production environment I don't think you should be recommending it.

I worked in industrial control, PLC, CNC for 30+ yrs.
The OP is working in a lab.

"I am conducting research at University dealing with manufacturing lines where production will be conducted". So it is for production.

And you never stated if you tested a setup like that in a real world production environment.