How to Program Sequential Motor Operation in ACS580 Drive Composer Entry Application

Question:

Hello everyone, I am facing an issue with adaptive programming. As a beginner in this field, I typically do not utilize such solutions. Typically, I connect one motor to one frequency converter and everything functions smoothly. However, this time I have encountered a more complex task involving two motors with identical parameters that are linked to the inverter via contactors. The current conditions state that only one motor should operate in each cycle (from engine stop to the end of the cycle). Subsequently, in each new cycle, the next motor should start running in a sequential manner. Additionally, there is a provision for each motor to be blocked (in case of malfunction or maintenance), during which the logic should continue working with the available motor without switching. In my understanding, DI 1 refers to the start command, DI 2 indicates the blockage of the first motor, DI 3 signifies the blockage of the second motor, RO1 controls the first contactor (selecting the first motor), and RO2 controls the second contactor (selecting the second motor). I am seeking guidance on how to construct this logic using logic blocks within the "Drive composer entry" application. Your assistance on this matter would be greatly appreciated. Thank you.

Top Replies

I regret not being able to communicate in Polish, but it appears that your English proficiency is commendable, so I trust you can comprehend the information effectively. The core concept being discussed revolves around the software principle known as "separation of concerns." This principle entails addressing two main concerns: 1. Determining when any given engine should be operational. 2. Deciding which engine to activate when any one engine is running. The application of the "separation of concerns" methodology involves handling these issues independently. For instance, establishing when a motor should run can be achieved with a simple Start/Stop Circuit pattern. This pattern involves the generation of an output ("RUN") bit that holds a value of 0 when no engine is to be operated and a value of 1 when one engine is designated to run. It's important to note that the "RUN" bit is unaware of which specific engine should be activated; it solely focuses on the requirement for one engine to be in operation. In terms of logic for the Start/Stop Circuit, the following condition applies: IF ((value of start_command is 1) OR (value of run was 1 in the previous scan cycle)) AND (stop_command is 0) THEN [assign value of run to 1] ELSE [assign value of run to 0]. When it comes to determining which engine should be running while one engine is operational (i.e., when the run bit value is 1), the process is relatively straightforward due to the presence of only two engines. This determination can be modelled using a single bit, referred to as "which," with a value of 0 indicating engine 1 activation and a value of 1 signifying engine 2 operation. The control logic for engine activation follows specific conditions for each engine, ensuring that the system operates seamlessly. Strategies such as the application of lockout logic further enhance the efficiency of the system by preventing undesired engine activations. By understanding these principles and considering various scenarios, an optimal solution can be devised to address the operational requirements effectively.

drbitboy mentioned that although he doesn't speak Polish, he appreciates the other person's good English skills. The key concept discussed is the "separation of concerns" software principle. This principle involves separating the concerns of when any one engine should be running, as well as which engine to run when any one engine is running. The implementation of the "separation of concerns" principle involves treating these issues separately. For example, determining when one motor should be running can be achieved with a simple Start/Stop Circuit pattern. This pattern ensures that the output bit ("RUN") has a value of 0 when no engine should be running, and a value of 1 when one engine should be running. In terms of determining which motor should be running when one motor is active, a straightforward logic model can be employed. This model assigns values to engine 1 and engine 2 based on the values of "RUN" and "which." The logic ensures that each engine operates independently based on the given conditions. To handle lockout scenarios effectively, a separate logic is applied to engine 1 while leaving engine 2 dependent on the result of engine 1. This approach simplifies the management of lockouts and ensures that each engine runs appropriately. Assigning a value to "which" involves ensuring that engine 1 and engine 2 alternate each time any one engine is commanded to run. This task can be achieved through specific logic execution and edge detection mechanisms. While the provided solution offers a viable approach, it may require adjustments to address specific operational scenarios effectively. It is recommended to explore alternative solutions and threads discussing similar problems using search terms like "lead lag" for further insights.

Pashok had a unique approach for his project by adding a pulse relay to switch the contactors at each start. He also developed a program using the "Drive composer" app, which utilizes the frequency converter's built-in relay to control the pulse relay with a 1-second pulse and a 2-second delay for starting the frequency converter. The next step is to test it on a stand in the workshop to see if it works as expected. Testing PLCs in real-world scenarios is the best way to learn their behavior and capabilities.

The problem has been successfully addressed and thoroughly tested, ensuring all functions are operating as expected. I have included it as an attachment in case it may be beneficial to others.

Hey there! It sounds like you're dealing with a task that would indeed require some adaptive programming. To meet your requirements, you need to set up an alternating logic between RO1 and RO2, where one command signals the start of a cycle and the other signals the end. It sounds like an algorithm that alternately toggles between DI1 and DI2, depending on which motor is operational, could be a solution. The key is allowing the 'selection' to default to whichever motor is not currently blocked. You'd have to make use of some conditional logic in the Drive Composer Entry application - keep running checks on the status of DI2 and DI3 and switch the motors accordingly. It's not easy diving into this from a beginner level, but with some tinkering, you'll get there!

More Replies →

Streamline Your Asset Management
See How Oxmaint Works!!

✅   Work Order Management

✅   Asset Tracking

✅   Preventive Maintenance

✅   Inspection Report

We have received your information. We will share Schedule Demo details on your Mail Id.

To add a comment, please sign in or register if you haven't already..   

Frequently Asked Questions (FAQ)

FAQ: 1. How can I program sequential motor operation in ACS580 Drive Composer Entry Application?

Answer: - To program sequential motor operation in ACS580 Drive Composer Entry Application, you can utilize logic blocks within the application. Assign DI 1 for the start command, DI 2 for the blockage of the first motor, DI 3 for the blockage of the second motor, RO1 for controlling the first contactor, and RO2 for controlling the second contactor.

FAQ: 2. Can you explain the process of connecting two motors with identical parameters to an inverter via contactors for sequential operation?

Answer: - To connect two motors with identical parameters to an inverter via contactors for sequential operation, ensure that each motor is linked to the inverter through separate contactors. Define the logic for starting and blocking each motor using digital inputs and relay outputs.

FAQ: 3. What should be done if one of the motors is blocked due to malfunction or maintenance during the operation cycle?

Answer: - If one of the motors is blocked due to malfunction or maintenance during the operation cycle, the logic should be designed to continue operating with the available motor without switching. This can be achieved by programming the system to detect the blockage signal and proceed with the operational sequence accordingly.

FAQ: 4. How should the sequential operation of the motors be structured to ensure that only one motor runs in each cycle and switches to the next motor in the subsequent cycle?

Answer: - The sequential operation of the motors can be structured

Ready to Simplify Maintenance?

Join hundreds of satisfied customers who have transformed their maintenance processes.
Sign up today and start optimizing your workflow.

Request Demo  â†’