Search Images Maps Play YouTube News Gmail Drive More »
Advanced Patent Search | Web History | Sign in

Patents

The subject invention relates to systems and methods that facilitate display, selection, and management of context associated with execution of add-on instructions. The systems and methods track add-on instruction calls provide a user with call and data context, wherein the user can select a particular add-on instruction context from a plurality of contexts in order to observe values and/or edit parameters associated with the add-on instruction. The add-on instruction context can include information such as instances of data for particular lines of execution, the add-on instruction called, a caller of the instruction, a location of the instruction call, references to complex data types and objects, etc. The systems and methods further provide a technique for automatic routine selection based on the add-on instruction state information such that the add-on instruction executed corresponds to a current state.

Claims

1. A system that automatically selects an add-on instruction for execution by an industrial device, comprising:

a first component that detects an add-on instruction call from a user program executing within the industrial device;

a second component that determines a state of the add-on instruction; and

a third component that provides a routine within the add-on instruction for execution, based at least in part on the state of the add-on instruction.

2. The system of claim 1, the state of the add-on instruction is one of a normal state; a pre-scan state; a post-scan state; and an enable false state.

3. The system of claim 1, the third component alternatively selects the routine based on a state of an equipment phase program module.

4. The system of claim 3, the state of an equipment phase program module is one of an aborting state; a holding state; a resetting state; running state; and a stopping state.

5. The system of claim 1, the add-on instruction includes and relates one or more routines, parameters, and state data associated with performing one or more control sequences.

6. The system of claim 1, the user program and the add-on instruction are generated via similar or different languages.

7. The system of claim 6, the languages include one or more of structured text (ST), sequential function chart (SFC), functional block diagram (FBD), instruction list (IL), ladder diagram (LD), C, C++, C#, Graphical Motion Language (GML), Java, and Flow-Charts.

8. The system of claim 1, the add-on instruction is passed a parameter by reference.

9. The system of claim 1, the add-on instruction is passed at least one of a complex data type and an object as a reference parameter.

10. The system of claim 1, the add-on instruction is passed a parameter via one of an array and a matrix.

11. The system of claim 1, an add-on instruction call presentation in the user program is automatically determined based on at least one of a parameter configuration defined for the add-on instruction and the language of the program.

12. The system of claim 1, further comprising a data context manager that tracks calls from user programs to add-on instructions.

13. The system of claim 12, further comprising a presentation component that displays add-on instruction context.

14. The system of claim 13, a particular add-on instruction context is selected from the displayed context by a user in order to observe instance data and passed references associated with the call of the particular add-on instruction.

15. The system of claim 13, the add-on instruction context includes information regarding at least one of a call to an add-on instruction, an initiator of the call, a location of the call, the add-on instruction called, a passed reference to a complex data type, a passed reference to an object, and an instance of data of an instruction.

16. The system of claim 13, the add-on instruction context is maintained to definitively set values in a particular add-on instruction context.

17. The system of claim 1, the add-on instruction is from a library of add-on instructions.

18. The system of claim 17, the library is based on one of a markup language, binary file, and an SQL database.

19. The system of claim 1, the add-on instruction is associated with one or more of a read, a write, and an execute privilege to limit access to the add-on instruction to authorized users.

20. The system of claim 1, nested instructions within the add-on instruction are automatically copied to a project and/or library when a parent instruction is copied to the project and/or library.

21. The system of claim 1, further comprising a component that resolves name conflicts between add-on instructions with similar names.

22. The system of claim 1, the add-on instruction is encrypted, encoded, and/or password protected to mitigate unauthorized access.

23. The system of claim 1, further comprising a component that automatically generates help for the add-on instruction.

24. The system of claim 23, the help is modified to include at least one of additional text, html, drawings, audio, and external links.

25. A method that facilitates instruction-call data context management, comprising:

retaining data context associated with a call to an add-on instruction;

providing the data context as a selectable entry within a list of context information to a user; and

selecting the data context of the add-on instruction from the list to observe data and edit parameters associated with the add-on instruction.

26. The method of claim 25, further comprising displaying the add-on instruction call in a language determined by its parameter configuration.

27. The method of claim 25, further comprising using the data context in order to definitively set a value in a particular context.

28. A method that facilitates routine selection within an industrial device, comprising:

receiving a call for an add-on instruction;

determining a state of the add-on instruction; and

automatically selecting a routine for execution based on the state of the add-on instruction.

29. The method of claim 28, further comprising passing one of a value parameter and a reference parameter by reference to the add-on instruction.

30. The method of claim 29, the value parameter is one of an In and an Out parameter.

31. The method of claim 29, the reference parameter is an InOut parameter.

32. The method of claim 28, further comprising passing at least one of a complex data type and an object to the add-on instruction.

33. A method that facilitates generation of add-on instructions for employment within an industrial device, comprising:

relating and aggregating a plurality of routines, parameters, and state data in a first language; and

creating a program in a second language that calls one or more routines from the add-on instruction to set a value for a process the industrial device is controlling.

34. The method of claim 33, further comprising utilizing a relaxed editing mode to relate and aggregate the routines, parameter, and state data.

35. The method of claim 34, the relaxed editing mode enables a user to write logic for routines, define parameters, and/or generate interfaces in any order including switching between writing logic, defining parameters, and generating interfaces at any time without compromising the add-on instruction.

36. The method of claim 34, the relaxed editing mode further enables the user to save an incomplete form of the add-on instruction and complete the add-on instruction at a later time.

37. A system that facilitates instruction-call management, comprising:

means for calling an add-on instruction;

means for determining a state of the add-on instruction data; and

means for selecting a routine within the add-on instruction based on the state of the add-on instruction.