Computer programs are often used to automate steps in processes that are complicated or require repetition. Typically, the computer programs are long and complicated themselves, with hundreds or thousands of lines of code. The code instructs sequences of operations of different phases in a particular order to accomplish a desired task. The programs are often specifically written for the particular task at hand, making it difficult to port the program or even a portion of the program for another task.
While the particular task for which the software is written may be a relatively complex task, such a task is typically comprised of a number of well-known, less complicated, subtasks. These subtasks may include steps such as performing a single process or performing well-defined steps in the process. Addition, removal, or rearrangement of the order of subtasks for a given task may produce an entirely different task, but the change required in conventional operating software to do so may be so cumbersome that it may be more efficient to simply write a new program to perform the different task.
It would be beneficial to provide a program for performing a task that is easy to modify to adjust the performance of the task or to perform a different task. It would also be beneficial to provide a user-friendly interface to allow an operator to modify the program without necessarily knowing how the software for the program is written or having to rewrite the software.
Briefly, the present invention provides a phase sequence system for performing a task. The system comprises a plurality of phases, wherein each phase is represented by a number. The system also comprises means for arranging at least a subset of the numbers in a sequence of phases to perform the task and means for allowing an operator to individually edit a phase in the sequence.
Further, the present invention also provides a method of editing phases in a process. The method comprises the steps of selecting a program edit routine from an operator interface; selecting a program to edit from the selected program edit routine; selecting a phase to edit from the selected program, wherein the phase is represented by a number; and editing the number.
Additionally, the present invention comprises a phase sequence system for performing a task. The system comprises a controller operationally connected to a system and operational software residing in the controller for operating the system. The operational software comprises a sequence of numbers to perform the task. A phase editor is operationally connected to the controller to edit the sequence of numbers.
Further, the present invention provides a method of programming a series of phases to perform a task comprising the steps of: a) providing a plurality of phases, wherein each phase is represented by a different number; b) determining a phase required to perform the task; c) selecting the number associated with the phase; d) inputting the number into a program; and e) repeating steps a-d as necessary to include all of the phases necessary to complete the task.
Also, the present invention provides a method of performing a task comprising the steps of: providing a system upon which the task is to be performed; operationally connecting a controller to the system, wherein the controller includes a sequence of numbers, with each number associated with a phase; and operating the controller, wherein the controller controls the operation of each phase according to the sequence of numbers.
The foregoing summary, as well as the following detailed description of a preferred embodiment of the invention, will be better understood when read in conjunction with the appended drawings, which are incorporated herein and constitute part of this specification. For the purposes of illustrating the invention, there are shown in the drawings an exemplary embodiment of the invention. It should be understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown. In the drawings, the same reference numerals are employed for designating the same elements throughout the several figures. In the drawings:
Certain terminology is used herein for convenience only and is not to be taken as a limitation on the present invention. The terminology includes the words specifically mentioned, derivatives thereof and words of similar import. The following describes an exemplary embodiment of the invention. However, it should be understood based on this disclosure, that the invention is not limited by the disclosed embodiment of the invention.
While numbers are used to designate each phase in the inventive system and process as described herein, those skilled in the art will recognize that letters, symbols, or combinations thereof may be used. Therefore, as used herein, the term “numbers” is preferably construed to include numbers, letters, symbols, and combinations thereof.
Referring generally to
The exemplary portable CIP system 50 that is described herein and shown in
The exemplary CIP process is as follows. A pre-rinse phase uses once-through city water 54 to flush the external equipment and remove any residual product left over from production. A wash phase uses a caustic solution 56 to dislodge product from the interior surfaces of the external equipment. City water 54 is used again to rinse the external equipment after the caustic wash. This second city water wash conserves USP water (pure or fully deionized water used for the production of injection products which meets the regulations set by the U.S. Pharmacopoeia) 58. After the second city water rinse has removed most of the caustic solution 56, a hot USP water 58 final rinse is performed. Hot USP water 58 is supplied for the final once through rinse of all internal surfaces of the external equipment. The system piping 60 is then drained for a set time. Once the system 50 is drained, an air blow is done to remove any remaining USP water 58 in the CIP piping 60. When the air blow is completed, the CIP process stops.
Referring to
Referring to
After the program is selected, the phases required to accomplish that program are displayed in step edit boxes 122. For each step, a phase number and time are listed. The phase is the process to perform during the step, such as, for example, “USP RINSE”, “FILL TANK WITH CITY WATER”, “CAUSTIC WASH”, or other phases required to perform the programmed task. A “PHASE DESCRIPTIONS” button 124 allows an operator to view all of the phases and their corresponding phase numbers available for the program. Each step also includes an associated timer button 126 that lists the time that the phase will remain active, after preconditions, if any, are met. An example of a precondition would be waiting for temperature to reach a predetermined setpoint or waiting for the caustic level to reach a predetermined setpoint before starting the timer. Certain phases do not require a time, but rather just a precondition, such as high level in the tank during a fill tank phase.
As presently configured, the maximum number of steps to perform a desired task is 28. However, those skilled in the art will recognize that the PLC code can easily be modified to handle more than 28 steps. The screen 120 displays steps 1-15 for the program selected. If the operator wishes to view and/or edit any remaining steps, a button 128 for the remaining steps (in this case, steps 16-28) is provided. Activation of the button 128 changes the screen 120 to a subsequent program edit screen 130, shown in
Referring to
On either screen 120, 130, an “ACCEPTS EDITS” button 148 allows the operator to save the changes to a “program storage” file in the PLC. If the operator wants to cancel the edits made, a “CANCEL EDITS” button 150 is provided to restore the original program. The program edit screen 120, 130 is preferably secured to restrict access.
A Phase Sequence Chart 160, shown in
The Phase Sequence Chart 160 is a tool to generate a hex data number and to visually see the outputs for each phase. The hex data is entered manually into the PLC code. The hex data is entered once and will not need to be changed unless the operation of the phase is changed. The 14 phases shown are examples. Each task requires a specific set of phases, but the software remains the same (just different phase names and the amount of outputs may change). The phase edit boxes 122 are used to pick and choose the phases and the order of the sequence. The tasks for each phase are set in PLC code 170 based on the hex data entered.
A representative printout of PLC code 170 that is used to complete a selected phase is shown in
If additional phases are required in mid-task to complete the task or to modify the task to complete a different task, then the user selects the task from the Program Edit Screen 110, shown in
If, for example, the original task requires the phases 4, 2, 5, 7, 1, 2, 9, and phase 3 is required to be added between steps 3 and 4, the new task will be 4, 2, 5, 3, 7, 1, 2, 9. Step 4 will be accessed and the original phase 7 will be replaced by phase 3. Next, step 5 will be accessed and the original phase 1 will be replaced by the phase 7 that was originally in the previous phase. The remaining phases 1, 2, 9 will be input into steps 6, 7, 8, respectively. After the edits are made and the user wants to save the edits, the user presses the “ACCEPT EDITS” button 148 to accept the edits.
If phases are required to be deleted from a sequence, the user selects the task from the Program Edit Screen 110, shown in
If, for example, the original sequence is 4, 2, 5, 7, 1, 2, 9, and step 3 is required to be removed from the new sequence, the new sequence will be 4, 2, 7, 1, 2, 9, with the remaining phases for each step after the last step all being 0. Step 3 will be accessed and the original phase 5 will be replaced by phase 7. Next, phase 4 will be accessed and the original phase 7 will be replaced by phase 2 that was originally in the subsequent step. The remaining phase 9 will be input into step 6. The phase 9 that was originally in step 7 will be replaced with 0, indicating that the task is complete. After the edits are made and the user wants to save the edits, the user presses the “ACCEPT EDITS” button 148 to accept the edits.
If a time duration for a particular step needs to be edited, the user selects the task from the Program Edit Screen 110, shown in
The program 100 allows the user to swiftly and easily edit phases of an operation to modify the operation or to develop a new operation, without the need to start writing software from scratch.
Although the invention is illustrated and described herein with reference to a specific embodiment, the invention is not intended to be limited to the details shown. Rather, various modifications may be made in the details within the scope and range of equivalents of the claims and without departing from the invention.