Hello everyone, I am new to this concept and I am in need of some assistance. I am working with a UDT that stores details about adjustments made to an Anton Paar machine. The data I am capturing includes Recipe Code, Lab Value, Inline Value, Offsets, and Gains before and after the adjustments. Firstly, I write this data to a temporary instance of the UDT before transferring it to a larger storage array. My goal is to keep track of the last 10 adjustments made. I am using Studio 500 on a L380ERM v32.12 system, and the data will be shown on an Ignition Vision client. I plan to write the temporary values using a step sequencer and then update the PLC with any changes made, as I need to display the information indirectly on the SCADA in a specific array position. I have attached a screenshot of the record log I aim to create in Ignition. I have already implemented a similar system for brand families, using a pointer to specify which array position is updated.
Are you familiar with adjusting values on an Anton Paar device? I need assistance with a UDT that records information on adjustments, such as Recipe Code, Lab Value, Inline Value, Offsets, and Gains before and after the adjustment. I am transferring this data from a temporary UDT instance to a larger storage array. My goal is to keep track of the last 10 adjustments made. I am working in Studio 500 and using a L380ERM v32.12 PLC with an Ignition Vision client for data display. To achieve this, I am using a step sequencer to write data temporarily before moving it to the PLC. By using the COP command, I can shift data in Array[0]-Array[99] to Array[1]-Array[99] while keeping Array[0] open for new data. This process is crucial for displaying the information correctly on a SCADA system. Attached is a screenshot of the log record I aim to create in Ignition. I have experience in this area and have successfully implemented a similar system for brand families.
When deciding on the storage method for your data, you can choose between using a LIFO or FIFO approach. This decision will depend on how you want the data organized within your array. By utilizing either of these methods, you can easily access the data without the need to remove elements. Another option is to maintain an array of a specific data type, such as You_UDT. In this case, you will need to manage the array's maintenance tasks yourself if the LIFO or FIFO methods are not suitable for your needs. Be cautious when handling your index variable and ensure that you validate and sanitize your input data to avoid any errors or issues.
Hey there, welcome to the forum! Your project sounds very interesting. If I'm understanding you correctly, you're planning to use a step sequencer to write to a temporary UDT, then transfer that data over to a larger array, with an aim to keep a record of the last 10 adjustments. That's a solid approach. What you can do is simply have a counter that increments each time an adjustment is made, then once it hits 10, reset it back to the first position. This would give you a sort of rolling window of the last 10 adjustments. Regarding how to display the data indirectly on the SCADA, you might want to consider having a separate process that reads from the array and updates the SCADA accordingly. That way, your step sequencer can just focus on updating the PLC. Also, as you've done it before with brand families, it's good to re-use the pointer concept. Keep us posted on your progress!
✅ 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: - To store and track adjustments, you can create a UDT that includes fields for Recipe Code, Lab Value, Inline Value, Offsets, Gains, etc. Write this data to a temporary instance of the UDT before transferring it to a larger storage array. Implement a step sequencer to update the PLC with any changes made and display the information on an Ignition Vision client.
Answer: - To track the last 10 adjustments, consider using a circular buffer in your UDT Array. This allows you to overwrite the oldest adjustment data once the buffer is full, ensuring you always have the most recent adjustments stored.
Answer: - To display the adjustment information indirectly, use pointers in your UDT Array to specify which array position should be updated. This way, you can easily navigate and display the relevant adjustment data on your SCADA system.
Answer: - To integrate the adjustment tracking system with the Ignition Vision client, ensure that the data from your U
Join hundreds of satisfied customers who have transformed their maintenance processes.
Sign up today and start optimizing your workflow.