Q&A Community

Improve Your PLC Programming Skills with a Cartridge Air Leak Detection Challenge

Question:

Are you looking to improve your PLC programming skills? I have a challenge for you that involves creating a device to detect air leaks in cartridges. This project does not involve any financial gain; I am simply assisting a friend. If you are interested in collaborating, I would appreciate it and highly recommend it as a valuable PLC problem-solving exercise. The project uses the outdated Panasonic FP0R-C16T PLC model, which has been repurposed for this task at no cost. The device includes various sensors and pneumatic valves to test the integrity of the cartridges. Key components include: - X1: Cartridge sensor - X2: Seal sensor - X3: Pressure sensor - Y0: Pneumatic valve for sealing - Y1: Pneumatic valve for generating vacuum - Y2: Green light for indicating a good cartridge - Y3: Red light for indicating a bad cartridge The logic of the system involves the sensors detecting the presence of the cartridge, sealing it, generating vacuum, monitoring pressure, and ultimately determining the quality of the cartridge. While a press transmitter with analog input would be ideal for more accurate readings, the project currently uses a basic pressure sensor. Overall, this project offers a valuable learning experience for PLC programmers. Join me in this challenge and gain practical knowledge in PLC programming. Thank you to all those who participate in advance.

Top Replies

In the past, I have completed numerous pressure and vacuum testing projects, such as pressurizing a vessel (such as packaging or a pressure vessel) and conducting seal strength testing on sealed food trays using a cylinder. Vacuum seal testing has also been a part of my experience. These projects require a significant amount of engineering knowledge and specialized hardware. However, for those looking to learn, there are simpler simulation exercises available, such as simulating traffic lights or a batching tank process, which can be tailored to different levels of complexity depending on experience. The batching process, in particular, can serve as a valuable learning tool for understanding systems like recipe management, analogues, and sequence control in PLC programming.

Alendi stated that if the vacuum in the cartridge dissipates in under 3 seconds, it is considered defective, while if it stays for 6 seconds or more, it is deemed to be functioning properly. But what if the vacuum lingers for a time between 3 and 6 seconds? Does this indicate a faulty seal or a properly sealed cartridge?

When conducting a vacuum test, it is important to ensure that the vacuum is held for a minimum of 3 seconds for accurate results. In my experience, it is beneficial to allow for a brief delay before initiating the test to allow the vacuum or pressure to stabilize. Depending on the specific requirements of the customer, holding the vacuum for 5-7 seconds may be necessary for pack testing, while pressure or vacuum vessels may require a longer duration.

Alendi noted that PLCs require strict and unambiguous definitions for states and transitions, rather than qualitative descriptions like "more or less." Failure to adhere to expected behavior in any state should lead to a system failure. For instance, when the X7 push-button is pressed, the system should return to a state named "RESET," which marks the beginning of the sequence. It might be beneficial to have two RESET states: RESET_REMOVE_CARTRIDGE, assuming the cartridge is present (X1 value is 1) when X7 is activated, and RESET_READY for when the cartridge is absent, and the system is awaiting the next cartridge. A timer should be implemented for cartridge removal to prevent premature transitions between states. In the state RESET_READY, the X1 sensor should detect the presence of a cartridge, triggering a sequence leading to the closure of seal Y0 after a 1-second delay. Transitioning to the "START" state should occur upon edge detection of sensor X1, signaled by the loss of the cartridge-present sensor signal. Similarly, the system should progress to the "SEALED" state when X2 detects the correct sealed position, enabling the valve Y1 to generate vacuum pressure. It is essential to monitor the vacuum pressure to ensure it reaches the desired level within a specified timeframe. When transitioning from the "SEALED" state to the "TESTING" state, various conditions such as vacuum levels and timer expiration should be met. The system should respond accordingly and activate corresponding outputs, such as Y2 (green light) for a successful test or Y3 (red light) for a failed test. To enhance clarity and ease of understanding, defining states and transitions in a systematic manner using integer values can streamline the logic and coding process. By separating the sequence logic from the operational logic, the code can be structured more efficiently, facilitating maintenance and future modifications if required. This structured approach helps in ensuring that the code is well-documented and self-explanatory.

Parky explained that for a successful test, the vacuum should be held for at least 3 seconds to allow for stabilization. In previous tests, a brief delay before starting the test was necessary to ensure the vacuum or pressure stabilized. Pack tests typically require a 5-7 second hold, while pressure or vacuum vessels may require longer. The duration of the hold may vary depending on customer specifications. If the vacuum does not reach the required level within 3 seconds of opening the valve, it may indicate a sequence failure rather than a test failure. This could be due to misalignment of the cartridge. Automatic timeouts have been included in the sequence to ensure that transitions occur smoothly between states.

More Replies

Based on my experience, there are two common scenarios that can lead to a failed test, but they are essentially the same. If the vacuum does not reach the specified level within the allocated time, it indicates a leak. On the other hand, if the setpoint is reached and the test is initiated, but the vacuum drops below the setpoint after the test period, it also results in a failed test. Once the setpoint is reached, the vacuum should be turned off and given a brief period to stabilize before conducting the predetermined test duration. The outcome of the test, whether it passes or fails, is determined by the vacuum stability. The step-by-step procedure I typically follow, excluding obvious stages, is as follows: Begin by turning on the vacuum. If the vacuum fails to reach the setpoint within a specified timeframe, this results in a failure. Once the desired vacuum level is achieved, turn off the vacuum and allow it to stabilize. Proceed with the test for a set amount of time. If the vacuum drops below the set limit during the test, it indicates a failed result. I acknowledge the importance of incorporating time delays into the testing process.

Drbitboy asked about the implications of a vacuum maintaining for a period of 3-6 seconds. How long the vacuum holds can give insight into the condition of the seal. If the vacuum drops after 3 seconds, indicating an air leak, the cartridge may be faulty. However, if the vacuum remains unchanged after 6 seconds, the cartridge is likely in good condition.

In my experience, there are two main scenarios for a failed test, both essentially the same. If the vacuum does not reach the specified level within the designated time frame, it indicates a leak. On the other hand, if the setpoint is achieved, the test is initiated. If the vacuum drops below the setpoint after the test duration, it results in a failure. As previously mentioned, once the setpoint is reached, the vacuum is turned off, allowing a brief period for the vacuum to stabilize before conducting the pre-determined test for a set amount of time. The outcome of the test, whether it passes or fails, depends on whether the vacuum remains stable or drops during the test. The sequence I typically follow (excluding obvious steps) is as follows: activate the vacuum; if the setpoint is not reached within a specific time frame (whether through a sensor or an analog sensor), the test fails. Upon reaching the setpoint, turn off the vacuum, wait for stabilization, and then run the test for a specific duration. If the vacuum drops below the specified limit during the test, it results in a failure. I also acknowledge the importance of incorporating time delays into the testing process. I apologize for any lack of clarity in explaining this project, as I am not an expert in coding. The test commences once the seal is established, indicated by a sensor confirming the cylinder is sealed. Subsequently, a valve opens for 3 seconds to activate the vacuum generator, with a pressure sensor indicating -40 kpa. When the valve closes, a check valve maintains the vacuum within the cartridge. A timer is then initiated for 6 seconds, with a comparator checking for any changes in the vacuum level at the 3-second mark. If there is a deviation in the vacuum level (e.g. a leak allowing air in), a red light signals a faulty cartridge. If no such deviation occurs, the timer continues until 6 seconds, accompanied by a green light indicating a satisfactory cartridge. Do you follow? Thank you for your assistance.

I apologize for any lack of clarity in explaining the project, as I am not an expert in coding. The testing process begins once the seal is established, with a sensor indicating that the cylinder is in a sealed position. A valve opens for 3 seconds to activate the vacuum generator, with a pressure sensor confirming a reading of -40 kPa. When the valve closes, a check valve maintains the vacuum inside the cartridge. A timer starts, running for up to 6 seconds, while a comparator checks for any change in vacuum value at the 3-second mark. If a leak is detected, a red light indicates a faulty cartridge. If no leak is found, the timer continues to 6 seconds and activates a green light to signify a good cartridge. Do you follow? Thank you for your input. Let me clarify my understanding based on your and @parky's comments. Once the vacuum valve is open (when the seal sensor input X2 reads 1), there is a 3-second window to achieve a vacuum of at least 40kPa. In simpler terms, if the vacuum measured is below 40kPa at the 3-second mark after the valve opens, the test fails. This could be due to a faulty (leaky) cartridge, resulting in a test fail, or improper sealing by the test system, leading to sequence failure. Once the vacuum reaches or exceeds 40kPa, the valve closes; any subsequent vacuum loss is assumed to be from cartridge leakage. If the vacuum remains at or above 40kPa at the 6-second mark after the valve closure, the cartridge passes the test. However, if the vacuum drops below 40kPa before 6 seconds elapse, the cartridge fails the test. Consider keeping the valve open for a brief period to accommodate vacuum measurement noise and rebound from the check valve closure. This ensures an accurate 6-second evaluation. It's critical to address any pressure switch hysteresis at 40kPa for consistent results. Does this align with your goals? Communication can be challenging, especially with language differences, but I'm striving for clarity. Your English is excellent, but I often find ambiguities in others' statements, given my limited Spanish proficiency. My primary concern is clarifying the role of "AND" in "valve timed for 3 seconds to open AND pressure sensor indicate 40kPa vacuum." Is the valve meant to close after a full 3 seconds, regardless of pressure, and then verify if the 3 seconds achieved a 40kPa vacuum? Or should the valve close once 40kPa is reached, unless 3 seconds have elapsed before reaching the target pressure?

One method to manage the model's state information is by using bits (boolean tags). Alternatively, state information can be stored in an integer, where each integer value represents a specific state (e.g. 0 for reset state, 10 for ready state, etc.). This allows for easy addition of new states by creating gaps between the values. Instead of using NO contacts, the current state can be tested using the EQUALS comparison instruction with integer state. Changing to a new state can be achieved using the MOVe instruction instead of coils. The integer approach functions similarly to logic that utilizes Set instructions to establish the state; Reset instructions are used to clear each state instead of latching branches. In the depicted image, the second rung employs the trigger-dominant State Coil/Fault Coil pattern to ensure that pressing the reset pushbutton (X7) always transitions the system to the Reset State. The remaining states follow a stop-dominant Start/Stop Circuit pattern, where the stop conditions are defined by the ANDed (series-connected) NOTs (NC contacts) of the possible transition states, in addition to the NOT of the reset pushbutton (X7). It is important to note that the business logic is kept separate from the sequence logic, allowing for multiple states to influence single outputs using coils, such as the Seal Cartridge (Y0) output coil.

Frequently Asked Questions (FAQ)

FAQ: 1. What is the purpose of the Cartridge Air Leak Detection Challenge?

Answer: - The challenge aims to help participants improve their PLC programming skills by creating a device to detect air leaks in cartridges, serving as a valuable problem-solving exercise.

FAQ: 2. What PLC model is used in the project?

Answer: - The project utilizes the outdated Panasonic FP0R-C16T PLC model, which has been repurposed for the task at no cost.

FAQ: 3. What are the key components involved in the project?

Answer: - The key components include cartridge sensor (X1), seal sensor (X2), pressure sensor (X3), pneumatic valves for sealing (Y0) and generating vacuum (Y1), and lights for indicating cartridge quality (Y2 for good cartridge, Y3 for bad cartridge).

FAQ: 4. What is the logic behind the system's operation?

Answer: - The system's logic involves sensors detecting the presence of the cartridge, sealing it, generating vacuum, monitoring pressure, and determining the quality of the cartridge based on the readings.

FAQ: 5. What learning experience does this project offer to PLC programmers?

Answer: - Participating in this challenge can provide practical knowledge and hands-on experience in PLC programming, making it a valuable learning opportunity for those involved.

You must be a registered user to add a comment. If you've already registered,
sign in. Otherwise, register and sign in.