Dear reader, let's avoid devolving this into a personal attack. Educators often impose certain limitations on students' solutions to encourage them to utilize a particular method when tackling problems. If you're looking to develop a practical software application, your inquiry is similar to questioning the possibility of constructing a house without using a hammer. While it is indeed possible, the next logical question to ask is, "Why?"
Is it also prohibited to use bitshift operation? It might be worth considering utilizing a lookup table instead.
If you fail to utilize a one-shot, it is likely that the 'circuit' will cycle through all three states within 100 milliseconds of the button being pressed. By not taking advantage of the available structure elements such as one-shots, timers, and counters, you will miss out on valuable learning opportunities regarding PLCs.
If you want to excel as a programmer, it is essential to delve deep into the world of PLCs. While you may be able to troubleshoot basic PLC programs without a thorough understanding of Boolean operations, a true mastery of programming languages requires a strong foundation in these fundamental concepts. Whether you are utilizing assembly language, VB logical instructions, or ladder logic instructions, grasping Boolean operations is essential for tackling complex programming puzzles.
While it may be easy to utilize common PLC functions like TON timers or Do-Every-Thing instructions, true programming proficiency is demonstrated when you can create intricate sequences like making 3 lights flash in response to a switch closure using assembly language. By embracing challenges set by expert instructors, you can expand your programming skills across various languages and platforms.
It is worth noting that relying too heavily on specialized instructions like WhizBangDoEveryting can limit your programming capabilities. By mastering basic instructions like XIO, XIC, OTE, OTL, and OTU, you are forced to think critically and creatively to solve programming challenges. This approach not only enhances your programming skills but also prepares you to adapt to different programming environments and requirements.
In conclusion, skipping over the basics of programming can hinder your growth as a programmer. Embrace challenges that push you to think outside the box and develop a solid understanding of fundamental programming concepts. Remember, true programming proficiency lies in mastering the basics and continually pushing yourself to tackle new and complex programming tasks.
Bill Simpson's response was spot on. I used to assign this task to maintenance technicians at the end of their training. It's fascinating how many of them struggle and believe it can't be accomplished using just internal relays, with no set or reset relays involved. This exercise encourages critical thinking and deep involvement with the PLC, as stated by Bill. Let's break it down step by step. When the first input is turned on, the first output stays on. Now, consider what happens when the input is turned off. The input is off, but output 1 remains on. Utilize this to activate an internal relay named "output 1 on ack" and keep it on. When you turn the input on again, think about what changes from the previous cycle. I won't provide you with all the answers, but ponder on it. Whether this is for a school project or not, you'll benefit more by figuring it out yourself rather than being given the solution outright. Remember, the main purpose of this task is to stimulate your critical thinking abilities. Best of luck with it!TIM beerchug
While the initial setup shows promise, there are some issues to address. Assuming the initial scan is completed, but the Input is not yet activated, Output 1 should be ON while Output 2 and Output 3 are OFF. Once the Input is activated, Output 2 turns ON and Output 1 turns OFF as expected. However, a problem arises when the PLC reaches line 4 - Output 2 is already ON, causing Output 3 to also turn ON and Output 2 to turn OFF again. By rearranging lines 2, 3, and 4, the issue can be somewhat resolved, especially if the Input is set as a one-shot trigger.
Can you achieve the task you described of activating three outputs one by one without using osr, counter, or timer? Steve's solution is almost correct, but I would suggest a different approach. Instead of involving a first scan, focus solely on the input as the condition. My proposed solution ensures that Output 1 is activated first whenever the input is ON, followed by Outputs 2 and 3 in sequence before starting over. However, it's important to note that due to the PLC scan cycle, the outputs may switch so quickly that it appears as a rapid blink rather than a noticeable progression. To make this logic more practical, consider introducing an additional variable like a timer to control the duration of each output activation. This adjustment will enhance the functionality and usability of the circuit.
Lancie1 requested advice on how to activate three outputs sequentially with one input signal, keeping each output on until the next one is activated, all without relying on OSR, counters, or timers. A user named "Guest" clarified the query for better understanding. Instead of using SET and RESET relays, Guest suggested utilizing internal relays for the task. Let's simplify and optimize the process by following this guidance. Cheers!
I must confess, I was eager to share some code but anotherguest beat me to it...cheers to that!
If you're looking for a quick solution for programming an Allen-Bradley (AB) PLC, here's a simple method to achieve your desired outcome. Take note of the importance of organizing your instructions correctly to ensure seamless execution.
To begin, replace the following addresses with the corresponding names:
- B3:0/0 β "Input"
- B3:0/13 β "Output 1"
- B3:0/14 β "Output 2"
- B3:0/15 β "Output 3"
Additionally, B3:0/1 and B3:0/2 will be used for creating a custom one-shot timer functionality.
This method not only demonstrates how to implement a roll-your-own one-shot but also highlights the significance of proper instruction sequencing. Itβs a straightforward approach for those learning to program an AB PLC. - Marc
Optimizing the performance and efficiency of a system often requires the use of two main lines of code. By utilizing accumulator functions and employing operation mathematics such as addition, subtraction, multiplication, and division, engineers can determine the sequence for controlling various components like motors, soft starters, and activation selections. In some cases, output limitations can be managed using masks and resetting variables to zero when needed. These techniques are essential for achieving maximum efficiency and performance in any system. Always aim for continuous improvement and innovation to ensure the best possible outcomes.
I agree with Bill that the guest's problem could have been easily resolved using relay logic. If everyone acknowledges this fact, then basic logic gates such as AND, NAND, OR, and NOR can effectively address the issue. I won't provide the guest with the answer immediately; I encourage him to think it over. By considering a setup where a single input triggers output 'A' and incorporating a self-hold circuit for 'A' with an inverted input, a new set of conditions can be established. For instance, when the input goes high next time, output 'B' will go high while output 'A' goes low. Approach the problem in this manner, "guest." A Programmable Logic Controller (PLC) essentially functions as a logic controller. - Jim.
Whether you prefer a step-by-step approach or making quick, impulsive decisions, I have a solution for you. Instead of using PLC control, I recommend utilizing control relays. By understanding Relay Diagram Circuit, specifically step-by-step or impulse switch applications, you can easily resolve your issue. Even if your process involves numerous steps, such as 10, 30, or even 50, you can control multiple outputs with just one input. While this may require more control relays, it is a cost-effective solution compared to investing in timers or counters. If you'd like to see an example, I'd be happy to provide some visuals for guidance in the future. Reach out if you need further assistance. - Mechatronics RIT, Nonthaburi Campus.
Dear friends,
I have posted some example pictures for you to use as a guide for this question. Please note that these are not the definitive answers but rather a helpful reference. This circuit was simulated using the constructor software available at www.koldwater.com.
When you press switch S2 for the first time, capacitor C1 will turn on. Pressing S2 a second time will turn on C2, a third time for C3, and a fourth time for C4 (C4 is not a bomb, just to clarify).
I hope that this guidance can be applied to answer your question effectively.
Best regards,
Platootod
Mechatronics Engineer at Rit.Nonthaburi
When you press the Sw S2 (fifth) button, switches c1 to c4 will turn off. Attention, valued guest! You have the ability to analyze the circuit and adjust it according to your specific requirements. If additional steps are necessary and the contact of a1 (control relay) is insufficient, simply add more parallel a1 no. 2, a1 no. 3, and so on. Sawasdee Krub, Platootod.
Here's an alternative method to achieve your goal....
A common query often searched on search engines is how to activate three outputs individually using a single input in PLC programming. The goal is to keep one output activated until the next one is triggered, all without utilizing osr, counter, or timer functions. This method is particularly useful for individuals seeking to learn PLC programming on their own.
The discussion took a turn from "Not doing your homework for you" to providing a myriad of strategies for completing your assignments. It appears that the original poster has discovered the power of motivating engineers to assist by challenging their knowledge and skills.
In summary, this thread dates back 20 years and upon careful review, it appears that the original poster intended for the successive rising edges of the input to trigger each step of the sequence. The implicit nature of these rising edges can be inferred from the use of the word "again" in post #7. The one-shot logic presented in the first step of @msinclair's post #20 is crucial to the solution, making it relatively straightforward. While the Start/Stop Circuit pattern is commonly discussed when explaining relay ladder logic, the one-shot logic is equally fascinating. Perhaps the reason for the emphasis on the Start/Stop Circuit is due to the fact that most PLCs come with a built-in one-shot function, eliminating the need to build one from scratch.
For the remaining 30% of the scenario, where "again" indicates that the input remains active for the next scan cycle, the sequence will progress one step per scan cycle (or after a set number of scan cycles if additional delay logic is incorporated), causing the lights to change states too quickly to observe. This leads me to believe that the 70% likelihood lies in the interpretation of rising edges. It is evident from the responses that many others also recognize the ambiguity in the problem statement, which unfortunately remains unresolved.
Wow, what a surprise to see such an old post being revived!
If you wish to continue seamlessly, just follow the pattern: 1, 2, 3, 1, 2, 3.
I look forward to reuniting with everyone again in two decades.
I must have missed the post's date - they're likely retired by now.
idiotsecant mentioned: "See you all in another two decades, God willing!" Looking forward to a reunion in 20 years!