[go: up one dir, main page]

EP1665037A1 - Traceability of production control activities - Google Patents

Traceability of production control activities

Info

Publication number
EP1665037A1
EP1665037A1 EP04770405A EP04770405A EP1665037A1 EP 1665037 A1 EP1665037 A1 EP 1665037A1 EP 04770405 A EP04770405 A EP 04770405A EP 04770405 A EP04770405 A EP 04770405A EP 1665037 A1 EP1665037 A1 EP 1665037A1
Authority
EP
European Patent Office
Prior art keywords
code
database
window
control
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP04770405A
Other languages
German (de)
French (fr)
Inventor
Liam O'riordan
Donal Moynihan
Frank Madden
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Crest Waterfront Ltd
Original Assignee
Crest Waterfront Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Crest Waterfront Ltd filed Critical Crest Waterfront Ltd
Publication of EP1665037A1 publication Critical patent/EP1665037A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24168Identify connected programmer to allow control, program entry
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24169Identification of last person who changed program

Definitions

  • the invention relates to generation of audit trails particularly for production environments where compliance with auditing standards and/or policies is required.
  • a central production system connected to distributed controllers for machines such as a machine vision system, a placement machine, and a reflow oven.
  • distributed controllers for machines such as a machine vision system, a placement machine, and a reflow oven.
  • Each of the distributed controllers performs machine control operations as part of which data is logged concerning parameter change events.
  • One such event may for example be change-over from production of one batch to another, or a change in a vessel temperature.
  • a code generation module scanning each linked control in turn and automatically providing capture code for, during runtime, causing an audit log update to be made in response to a user input;
  • the hidden window components operate to create an access control database structure having a record for each window, for each control, and for each of a plurality of user groups.
  • the method comprises the further step of, after compiling in step (g), populating the access control database structure with user access permissions on a per-control and per-window basis.
  • step (e) comprises the code generation module selecting pre-stored capture code segments according to nature of the control or window.
  • the pre-stored segments are indexed on events.
  • the events are user input categories.
  • the events include text box change, drop down list check, drop down list change, window commit button press, and check box activation.
  • each hidden window component comprises a database logging function
  • the capture code for a linked control includes code to call said function when it detects a user input in runtime.
  • said function includes code to, in turn, instruct an external program to perform a database write to complete the update.
  • the external program is a dynamic linked library program.
  • the method comprises the additional step of linking the application to an audit log database using an object linking and embedding database mechanism.
  • the invention provides a control system comprising machine controllers for production machines, application software code for executing production control logic, an access control database, and an audit trail logging database, wherein the system further comprises: security software comprising capture code for automatically capturing operator input change events, wherein the capture code is embedded within the application code, and it calls a separate program to perform a logging database update so that low-level database parameters are transparent to the embedded capture code.
  • the security software allows the access control database to be updated during run-time with permissions on a user group basis.
  • the permissions are also set for each user data/instruction input control, and for each window containing controls.
  • the security software comprises a hidden window component associated with each application input window, the hidden window component being hidden from users during runtime, and being linked with capture code segments.
  • each hidden window component comprises a logging function
  • linked capture code segments call said logging function in real time when an input is detected.
  • the logging function calls an external logging function to perform the logging database update.
  • the external logging program is a dynamic linked library program.
  • FIG. 1 is a block diagram showing a production control system of the invention
  • Fig. 2 is a diagram showing a controller of the system.
  • Fig. 3 is diagram showing relationship between hidden window components and application controls;
  • Fig. 4 shows a screen shot of representations of a component and linked controls
  • Fig. 5 is diagram illustrating structure of an access control database
  • Fig. 6 is a diagram showing how capture code is generated and used.
  • a production control system 1 comprises a central production controller 2 having a primary production control database 3.
  • the controller 2 is connected to workstations 3 in a local area network. It is also connected to distributed production machine controllers including a solder paste reflow oven controller 6, a machine vision system controller 7, and a placement machine controller 8.
  • distributed production machine controllers including a solder paste reflow oven controller 6, a machine vision system controller 7, and a placement machine controller 8.
  • the controller 2 comprises: a hardware layer 20 linked to a camera 21, an audit log database 22, an access control database 23, a PLC 24, and a network channel 25 for communication with the machine controllers 6, 7, and 8; an operating system 30; a vision toolset 31 for camera control and data capture; a PLC interface 32 for control of the PLC 24 and data capture from it;
  • the application software 34 manages the functions 31, 32, and 33 together for synchronised real time production control. For example it ensures that tlie PLC 24 controls the motion system in synchronisation with the camera 21 for effective image acquisition.
  • the security software 35 is integrated with the application software 34.
  • the application software 34 is developed in a conventional manner without security considerations.
  • development of this software is complete, a connection between the application and the audit log database 22 is established, the security software 35 is developed and integrated in, and the database 23 developed.
  • the connection to the audit log database 22 is established using an object linking and embedding database (OLEDB) mechanism.
  • OLEDB object linking and embedding database
  • This mechanism creates a connection between the application and the database while making physical location of the database transparent. This allows database write operations from within the application.
  • the mechanism stores a set of application database credentials for each application. There may be many one-to-one application-database links.
  • Each ActiveX TM window control introduced for the security code is hidden, i.e. it is not associated with a visible user display. It is henceforth referred to as a "hidden window component”. For clarity, only two hidden window components 42, are illustrated. Each hidden window component 42 is linked with the family of application controls for that particular window (or "form").
  • Each hidden window component 42 then automatically scans the application code and generates a list of application controls that can be tracked, and the developer confirms which are to be tracked.
  • the term "tracked" in this context means that user activity involving the application control during runtime will give rise to a log entry.
  • Fig. 3 a hidden window component 42 and application controls 40 which are tracked, as viewed on-screen by the developer, are shown.
  • the characteristics of the three application controls 40 are shown, and the display indicates how the developer may enable or disable a link to each AC 40 after it has been automatically detected.
  • the component 42 which is "dropped” then executes to automatically generate part of the structure of the access control database 23, having a record 51 for each window of the application, and a record 52 for each control (button, data input field, etc) of each window.
  • a table 50 having a record for each application. This provides a hierarchical structure from top down of application, window (form), and control, as illustrated in Fig. 5.
  • an access control permissions table 55 having a set of blank records for access control permissions for access to all of the three levels above by user groups.
  • the hidden window component 42 introduced by the developer of the security software has established tracking links with all of the application controls 40 of that window for which user inputs are to be tracked.
  • a fresh hidden window component 42 is introduced for each window of the application and the steps of llinking with controls within that window are repeated.
  • it has established an empty access control database 23 having records for the tracked controls and windows.
  • a code generation module scans through the database 23 and, for each application control record 52 identified, automatically generates and inserts capture code in the application code.
  • the capture code is for, during runtime of the application, automatically logging a user data/instruction input at the control to the audit log database 22.
  • the code generation module includes a library 60 of capture code segments.
  • Each segment 60 is associated with a control event 61 i.e. an event associated with user input of data or an instruction for production control.
  • the examples of events 61 given include text box change, namely user editing or inputting of data in a text box.
  • Another example is pressing of a window commit button, which causes all data or instructions inputted at controls of a window to be simultaneously committed to the production control database.
  • the code generation module scans the access control database 23 and selects an appropriate capture code segment 60 for each event of each control and each window. It then inserts the selected capture code segments 60 in the application code.
  • the application code is of the event-driven type, and so there is no need to insert the capture code segments at any particular locations.
  • capture code segments 60 are given below. Each segment is between the instructions “Private Sub” and “End Sub”. These code samples include comments indicating to another developer how the code came about. Private Sub Checkl_Change()
  • the "end-product" security software 35 comprises the capture code segments and hidden window components embedded in the application code 34, the access control database 23, and the audit log database 22 and DLL programs.
  • an access control module of the security software populates the access control database 23 with inputs from a supervisor.
  • the supervisor is allowed input an access permission for each authorised user group for each control and each window. This task may be re-done at any future stage without modification of the compiled application and security code.
  • the applications 34 execute to perform production control.
  • the security software allows only authorised inputs at the controls of tlie applications, both at the window level and at the lower level of controls within the windows. This is performed in accordance with the permissions of the access control database 23.
  • a control button comprehensive data concerning this is captured. For example if an operator changes a temperature display from 60°C to 59°C and then back to 60°C the security software detects this change as events. It logs to the database an event for each of the temperature setting digit changes: (a) 6 -> 5, (b) 0 -> 9, (c) 5 -> 6, and (d) 9 -> 0.
  • the invention provides for development of comprehensive security software which operates within the applications for very fast and effective access control and audit trail logging. Also, because the capture code is embedded in the application code it is exceptionally difficult for an unauthorised user to circumvent. These advantages have been achieved without need for the security software to be developed at the same and/or by the same team as the application software. It can be developed separately, after development of the application code, but before it is compiled. Also, because of the compact nature of the capture code, it imposes very little processor overhead. The comprehensive and embedded nature of the security software allows it to be deployed in production control environments where accountability and audit trail tracking is of paramount importance, such as in pharmaceutical manufacturing.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)

Abstract

A controller (2) of a production control system (1) comprises application software (34) for controlling various machine controllers such as vision tools (31), and a PLC interface (32). Security software (35) ensures that only authorised persons have access to the application software (34), and that such access is controlled on a per-window and per-control basis. It also logs user input events to an audit log database (22) in real time. In the fully developed system (1) the security code (35) is fully integrated with the application code (35). This ensures efficient operation and makes it very difficult to circumvent security safeguards. However, during development the application code (34) can be developed independently and the security code (35) is then integrated into it in a simple manner and with a large degree of automation.

Description

"Traceabilitv of production control activities"
INTRODUCTION
Field of the Invention
The invention relates to generation of audit trails particularly for production environments where compliance with auditing standards and/or policies is required.
Prior Art Discussion
In many production facilities there are several different systems each performing a specific task. For example, there may be a central production system connected to distributed controllers for machines such as a machine vision system, a placement machine, and a reflow oven. Each of the distributed controllers performs machine control operations as part of which data is logged concerning parameter change events. One such event may for example be change-over from production of one batch to another, or a change in a vessel temperature.
In many such environments there is a very large volume of activities which should be audited, and at present this is typically managed manually using paper-based records. This is hugely time-consuming.
There is therefore a need for computerised audit trail systems to independently record the date and time of operator entries and actions that create, modify, or delete electronic records concerning the production process. Heretofore, the approach has been to develop audit logging code and access control code together with application code in an integrated manner. This helps to ensure that security can not be easily bypassed, however, it also tends to cause a long development lead time and inflexibility as regards system modification later.
The invention addresses these problems. SUMMARY OF THE INVENTION
According to the invention, there is provided a method of developing production control software comprising the steps of:
(a) developing production control application software;
(b) before compiling the application software, activating a hidden window program component to scan through the application software to locate all user input controls for a particular window;
(c) linking the hidden window component with each user input control the user inputs of which are to be tracked during runtime; (d) repeating steps (b) and (c) for each subsequent application software window;
(e) a code generation module scanning each linked control in turn and automatically providing capture code for, during runtime, causing an audit log update to be made in response to a user input;
(f) the code generation module inserting the capture code in the application code; and (g) compiling the application code, the hidden window components, and the capture code together.
In one embodiment, the hidden window components operate to create an access control database structure having a record for each window, for each control, and for each of a plurality of user groups. In another embodiment, the method comprises the further step of, after compiling in step (g), populating the access control database structure with user access permissions on a per-control and per-window basis.
In a further embodiment, the step (e) comprises the code generation module selecting pre-stored capture code segments according to nature of the control or window.
In one embodiment, the pre-stored segments are indexed on events.
In another embodiment, the events are user input categories.
In a further embodiment, the events include text box change, drop down list check, drop down list change, window commit button press, and check box activation.
In one embodiment, each hidden window component comprises a database logging function, and the capture code for a linked control includes code to call said function when it detects a user input in runtime.
In another embodiment, said function includes code to, in turn, instruct an external program to perform a database write to complete the update.
In a further embodiment, the external program is a dynamic linked library program.
In one embodiment, the method comprises the additional step of linking the application to an audit log database using an object linking and embedding database mechanism.
In another aspect, the invention provides a control system comprising machine controllers for production machines, application software code for executing production control logic, an access control database, and an audit trail logging database, wherein the system further comprises: security software comprising capture code for automatically capturing operator input change events, wherein the capture code is embedded within the application code, and it calls a separate program to perform a logging database update so that low-level database parameters are transparent to the embedded capture code.
In one embodiment, the security software allows the access control database to be updated during run-time with permissions on a user group basis.
In another embodiment, the permissions are also set for each user data/instruction input control, and for each window containing controls.
In a further embodiment, the security software comprises a hidden window component associated with each application input window, the hidden window component being hidden from users during runtime, and being linked with capture code segments.
In one embodiment, each hidden window component comprises a logging function, and linked capture code segments call said logging function in real time when an input is detected.
In another embodiment, the logging function calls an external logging function to perform the logging database update.
In a further embodiment, the external logging program is a dynamic linked library program.
DETAILED DESCRIPTION OF THE INVENTION
Brief Description of the Drawings The invention will be more clearly understood from the following description of some embodiments thereof, given by way of example only with reference to the accompanying drawings in which:- Fig. 1 is a block diagram showing a production control system of the invention;
Fig. 2 is a diagram showing a controller of the system. Fig. 3 is diagram showing relationship between hidden window components and application controls;
Fig. 4 shows a screen shot of representations of a component and linked controls;
Fig. 5 is diagram illustrating structure of an access control database; and
Fig. 6 is a diagram showing how capture code is generated and used.
Description of the Embodiments
Referring to Fig. 1 a production control system 1 comprises a central production controller 2 having a primary production control database 3. The controller 2 is connected to workstations 3 in a local area network. It is also connected to distributed production machine controllers including a solder paste reflow oven controller 6, a machine vision system controller 7, and a placement machine controller 8. For compliance with standards for traceability, it is essential that all of the units which implement instructions affecting traceability must log the actions together with the identity of the person responsible. It is also essential that there be access control so that only authorised persons are in a position to input instructions for production modifications.
Referring to Fig. 2 the controller 2 comprises: a hardware layer 20 linked to a camera 21, an audit log database 22, an access control database 23, a PLC 24, and a network channel 25 for communication with the machine controllers 6, 7, and 8; an operating system 30; a vision toolset 31 for camera control and data capture; a PLC interface 32 for control of the PLC 24 and data capture from it;
ERD OB DL links 33 for the channel 25; application software 34; and security, access control, and traceability software 35 (henceforth "security" software).
The application software 34 manages the functions 31, 32, and 33 together for synchronised real time production control. For example it ensures that tlie PLC 24 controls the motion system in synchronisation with the camera 21 for effective image acquisition.
The security software 35 is integrated with the application software 34. However the application software 34 is developed in a conventional manner without security considerations. When development of this software is complete, a connection between the application and the audit log database 22 is established, the security software 35 is developed and integrated in, and the database 23 developed.
The connection to the audit log database 22 is established using an object linking and embedding database (OLEDB) mechanism. This mechanism creates a connection between the application and the database while making physical location of the database transparent. This allows database write operations from within the application. The mechanism stores a set of application database credentials for each application. There may be many one-to-one application-database links.
The developer then, using a development GUI "drops" an ActiveX window control onto each window of the application in turn. As shown in Fig. 3, there are a number of conventional application controls ("ACs") 40 within the application. Each ActiveX window control introduced for the security code is hidden, i.e. it is not associated with a visible user display. It is henceforth referred to as a "hidden window component". For clarity, only two hidden window components 42, are illustrated. Each hidden window component 42 is linked with the family of application controls for that particular window (or "form").
Each hidden window component 42 then automatically scans the application code and generates a list of application controls that can be tracked, and the developer confirms which are to be tracked. The term "tracked" in this context means that user activity involving the application control during runtime will give rise to a log entry. Thus, after this operation, there is a link between each hidden window component 42 and each application control 40 to be tracked. This is shown diagrammatically in Fig. 3. Referring to Fig. 4 a hidden window component 42 and application controls 40 which are tracked, as viewed on-screen by the developer, are shown. The characteristics of the three application controls 40 are shown, and the display indicates how the developer may enable or disable a link to each AC 40 after it has been automatically detected.
The component 42 which is "dropped" then executes to automatically generate part of the structure of the access control database 23, having a record 51 for each window of the application, and a record 52 for each control (button, data input field, etc) of each window. There is also a table 50 having a record for each application. This provides a hierarchical structure from top down of application, window (form), and control, as illustrated in Fig. 5. There is also an access control permissions table 55 having a set of blank records for access control permissions for access to all of the three levels above by user groups. Thus, the hidden window component 42 introduced by the developer of the security software has established tracking links with all of the application controls 40 of that window for which user inputs are to be tracked. A fresh hidden window component 42 is introduced for each window of the application and the steps of llinking with controls within that window are repeated. Also, it has established an empty access control database 23 having records for the tracked controls and windows.
Thus, at this development stage there is a comprehensive record of all data/instruction input points of the particular application.
When the access control database 23 is complete, a code generation module scans through the database 23 and, for each application control record 52 identified, automatically generates and inserts capture code in the application code. The capture code is for, during runtime of the application, automatically logging a user data/instruction input at the control to the audit log database 22.
Referring to Fig. 6 the code generation module includes a library 60 of capture code segments. Each segment 60 is associated with a control event 61 i.e. an event associated with user input of data or an instruction for production control. The examples of events 61 given include text box change, namely user editing or inputting of data in a text box. Another example is pressing of a window commit button, which causes all data or instructions inputted at controls of a window to be simultaneously committed to the production control database.
The code generation module scans the access control database 23 and selects an appropriate capture code segment 60 for each event of each control and each window. It then inserts the selected capture code segments 60 in the application code. In this embodiment the application code is of the event-driven type, and so there is no need to insert the capture code segments at any particular locations.
Examples of capture code segments 60 are given below. Each segment is between the instructions "Private Sub" and "End Sub". These code samples include comments indicating to another developer how the code came about. Private Sub Checkl_Change()
' This logging code was automatically added by SecureBASE for Checkl Change event SecureBasel.Exec "INSERT INTO Crest_ControlsHistory (ControlName, PropertyName, PropertyValue, Username, Role) VALUES ('Checkl', 'Change', '" & Checkl. Value & "',"' & SecureBasel.CurrentUser & '"," & SecureBasel.CurrentRole & ")" ' Do not edit above this line - this code was automatically added by
SecureBASE
End Sub
Private Sub Textl_Change()
' This logging code was automatically added by SecureBASE for Textl SecureBasel.Exec "INSERT INTO Crest__ControlsHistory (ControlName, PropertyName, PropertyValue, Username, Role) VALUES ('Textl', 'Change',
'" & Textl. Text & '",'" & SecureBasel.CurrentUser & "'," & SecureBasel.CurrentRole & ")"
' Do not edit above this line - this code was automatically added by SecureBASE
End Sub
Private Sub Text2_Change()
' This logging code was automatically added by SecureBASE for Text2 SecureBasel.Exec "INSERT INTO Crest_ControlsHistory (ControlName, PropertyName, PropertyValue, Username, Role) VALUES ('Text2', 'Change', '" & Text2.Text & '",'" & SecureBasel.CurrentUser & '"," & SecureBasel.CurrentRole & ")" ' Do not edit above this line - this code was automatically added by SecureBASE
End Sub
As illustrated diagrammatically in Fig. 6, an audit log entry will be made by, during runtime:
(i) the capture code detecting, in real time, a user input at its associated control,
(ii) the capture code calling a logging function of the linked hidden window component 42;
(iii) the hidden window component function 42 calling a DLL program, and
(iv) the DLL performing a database write.
The application, together with the embedded capture code is then compiled into executable object code. Thus, the "end-product" security software 35 comprises the capture code segments and hidden window components embedded in the application code 34, the access control database 23, and the audit log database 22 and DLL programs.
At any stage after compiling the application and security code, an access control module of the security software populates the access control database 23 with inputs from a supervisor. The supervisor is allowed input an access permission for each authorised user group for each control and each window. This task may be re-done at any future stage without modification of the compiled application and security code. In run time, the applications 34 execute to perform production control. The security software allows only authorised inputs at the controls of tlie applications, both at the window level and at the lower level of controls within the windows. This is performed in accordance with the permissions of the access control database 23.
Any inputs are automatically logged by operation of the capture code embedded within the application code as described above in steps (i) to (iv).
As an event occurs involving editing of data in a control or "pressing" a control button comprehensive data concerning this is captured. For example if an operator changes a temperature display from 60°C to 59°C and then back to 60°C the security software detects this change as events. It logs to the database an event for each of the temperature setting digit changes: (a) 6 -> 5, (b) 0 -> 9, (c) 5 -> 6, and (d) 9 -> 0.
It also logs a higher-level event for the fact that the 60°C setting renamed the same. The above four lower-level events (a) to (d) are stored in a linked manner in a hierarchical structure of the database 22.
It will be appreciated that the invention provides for development of comprehensive security software which operates within the applications for very fast and effective access control and audit trail logging. Also, because the capture code is embedded in the application code it is exceptionally difficult for an unauthorised user to circumvent. These advantages have been achieved without need for the security software to be developed at the same and/or by the same team as the application software. It can be developed separately, after development of the application code, but before it is compiled. Also, because of the compact nature of the capture code, it imposes very little processor overhead. The comprehensive and embedded nature of the security software allows it to be deployed in production control environments where accountability and audit trail tracking is of paramount importance, such as in pharmaceutical manufacturing.
The invention is not limited to the embodiments described but may be varied in construction and detail.

Claims

Claims
1 A method of developing production control software comprising the steps of: (a) developing production control application software;
(b) before compiling the application software, activating a hidden window program component to scan through the application software to locate all user input controls for a particular window;
(c) linking the hidden window component with each user input control the user inputs of which are to be tracked during runtime;
(d) repeating steps (b) and (c) for each subsequent application software window;
(e) a code generation module scanning each linked control in turn and automatically providing capture code for, during runtime, causing an audit log update to be made in response to a user input;
(f) the code generation module inserting the capture code in the application code; and
(g) compiling the application code, the hidden window components, and the capture code together.
2. A method as claimed in claim 1, wherein the hidden window components operate to create an access control database structure having a record for each window, for each control, and for each of a plurality of user groups.
A method as claimed in claim 2, comprising the further step of, after compiling in step (g), populating the access control database structure with user access permissions on a per-control and per-window basis.
4. A method as claimed in any of claims 1 to 3, wherein the step (e) comprises the code generation module selecting pre-stored capture code segments according to nature of the control or window.
5. A method as claimed in claim 4, wherein the pre-stored segments are indexed on events.
6. A method as claimed in claim 5, wherein the events are user input categories.
7. A method as claimed in claim 6, wherein the events include text box change, drop down list check, drop down list change, window commit button press, and check box activation.
8. A method as claimed in any of claims 1 to 7, wherein each hidden window component comprises a database logging function, and the capture code for a linked control includes code to call said function when it detects a user input in runtime.
9. A method as claimed in claim 8, wherein said function includes code to, in turn, instruct an external program to perform a database write to complete the update.
10. A method as claimed in claim 9, wherein the external program is a dynamic linked library program.
11. A method as claimed in any of claims 1 to 10, comprising the additional step of linking the application to an audit log database using an object linking and embedding database mechanism.
12. A control system comprising machine controllers for production machines, application software code for executing production control logic, an access control database, and an audit trail logging database, wherein the system further comprises: security software comprising capture code for automatically capturing operator input change events, wherein the capture code is embedded within the application code, and it calls a separate program to perform a logging database update so that low-level database parameters are transparent to the embedded capture code.
13. A control system as claimed in claim 12, wherein the security software allows the access control database to be updated during run-time with permissions on a user group basis.
14. A control system as claimed in claim 13, wherein the permissions are also set for each user data/instruction input control, and for each window containing controls.
15. A control system as claimed in any of claims 12 to 14, wherein the security software comprises a hidden window component associated with each application input window, the hidden window component being hidden from users during runtime, and being linked with capture code segments.
16. A control system as claimed in claim 15, wherein each hidden window component comprises a logging function, and linked capture code segments call said logging function in real time when an input is detected.
17. A control system as claimed in claim 16, wherein the logging function calls an external logging function to perform the logging database update.
18. A control system as claimed in claim 17, wherein the external logging program is a dynamic linked library program.
EP04770405A 2003-09-26 2004-09-24 Traceability of production control activities Withdrawn EP1665037A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IE20030709 2003-09-26
PCT/IE2004/000130 WO2005031567A1 (en) 2003-09-26 2004-09-24 Traceability of production control activities

Publications (1)

Publication Number Publication Date
EP1665037A1 true EP1665037A1 (en) 2006-06-07

Family

ID=34385747

Family Applications (1)

Application Number Title Priority Date Filing Date
EP04770405A Withdrawn EP1665037A1 (en) 2003-09-26 2004-09-24 Traceability of production control activities

Country Status (3)

Country Link
EP (1) EP1665037A1 (en)
IE (1) IES20040650A2 (en)
WO (1) WO2005031567A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7444197B2 (en) 2004-05-06 2008-10-28 Smp Logic Systems Llc Methods, systems, and software program for validation and monitoring of pharmaceutical manufacturing processes
DE112010005606T5 (en) * 2010-05-28 2013-04-04 Mitsubishi Electric Corp. Logging device, logging system and control method for a logging device
CN120029872B (en) * 2025-04-24 2025-07-11 宁波天巡科技有限公司 Low-invasive user operation behavior acquisition system and method under QT framework

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5524238A (en) * 1994-03-23 1996-06-04 Breakout I/O Corporation User specific intelligent interface which intercepts and either replaces or passes commands to a data identity and the field accessed
CA2219557C (en) * 1997-10-29 2002-12-10 Ibm Canada Limited-Ibm Canada Limitee Run-time instrumentation for object oriented programmed applications

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
None *
See also references of WO2005031567A1 *

Also Published As

Publication number Publication date
IES20040650A2 (en) 2005-05-04
IE20040649A1 (en) 2005-05-04
WO2005031567A1 (en) 2005-04-07

Similar Documents

Publication Publication Date Title
CN101995860B (en) Use the system configuration of template
AU2001249273B2 (en) Method and system for top-down business process definition and execution
EP1391818A2 (en) Method, system and apparatus for an industrial framework based on integrated applications via adapters
AU2001249273A1 (en) Method and system for top-down business process definition and execution
CN101460991A (en) Strategy editor human-machine interface
CN111930354B (en) Framework component system for software development and construction method thereof
US20020184406A1 (en) Method and system for handling window-based graphical events
EP2747001A1 (en) A method and a system for granting an access to MES functionalities
EP2808833A1 (en) A method for restricting specific users from accessing predetermined portions of MES screens depending on the state of the web screen page
EP1665037A1 (en) Traceability of production control activities
US20110077761A1 (en) Method and system for improving performance of a manufacturing execution system
IE84039B1 (en) Traceability of production control activities
IES83915Y1 (en) Traceability of production control activities
IE20040650U1 (en) Traceability of production control activities
US20030005171A1 (en) System for ordering software methods within an object to be used in a computer network testing scenario
JP2002073929A (en) Archive of workflow management system
Durbeck et al. A system for semiconductor process specification
CN103500097A (en) Method for developing secondary development platform
US20250103987A1 (en) Systems and methods for dynamic workflow
US20250103989A1 (en) Systems and methods for dynamic workflow
US7581187B2 (en) Reuseable high level graphical user interface template
CN115828222A (en) Method for distributing user-defined engine authority in centralized manner
Kolar et al. Evolution of software for embedded systems in processor expert
CN109343849A (en) System, system UI design method and industrial touch screen
Aarsten et al. The Framework Life Span: a Case Study for Flexible Manufacturing Systems

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20060328

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PL PT RO SE SI SK TR

17Q First examination report despatched

Effective date: 20060818

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20060818

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20070911