PAC Display is the operator interface of a piece of manufacturing equipment that uses an R1 controller. There are about a dozen machine settings that are product specific, which I have been using the recipe feature in PAC Display to store and recall. The recipes are stored in the file system of the computer running Pac Display, not locally on the controller, and FTP is used to manipulate them.
The recipe file names contain logical components so that they can be matched to the product being run. The recipe chart would look at the DIR response, and offer the operator any of the recipes that might apply to the product being run. A fully defined product would return one possible recipe (the most recent save of that product), but a partial product ID might return more than one recipe the operator could choose from.
This has been working well for close to a year, but I noticed when I was making some tweaks to the code that the DIR list was no longer offering all of the recipes that had been saved; leading to the creation of this thread (and in parallel, a request to optosupport).
It is likely that with another year of operation, there could be a few hundred recipe files created. While the PAC Display recipe functionality could probably handle this if I abandon FTP and store the recipes on the controller locally (or on an SD Card), I’m not excited about that path. Stepping back, I’m thinking that I will be better off storing all of the settings information in a database instead of individual recipe files. It will make it easier for me to perform maintenance on the settings, especially if a global recipe template change becomes necessary as machine components are added or changed.
I’ll need to think about database structure a bit more before heading down this path… since Datalink simply transmits table information back and forth, I should try to build the tables in a way that can return something close to right set of information without relying on a query to filter the results. Any filtering, if I understand correctly, would need to be done within the logic of the chart.
Edit: While figuring out the database piece of it, maybe I should consider a short term fix with the recipes stored locally and then backed up to the computer via FTP.