文档库 最新最全的文档下载
当前位置:文档库 › pinnacle放疗计划系统脚本说明手册

pinnacle放疗计划系统脚本说明手册

pinnacle放疗计划系统脚本说明手册
pinnacle放疗计划系统脚本说明手册

Document for Use at Perth Radiation Oncology and Royal Perth Hospital
and
Scripting on the Pinnacle3 Treatment Planning System
by Sean Geoghegan, PhD MACPSEM Medical Physicist Medical Engineering and Physics Royal Perth Hospital 29 August 2007
Sean Geoghegan
29 August 2007

Document for Use at Perth Radiation Oncology and Royal Perth Hospital
2
Overview
This document describes scripting techniques available with the Pinnacle3 treatment planning system and provides descriptions of some of the scripts used at Perth Radiation Oncology and Royal Perth Hospital in Western Australia. Users at Perth Radiation Oncology and Royal Perth Hospital use Pinnacle3 scripts to modify their system for clinical and research purposes. Under no circumstances is scripting to be used for any purpose unless the user of the script fully understands the possible consequences of using the script including any possible errors that may be introduced into a treatment plan or treatment data. Any script should be used carefully because Pinnacle3 scripts can cause serious errors on the system including system crashes and loss of data. It is possible for data to be corrupted and, if used clinically, for incorrect treatments to be planned and possibly delivered. This document is produced for Perth Radiation Oncology and Royal Perth Hospital and any use of scripts based on this document at locations other than Perth Radiation Oncology or Royal Perth Hospital is at the user’s own risk. Even at Perth Radiation Oncology and Royal Perth Hospital, all scripts must be validated by the Medical Physicist responsible for the Pinnacle3 treatment planning system prior to use on the clinical system. A similar procedure is recommended for other sites. The scripting language available in the Pinnacle3 treatment planning system is extremely versatile and powerful. It can be used to automate tasks in planning, such as simple scripts that define what colours are used for beams, to more complicated scripts that generate an entire plan based on outlined regions of interest. Pinnacle3 scripting can also be used by the medical physicist when commissioning the system, reducing time taken to import electron output factors and other tedious and error prone tasks. Radiation oncologists can get some benefit from Pinnacle3 scripting with each plan being loaded with identical settings making the system consistent and simpler to use. Unfortunately, due to the very versatility and power of Pinnacle3 scripting, scripting is not supported by Phillips except for very specific uses, and most Pinnacle3 scripting development is left to experienced Pinnacle3 users. This means that various centres have developed their own scripting tools. Some centres have limited themselves to very simple scripts. Other centres have put a great deal of effort into script development once they have recognised the advantages of using them. This document covers all aspects of scripting that are familiar to the Medical Physicists at Royal Perth Hospital and Perth Radiation Oncology. This document provides examples of script development and application by going through a series of scripts that various authors from around Australasia and the rest of the world have kindly made available to the author or were made available through the Pinnacle3 mailing list. There is a CD containing a library of scripts that can be implemented at other centres using the Pinnacle3 treatment planning system with only minor modifications to suit each centre. The author hopes that this document and script library will become the basis of a collaborative working group to further the development and distribution of useful and easily adaptable Pinnacle3 scripts. Because there is little Pinnacle3 scripting support available from Phillips, some of the text in this document is based on educated guesses on the internal workings of Pinnacle3. As such, there is scope for Sean Geoghegan 1 1 June 2007

Document for Use at Perth Radiation Oncology and Royal Perth Hospital
improvement to this document, and any errors should be reported to the author. All scripts in this document must be tested before use, and it is possible that they will not work as intended. This is especially true at other institutions where the scripts have not been tested on nor configured for use on these computing systems. This document and the script library are to be used at your own risk.
Sean Geoghegan
2
1 June 2007

Document for Use at Perth Radiation Oncology and Royal Perth Hospital
3
Acknowledgements
This document and the associated script library were developed over many years by many workers, some of whom are unknown to the author. The following people are known to the author who have either contributed to the scripts in the script library used at Perth Radiation Oncology and Royal Perth Hospital or provided script examples and discussions that helped the author write this document: Wendy Arancini, Perth Radiation Oncology, Australia Gary Goozee, Liverpool Hospital, Australia Joe Hanley, Hackensack University Medical Center, USA Scott Neil, Radiation Oncology Resources, USA Alberto Perez-Rozos, Hospital Universitario Virgen de la Victoria, Spain Pierre-Alain Tercier, H?pital Fribourgeois, Switzerland Erik Van Dieren, Haga Hospital, The Netherlands Simon Woodings, Royal Perth Hospital, Australia Chuan Wu, University of California – Davis, USA If there are any errors in this document (which there are bound to be) then none of errors in this document are attributable to any of these people.
Sean Geoghegan
3
1 June 2007

Document for Use at Perth Radiation Oncology and Royal Perth Hospital
4
4.1
Basic Pinnacle3 Control Language
Pinnacle3 Framework
The Pinnacle3 treatment planning system is designed and programmed using an object oriented approach, that is, the features of the treatment planning system that are used by clinicians, planners and physicists have an intuitive feel of being actual real or abstract objects, such as a patient or a beam. Pinnacle3 is designed around three essential components, the model, the controllers and the views. The model calculates dose distributions and images (such as DRRs) and responds to messages from the controllers delivered to the model using text messages that form the basis of the Pinnacle3 scripting language. These text messages are sent by the controllers either by the user modifying parameters in the graphical user interface (the Planning windows), which sends Pinnacle3 text messages (equivalent to Pinnacle3 script commands) to the model one at a time, or through provision of commands directly to the controller via a script file. The views also interrogate the model to display the data in a form convenient to the user, such as via the graphical user interface, printout or a data file. These three components essentially operate independently of each other allowing the user to view changes in the model as the commands given to the model via the controller are interpreted. Because the underlying communication between the three components of Pinnacle3 is in the form of messages, it is possible to script a sequence of messages or record the messages sent while the user is operating the system. This allows the emergence of powerful user-written scripts that enable the user to customise and automate the system allowing significant improvements in productivity and consistency when planning.
4.2
Objects and Classes
The fundamental programmatical elements of Pinnacle3 are objects. An object is a grouping of data and computer processes designed in such a way that real objects (such as a patient) or virtual objects (such as a beam) are represented and modelled. For example, the patient may be represented by the CT dataset, their name, and other personal details (the data) which have the processes attached so as to allow the user to change the patient’s name and other details. A beam object, which is abstract and not completely physically real, has data describing its orientation, energy, field size and other details as well as having processes attached to allow the addition of a block or wedge or other features. Each object has a certain Class which is the template for the object. Examples of different instances of objects include a patient and a beam. Some classes of objects can create subclasses of objects, for example a block does not exist without a beam, and a beam does not exist outside a trial. Messages are sent to the highest class object available (in planning this is the Trial object) which propagates the message down the hierarchy of objects until an object is found to accept the message and interpret it. If the message is not matched to any object then no action is taken. Because all planning is done from within a particular plan, the higher level objects that may exist, such as Pinnacle and Plan, are not directly referenced in scripting and the highest level of class available for an object is Trial. As such, the addressing of messages is fairly straight forward, so long as the user knows the class structure. Sean Geoghegan 4 1 June 2007

Document for Use at Perth Radiation Oncology and Royal Perth Hospital
4.3
Lists
Access to the various objects in Pinnacle3 is through lists of the objects. The message must specify for which object in the list the message is intended. For example, each patient may have associated multiple plans, each plan multiple trials and each trial multiple beams. Sometimes the lists are associated with a higher class level object than the active view, for example the list of regions of interest and the list of points of interest are associated with the plan and not the trial. This explains some of the features in Pinnacle3 that sometimes confuse new users to the system, for example changing the isocentre point of interest in one trial will invalidate dose in the other trials if the same point is used as an isocentre in the other trials. Examples of objects referenced using lists are: TrialList.Current.BeamList.Current.Gantry TrialList.Current.BeamList.Current.Collimator Both these objects refer to the currently selected beam in the currently selected trial with the first referring to the gantry angle and the second to the collimator angle. Note that a period is used between the elements of the object reference to delimit the keywords. The object references TrialList.ph1.BeamList.rt_lat.Gantry TrialList.ph2.BeamList.ap.Gantry refer to the gantry angles of the beams named “rt_lat” and “ap” in the trials “ph1” and “ph2” respectively. There are other reference methods that are described in Section 6.4.
4.4
The Escape Character “#” and Special Characters “#”, “*” and “@”
When naming elements of an object list there is a special escape character which enables an individual element of the list to be identified by number or allow the asterisk character to be used which allows all elements of the list to be referenced in one go. The hash sign “#” is used as the escape character which makes Pinnacle literally interpret any following string including any special characters that are contained in the string (a hash “#” again, an asterisk “*” or an at symbol “@”). For example, the statements TrialList.Current.BeamList.Current.Gantry and TrialList.#”Current”.BeamList.#”Current”.Gantry all refer to the identical object whereas TrialList.”Current”.BeamList.”Current”.Gantry refers to the beam named “Current” in the trial named “Current” which may not be the currently selected beam in the currently selected trial. Note that the name “Current” should not be used for any Pinnacle object because of the possibility of confusion, especially since the name of the object does not need to be included in quotes for Pinnacle to interpret the reference correctly (so long as it is unambiguous). If the hash character or the asterisk character is used in the string escaped by the hash character, then these are interpreted literally by Pinnacle and identified as special cases. The statement Sean Geoghegan 5 1 June 2007

Document for Use at Perth Radiation Oncology and Royal Perth Hospital
TrialList.#”#0”.BeamList.#”#2”.Gantry refers to the third beam in the first trial in the current plan. Note that Pinnacle starts counting at zero and the first element is “#0”. The statement TrialList.#”#1”.BeamList.#”*”.Gantry refers to all beams in the second trial in the current plan. The at symbol “@” can be used in place of the asterisk “*” to iterate through the elements in a list. This is used when an action is applied to each element in the list in turn. Examples of the various methods of using these special characters are given in Section 6.
4.5
Actions, Data and Data Types
Because the objects have two types of functions, one to store data (for example the gantry angle of a beam) and the other to perform actions (for example to add a block to a beam), there are two types of object items that can be accessed: the action and the data. The data is made up of data elements that can be any combination of two types of data. The two types of data are string and float. A string is used to contain text data and a float is used to contain numeric data.
4.6
Messages
There are four types of messages and one type of fork that are used in Pinnacle. The first type of message is an action command to be executed in a script, the second is a query of an action which may call the action itself depending on the action, the third is an assignment message assigning a value to object data and the fourth is a query of the object data that returns that value of that data. The syntax of these four types of messages is = “”; ; = ; ; The fork that is used in Pinnacle is the if-then-else construction IF....THEN. .ELSE. = ; where the test comes from one of the keywords in Table 1. The test key word used depends on the type of data being compared; that is, whether the type is either a float or a string. It is possible to replace the test with a number which evaluates to false if the number is zero or true otherwise. If an assignment message is required if the test is true, then the following construction for the complete if-then-else statement involving the negation operator “!” is used:
Sean Geoghegan
6
1 June 2007

Document for Use at Perth Radiation Oncology and Royal Perth Hospital
Table 1
Boolean test keywords and special tests and operators used in the if-then-else fork construction in the Pinnacle3 treatment planning system scripting language.
Float EQUALTO GREATERTHAN GREATERTHANOREQUALTO LESSTHAN LESSTHANOREQUALTO NOTEQUALTO
String CONTAINS IS ISNULL STRINGEQUALTO STRINGNOTEQUALTO
Special 0 = false 1 = true ! = not AskYesNo
IF.<[ObjectData1|Value1]>..<[ObjectData2|Value2]>. THEN.<[ObjectAction2|ObjectData3]> = ; IF.!<[ObjectData1|Value1]>..<[ObjectData2|Value2]>. THEN.<[ObjectAction3|ObjectData4]> = ; Note that the endings of the messages and fork are indicated by a semicolon. The value used in an action message can be a string, a float (that is a number) or a query. If the object item refers to a process, then to make it an action instead of a query an empty string is used for the value. All strings need to be enclosed in double quotation marks. For example: https://www.wendangku.net/doc/307519155.html, = “rt_lat”; Sets the beam name for currently selected beam in the currently selected trial to “rt_lat”, TrialList.Current.BeamList.Current.Gantry = 90; Sets the gantry angle for currently selected beam in the currently selected trial to 90 degrees, TrialList.Current.BeamList.Current.Gantry = TrialList.Current.BeamList.Current.Collimator; sets the gantry angle for currently selected beam in the currently selected trial to be the same as the collimator angle for currently selected beam in the currently selected trial. Because a semicolon is required to indicate the end of a message, messages can be spread over multiple lines. It is also possible to nest messages by using braces. For example: TrialList.Current.BeamList.Current = { Name = “sup”; Gantry = 270; Collimator = 180; Couch = 90; }; sets the beam name to “sup”, gantry angle to 270 degrees, collimator angle to 180 degrees and the couch angle to 90 degrees for currently selected beam in the currently selected trial.
Sean Geoghegan
7
1 June 2007

Document for Use at Perth Radiation Oncology and Royal Perth Hospital
4.7
Comments
A message that is preceded by a double slash “//” is ignored by the Pinnacle interpreter allowing the user to add comments to messages and scripts. For example the following message // Set up the current beam in the current trial // // Here we set up the beam according to protocol // TrialList.Current. // With the current trial BeamList.Current // select the current beam = { // and Name = “sup”; // set the name to “sup”, Gantry = 270; // the gantry to 270, Collimator = 180; // the collimator to 180 Couch = 90; // and the couch to 90 }; is equivalent to https://www.wendangku.net/doc/307519155.html, = “sup”; TrialList.Current.BeamList.Current.Gantry = 270; TrialList.Current.BeamList.Current.Collimator = 180; TrialList.Current.BeamList.Current.Couch = 90; It is important to use comments in any script to make it understandable to future users of the script, especially if the script is to be used routinely and if it is to be maintained as treatment protocols and data requirements change.
Sean Geoghegan
8
1 June 2007

Document for Use at Perth Radiation Oncology and Royal Perth Hospital
5
5.1
Creating Pinnacle3 Scripts
Recording Scripts
A user is able to record scripts directly from the Pinnacle3 treatment planning system. It is useful to start a script by first recording it and then editing it to make it run more efficiently. More information on recording scripts is found in the Pinnacle3 manuals.
5.2
Saving Scripts
It is possible, from within a script, to save the values of the parameters of an object by using the “Save” message. For example TrialList.#”#0”.Save = “/home/p3rtp/trial_1.dat”; saves all the data and construction of the first trial in the current plan to the file “trial_1.dat” in the p3rtp home directory. This saved data is in the form of a script and can be loaded as a script using the “ExecuteNow” message. The location of the script files should be consistent. In this document, and at Perth Radiation Oncology, the scripts are stored in the default user script location /usr/local/adacnew/PinnacleSiteData/Scripts which is also the “Public” scripts folder in the standard Pinnacle3 configuration. Within this scripts folder is the HotScriptList.p3rtp file which is used by Pinnacle3 to list the hot scripts that are available to the user. At Perth Radiation Oncology the scripts are stored in subdirectories admin clinical development library physics private Each of these subfolders is used to store particular types of scripts. The “admin” folder contains those scripts used in the system administration of the Pinnacle3 treatment planning system software, patient data and physics data which can be shared with other sites. The “clinical” folder stores all scripts used in the preparation of a clinical plan which can be shared with other sites. The “development” folder contains the scripts under development which should not be shared with other sites except in the development of the scripts. The “library” folder contains common scripts which are used by other scripts, for example scripts to get input from the user or other scripts that use common variables. The “physics” folder contains scripts that are particular to commissioning of the Pinnacle3 treatment planning system, for the checking of plans or for other quality assurance or data acquisition purposes. The “private” folder contains scripts that are for the use of the site that are not to be shared and should be protected for some reason. The “private” folder may include examples of working scripts from the other groups (clinical, library or physics). Sean Geoghegan 9 1 June 2007

Document for Use at Perth Radiation Oncology and Royal Perth Hospital
For consistency, all scripts should be saved in these locations in directories within each of these subdirectories. Old versions of the scripts should be moved to a folder named “old” within each individual script folder, for example the folder /usr/local/adacnew/PinnacleSiteData/Scripts /physics/handcalc/old contains the old versions of the handcalc script that is contained in the handcalc directory of the physics directory within the default script location. The filename to which the scripts are saved should end with an appropriate extension. Pinnacle3 scripts that are to be available to the user from the browse window when in planning mode should use the “Script” extension whereas those Pinnacle3 scripts that are not to be seen by the default script browse settings should use the “script” extension.
5.3
Editing Scripts
The scripts are saved as text files that can be edited using any standard text editor including “vi”. It is preferable to use a graphical text editor available on most systems. Care must be taken when editing script files that backup copies of the original files are kept. This is easily done by copying the script files and using version numbering to identify which file is the most recent copy of the script. This allows the user to back track to an earlier point if an error is found in a newer version of the script. For example the file handcalc.4.3.8.script is version eight of the third minor revision of the fourth major release of the handcalc script. All older versions of the script are kept in the old directory within the handcalc directory.
5.4
Transcript Logs
When a plan is open, every message sent by the controller is recorded in a transcript file. These transcript files are useful for finding out the keywords and other operations that are run in a Pinnacle3 planning session. The transcript files are saved in the patient folders in the Pinnacle3 patient database.
Sean Geoghegan
10
1 June 2007

Document for Use at Perth Radiation Oncology and Royal Perth Hospital
6
6.1
Using Objects
Creating an Object
A new element of a list of objects can be created by sending either a message containing the class name of the object or using the message “CreateChild”, for example the action messages TrialList.Current.BeamList.Beam = ""; TrialList.Current.BeamList.CreateChild = ""; both create a new beam in the list of beams in the current trial. The message TrialList.Current.BeamList.Beam = "beam_name"; is even more useful in that the beam is created and the name of the beam defined. The new object is added to the end of the list of objects and can be referenced using the “Last” keyword. Using the class name when creating a new object can be used to set the initial values for that object, for example TrialList.Current.BeamList.Beam = { Name = “sup”; Gantry = 270; Collimator = 180; Couch = 90; }; creates a new beam in the currently selected trial, adding it to the end of the list of beams in that trial, and sets the values for the gantry, collimator and couch angles.
6.2
Sorting a List of Object
It is possible to sort a list of objects by using the “SortBy” message and applying that to a keyword or list of keywords in the object. The “SortBy” message immediately follows the name of the list to be sorted. For example the action message https://www.wendangku.net/doc/307519155.html, = ""; sorts the list of beams in the currently selected trial in ascending alphabetical order of the beam names. To sort the list in descending alphabetic order of the beam names the message “D” is used preceding the sorting keyword, for example in the action message https://www.wendangku.net/doc/307519155.html, = ""; sorts the list of beams in the currently selected trial in descending alphabetical order of the beam names. More than one keyword can be used to sort the list, for example https://www.wendangku.net/doc/307519155.html, = ""; sorts the list of beams in the currently selected trial first by descending order of the gantry angles, then by ascending order of the collimator angles, then by descending alphabetical order of the beam names. Sean Geoghegan 11 1 June 2007

Document for Use at Perth Radiation Oncology and Royal Perth Hospital
6.3
Selecting an Object
An existing element of a list of objects can be made the currently selected object by sending the message “MakeCurrent”, for example the action message https://www.wendangku.net/doc/307519155.html,st.MakeCurrent; makes the last beam in the list of beams in the currently selected trial the currently selected beam.
6.4
Referencing an Object
Referencing an object in a list of objects has already been described in various sections above. All references are prefaced by a period and, contrary to elsewhere in scripts, white space is important. To summarise the various ways to reference an object in a list of objects refer to Table 2 below. Table 2 Object references that can be used in the Pinnacle3 treatment planning system scripting language. Reference Use Direct named reference Example TrialList.ph1 References trial “ph1” in the open plan
Current
Direct reference to the currently selected object (note that the user should avoid “Current” as a name)
TrialList.Current References the currently selected trial in the open plan TrialList.#”ph1” References trial “ph1” in the open plan
#”
Direct named reference where the string “” is interpreted literally and can include special characters
#”#
Direct indexed reference with zero as the first index number
TrialList.#”#0” References the first trial in the open plan
#”*”
Reference to all elements in a list of objects
TrialList.#”*” References all trials in the open plan
#”@”
Iterator that moves through all elements in a list of objects
TrialList.#”@” Iterates through each trial in turn in the open plan
Sean Geoghegan
12
1 June 2007

Document for Use at Perth Radiation Oncology and Royal Perth Hospital
6.5
Iterating Through Each Object in a List of Objects
To cycle through each object in a list of objects and execute a script on each object in turn the at symbol “@” is used, for example TrialList.Current.BeamList.ChildrenEachCurrent.#”@”.Store.At. TempCommand.Execute = “”; executes the command stored in the variable Store.At.TempCommand on each beam in the currently selected trial.
6.6
Destroying an Object
An existing element of a list of objects can be destroyed by sending the message “Destroy”, for example the action message TrialList.Current.BeamList.Current.Destroy = ""; removes the currently selected beam in the currently selected trial from the list of beams. The user must be careful before destroying any object because other objects may reference it, for example a point of interest may be referenced by a beam as its isocentre. To avoid this situation the “RelyOnList” object should be queried to check that it has no elements, for example the fork IF.PoiList.Current.RelyOnList.HasNoElements. THEN. PoiList.Current.Destroy. ELSE. WarningMessage = "The POI is referenced by some other object!"; will only destroy the currently selected point of interest if there are no dependencies on it.
Sean Geoghegan
13
1 June 2007

Document for Use at Perth Radiation Oncology and Royal Perth Hospital
7
7.1
Using Variables, References and Stores
The Store
Variables are saved to the Store which is a temporary object created each time a plan is opened. The Store is able to contain user defined variables of two types, Float and String as well as references to objects and other stores. The Store is an element of the Root object and is referenced as either Store or Root.Store depending on the context. The Store can hold references to objects within Pinnacle by assigning the reference to a variable within the store and it can store other stores. It is also possible to create user defined variables inside existing objects and reference these variables using the “” reference instead of a reference to “Root”. This can result in an ambiguous reference to a variable if the “Store” reference is used without reference to “Root” or the object reference. If ambiguity is possible then it is important to use the “Root.Store” or “.Store” construction, example use either Root.Store or .Store for example TrialList.#“#0”.Store The reason that someone may want to create a custom store within an existing object is to allow only those variables to be referenced if the store is displayed or edited as a whole, for example through the use of the CreateStoreEditor message.
7.2
7.2.1
Creating Objects in the Store
Creating a Variable
A variable in the Store is created in a script using the “FloatAt”, “StringAt” or “At” message passed to the Store, for example the message Store.FloatAt.TempFloat = 1.234; or Store.At.TempFloat = Float {Value = 1.234;}; creates the variable TempFloat if it doesn’t already exist and assigns the value 1.234, overwriting any existing value. For strings the messages Sean Geoghegan 14 1 June 2007

Document for Use at Perth Radiation Oncology and Royal Perth Hospital
Store.StringAt.TempString = “Hello world!”; or Store.At.TempString = SimpleString { String = “Hello world!”;}; creates the variable TempString if it doesn’t already exist and assigns the value “Hello world!”, overwriting any existing string.
7.2.2
Creating a Reference
To create a reference to an object, only the “At” message is used, for example Store.At.TempReference = TrialList.Current.Address; creates the variable TempReference if it doesn’t already exist and assigns the reference to the currently selected trial in the open plan, overwriting any existing reference.
7.2.3
Creating a Store
To create a store within the Store, only the “At” message is used, for example Store.At.TempStore = StringKeyDict {}; creates the variable TempStore if it doesn’t already exist overwriting any existing values.
7.3
7.3.1
Changing Objects in the Store
Changing a Variable
Apart from redefining a variable from scratch, it is possible to modify the value or string of a variable or an element of the referenced object by standard simple operations. For Float variables the standard mathematical operations are available. For example the messages Store.FloatAt.TempFloat = 1.234; Store.At.TempFloat.Add = 1; Store.At.TempFloat.Subtract = 2; Store.At.TempFloat.Multiply = 3; Store.At.TempFloat.Divide = 4; Store.At.TempFloat.Square = “”; Store.At.TempFloat.Root = “”; Store.At.TempFloat.Negate = “”; Store.At.TempFloat.Invert = “”; Store.At.TempFloat.Absolute = “”; Store.At.TempFloat.Round = “”; // 1.234 // 2.234 // 0.234 // 0.702 // 0.1755 // 0.03080025 // 0.1755 // -0.1755 // -5.69800570 // 5.69800570 // 5
end up assigning the value 5 to TempFloat. Another message available to send to Float variables is “Nint” which finds the nearest integer to the value. Note that the “Round” message rounds down. For String variables, string concatenation is possible. The following messages Store.StringAt.TempString = “Hello”; Store.At.TempString.AppendString = “ world!”; end up assigning the string “Hello world!” to TempString. Sean Geoghegan 15 1 June 2007

Document for Use at Perth Radiation Oncology and Royal Perth Hospital
7.3.2
Changing a Reference
The values of the referenced object can be changed, for example the messages Store.At.TempReference = TrialList.Current.Address; https://www.wendangku.net/doc/307519155.html, = “ph1”; changes the name of the currently selected trial in the open plan to “ph1”.
7.3.3
Changing a Store
The variables within a store can be changed using the existing messages already listed, for example the messages Store.At.TempStore = StringKeyDict {}; Store.At.TempStore.FloatAt.TempStoreFloat = 9.876; Store.At.TempStore.StringAt.TempStoreString = “Bye!”; Store.At.TempStore.At.TempStoreReference = TrialList.Current.Address; creates a new store named TempStore within the Store and adds the variables TempStoreFloat, TempStoreString and TempStoreReference with initialisation value, string and reference respectively. This is particularly useful when the “CreateStoreEditor” message is used with the argument of the address of the new store, which limits the number of variables that are available for user editing.
7.4
7.4.1
Clearing Objects in the Store
Deleting a Variable
The “FreeAt” message is used to delete variables that are of the Float or SimpleString type. For example, the following two lines of code deletes both the TempFloat and TempString variables. Store.FreeAt.TempFloat = ""; Store.FreeAt.TempString = "";
7.4.2
Removing a Reference
The “RemoveAt” message is used to remove references. For example, the following line of code deletes the TempReference reference and the object which it references. Store.RemoveAt.TempReference = ""; This message must be used with care to avoid creating conditions where an object is removed where it is referred to later in the script. Do not use the “FreeAt” message when removing a reference because, although the referenced object is destroyed, any dependencies on that object are not removed and the system can crash.
7.4.3
Clearing a Store
The “FreeAt” or the “RemoveAt” messages can be used to delete or remove values within store as well as the store itself. For example, the following line of code deletes the TempStore reference and the object which it references.
Sean Geoghegan
16
1 June 2007

Document for Use at Perth Radiation Oncology and Royal Perth Hospital
Store.FreeAt.TempStore = ""; Store.RemoveAt.TempStore = ""; These messages must be used with care to avoid creating conditions where an object is removed where it is referred to later in the script. Do not use the “FreeAt” message when removing a reference because, although the referenced object is destroyed, any dependencies on that object are not removed and the system can crash. It is best to delete or remove all variables and references before clearing the store.
Sean Geoghegan
17
1 June 2007

Document for Use at Perth Radiation Oncology and Royal Perth Hospital
8
8.1
Subroutines in Pinnacle3 Scripts
The Reload Script Concept
There is no simple facility within the Pinnacle3 scripting language for creating subroutines, that is routines that can be defined at one place within a script and which can called again and again with different parameters. The facility to do this can be relatively easily created by calling external shell scripts that can take arguments and which generate another Pinnacle3 script (a “reload” script) that is called by the original script. There are several types of shells that can be used including sh, csh, ksh and perl (which actually runs under sh). The following example shows the generation of a “reload” script and its execution // Define where the home is for our scripts. Store.At.TempScriptHome = SimpleString { AppendString = “/usr/local/adacnew/PinnacleSiteData”; AppendString = “/Scripts/myscript”; }; // Define the file name of the external script // “my.external.scr” that generates the reload // script “my.reload.script”. Store.At.TempExternalScript = SimpleString { AppendString = Root.Store.At.TempScriptHome.String; AppendString = “/my.external.scr”; }; // Define the reload script file name to be // “my.reload.script” in the script home directory. Store.At.TempReloadScript = SimpleString { AppendString = Root.Store.At.TempScriptHome.String; AppendString = “/my.reload.script”; AppendString = “.”; AppendString = GetEnv.SESSION_SVR; // Unique identifier }; // Build up the arguments for the csh program named // “my.external.scr” to generate “my.reload.script”. Store.At.TempCommand = SimpleString { AppendString = Root.Store.At.TempExternalScript.String; AppendString = “ ”; AppendString = “rt_lat”; // Parameter #1 – more can used AppendString = “ > ”; AppendString = Root.Store.At.TempReloadScript.String; }; // Execute the command that will run the csh program named // “my.external.scr” which will generate “my.reload.script”. SpawnCommand = Store.At.TempCommand.String; // Execute the reload script “my.reload.script”. ExecuteNow = Store.At.TempReloadScript.String;
Sean Geoghegan
18
1 June 2007

Document for Use at Perth Radiation Oncology and Royal Perth Hospital
The reload script generated by the “my.external.scr” csh script can take multiple parameters and may look like the following #!/bin/csh # This script is used to generate a Pinnacle3 reload # script that sets the beam name of the currently # selected beam. printf "https://www.wendangku.net/doc/307519155.html, = /”$1/”” Note that this particular example is an overly complicated way of achieving something that could be achieved from with the Pinnacle3 scripting language itself, however some mathematical operations and string manipulations are better and more easily performed in sh, csh, ksh or perl.
8.2
8.2.1
Reload Conventions
Standard File Locations
It is important, when developing and using scripts, for all files that are generated by the scripts (whether permanent or temporary) to be containing within the calling script’s home directory. It is convenient and consistent to define the variable “TempScriptHome” to be this location, that is for example // Define where the home is for our scripts. Store.At.TempScriptHome = SimpleString { AppendString = “/usr/local/adacnew/PinnacleSiteData”; AppendString = “/Scripts/myscript”; };
8.2.2
Standard Variable Names
The external script and reload script file locations should be stored in the “TempExternalScript” and “TempReloadScript” variables, for example // Define the file name of the external script // “my.external.scr” that generates the reload // script “my.reload.script”. Store.At.TempExternalScript = SimpleString { AppendString = Root.Store.At.TempScriptHome.String; AppendString = “/my.external.scr”; }; // Define the reload script file name to be // “my.reload.script” in the script home directory. Store.At.TempReloadScript = SimpleString { AppendString = Root.Store.At.TempScriptHome.String; AppendString = “/my.reload.script”; AppendString = “.”; AppendString = GetEnv.SESSION_SVR; // Unique identifier }; Storing the script file locations in these standard variables makes it easier for the developer of a script to maintain the script as well as for other users to understand how a script works.
Sean Geoghegan
19
1 June 2007

公司生产计划管理系统的设计与实现

业生产计划管理系统的设计与实现 摘要 信息化的浪潮滚滚而来,高科技领域的信息化已经深入部署,以信息化带动工业化,以工业化促进信息化的时代号角,引领传统的企业也将建立企业信息化管理作为企业的核心竞争力。 本论文首先阐述了企业生产管理的大背景,介绍了企业ERP管理系统的现状。其次分析企业的业务流程,阐述了企业生产管理的功能需求和对软硬件的性能需求。然后具体分析了生产管理系统中各个功能模块和数据设计,最后提出如何构建一个满足企业生产管理需求的生产计划管理系统和具体实现。 关键字:企业、生产管理、生产管理系统、生产计划管理

The Design and Realization of Costume Enterprise Production Planning Management System ABSTRACT With the tide rolling of informationization, the information in the field of high tech domain has already further deployed. And the times has already clarioned that the informationization should promote the industrialization and the industrialization should stimulate the informationization as well. Responding to that, the traditional clothing industry will establish the information management as a core competitive power in the enterprise. Beginning with some information about the grand background of the production management system of the costume enterprise, this paper makes a brief introduction about the status quo of the ERP system in this field. The following module is an analysis of the business procedure of costume enterprises, together with a comment of the function demand on production management of costume enterprise and quality demand on software and hardware of the enterprise. Then there is a detailed analysis of the

生产管理系统解决方案

生产管理系统解决方案1、生产管理系统解决方案框

2、 生产管理系统是针对制造型企业的生产运营而开发的管理系统。生产管理系统主要包括订单管理、生产计划管理、成本管理、物料需求计划、采购管理、

库存管理、付款管理、质量管理、生产绩效等核心管理系统,实施生产管理系统能够提高了各组织部分管理的准确性,指导原材料定购,及时掌控各方数据信息,优化资金的合理使用,提高生产的效率和节省生产成本。 二、生产管理系统解决方案需求分析

社会的信息化的深入发展,各企业都在加快建设特信息网络平台的步伐。企业在处理采购、生产、成本管理、质量管理等重要环节方面,正在逐步加强 对利用信息化网络平台和计算机的利用。在企业生产管理中,对可视化信息的 需求十分迫切。比如,在安全防卫方面,企业需要再厂区、厂房、仓库以及各 交界处实施全天候视频监控及预警、录像系统;监管人员需要及时掌握各厂房 车间的流水线的生产情况;领导层也有了解各生产环节实时生产情况,现场语 音交流指导和处理突发状况的需求。 此外,制造行业的人力成本不断上升,而且人工处理缓慢,出错率高,因此企业对于生产管理软件开发提出了更高的要求,企业通过实施生产管理系 统解决方案,不仅促进企业生产社会化自动化要求,也是企业发展、减少成本 需要。另一方面,我国正处在粗放式经济增长方式向集约型转变的道路上,利 用生产管理软件来实现车间生产管理的信息化和生产管理的信息化,用生产管 理软件的精确管理控制代替手工的粗放式管理,更好的节约物料资源,降低产 品的成本,创造出最大的经济效益,不断地增强企业的核心竞争力。 三、生产管理系统解决方案 生产流程越来越复杂,使得企业越来越难以控制生产过程,对流程的 管理也随之缺乏灵活性;同时,社会分工越来越细化,生产工人对所从事的生 产的全过程也缺乏了解,因此也缺乏改变已有条件的积极主动性。 现在,企业生产有一种趋势向小型化、自治化的制造和装配单元发展,生产管理系统的生产计划和控制可以只对制造或者其他部门规定某个时间段应 该完成的粗略生产计划;具体的生产调度,如技术、分配、质量管理等功能都 分开控制完成,企业可以采用生产控制方法可以减轻负荷。

生产业务操作手册

生产业务 操作手册

目录 一、进入系统 ------------------------------------------------------------------------------------------------------------------------------ 3 二、生产业务总体流程 ------------------------------------------------------------------------------------------------------------------ 5 三、MRP计划生成----------------------------------------------------------------------------------------------------------------------- 6 3.1MRP计划下达流程 --------------------------------------------------------------------------------------------------------- 6 3.2 计算参数设定 ------------------------------------------------------------------------------------------------------------------ 7 3.3 预投计划录入 ------------------------------------------------------------------------------------------------------------------ 7 3.4MRP执行 ------------------------------------------------------------------------------------------------------------------------ 9 3.5 MRP维护---------------------------------------------------------------------------------------------------------------------- 10 四、生产业务处理 ---------------------------------------------------------------------------------------------------------------------- 14 4.1 生产订单执行流程 ---------------------------------------------------------------------------------------------------------- 14 4.2 生产订单下达 ---------------------------------------------------------------------------------------------------------------- 15 4.2.1 生产订单手工下达 ----------------------------------------------------------------------------------------------------- 15 4.2.2 生产订单自动生成 ----------------------------------------------------------------------------------------------------- 19 4.3、生产订单修改--------------------------------------------------------------------------------------------------------------- 21 4.4、生产订单审核--------------------------------------------------------------------------------------------------------------- 22 4.5、已审核生产订单修改 ----------------------------------------------------------------------------------------------------- 25 4.6、不合格品返修--------------------------------------------------------------------------------------------------------------- 26

放射治疗设备——最全重点

放射治疗专业《放射治疗设备》试题集1 一、名词解释 1、放射治疗:放射治疗是由一种或多种电离辐射的治疗方式组成的医学治疗。通俗的 讲,放射治疗就是利用放射源或各种医疗设备产生的高能射线对肿瘤进行治疗的技 术,简称“放疗”。 2、放疗设备:利用原子核或人工装置产生射线治疗肿瘤的设备。 3、射线特性: 4、以钴-60做放射源,用γ射线杀伤癌细胞,对肿瘤实施治疗的装置。 5、医用电子直线加速器:医用电子直线加速器是利用微波电场,沿直线加速电子到较 高的能量应用于医学临床的装置。 6、放射治疗计划系统: 7、剂量监测系统: 指的是加速器本身具备的剂量测量及监控系统。 8、医用电子加速器进行放射治疗的等中心原理:只要将患者的肿瘤中心置于等中心点 上,无论旋转机架、辐射头和治疗床处于什么角度,或作任何旋转,辐射野中心始终与肿瘤中心重合。 9、加速管特性:电子刚注入到加速管中时,动能约为10-40KeV,电子速度约为 v=0.17-0.37c;当加速到1-2MeV时,电子速度就达到v=0.94-0.98c,其后能量再增加,电子速度也不再增加多少了。 10、外照射(teletheraphy): 位于体外一定距离,集中照射人体某一部位 11、近距离照射(brachytherapy): 将放射源密封直接放入被治疗的组织内或放入人体的 天然腔内进行照射。 12、射线中心轴: 13、照射野(A): 14、源皮距(SSD): 15、源瘤距(STD): 16、放射源(radioactive source): 活度与比活度都在规定水平上一定量的放射性核素物 质。 17、辐射源(radiation source): 放射治疗装置中能发射电离辐射的部件或放射源的统 称。 18、辐射束(radiation beam): 当辐射源可以看作点源时,由辐射源发出的、通过一个 立体角内空间范围的电离辐射通量,泄漏辐射和散射辐射不构成辐射束。 19、辐射束轴(radiation beam axis): 对于一个对称的辐射束,通过辐射源中心以及限 束装置两对有效边缘中分线交点的直线。 20、辐射野(radiation field): 与辐射束相交的一个平面内的区域,在此区域内辐射强度 超过某一比例或指定的水平。 21、剂量监测计数的定义是:剂量监测系统显示的,可以计算吸收剂量的计数。 22、计划设计:定义为确定一个治疗方案的全过程。传统上,它通常被理解为计算机 根据输入的患者治疗部位的解剖材料如外轮廓、靶区及重要组织和器官的轮廓及相 关组织的密度等,安排合适的射野(如体外照射)或合理布源(如近距离照射),包括使 用楔形滤过板、射野挡块或组织补偿器等进行剂量计算,得到所需要的剂量分布。 23、等中心: 二、填空

放射治疗计划系统(TPS)逆向调强参考步骤

如何制作调强计划 2010年2月5日 一、准备工作: (1) 导入病人数据 (CT、MRI、PET); (2) 勾画器官:勾画靶区 (GTV、 CTV、PTV) 及重要器官; (3) 添加射野,选择射线能量和种类。 二、调强步骤: 1 添加射野 (BEAM) 1.1 射野个数 在制作调强计划的时候,通常需要添加4~13野。野的具体个数要根据靶区的大小及周围器官 的数目来确定。 (1)头颈部:靶区较大,重要器官较多,一般添加9~13个野。 (2)胸腔:一般添加4个野。或者根据情况添加2~6个野。 (3)胸肺部:一般添加4~7个野。 (4)腹部:根据靶区形状大小添加4~9个野。 1.2 射野角度 (1)小机头角度(COLLIMATOR) 在选择小机头的角度时,应首选叶片运动方向上最小的角度,其次则应根据最佳的适形效果 综合考虑。一般情况下,可选择0度或90度。 光栅90度安装情况下,小机头为0度时叶片运动方向为Y1,Y2方向,如下图: 需要注意:一个计划中各射野的小机头角度应尽量统一。

(2)大机架角度(GANTRY) 在选择大机架的角度时,应遵循以下几点: A. 射野的中心线要尽量避开重要器官。 B. 选择靶区等中心离皮肤较近的角度选择射野,如下图,以减少正常组织受射量 C. 布野要尽量避开对穿野。 D. 相邻射野之间要间隔一定的角度,一个计划中的所有射野应尽量实现均匀分布。

1.3 等中心 (Iso-center) 靶区的等中心一般由放射治疗计划系统(TPS)根据靶区形状自动设置,无需手工定义。 如遇到特殊情况,系统自定义的等中心不够理想时,可以手工修改等中心。一般只需修改等中心的W和H位置,L位置(层厚位置)不用修改。 特殊情况示例: (1)等中心在靶区边缘 系统自定义的等中心位置在靶区边缘时,计算调强剂量后,靶区周围需要保护的其他器官受到的照射剂量会过高。 此时,可手工拖动等中心点,使其处在靶区内部,如下图:

用友T6_ERP_生产计划操作手册

生 产 模 块 操 作 手 册 建立日期:2014-02 编立:郭仲贤

一.生产基础资料 1.1工作日历:点击基础档案->基础档案->业务->工作日历 工作日历表示企业的工厂当月的工作天数,设定直接影响到各车间提供产能小时及计划推算工作有关,修改日历后确定即可 双击修改,可对当前工作日历进行维护; 1.2物料清单(BOM):物料清单即指产品用什么材料或半成品来制作成产品; 1.2.1 新增物料清单: 点基础档案---物料清单---物料清单维护---物料清单资料维护 点击”增加”按钮,录入母件编码,版本说明,子件的编码,用量等相关保存 然后在辅料清单增加后的表单中添加相应的产品用料信息 注意:默认成本BOM选项中如果是要求计算成本的产成品需要选择“是” 1.2.2 审核物料清单: 点基础档案---物料清单---物料清单维护---物料清单资料维护 二.计划性生产 业务处理——生产管理——MRP计划——MRP采购计划 采购计划人员点击“修改”按钮,对该采购计划进行修改,然后保存并审核,

采购员可以参照此采购计划下达采购订单 业务处理——生产管理——MRP计划——MRP生产计划 生产计划人员点击“修改”按钮,对该生产计划进行排产(输入部门,核定生产量,计划开工日期,计划完工日期),然后保存并审核 业务处理——生产管理——MRP计划下达——下达生产订单 点击“是否选中”,默认“本次下达数量”为核定生产量,可以进行修改,多次下达生产,按照部门分单,根据生产部门生成多张生产订单 业务处理——生产管理——生产订单管理——生产订单 对下达的生产订单进行修改并审核,此生产订单由车间去安排生产 三生产订单手动输入:点业务处理->生产制造->生产管理->生产订单管理->生产订单增加 点击增加,录入物料编码,数量,开工日期,完工日期等信息后保存;如果子件有更改的,则点击子件,进去更改后保存,再审核。 注:1.出于核算成本的考虑,表头的“生产部门”要填写实际的生产车间,如下料车间、机加车间、焊接车间、装配车间; 2.在审核后需要变更数量或其他属性时,可选择“变更”操作。一般生产计划外生产,生产订单需要手动增加完成后,生产流程结束。 四、生产进度管理

主生产计划管理系统

主生产计划管理系统 系统简介 金蝶K/3 WISE主生产计划系统主要面向离散型制造企业的计划管理人员设计,提供产品预测管理、预测与销售订单的冲销管理、MPS计算、MPS查询、MPS维护和生产计划投放等主要功能,并提供自动物料替代管理和计划员工作台。该系统是企业计划系统中一个重要环节,是物料需求计划(MRP)运算的主要源头,它的正确与否将影响生产计划、采购计划和销售可签约量(ATP)等信息,是连接产、供、销的桥梁。能够帮助企业制订出准确合理、切合实际的主生产计划,有效地减少库存、提高交货的及时性和生产效率,提升生产计划人员工作效率。主生产计划是金蝶K/3标准版制造解决方案的核心部分,通常与生产数据管理系统、物料需求计划等系统共同使用。 主要业务流程 主要功能 1、产品预测管理/预测冲销管理 系统提供产品预测功能,可以针对具体客户进行预测,并支持将产品预测直接转换为销售订单,帮助企业确定MPS或MRP的需求来源,指导相关部门进行产品生产和物料采购。同时,系统还提供灵活的销售订单与预测的冲销功能,支持向前、向后、先向前再向后、先向后再向前四种冲销策略,满足企业不同产品的运作需求,避免重复产生需求。 2、主生产计划计算

系统提供包括全部计算、选销售订单/预测单计算、选物料计算、按计划员计算等多种方式在内的全面的主生产计划计算功能,通过将每种产品按照BOM结构展开,计算一段时间范围内的需求量、库存量、计划接收量、计划产出量,得到物料的净需求和建议计划量,帮助企业快速、准确地制定MPS产品采购与生产计划,解决生产或采购什么、在什么时候生产和采购、利用什么生产的问题。 3、运算参数设定 系统提供多种预设的计划方案,并提供多种计划范围、可自定义的MPS计算公式、灵活的预计量调整参数设定、可选的仓库计算范围,并提供了强大的合并参数设定,满足企业多样化的生产计划管理要求。并提供了锁单冲销算法和严格跟单算法,满足企业按单生产管理的需求。 4、主生产计划查询 系统提供“需求反查”、“按销售订单查询计划订单”、“按物料查询计划订单”等丰富的主生产计划查询方式,帮助企业生产计划人员详细查看主生产计划的计算过程,了解需求来源,为后续主生产计划的调整和维护提供依据。 5、主生产计划维护和投放 系统提供灵活的主生产计划调整和维护功能,可对计划订单进行合并、拆分、投放、批量维护等,帮助企业结合实际产能状况,对主生产计划进行调整和维护,以达到能力的平衡,保证计划的可执行性。 6、计划员工作台 针对客户的需求多变,紧急插单、订单变更频繁,V12.1增加了计划员工作台,对系统产生的计划结果提供明细数据展开、计划调整建议信息、预计库存分析、例外信息、跟进拖期单据等多种计划分析手段;提供调出单据修改、批量维护等快速调整计划订单功能,帮助计划人员高效进行计划调整,提高企业应变能力, 7、物料替代清单管理

生产管理系统解决方案

生产管理系统解决方案一、生产管理系统解决方案框

二、 生产管理系统是针对制造型企业的生产运营而开发的管理系统。生产管理系

统主要包括订单管理、生产计划管理、成本管理、物料需求计划、采购管理、库存管理、付款管理、质量管理、生产绩效等核心管理系统,实施生产管理系统能够提高了各组织部分管理的准确性,指导原材料定购,及时掌控各方数据信息,优化资金的合理使用,提高生产的效率和节省生产成本。

二、生产管理系统解决方案需求分析 社会的信息化的深入发展,各企业都在加快建设特信息网络平台的步伐。企业在处理采购、生产、成本管理、质量管理等重要环节方面,正在逐步加强对利用信息化网络平台和计算机的利用。在企业生产管理中,对可视化信息的需求十分迫切。比如,在安全防卫方面,企业需要再厂区、厂房、仓库以及各交界处实施全天候视频监控及预警、录像系统;监管人员需要及时掌握各厂房车间的流水线的生产情况;领导层也有了解各生产环节实时生产情况,现场语音交流指导和处理突发状况的需求。 此外,制造行业的人力成本不断上升,而且人工处理缓慢,出错率高,因此企业对于生产管理软件开发提出了更高的要求,企业通过实施生产管理系统解决方案,不仅促进企业生产社会化自动化要求,也是企业发展、减少成本需要。另一方面,我国正处在粗放式经济增长方式向集约型转变的道路上,利用生产管理软件来实现车间生产管理的信息化和生产管理的信息化,用生产管理软件的精确管理控制代替手工的粗放式管理,更好的节约物料资源,降低产品的成本,创造出最大的经济效益,不断地增强企业的核心竞争力。

三、生产管理系统解决方案 生产流程越来越复杂,使得企业越来越难以控制生产过程,对流程的管理也随之缺乏灵活性;同时,社会分工越来越细化,生产工人对所从事的生产的全过程也缺乏了解,因此也缺乏改变已有条件的积极主动性。 现在,企业生产有一种趋势向小型化、自治化的制造和装配单元发展,生产管理系统的生产计划和控制可以只对制造或者其他部门规定某个时间段应该完成的粗略生产计划;具体的生产调度,如技术、分配、质量管理等功能都分开控制完成,企业可以采用生产控制方法可以减轻负荷。 生产管理系统解决方案——工厂结构体系图

生产计划系统需求分析说明书.doc

XXXX卷烟厂企业信息系统 (WXYZ-MIS) 生产计划管理子系统需求分析说明书 XXXXXX计算机工程有限责任公司 二○○○年九月

目录 1.引言 (3) 1.1.软件系统的名称与简称 (3) 1.2.编写目的与预期读者 (3) 1.2.1.编写目的 (3) 1.2.2.预期读者 (3) 1.3.背景 (4) 1.4.术语 (4) 1.5.参考资料 (5) 2.概述 (6) 2.1.机构设置 (6) 2.2.业务职能 (6) 2.2.1.制定生产计划 (6) 2.2.2.其它 (6) 2.3.系统目标 (6) 3.业务描述 (7) 3.1.制订年度计划 (7) 3.2.制订月度计划 (7) 3.3.制定生产调度令 (8) 4.分析 (13) 4.1.业务选择的原因 (13) 4.2.生产计划管理子系统功能(一期) (13) 5.功能需求规定 (14) 5.1.顶层数据流图 - WXYZ-MIS生产计划子系统 (14) 5.1.1 WXYZ-MIS生产计划子系统 (15) 5.2.第0层数据流图 - WXYZ-MIS生产计划子系统 (15) 5.2.1.工厂日历管理 (17) 5.2.2.能力资源管理 (17) 5.2.3.主生产计划 (17) 5.2.4.能力需求计划 (18) 5.2.5.物料需求计划 (18) 5.2.6.计划预测 (18) 5.2.7.运行评价 (18) 5.3.第1层数据流图1 –工厂日历管理 (18) 5.3.1.工厂日历的生成 (19) 5.3.2.工厂日历的查询与维护 (19) 5.3.3.工厂日历的统计 (19) 5.3.4.工厂日历的打印输出 (19) 5.4.第1层数据流图3 –主生产计划 (20) 5.4.1.主生产计划录入、维护 (20) 5.4.2.销售合同的查询 (20)

用友U8操作手册-主生产计划

目录 目录 ................................................................................................................................................I 第1章系统概述 (1) 1.1系统简介 (1) 1.2主要功能 (1) 1.3名词解释 (2) 1.4产品接口 (3) 1.5操作流程 (4) 第2章第3章应用准备 (6) 业务应用 (7) 3.1 MPS物料定义 (7) 3.2需求预测 (7) 3.2.1建立需求预测 (8) 3.2.2预测展开 (8) 3.2.3预测消抵 (8) 3.3重复制造计划 (9) 3.3.1计划供应与需求 (9) 3.3.2重复计划期间 (9) 3.3.3计划生产量 (10) 3.3.4计划日产量 (10) 3.3.5计划日期 (10) 3.4 MPS计划验证 (10) 3.5直接生产 (10) 3.5.1前提条件 (11) 3.5.2功能特性 (11) 3.5.3直接生产子件入库 (12) 第4章基本资料维护 (13) 4.1 MPS计划参数维护 (13) 第5章需求来源资料维护 (15)

II 目录 5.1产品预测订单输入 (15) 5.2产品预测订单-展开式 (18) 5.3产品预测订单整批处理 (20) 5.4产品预测订单明细表 (21) 5.5产品预测资料比较表 (22) 5.6未关闭销售订单明细表 (23) 第6章计划前稽核作业 (24) 6.1累计提前天数推算 (24) 6.2库存异常状况查询 (24) 6.3仓库净算定义查询 (24) 6.4订单异常状况查询 (24) 第7章MPS计划作业 (26) 7.1 MPS计划生成 (26) 7.2 MPS计划维护 (30) 7.3 MPS计划维护-展开式 (33) 7.4 MPS计划整批删除 (35) 7.5供需资料查询-订单 (35) 7.6供需资料查询-物料 (37) 7.7供需资料查询-汇总式 (40) 7.8供需资料查询-需求分类 (41) 7.9供需追溯资料查询 (44) 7.10自动规划错误信息表 (44) 第8章报表 (45) 8.1建议计划量明细表 (45) 8.2建议计划比较表 (46) 8.3预测消抵明细表 (46) 8.4供需追溯明细表 (47) 8.5待处理订单明细表 (47) 8.6供需资料表 (48)

好用的生产计划管理软件

好用的生产计划管理软件 生产计划除了为生产部门提供生产制造的依据,还关系采购计划、安全库存、订单交付等各环节,管理起来十分复杂。一款好用的生产计划管理软件,不仅能全面集成生产相关的业务流程,确保生产计划顺畅进行,还能大大提升生产效率,降低经营管理成本,对提高生产型企业生产力和竞争力的作用显而易见。下面就用实例给大家说说,真正好用的生产计划管理软件,到底能给企业带来哪些好处。 生产计划管理软件:实现生产、业务数据集成 人工、手工作业模式下,从客户接触、销售跟进、合同签订、生产计划、订单下达等全程,业务信息分散在不同部门、人员、设备、系统之中。在制定生产计划时,各类数据的汇总、统计、分析、查询、更新等不仅耗时耗力,而且数据不及时、不真实、不准确的情况时有发生,导致生产计划跟不上变化,该生产的没安排,不该生产的,或非紧急的却生产很多,车间、仓库堆得哪哪都是,不仅浪费资源,更严重影响业务运转和订单交期。 一款好用的生产计划管理软件,可为生产型企业建立一个集成、实时、精准的生产数据中心。像智邦国际生产计划管理软件(https://www.wendangku.net/doc/307519155.html,),用统一格式、统一标准,将生产计划紧密关联的客户需求、销售过程、订单数量等全部记录在一套系统中,实现对生产环节及相关业务资源的数字化重组和实时化管理。 任何一个环节数据的变动,在系统中都能实时感知,同步更新,以便生产管理人员及时结合销售、采购、库存等多方数据,更加精准高效的制定生产计划。并且,系统支持生产计划变更,以及群发变更通知,充分考虑了生产计划制定过程中,可能出现的各种突发问题,将业务变动对生产过程的影响和损失降到最低。 生产计划管理软件:实现生产、业务自动流转 生产计划向前需要及时把控销售订单、客户需求、市场预测等信息,向后决定着物料需求、采购计划、生产排程等的精准制定,需从全局角度对生产活动进

生产计划排程软件

百乔罗经典课程 2010年9月16-17日北京 2010年9月18-19日广州 2010年10月21-22日上海 2010年10月30-31日深圳 【主办单位】:BCG-百乔罗管理咨询有限公司 【参加对象】:生产总监、生产经理、生产计划相关人员、车间主任、物料主管,采购主管及相关人员 【收费标准】:¥2600元/人(含培训费、教材费、午餐费、茶点费等) 【报名时间】:即日起接受报名 【报名电话】: 【温馨提示】本课程可为企业提供上门内训服务,欢迎来电咨询! 课程风格 “60/40”时间原则(讲师40%,学员60%)、小组讨论/发表、管理电影分享/研讨、案例分析、情景仿真、自带企业资料现场诊断和实作对策、游戏分享、学员与学员、讲师互动相辅而成、少讲理论多讲实践经验,要求学员课堂结合本公司实际情况量身订做提出问题(可在课堂打断讲师思路),不是纯粹填鸭灌输,也不是研究客观案例.而是让学员体验执行过程,关注现实事例. 面对面向老师提出问题,老师需要提出解决问题措施/方案。 请同 学先在公司开会收集问题。带问题来,带方案走 授课师资 不是职业培训师,而是在职执行管理者+富有实践经验培训师+公司负责人 课程收益curriculum earnings 认证费用:中级600元/人;高级800元/人(不参加认证考试的学员无须交纳)

1.凡参加认证的学员,在培训结束参加考试合格者由<<国际职业认证标准联合会>> 颁发<<生 产管理师>>国际国内中英文版双职业资格证书,国际国内认证/全球通行/雇主认 可/官方网上查询; 2.凡参加认证的学员须提交本人身份证号码及大一寸数码照片; 3.课程结束后15个工作日内将证书快递寄给学员; 4.此证可申请中国国家人才网入库备案。 课程大纲curriculum introduction 生产计划/物料控制实操技法班 第一室:銷售計划/生産計划/物料計划协调接口管理 1.銷售計划/生産計划角色和定位---订单总导演/总指挥 2.銷售計划/生産計划/物料計划先进组织架构 ?东莞诺基亚公司銷售計划/生産計划/物料計划组织架构 3.生産計划/物料控制五大职能----欠料分析跟进/备料功能/呆料预防--处理--------- 4.生产计划与销售业务链接流程- ?准时生产计划VS市场业务部VS客户“三赢”规则 ?中兴通讯销售计划/生产计划/物料计划接口职能图/资源图实例分析 ?美的集团连续滚动周计划负荷分析和三天生产计划不能变职能图 ?一汽大众锁定一周生产计划不能变控制流程實例分析 ?有效控制扦单、急单、补单/加单五种措施(范例)-----中山某有限公司 ?通过市场调查/信息反馈提高订单预测准确率三大做法 5.销售预测与长、中、短期生产计划管理模式解析 ?銷售预测計划/生产计划变化反馈和预测库存控制协调管理 ?滚动銷售预测計划微调制度化降低预测库存成本原理分析 ?銷售計划流程――销售预测流程/销售计划流程/备货计划流程/生产计划 流程 ?华强三洋销售预测流程/销售计划流程/备货计划流程/生产计划流程案例 分析 6.制造业生产计划控制三种模式――预期滚动计划系统/推进式(push)生产控制系 统/拉动式(pull)生产控制系统 ?世界五百強企業.施耐德電氣Schneider推进式生产控制系统 ?预期滚动计划编制程序/特点/运作-----有效控制急单/插单/多单模式 ?传统推进式与准时化生产拉动式流程图范例解析

放疗靶区勾画系统的设计与开发

医院数字化管理DIGITALIZED HOSPITAL MANAGEMENT 引言 在放疗定位CT图像上勾画肿瘤靶区与周围正常器官是放射治疗流程中至关重要的上流环节。目前,临床上靶区的勾画大多在国内外厂家开发的商业治疗计划系统(Monaco?、Pinnacle TM等)上完成,其功能比较丰富,基本可以满足临床需求,但是用户个性化的功能却难以定制。特别是当前人工智能在医学包括放疗领域内逐渐铺开应用背景下[1-5],医学影像中的灰度、纹理、区域统计等信息是大数据和深度学习技术应用的关键基础[6-13],而目前临床上广泛使用的多数商业系统缺乏相应的数据接口,相应的研究工作也难以开展。本研究旨在自主开发一套放疗靶区勾画系统,配备基本的临床功能,也同时开发出供学者研究的数据接口。 1 材料与方法 1.1 系统简介 本靶区勾画系统——Scarts系统2.0版采用窗口式交互界面,使用菜单或按键的方式实现各功能。系统采用Visual C++作为系统开发、设计平台[14],具有开放的系统结构和巨大的扩展能力,全面支持医疗行业国际标准DICOM。Scarts 可安装运行于Windows 2000/XP/7/10系统上,安装包使用Inno Setup[15-16]开源软件制作,安装过程为交互性的操作方式。 1.2 DICOM标准 DICOM[17](Digital Imaging and Communications in Medicine)是医学图像存储和传输的国际通用标准。DICOM文件包含文件头和数据集合,文件头包含标识数据集合的相关信息,数据集合包含医学图像及患者、序列等相关信息。本系统根据DICOM文件标准设计读取及存储程序,方便与外界系统的直接对接。 1.3 图像配准 系统为多时序CT及MRI影像提供影像配准的功能。用户可采用点配准或者灰度配准方式: (1)点配准:分别在图像A和图像B上定义对应的三组解剖结构点或者标志点,由系统按公式(1)计算出配准相似度R。 R=∑(pA'-pB)2/3(1)其中pB和pA'是分别来自图像B和配准后的图像A 上的对应点的坐标。然后对R进行优化后确定最优配准参数,进行图像转换,完成配准。 放疗靶区勾画系统的设计与开发 谭燕,王培,郎锦义,黎杰,王先良,唐斌 四川省肿瘤医院放疗科,四川成都 610041 [摘 要] 目的本文旨在自主研发一套可以完成临床靶区勾画功能的系统,满足放疗临床的基本需求。方法 本系统以Visual C++作为开发平台,全面支持DICOM标准文件的操作。结果 系统能够完成多时序CT间或CT与MRI图像之间的配准、临床靶区与危及器官的勾画等基本功能。结论该系统操作简单,运行稳定,作为自主开发的系统,提供开展图像数据相关研究工作的接口,未来可添加更多的临床实用功能。 [关键词] 靶区勾画系统;DICOM;影像配准;自动勾画 Design and Development of Target Delineation System for Radiotherapy TAN Yan, WANG Pei, LANG Jinyi, LI Jie, WANG Xianliang, TANG Bin Department of Radiotherapy, Sichuan Cancer Hospital, Chengdu Sichuan 610041, China Abstract: Objective To meet the basic needs of clinical radiotherapy, a target delineation system for radiotherapy was designed independently. Methods Visual C++ was used as the system development platform and the operation of DICOM standard files was fully supported. Results Such basic functions as image registration between different multiple time series CT or between CT and MRI and delineation of clinical target volume and organs at risk could be achieved by the system. Conclusion This system is simple in operation and stable in running. As an independently developed system, it provides an interface for the research work related to image data, and more clinical practical functions can be added in the future. Key words: target delineation system for radiotherapy; DICOM; image registration; auto-segmentation [中图分类号] TP391.7;R730.55 [文献标识码] C doi:10.3969/j.issn.1674-1633.2018.10.034 [文章编号] 1674-1633(2018)10-0132-02 收稿日期:2018-07-16 修回日期:2018-08-06 基金项目:国家重点研发计划数字诊疗装备研发重点专项 (2017YFC0113100)。 通讯作者:唐斌,副研究员,主要研究方向为放疗剂量计算、软件 开发。 通讯作者邮箱:jackytang86@https://www.wendangku.net/doc/307519155.html, 中国医疗设备 2018年第33卷 10期 V OL.33 No.10 132

操作手册-PP-050-月度生产计划

ERP(SAP)操作手册 文档描述:月度生产计划 文档名称:操作手册-PP-050月度生产计划.doc

修改历史: 审批控制:

目录 简要说明 (4) 1. 创建月度生产计划 (4) 1.1处理路径 (4) 1.2初始屏幕--物料模式 (5) 1.3创建月度生产计划:计划表 (6) 1.4查询月度生产计划:计划表 (6)

简要说明 月度生产计划是执行生产业务执行过程中的计划依据,山东肥业的月度生产计划将按照车间、产品规格创建生产计划,同时需要根据实际计划情况将月度计划分解到每天、每个班组。 1. 创建月度生产计划 月度生产计划创建包含: ?创建生产计划 根据生产部的月度计划,才SAP中按照车间、产品规格创建计划表。 ?分配生产计划 根据生产部的月度计划,将月度计划分解、分配到每天、每个班组。 1.1处理路径 菜单Sap 菜单 > 后勤 > 生产 > 重复制造 > 计划 > 计划表 > MF50-更改模式 事务代码MF50

1.2 初始屏幕--物料模式 字段简要说明状态用户维护备注工厂生产工厂编码必输项2410 物料需要排产的物 料编码 必输项 开始排产的计划开 始时间 必输项 结束排产的计划结 束时间 必输项 期间计划表按照什 么模式显示必输项月月度计划则选 择期间:月 然后按“计划表”键进入下一屏幕。

1.3 创建月度生产计划:计划表 字段说明状态用户维护备注 没有被分配没有分配到班组的计 划月度生产计划的数值 在竖列的月份与横列没有被分配的交叉处维护月度生产计划! 然后存盘,该物料的月度计划维护完毕 1. 4查询月度生产计划:计划表 菜单Sap 菜单 > 后勤 > 生产 > 重复制造 > 计划 > 计划表 > MF50-更改模式事务代码MF52

车间生产管理系统精细版.doc

车间生产管理系统 随着制造信息化的不断深入、市场不断地发展,产品的竞争越来越激烈,市场给企业带来的压力也越来越大。企业要在激烈市场竞争中占据有利的地位,就要不断地改进自己企业管理的思想,降低产品的成本,不断地增强企业的核心竞争力,同时还要提高产品的质量以及为 用户提供优质的服务。 目前,车间生产管理还主要是以粗放式的手工管理为主,这样的管理远远落后于市场以及用户对企业的要求。一个企业要想生产出高质量、低成本的产品,就必须对生产管理进行信息化,用计算机的精确管理、控制代替手工的粗放式管理,用以实现生产管理的有效 性、高效率性以及低成本性。 作为国家“十五”863计划重点支持产品项目,WorkshopManager吸收了先进企业管理思想,并结合我国生产企业的实际,采用先进的客户/服务器、浏览器/服务器模式、COM 组件等先进的计算机软件设计技术,自主设计和开发了以生产计划为动力的 WorkshopManager系统软件。 WorkshopManager功能完备,系统不仅具有良好的二次开发性能,而且与CAPP、PDM 等信息管理系统能够紧密集成,适合各种类型制造业生产车间应用。 一、WorkshopManager的特点 先进的管理思想与国情相结合 集成的综合解决方案 强大的功能及灵活性 支持多种或混合生产模式 完善的功能权限管理 大数据量下的优异性能 开放式的体系结构 支持UNIX和Windows NT平台 直观的图形化用户界面 操作简单,应用方便 高性能价格比 支持ISO9000标准系列的要求 二、功能模块 基础数据模块 质量管理模块 库存管理模块

生产控制模块 工具管理模块 成本管理模块 三、产品详细说明 【基础数据】 管理和维护系统运行的基础数据,包括各种数据的定义、用户定义、权限定义、日 志维护等。 工时定额管理:工时定额的输入及维护,为生产监控、生产成本及人事管理提供工 时信息; 工厂日历管理:工厂日历的生成及维护,为生产监控及人事管理提供工作日与生产 日信息; 工作中心管理:工作中心的定义,工作中心能力的维护,为生产监控提供设备的能 力信息; 设备管理:设备代码定义与维护,为生产监控提供设备代码信息; 人员管理:人员代码定义与维护,用于生产监控与人事管理提供人员代码信息; 超级用户管理:定义系统的操作用户,管理操作用户的权限,查询系统的操作日志 等。 【生产监控】 根据公司下达的定单与批卡、产品工艺路线、物料清单以及设备状态、库存状态、生产进度等生成车间的月、周生产作业计划;根据周生产作业计划、工模具的准备情况及生产进度等生成零件加工的日作业计划,进行作业的动态调度;实现计划的临时追加与调整;核算设备的能力与负荷情况;监控生产过程,实现生产现场的动态调度,完成生产进度预测和生产任务完成情况的统计及上报;实现车间在制品的实时监控;实现设备的监控和管理; 并对职工出勤情况和完成工时情况进行监督。

相关文档
相关文档 最新文档