Hello, I am seeking advice on how to achieve a specific task related to customers' requirements for an analogue output (0 - 5V) with adjustable output and ramp time controlled by a recipe system. The challenge is that the output may not always start from 0V. For instance, one recipe may begin with a valve set at a pilot flow rate of 0.5V, which then needs to ramp up to the full flow rate of 4.5V over a specified time period. However, these values vary depending on the selected recipe. I am struggling to figure out how to dynamically calculate the difference in output values and ramp time for each recipe. I initially attempted to calculate the difference between the two flow rates, divide it by the ramp time, and use timers and counters to increment the output value. However, I feel this approach may be overly complex and exceeding my PLC programming knowledge. The equipment being used includes an FX5UC PLC and FX5-4DA analogue output card, along with GX Works 3 and GT Designer software. The variables involved in the recipes are the pilot flow rate, full flow rate, and ramp time. Any guidance or solutions on this matter would be greatly appreciated.
An important step is to accurately scale the raw data into a meaningful range, such as 0-100% or 0-100 ltrs/s, before proceeding with the recipe calculations. Utilize the recipe's start and end variables, as well as the time in seconds, to ensure accurate results. Let's consider a scenario where we are using a % scale from 0.0 to 100.0%. The recipe parameters are as follows: Start % = 20.5, End % = 100.0, Time = 6 seconds. To execute the recipe, set the analogue variable to the recipe start value, which is 20.5 in this case. Calculate the difference between the start and end values, which equals 79.5. Divide this by the time duration of 6.0 seconds to determine the ramp rate (using floating-point calculations is recommended). If needed, you can convert the time into tenths of seconds. IEC timers measure time in multiples of 10ms or 100ms, with conversion functions available to convert integers to time values. Depending on your specific requirements, you may choose to increment the value every second or every tenth of a second. For further exploration of this concept using GXworks3 on an FX5 controller, stay tuned for future updates.
Hello parky, I wanted to thank you for your assistance. The method you suggested seems much simpler than what I was attempting before. I will now try to implement it and see if it works. If you have a moment, I would greatly appreciate it if you could provide an example. Thank you.
Are there specific voltage levels the system will reach, such as a range from 2v to 4v or 1v to 4.5v, or will it always max out at 5v? I have experience with analog signals on FX3 but need to see if FX5 analog signals have scaling parameters or if adjustments need to be made in the PLC code. One potential solution could be dividing the range from 20% to 60% into 100ms intervals, resulting in increments of 0.4% every 10th of a second. For even finer adjustments, a 10ms interval could be considered.
The full output range may vary, starting at 1v and increasing to 4.5v, rather than always going from minimum to maximum. The ramp rate is the rate at which the output changes over time, with a somewhat linear progression but with stepping increments at each time point. A 10ms time base allows for finer control. The analogue output card can be configured in either direction, currently set at 0 - 5V / 0 - 32000 digitally, with the option to adjust the 0 - 32000 range as needed.
I have successfully implemented a system using floating point values ranging from 0-100%. I typically use real units such as liters, percentages, and kilograms as floats, and then utilize a custom scaling block to convert these values back to raw integers. It is necessary to convert integers to real values for calculations and then back to integers for output to the analog system. This system is designed with a 100ms increment, providing a smooth and responsive outcome. I carried out this project using an FX3U in GXWorks2, but it can easily be adapted for FX5 as the functions are similar. In the future, I may attempt to replicate this in FX5 using integers. Please note that I have used decimal points for time measurements (e.g. 0.0 to x.x minutes), but using whole minutes can simplify the process. Adding seconds to the calculation may require slightly more processing power.
You're on the right track starting with calculating the differences between flow rates and ramp times, but perhaps you're making it more complicated than it needs to be. What if you consider each "move" from a lower voltage to a higher voltage as a standalone ramp? You can use the built-in ramp function in the PLC programming environment for this. You define the start and end point (lower and higher voltages) and the ramp time dictated by the recipe. With this setup, you don't have to worry about where you are starting from, each ramp is independent and you just have to wait until one completes before starting the next. I've used this method with success on similar types of tasks using GX Works3. Hope this helps!
✅ Work Order Management
✅ Asset Tracking
✅ Preventive Maintenance
✅ Inspection Report
We have received your information. We will share Schedule Demo details on your Mail Id.
Answer: Answer: To achieve this, you can use a recipe system to control the output voltage (0-5V) with adjustable output and ramp time. You will need to calculate the difference in output values and ramp time for each recipe dynamically.
Answer: Answer: One challenge is ensuring that the output does not always start from 0V, as different recipes may require starting at varying voltage levels. Calculating the difference between flow rates, dividing it by ramp time, and implementing timers and counters can be complex.
Answer: Answer: The equipment required includes an FX5UC PLC, FX5-4DA analogue output card, along with software such as GX Works 3 and GT Designer. The variables involved in the recipes are the pilot flow rate, full flow rate, and ramp time.
Answer: Answer: You can simplify this process by exploring different programming approaches within the PLC environment, seeking guidance on more efficient methods, or potentially utilizing built-in functions or libraries specific to the Mitsubishi platform.
Join hundreds of satisfied customers who have transformed their maintenance processes.
Sign up today and start optimizing your workflow.