PLC Program Example - Shift Register (Conveyor)

แชร์
ฝัง
  • เผยแพร่เมื่อ 13 ธ.ค. 2024

ความคิดเห็น • 69

  • @BucketofBears
    @BucketofBears 6 ปีที่แล้ว +7

    Solid video, thanks for the knowledge!

    • @ACCautomation
      @ACCautomation  6 ปีที่แล้ว +2

      Thanks for the comment Tyler.
      Garry

    • @mahendraparmar9568
      @mahendraparmar9568 4 ปีที่แล้ว

      How can I join Auto nation directcompany

    • @ACCautomation
      @ACCautomation  3 ปีที่แล้ว

      Hi Mahendra,
      The following link may help you out.
      automationdirect.csod.com/ux/ats/careersite/10/home?c=automationdirect
      Regards,
      Garry

  • @pereklund9172
    @pereklund9172 2 ปีที่แล้ว +2

    Good video. I have a thing to add about the bits retaining their value at a power out. In these types of shift registers, where there is a motor, there is often a need for a 24v UPS for the plc. This is because of the motors momentum. So the motor will continue to spin some additional rotations after the power goes out. If the plc dont have a UPS the bits will be in the wrong place at startup. The UPS only have to hold the 24v up for a couple of seconds (as long as it takes for the motor to stop completely).
    This is something programmers often forget.

    • @ACCautomation
      @ACCautomation  2 ปีที่แล้ว +1

      Hi Per Eklund,
      I agree. Good point. Every application may be different.
      Thank you for the comment.
      Garry

  • @yzwme586
    @yzwme586 8 ปีที่แล้ว +4

    Your videos are the best I've come across. The GIF's showing the whole process happen is what I really needed for the last piece for this all to make sense. Thank you!

  • @BayMacDre415
    @BayMacDre415 6 ปีที่แล้ว +3

    Clearly the SR instruction is shifting ALL of the bits up, as can be seen with memory locations V2-V10 being updated once the bits pass out of V1. My question is, how far up the memory list does the SR instruction push bits, will it be affecting ALL of my V-memory ranges, such as a word in memory location V54? Cleary this would lead to catastrophic results if it shifted EVERY address above the starting point, so my question is how does the instruction know "how far back" to push the bit?
    I would have liked to see V11 also in the data watch. I am assuming that no 1's were loaded into V11, but I don't understand how you specify this (The end of the "shifting memory" range). How do you specify this "bit length"?
    I'm sorry if that was confusing.

    • @BayMacDre415
      @BayMacDre415 6 ปีที่แล้ว +1

      How do you protect yourself from shifting bits in registers or V-memory locations which you didn't intend to modify, I guess that's a better way of phrasing my question.

    • @ACCautomation
      @ACCautomation  6 ปีที่แล้ว +1

      Good question Rob.
      When the SR instruction is programmed you specify the start location and the end location. In our case it is V0 bit 0 to V15 bit 15. This will give us a total of 176 bits to shift.
      You can see more detail of this video at our website:
      accautomation.ca/plc-programming-example-shift-register-conveyor-reject/
      V16 is the first register outside of the SR instruction. You will not see any bits shift in this location.
      Another example of the shift register in action using Factory IO:
      accautomation.ca/plc-programming-example-sorting-station-shift-register/
      Here is the testing video:
      th-cam.com/video/W0aibYb3DnE/w-d-xo.html
      Here is the explanation video:
      th-cam.com/video/YMl2DPm_yaU/w-d-xo.html
      Hope this helps you out.
      Regards,
      Garry

  • @renaco1145
    @renaco1145 ปีที่แล้ว +1

    Hi, Thanks for the great presentation. What I didn't quite understand is what bit actually has to be chosen to trigger the blow off, in other words, how would we know how long it would take a bit to get to the station/point we want to trigger something? is there any engineering way to get a solid idea on which bits are activated at the time? I am working on a similar application to reject the bad parts in a very rapid rate on the conveyor. What if 2 or 3 consecutive parts are bad? would this idea still work?

    • @ACCautomation
      @ACCautomation  ปีที่แล้ว +2

      Typically an encoder gear with a proximity sensor will detect the movement of the conveyor. This pulse from the movement of the conveyor is used to determine the distance travelled.
      When the bit turns on with the correct distance, the product position is known.
      I hope this helps you out.
      Regards,
      Garry

  • @thetooth
    @thetooth 4 หลายเดือนก่อน

    I've implemented the same idea for a checking station using arrays in codesys since bit's are annoying to work with (needed runtime configurable positions). So then I also came up with the idea of cross checking because sometimes optical sensors can miss things. Rather than an array of bits, I have an array of UINT, sensor station 1 sets the value 1 for every product it sees or sets it to 2 if it should be rejected, when sensor station 2 sees a product it will cross check the register of station 1, and if the first station missed the item (still zero) it goes and marks it 2 for rejection, this means you wont accidently send a bad product out the door because one of the checks didn't happen and it's very apparent when the sensor is not working since absolutely everything ends up in the reject bin.

    • @ACCautomation
      @ACCautomation  4 หลายเดือนก่อน

      Thanks for the comment. Tracking programs like this are great. Your implementation is a great idea.
      Garry

  • @mahendraparmar9568
    @mahendraparmar9568 4 ปีที่แล้ว +2

    Happy Christmas Garry.

    • @ACCautomation
      @ACCautomation  4 ปีที่แล้ว +2

      Merry Christmas Mahendra.
      Garry

  • @dhanush3732
    @dhanush3732 4 หลายเดือนก่อน +1

    Shift Register - Conveyor Reject

    • @ACCautomation
      @ACCautomation  4 หลายเดือนก่อน +1

      The bits shifted can be used for several different things. Tracking is the main thing explained in the video.
      accautomation.ca/plc-programming-example-shift-register-conveyor-reject/
      Regards,
      Garry

  • @prasennasunder3878
    @prasennasunder3878 7 ปีที่แล้ว +2

    Hello Garry, Im beginner in automation field.. I want to enhance my plc programming skills.. Can u give me some tips on developing my programming skills? Is there any particular website which have lot of programming examples ?

    • @ACCautomation
      @ACCautomation  7 ปีที่แล้ว +1

      Hi Prasenna,
      On our website at accautomation.ca you will find a menu with basic and advanced programming. It will take you through a couple of different controllers.
      accautomation.ca/programming/plc-basics/
      accautomation.ca/programming/plc-programming/
      The basic logic is mainly the same in all PLCs. I would find out the common PLC that is used in your area and try to get a unit to practice on.
      If you cannot then you can always use a software with a simulator for practicing.
      th-cam.com/video/r5IY4P2hHqU/w-d-xo.html
      You may also want to check out some forums on PLC programming.
      www.plctalk.net/qanda/
      This will give you an idea of the questions and answers to many different kinds of PLC's that are being used.
      Regards,
      Garry

    • @prasennasunder3878
      @prasennasunder3878 7 ปีที่แล้ว +1

      thanks allot for ur fast response Garry. I gone through ur website.. It is wonderful... Thanks again for letting me know other informations...

  • @MegaSaketgupta
    @MegaSaketgupta 3 ปีที่แล้ว +1

    How to use encoder couting with shift bit register. For eft shift

    • @ACCautomation
      @ACCautomation  3 ปีที่แล้ว +1

      Hi Saket Gupta,
      This will work with an incremental encoder using only one of the phase inputs to an input.
      These encoders will have outputs A and B which are 90 degrees leading or lagging each other. This will show direction. You will only wire up one of these outputs to get the pulse from the unit.
      Ensure that the pulse input frequency is less than the scan time of the PLC.
      I have used the following dart product for the ease of installation on a shaft.
      ebay.us/jKD8Zt
      Regards,
      Garry

  • @georgealbo
    @georgealbo ปีที่แล้ว +1

    thanks for thi video , but where is the role of Shaft Encoder here and how to make use of it here

    • @ACCautomation
      @ACCautomation  ปีที่แล้ว +2

      Hi George,
      The clock input is used to shift the data through the shift register. In our example, we will use the conveyor’s encoder to track the reject container. So each pulse of the clock represents a distance on the conveyor.
      Usually, this is attached to a shaft encoder or a proximity sensor detecting a gear tooth. The pulses represent a specific movement amount of the conveyor.
      Here is a link to the post that corresponds to the video.
      accautomation.ca/plc-programming-example-shift-register-conveyor-reject/
      Regards,
      Garry

    • @georgealbo
      @georgealbo ปีที่แล้ว +1

      @@ACCautomation Thanks for your reply, so i can use a shaft encoder or a proximity sensor on a tooth.

    • @ACCautomation
      @ACCautomation  ปีที่แล้ว +1

      @@georgealbo
      You can use a shaft encoder or a proximity sensor on a tooth. Keep in mind the frequency that this signal is giving to the PLC. Make sure that the PLC input can handle it.
      Regards,
      Garry

  • @princnsukwi765
    @princnsukwi765 7 ปีที่แล้ว +1

    Hi, good work ! What software are you using for programming .....?

    • @ACCautomation
      @ACCautomation  7 ปีที่แล้ว +3

      Hi Princ,
      I am using the Do-More Designer software that comes with a simulator. The latest version is 2.0. You can download this free software from the following URL:
      support.automationdirect.com/products/domore.html
      Let me know if you have any other questions.
      Thanks Princ
      Garry

  • @SkyGamer911
    @SkyGamer911 3 ปีที่แล้ว +1

    how to do this in ecockpit?

    • @ACCautomation
      @ACCautomation  3 ปีที่แล้ว +1

      Hi SkyGamer,
      I have not used the Wago Ecockpit software, but I know it is compatible with Codesys 3. Here is a thread that discusses shifting bits using Codesys.
      www.plctalk.net/qanda/showthread.php?t=120750
      Regards,
      Garry

  • @mahendraparmar9568
    @mahendraparmar9568 4 ปีที่แล้ว +1

    Dear sir How to generate sequence block in program

    • @ACCautomation
      @ACCautomation  4 ปีที่แล้ว +2

      Hi Mahendra,
      Sequencing in the program can be done in several different ways. Direct logic, timers, step bits, indirect addressing, etc.
      accautomation.ca/building-a-plc-program-that-you-can-be-proud-of-part-1/
      The above post will show you how to program traffic lights in a few different ways.
      accautomation.ca/five-steps-to-plc-program-development/
      This post will show you the five steps in program development.
      I hope this helps you out.
      Regards,
      Garry

    • @mahendraparmar9568
      @mahendraparmar9568 4 ปีที่แล้ว +1

      THank you Gerry.

    • @ACCautomation
      @ACCautomation  2 ปีที่แล้ว

      @Truth n Logic
      If you want to change the traffic light duration or time, it would depend on how the light control was programmed.
      If individual timers were used then you would just change that timer. With one-timer and comparisons, then you would have to change a few comparison rungs.
      Here are a couple of posts that will show what I mean by different ways to program the traffic light signals:
      accautomation.ca/building-a-plc-program-that-you-can-be-proud-of-part-1/
      Here is a recent traffic light control using EasyPLC 3D simulator software. You will see that this will use the comparison method.
      accautomation.ca/4-way-traffic-light-plc-program-easyplc/
      I hope this helps you out.
      Regards,
      Garry

    • @ACCautomation
      @ACCautomation  2 ปีที่แล้ว +1

      @Truth n Logic
      This would depend on how the logic has been programmed.
      Here are some examples:
      accautomation.ca/building-a-plc-program-that-you-can-be-proud-of-part-1/
      accautomation.ca/4-way-traffic-light-plc-program-easyplc/
      I hope this helps you out.
      Regards,
      Garry

  • @НиколайДорошенко-у6ь
    @НиколайДорошенко-у6ь 4 ปีที่แล้ว +1

    Спасибо за видео очень интересный канал для обучения

    • @ACCautomation
      @ACCautomation  4 ปีที่แล้ว +1

      Hi Nikolay Doroshenko
      Thank you for the comment. I appreciate it.
      Garry
      Привет Николай Дорошенко
      Спасибо за комментарий. Я ценю его.
      Garry

  • @XuanThanh351934
    @XuanThanh351934 6 ปีที่แล้ว +1

    thank you for video.

    • @ACCautomation
      @ACCautomation  6 ปีที่แล้ว

      Hi Xuan,
      I appreciate the comment.
      Thank you,
      Garry

  • @manojmistryeee9443
    @manojmistryeee9443 ปีที่แล้ว +1

    Can get ladder diagram in wpl software 2.48 if you can pls make video and post by tomorrow morning or afternoon

    • @ACCautomation
      @ACCautomation  ปีที่แล้ว +1

      Hi Manoj Mistry EEE,
      Additional information for this video can be found at the following URL:
      accautomation.ca/plc-programming-example-shift-register-conveyor-reject/
      This will show you the steps required to program this example.
      Delta PLCs are not something that I currently support.
      I do not have the hardware or software. Videos and posts take hours to produce.
      Do you have a specific question on this video that I could answer for you?
      Thank You,
      Garry

  • @ielkhatib32
    @ielkhatib32 4 ปีที่แล้ว

    Hi Garry, Thank you very much for all the efforts you put in your videos>>> Actually I have a some questions about this video, hopefully I could find the answers:
    1. how do you calculate the length of the data to be shifted within ( how many words ?? )
    2. Is this applicable for other PLC platforms cause i found siemens, or Delta for example are a bit different and I don't get it >> why such a powerful technique is not applicable in all PLCs ??
    3. Is there other techniques to do part tracking apart from shift register technique ? ?
    thanks in advance for any help you might provide.

    • @ACCautomation
      @ACCautomation  4 ปีที่แล้ว +1

      Hi Ibrahim,
      Thank you for the comments.
      Here is the corresponding website that will have additional information.
      accautomation.ca/plc-programming-example-shift-register-conveyor-reject/
      You would calculate the amount of shifting that you need based upon the clock (shift input) that you use. This is based on the amount of travel that is required.
      Data shifting is usually available for most if not all controllers. The naming and the actual implementation may be slightly different but the general concepts still apply.
      There are other techniques that can be used. It would depend on your specific application. A counter can be used and you would compare off of the counter. Other techniques I have seen are using timers in conjunction with shifting.
      I hope this helps you out.
      Regards,
      Garry

    • @ielkhatib32
      @ielkhatib32 4 ปีที่แล้ว

      @@ACCautomation thanks, I think it is helpful.

    • @ACCautomation
      @ACCautomation  4 ปีที่แล้ว +1

      @@ielkhatib32
      The online PLC simulator does not have a built-in shift register instruction.
      accautomation.ca/series/plc-fiddle-online-plc-editor-and-simulator-in-your-browser/
      Here is the PLC Fiddle Shift Register
      www.plcfiddle.com/challenge/68091ce1-59cd-4686-8f4b-9aa0a047618e
      Here is the explanation of the code
      th-cam.com/video/PNSmIeV9mYA/w-d-xo.html
      Just another way to do a shift register
      Regards,
      Garry

    • @ielkhatib32
      @ielkhatib32 4 ปีที่แล้ว

      @@ACCautomation Thanks Gary for the response, actually I did find the shift register in Siemens, Delta, Domore and OMRON.. you helped me a lot but still the question... In your sorting station video you used 3 shift registers the first one ( v0 to v19) and the output was on ( v0.8) .. now how did you know the exact place of your output regarding to the conveyor ? And if it's in the first word why use 20 words ?
      The second shift register you used ( v20 to v29) ten words and the output on the second one .. same questions why ten words and how do you know the actual output ( v21.15) .. and same questions for the third one sorry for inconvenience but hopefully you get what I mean ..

    • @ACCautomation
      @ACCautomation  4 ปีที่แล้ว +1

      @@ielkhatib32
      That is a good question. In the sorting example, 3 shift registers were used because our sensor picked up 3 different items that had different destinations. At the time of programming, I was unsure of the number of registers that would be required to shift in order to get the output needed. The shifting was done with the timing of the conveyor belt.
      Each of the 3 shift registers used the same timing for the shift (Same belt). The actual bit used is determined by the position of the object on the belt when it has shifted X amount of bits. In our case, it is when the object is in front of the ramp.
      I hope this helps you out.
      Regards,
      Garry

  • @suriyat8773
    @suriyat8773 2 ปีที่แล้ว +1

    Encoder motor converyet reject thankyou

    • @ACCautomation
      @ACCautomation  2 ปีที่แล้ว +1

      You are welcome! I am glad this was helpful to you.
      Regards,
      Garry

  • @rickyrinaldy4885
    @rickyrinaldy4885 8 ปีที่แล้ว +1

    sir,can you send me that file ladder logic and simulation,PLEASE!

    • @ACCautomation
      @ACCautomation  8 ปีที่แล้ว +1

      Hi Ricky,
      You can download the free domore designer software at the following location:
      support.automationdirect.com/products/domore.html
      It comes complete with a simulator.
      Here is the program for the above:
      dl.dropboxusercontent.com/u/33455595/Conveyor%20Reject.zip
      I would recommend looking at the following for an HMI and PLC simulator:
      accautomation.ca/create-a-plc-with-hmi-training-and-learning-environment-free/
      Here is another post that may be of interest:
      accautomation.ca/how-you-can-learn-plc-programming-without-spending-a-dime/
      Thanks Ricky
      Garry

    • @rickyrinaldy4885
      @rickyrinaldy4885 8 ปีที่แล้ว +1

      THANKS SIR, can you build ladder logic like conveyor metal detector in airport ?

    • @ACCautomation
      @ACCautomation  8 ปีที่แล้ว +1

      You can take the same logic and apply to many different systems.
      The metal detector usually just stops the conveyor. So when the output comes on then the signal will be incorporated in the stop circuit.
      Regards,
      Garry

    • @rickyrinaldy4885
      @rickyrinaldy4885 8 ปีที่แล้ว

      can you build that sir please, thank u in advice #sorry my bad english

    • @ACCautomation
      @ACCautomation  8 ปีที่แล้ว

      I will not program that for you, but will help you out if you are stuck.
      The samples provided should get you started.
      Garry

  • @mahendraparmar9568
    @mahendraparmar9568 4 ปีที่แล้ว +1

    Garry , Happy cristmas

  • @harshavardhana1382
    @harshavardhana1382 8 ปีที่แล้ว +1

    thanks bro
    but can u explain with practically so that we can understand very clearly i am not demanding just i gave a suggestion k if anything wrong sorry

    • @ACCautomation
      @ACCautomation  8 ปีที่แล้ว +1

      Hi Harshavardhan
      Please have a look at our website for a more detailed explaination.
      accautomation.ca/plc-programming-example-shift-register-conveyor-reject
      Thank you,
      Garry

  • @shrinivasjoshi6386
    @shrinivasjoshi6386 5 ปีที่แล้ว

    PROGRAMING IS NOT SET

    • @ACCautomation
      @ACCautomation  5 ปีที่แล้ว

      Hi Shrinivas Joshi,
      I am not sure that I understand your question. What exactly is not set?
      Thanks,
      Garry

    • @shrinivasjoshi6386
      @shrinivasjoshi6386 5 ปีที่แล้ว +1

      @@ACCautomation sir basically how to reset the programming

    • @ACCautomation
      @ACCautomation  5 ปีที่แล้ว +1

      @@shrinivasjoshi6386
      The shift register will continue to shift the information past the last bit. This information is then lost. If all of the items are removed from the conveyor, then we need to reset the shift register by the input X2. This will place zeros in the shift register. (Reset)
      I hope this helps you out.
      Regards,
      Garry

    • @shrinivasjoshi6386
      @shrinivasjoshi6386 5 ปีที่แล้ว

      @@ACCautomation we will try out this thanks for your feedback sir