PLC Interfacing with PIC


Closed Thread
Results 1 to 16 of 16
  1. #1
    Join Date
    Dec 2007
    Posts
    2

    Default PLC Interfacing with PIC

    Hi all,

    This is my first post. Thanks in advance for helping me out.

    I am a user of both PLC (Ladder diagram) and PIC (PIC Basic PRO) using Keyence, IDEC PLC 24VDC and PIC16F877A. I am working on a machine process display project that monitors the process of a machine and displays the current process and errors using an LCD display. I plan to use PIC16F877A to monitor the inputs and outputs of my PLC, process the signals and display the current process at the LCD display.

    By doing that, I need to tap the 24VDC signals from PLC into PIC 5VDC. The problem is how can I convert 24VDC signal into 5VDC ? I am researching on optocouplers and zener diodes. Is there any simple and effective way of doing that? Any ideas are much appreciated.

  2. #2
    Join Date
    Jan 2006
    Location
    Toronto
    Posts
    109


    Did you find this post helpful? Yes | No

    Default

    You sound like your on the right track with the optos. I have made a few projects involving PLCs but I always interfaced to them using RS485 but I guess yours doesn't have that option.

    You shouldn't have a problem using optos to interface to the 24VDC but I don't think you need any diodes just the optos and some matching resisters but I could be wrong.

  3. #3
    Join Date
    Aug 2006
    Location
    Look, behind you.
    Posts
    2,818


    Did you find this post helpful? Yes | No

    Default

    Hello skian85 and Welcome,
    The opto's are a good way, a perhaps simpler and cheaper way is to use a 78L05, regulator.They are in a TO92 package 3 wires.
    If you do not believe in MAGIC, Consider how currency has value simply by printing it, and is then traded for real assets.
    .
    Gold is the money of kings, silver is the money of gentlemen, barter is the money of peasants - but debt is the money of slaves
    .
    There simply is no "Happy Spam" If you do it you will disappear from this forum.

  4. #4
    Join Date
    Dec 2005
    Location
    So Cal and loving it
    Posts
    40


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by Joe S. View Post
    Hello skian85 and Welcome,
    The opto's are a good way, a perhaps simpler and cheaper way is to use a 78L05, regulator.They are in a TO92 package 3 wires.
    Hah! I would never have thought about using a 7805 for that purpose..... Nice!
    I will never forget this one, hehehe
    +-------------------------------------------------------------------+
    | PBP 2.47/2.50 | MCS+ 3.0.0.5 | U2 Prog | Vista x64 | NO SLEEP!!!!!!! |
    +-------------------------------------------------------------------+

  5. #5
    Join Date
    Sep 2007
    Location
    USA, CA
    Posts
    271


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by locko View Post
    Hah! I would never have thought about using a 7805 for that purpose..... Nice!
    I will never forget this one, hehehe
    It's cute, but with a PLC, I would go with the opto isolators. PLC's often switch relays and other noisy things in noisy environments, so you are probably much better off making sure you get a clean signal to your PIC.

  6. #6
    Join Date
    Nov 2003
    Location
    Wellton, U.S.A.
    Posts
    5,924


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by tenaja View Post
    It's cute, but with a PLC, I would go with the opto isolators. PLC's often switch relays and other noisy things in noisy environments, so you are probably much better off making sure you get a clean signal to your PIC.
    How would a 7805 be a problem? I would think it would actually clean the signal with a cap or two.
    Dave
    Always wear safety glasses while programming.

  7. #7
    Join Date
    Sep 2007
    Location
    USA, CA
    Posts
    271


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by mackrackit View Post
    How would a 7805 be a problem? I would think it would actually clean the signal with a cap or two.
    It will clean up one a bit, but PLC's are typically used in the most notoriously dirty environments, from an electrical standpoint. It may work for many applications (i.e. a quick & dirty fix), but an opto-iso is a better choice.

  8. #8
    Join Date
    Dec 2007
    Location
    Cd. Juarez, Mexico
    Posts
    8


    Did you find this post helpful? Yes | No

    Default

    Hi, I think a 7805 could be a solution for the output from the PLC to the PIC, but what about the output from the PIC to the PLC?
    I still prefer the optocoupler solution for both sides.

    Alfredo

  9. #9
    Join Date
    Jan 2006
    Location
    Toronto
    Posts
    109


    Did you find this post helpful? Yes | No

    Default

    Please don't go with the 7805. I tried this and was bad idea, i couldn't hunt down a counting problem i was having and it turned out to be the regulator. Regulators will only work if your inputs don't change very fast, the regulators are kinda slow. I used it to interface to a gear sensor and was losing a lot of pulses. Def stay with the optos. Good isolation and reliable.

  10. #10


    Did you find this post helpful? Yes | No

    Default

    Does your PLC have some kind of monitor function from a serial port? You could just hook up the PIC to the PLC serially then and just process the monitor codes the PLC sends out.
    Or are you planning to use the PIC to watchdog the PLC?

    Otherwise, using optos is the best way. All the signals to the PIC would be inputs, because you are monitoring the inputs and outputs of the PLC. So the optos would be all connected the same way, with the LED connected to the PLC signals on the anodes through a current limiting resistor, and gnd on the cathodes. Pick your resistor so you get minimum on current for the LED with about 5VDC and less than maximum with 24VDC. Remember that the LED has a forward voltage that needs to be subtracted before you calculate the current though the resistor. On the PIC side, connect the emitter to gnd and the collector to +5VDC though a 500-1k ohm resistor. Connect the PIC pin between the resistor and the opto collector. This will create an inverter, so remember to invert the signals in the PIC code.
    Tim Barr

  11. #11
    Join Date
    Jan 2006
    Location
    Toronto
    Posts
    109


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by mackrackit View Post
    How would a 7805 be a problem? I would think it would actually clean the signal with a cap or two.
    The cap is even worse. It can hold the input signal in a given state and cause false sensor readings. When it comes to PLCs, do it right and use optos for input and either optos or solid state relays for the outputs. The last thing you want is to go through the programming over and over trying to figure out why your timings are wrong.

  12. #12
    Join Date
    Mar 2005
    Location
    Iowa, USA
    Posts
    216


    Did you find this post helpful? Yes | No

    Default

    If you're looking for an "off the shelf" solution (which most of us are not) look at opto22 modules or similar.
    Wisdom is knowing what path to take next... Integrity is taking it.
    Ryan Miller

  13. #13
    Join Date
    Sep 2007
    Location
    USA, CA
    Posts
    271


    Did you find this post helpful? Yes | No

    Default

    I've used quite a few Opto22 modules. (Opto's plant is just across the street from me.) They work well, but check the spec sheet on timing, if you need high speed.

    On my last project, I used Grayhill's Opto22 pin-compatible modules, and saved quite a bit of money. They worked just as well as Opto's.

  14. #14
    Join Date
    Dec 2007
    Posts
    2


    Did you find this post helpful? Yes | No

    Default thank you so much

    Thank you so much for all your advise. I will try them. Maybe i can use zener diodes to replace LM7805. I appreciate your effort and time.

  15. #15
    Join Date
    Oct 2005
    Location
    New Zealand
    Posts
    171


    Did you find this post helpful? Yes | No

    Default

    Just use a resistor! The input pin is limited to vcc so a resistor works quite well and is very cheap and simple - if the output of your PLC is left floating you may have to tie it down with another resistor. I've used a resistor straight into a PIC from 240Vac for sensing the zero crossing to synchronize firing a TRIAC (I think I used some where in the region of 200k). It seems so wrong I know, but it really works well and is simple.

  16. #16
    Join Date
    Oct 2005
    Location
    New Zealand
    Posts
    171


    Did you find this post helpful? Yes | No

    Default

    Just make sure with yr resistor you don't exceed 20mA - try keep it down to 1-2mA

Similar Threads

  1. Interfacing DS1603 to PIC 16F877
    By hackableFM in forum mel PIC BASIC Pro
    Replies: 4
    Last Post: - 25th February 2009, 21:37
  2. Interfacing two PIC micros
    By sajid in forum General
    Replies: 12
    Last Post: - 26th May 2007, 06:58
  3. Motor Control PLC with a PIC
    By sougata in forum mel PIC BASIC Pro
    Replies: 11
    Last Post: - 2nd November 2006, 07:59
  4. Serial Pic to Pic using HSER
    By Chadhammer in forum mel PIC BASIC Pro
    Replies: 5
    Last Post: - 11th March 2005, 23:14
  5. PIC vs PLC (programmable logic controller)
    By pondindustrial in forum Off Topic
    Replies: 4
    Last Post: - 17th December 2004, 21:11

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts