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?
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.
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.
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 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.