PLC Sequencer Programming - Tutorial on SQI SQO Instructions in RSLogix 5000 Ladder Logic [Part 1]

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

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

  • @DonkeyDongDoug
    @DonkeyDongDoug 4 ปีที่แล้ว +10

    The good thing about using MOVs or latching individual bits of a DINT for a sequencer is that you can normally see the problem in ladder. Anyone capable of going online can just scroll down until they see the last MOV instruction and see what is keeping the rung from moving to the next step. They don't have to decode masks or other crap that is going on inside this function.
    This isn't that much different than doing things Bitwise, and while it may be a great way to program some things it is also a hot mess to decode if you don't know what's going on. You can comment all you want, but typically someone has to sit you down and walk you through it.

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

    For sure a "numerical sequencer", or state machine as it is normally called, is far easier to troubleshoot. The biggest advantage to using traditional state machine is that new logic can be added in between existing logic. This could be done using SQI/SQO, but it's not natural if the original programmer didn't leave spare steps. Here are other advantages to this "unprofessional" method.
    - Typically state machine functions are grouped 100-199 for this, 200-299 for that, and so on. This makes it very easy to troubleshoot. Nobody in their right mind numbers the states 1-2-3. At least they are 10-20-30.
    - When a fault occurs in a state machine, the fault can be captured easily by negating the state or copying the state value to a variable that matches the HMI.
    - Where multiple stations use identical logic, the state machine can be kept in an array, where the index chooses the station. This simplifies visualizations and indexed logic.
    - A LIM instruction cleanly identifies a range of states.
    - Code is cross-compatible with other brands of PLCs, including the dirt-cheap models.
    - Decision-based sequence loops and sequence branches are essential in many applications. For example, executing a group of states a few times in a row, or breaking out of a sequence after an event. Think "do while" or "do loop".
    - Sequence parallel operation where the state machine branches and starts one or more other state machines, then continues after the others are complete.
    - Numbers are far easier to comprehend than bits. Though bits are easier to see, you have to find which bit is illuminated to know where you are in the sequence. The number helps you find the spot in the code much faster.
    - Nothing is hidden in a table where you have you expand and collapse variables in a data table you see what is going on. This process is slow and confusing, even in this video.
    - The act of using an SQO to activate multiple threads of logic is supremely bad news because you cannot cross-reference your way from output to input. It is nearly a criminal act to obfuscate logic in this way. How can you expect an average electrician to troubleshoot a system when the code heads down such a dark alley?
    - In 25 years of machine building and service work, I've only seen one system use the SQI/SQO instructions. The implementation was "cool", but it's a pain in the ass to work on.
    I have seen several other "interesting" state machine types.
    - Bit sequencers that advance from one bit in an integer to the next. Siemens programmers seen to love this, but it is bad for many reasons.
    - Shift registers, which also have many failings.
    - Numerical state machines where the value rises or falls based on permissives. These are a hassle. I learned this technique from a guy at HP who was software engineer on a project with many programmers. It worked very well for him.
    Anyway, this video is a nice example of using the SQI/SQO instructions.

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

    Thank you very much! I was having an issue with an SQO and could not get a valve open during our step 10 production mode. With your video I was able to find it in the data table and fix the issue. Your video was awesome!

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

    This is perfect! Thanks!

  • @miss0368
    @miss0368 ปีที่แล้ว

    like your video ! easy to understand

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

    Would the SQI and SQO be a good application for controlling the steps of a servo. Say I need to pull material to three different steps and at each step I have there is a process that has to happen before the next step. Like sandblasting, then cutting, the pull and release then go back to home and start over again?

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

      Without additional information, it seems that it would be a good application. I would not necessarily say that it's a way to "control a servo". The Sequencer is just a methodology of implementing robust sequential processes. It will dictate in which state the flow should be without any awareness of the output being a servo.

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

    Hi, COuld you please advice, do you have any combination of numbers program samples such like 1-6 input and 4 digit output valves with condition.

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

    Ive been wanting to try these instructions for a filter backwash but i always default to the old school way of incrementing a value and using EQU and MOV blocks. Might try these next filter job i get

  • @hendrioosthuizen3146
    @hendrioosthuizen3146 4 ปีที่แล้ว +5

    How about slowing down there speedy so that we can learn something?

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

      They have a website where you can pay 💰 and they can slowdown for you as much as you want.

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

      On the video speed option if you slow it down on 0.75 or 0.50 it's much better. Or try this channel, they are doing better th-cam.com/video/K2eQolLBVUY/w-d-xo.html

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

    FOR GOODNESS SAKE! Please make a far simpler explanation for us beginners! I'm just trying to figure out how to get these instructions working for my simple class assignment; I'm not trying to program an entire brewery or bakery yet lol

    • @bradw7683
      @bradw7683 6 หลายเดือนก่อน

      Did you notice at the start of the video where it said “Advanced PLC Programming”?

    • @anewthemathias
      @anewthemathias 5 หลายเดือนก่อน

      Sarcasm is unnecessary. We're all just trying to learn. I'm not ashamed to admit that I struggled with this topic, I eventually learned it, now I help others learn it, and I use it regularly in my career.

  • @pujo-jojo8286
    @pujo-jojo8286 5 ปีที่แล้ว +2

    Thanks for the great video!

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

      Thank you for watching!

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

    I'm working on an implementation now where I saw this as an option, but I don't think it's right for me. Application is multiple batch processes running on multiple tanks. Tanks all have matching I/O and processes are all the same. Tactic I am taking is building an array of states with the outputs, then building an array of requirements with the inputs.
    Procedures are defined as array steps with a states and requirements selected from the arrays mentioned. As program cycles through states and requirements are copied from the arrays to the current state and current requirements for a given tank. From there, just add an incrementor for each tank and use that to pull data from the arrays.
    It allows all the tanks to run concurrently using different sequences all at different steps. By having the states and requirements in an array, they can be reused on various steps as well, heavily cutting down on the amount of memory required for all these things.
    I'm still interested in this functionality, but it doesn't appear great for scalability.

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

      Your plan sounds correct. I've used it for many systems where I had identical processes running out of phase. Usually I have one routine that is scanned once for each process using indexed addresses. For troubleshooting I keep a copy of the routine that is not being scanned. In that copy, the index is a variable I can change to select the process I want to troubleshoot. I've seen people use function blocks for this, but this prevents online changes.
      It's been a year since you're comment, so I'd like to hear about how it went on your project.

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

    Can the SQI instruction use OR logic to advance the state? For example, the tank level setpoint is reached OR the operator presses the manual advance button?

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

      Yes, but you'd program that through a single condition. For example, your step 3 can require tank level to be full AND pump start. You'd simply tie two instructions in parallel to the "tank level full" condition and it would be met if the tank is full or a manual button is pressed.

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

      @@SolisPLC OK, I get it. Is there also a way to manually advance the step number of the sequencer, so that the same Manual Advance button can be used at every step in the sequence?

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

      @@karenmurdoch7811 You can use a MOV or ADD instruction to increment the current step value. So if you're in Step 4, you can tie the button to an ADD and set the step to 5.

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

    Thanks!

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

    Sir how can we use this sqi and sqo instruction as sequencer for conveyor belt

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

      Well, this depends on the application; it's hard to say without knowing more details.

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

    sir how to create week in rslogix 5000 i mean sunday monday ...

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

    how may steps can be programmed before you have to start a new array?

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

      That's an excellent question. From experience, I've never reached a maximum and believe that you can have thousands of steps. In practice, I'm not sure how easy it will be to maintain such a sequence just based on the complexity.

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

    Can you please tell the difference between AOL and UDT.

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

      I'm assuming that you mean AOI (not AOL). They are completely different. A UDT is an assembly of data, INTs, DINTs, etc in a certain combination. An AOI is a non-standard instruction defined by the user.

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

    I've been programming PLCs now for 20 years and I've seen a sequencer implemented maybe twice..... They have no good reason to exist. A competent programmer can create a much more coherent sequencer from scratch and not use any more lines of code than one would use implementing a sequencer

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

    Kind of irks me to hear you call the step sequencer or number sequencer, unprofessional. Over years of experience , I've found that that type of sequencer is the easiest for those on the floor to troubleshoot and other to add processes or paths too. I mean, would PACML be the most professional sequence using that logic. If thats so, I prefer unprofessional. Some benefits too the simple sequencer is that it can be restrated started easily mid sequence, or even run backwards with little extra code, if that puts the process in a better stopping condition.

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

      Perhaps the word "unprofessional" is a bit strong. From my experience is that over time, a number sequencer implementation always goes wrong. It's typically not during the commissioning phase, but rather when things "don't go as planned" or need to be "tweaked". From what I've seen, it's rare that those who modify these implementations take the time to understand what was done; instead, layers are added until the intended logic no longer functions and fails intermittently. SQI/SQO is certainly not oblivious to such issues, but people tend to spend more time understanding the steps implemented and are very cautious when changing the I/O.

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

      Completely agree. I have a degree in programming and am starting to get a feel for these, but most of the techs here just need a quick and easy way to see why it is out of sequence. A regular Step sequence would be much easier to understand at a glance!

  • @mrtrader4628
    @mrtrader4628 5 ปีที่แล้ว +7

    WAY to fast need slower video

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

      seriously

    • @bradw7683
      @bradw7683 6 หลายเดือนก่อน

      Play it at 0.75x