Batching 101
poiuy:
Thanks for the bump. I had intended to reply, but didnt' have the time then, and eventually forgot about it.
There are some preliminary questions that need to be addressed before you can decide about the SCADA software (if any) and the PLC programming techniques.
First off, though, a brief tutorial:
S88, the ISA's standard for batching, defines a "recipe" of consisting of four seperate components.
The first is just "header" information (Recipe name, version, who/what/where stuff).
A second component to a recipe is "resources" (this is usually only applicable in complex systems where you can make a recipe in different tanks - does THIS tank have the components (size, heating/cooling capabilty, etc) to make the recipe.). For your application, I don't think you have to worry about this too much.
A third component of the recipe, and one that most people think of when they hear the word 'recipe', is the "formula". This is both the type of material, and the quantity.
The fourth component, often overlooked, but critical to us PLC-programmer-types, is the procedure - which ingredients get added in which order (if it matters).
Another thing to keep in mind when referring to a recipe is that energy is an ingredient (in the form of agitation, temperature, pressure) as well as time..
So my first question to you is: How many recipes will you have/be planning for?
The next question, related, is: Where do you want those recipes to reside; the PLC, in the SCADA, or in a Database? You are planning to have "a scrollable list of mixture names". Will those names be fixed, set in stone (electronically speaking), or will the operator have the ability to add / delete / copy / modify recipes?
If you store the recipes in the PLC, then you are limited by the PLCs memeory (which in a SLC 5/01, isn't very much). If you want to store some of the header information in the PLC (such as the recipe name), you may have a hard time getting the SCADA to build that "scrollable list" - it's just not how the SCADA is set to operate (and I'm not just talking RSView; iFix and Wonderware have similar difficulties). I'm not saying it can't be done, just that it won't be easy (or may not work quite the way you want. Easier would be to have a whole screen with, say, 20 recipe names, and a NEXT and PREVIOYS button to take you to another screen with another 20 names).
Storing the recipes on the PC is often better for larger systems, but then you've got the problem of getting them into the PLC. Do you give out the recipe piecemeal (like RSBatch, iBatch, InBatch, and all the other xBatch products do), and wait for confirmation that a "phase" is executed before giving out the next peice (in order to do transaction logging - (Another Question: Do you need transaction logging?)), or do you just dump the entire recipe into the PLC at once? Databases also can be complex to set up - getting the SQL calls right so that the data is saved and retrieved properly. It's much easier to do it in the PLC where all you need is a pointer and some indirect addressing (more on that in a bit)
Some SCADA packages have their own recipe system (which is supposed to be easier than using something like Microsoft Access, or a REAL database.
Other questions/things to think about:
How flexible does the recipe's sequencing need to be? Will all the ingredients be added in the same order (or not added, if the setpoint is zero), or will you need to sometimes add "A, then B", and other times add "B, then C, then A".
Again, will the recipes be set, by you, or do you need to have a "recipe edit" capablity? These are pretty limited usually, but again depend on your application. Basically they save and retreive the value of tags that are associated with a recipe to/from an internal database and display them on the screen/send them to the PLC. They might be good for your application. I generally don't use then because there's always some function that I need the recipe handler to perform that I can't make the canned application do.
Are your recipes scalable? That is, if an operator selects RECIPE X, which makes 1000 liters, can he adjust it so that the same formulation/sequence will be used, but only make 800 liters? But, if he scales the ingredient amounts, how does that affect the amount of agitation time? Would you only agitate for 80% of the recipe time, or would you do the whole time? Or something in between (what's the algorithm?)?
Does an individual recipe need to be "tweeked" prior to use? That is, the recipe calls for 100 liters of 25% caustic, but the caustic in the tank had an assay of 30%, so you anly need 83.3 liters in this batch. (There's a whole lesson on "Master Recipe" v "Site Recipe" v. "Working Recipe" - some other time. Search for S88.02)
Do you want the ability for the operator to "add a bit of this" to a batch, as a sort of "semi-auto" operation (select the ingredient, enter an amount, push the button and GO)? Not to make a whole batch this way, but to adjust things ("Hmmm, the pH is low, let's add just 4 liters of caustic").
Are your 16 reservoirs, and/or their piping, shared by any other system? What should happen if both you and the other system need it at the same time? For that matter, do you have more than one batch tank that you control drawing from these ingredients?
Berni is right about indirect addressing. Indiect addressing is a handy technique for doing this type of application. The SCADA changes the value of a pointer, and that pointer is used to store/retrieve the recipe information.
But even a SLC 5/01 supports Indexed addressing. It's not as flexible as indirect (although it's possible to break the data file barrier), but could be handy in your application.
This is just the tip of the iceberg. There's still more to consider once these questions are answered, before you can design a batch system.
Oh, to answer your question, RSView is as good as any interface for doing what you're attempting. I doubt you need the power of RSBatch, for example. I've done a dozen or so systems just like this, using RSView, Fix, Wonderware, even a Panelview (only 10 recipes, stored in PLC).
There are some subtle differences between how each's Recipe system works. Wonderware's is a touch better than RSView's, as I recall, but it should be adequate for your needs, if you go that way.
Good luck.