The application is entitled " the Control EnvironmentChange submitted on November 11st, 2011
Communication " U.S. Provisional Patent Application No.61/559,003 and submitted on November 11, in 2011 it is entitled
" Automation Control System Change " U.S. Provisional Patent Application No.61/558,987 non-provisional Shen
Please, it is incorporated into herein by quoting.
Embodiment
Generally, when state change is communicated, control relies heavily on automatic controller with monitoring system, for example, may be programmed
Logic controller(PLC)And automatic controller programming(For example, PLC is programmed)To influence control and monitoring system.Automatically control
Device programs the execution based on event and/or based on program for depending heavily on task and/or logic(For example, using programming language
Say the machine readable instruction write, such as relay ladder logic)To influence control and the change of monitoring system.Automatic controller
Be often used in consume all input datas, calculate and be distributed output data, the change of processing data and by data point
Cloth is to control and the part of monitoring system.Unfortunately, such part to by controlling with monitoring system(For example, automatically controlling
Device and automatic controller programming)It is inefficient that the heavy dependence of the centralized data model of influence and trustship provides some.For example,
With for the predetermined of centralized model and the task based on event number increase, due to may cause single model permitted
More additional change is it may occur that the performance degenerated.In addition, a large amount of of centralized model use(For example, via automatic control
Device processed)The method more concentrated of processing control logic is generated, causes inefficient execution, the single node failure of control logic
(For example, when automatic controller breaks down, whole control may break down with monitoring system), and be likely to result in certainly
The processing pressure of movement controller(processing strain).
According to present embodiment, passed on by using distributed data model, distributions change and distributed life
Order is performed, and control can become more flexible with monitoring system.For example, by providing increased in whole control and monitoring system
Collaboration capabilities, increased data redundancy and processing load balance, present embodiment illustrate more robust and flexible automatic
Control and monitoring environment.
Robust control and monitoring system
Many aspects, part and processing will be described by following discussion.By introduction, overall system summary purpose exists
It is placed in by these innovations in text.Fig. 1 is the control and monitoring software according to the embodiment of present disclosure for interface
The graphic representation of framework 10.Framework 10 is conducive to by using the interconnection mechanism 12 based on module come constructing function software, and this is mutual
Even mechanism 12 inherently supports dynamic operation and configuration.The dynamic operation and allocative abilities are beneficial to effectively for configurable interface
The configuration surroundings of feature rich are provided.That is, as described below, individual equipment key element is configured to be programmed individually
Independent operation code, prewrite to use, be customized in terms of its function and outward appearance in screen when in storehouse,
And interconnect to supply information to user and control and function for monitoring.
Framework 10 includes may belong to individual system(For example, computer)Two related software environments.Specifically, transport
Environment 14 makes operator during row(For example, personal user)It can interact with the application, such as during running(For example, using connecing
During mouthful, during the processing generally during being interacted with the processing in operation or in observation operation)Processing.If timing ring
Border 16 allows designer to configure interface and its part.For example, system can be graphically via runtime environment 14 aobvious
Show device(For example, computer or interface equipment screen)On operation information is presented to operator.In addition, system can include using
In the device for the operator's input for receiving to detect and manage via runtime environment 14(For example, keypad).Environment is such as
Interact as described in detail below, provide the use and programming of very enhanced interface in an innovative way.
Runtime environment 14 includes or provided the access to equipment key element 18.Equipment key element 18 is software part, can be wrapped
Include any may have access in software environment or configurable key element.For example, equipment key element 18 includes passing through runtime environment 14
Come the software part managed, such as " ActiveX " control or " .NET " part." ActiveX " and " .NET " refer to towards
Concept, technology and the instrument of object.Generally those skilled in the art will very familiar such programmed method.Herein,
Such standard should be considered merely as being example, and " equipment key element " be construed as including can as it is quasi-independent will
Any substantially similar part or self-sustaining of element operation(self-sufficient)Program, sometimes referred to as " object ".
There are other standards and platform for such key element, generally supported by different companies or industrial colony.
Because such equipment key element is basic for some of concept set forth herein concept, prepare
Some introductions.Equipment key element generally includes four features:Property, method, connection(Or tie point)And communication interface.
Herein, property is the attribute that can be adjusted, such as defining expression or image of the key element in screen view, and
The position of key element on screen etc..Herein, method is executable function(Sometimes be referred herein as key element " feature " or
Person's " state engine "), and define by performing the operation that key element is carried out.Herein, connection is the link between key element,
And it can be used to make data(Memory is read or write from memory)It is sent to another key element.
The specific example of equipment key element 18 can include software push buttons, timer, gauge table, plc communication server, visual
Change(For example show automatically controlling the screen with the state of the part in monitoring system)And application.Generally, it is substantially any
Recognizable function can be configured to such key element.In addition, as discussed below, such key element can be mutual
Communicate to carry out various displays, monitoring operation and control function.It should be noted that equipment key element 18 need not be used to support
Design pattern it is specifically limited.And, although the key element associated with image is highly useful, in particular for visualization, but is permitted
Many key elements can not have visual representation, but can perform the function in HMI, for example, calculate, or even management and
Data exchange between other key elements.
Runtime environment 14 is operated usually using communication subsystem 20.Communication subsystem 20 is suitable to and equipment key element
18 interconnect.In fact, communication subsystem 20 can be considered as including the connection of equipment key element 18.However, communication subsystem
20 can include sending data to external circuit and a series of softwares, hardware and the firmware from external circuit reception data,
Such as automatic controller, other computers, network, satellite, sensor, actuator.
Runtime environment 14 is operated usually using behavior subsystem 22, and behavior subsystem 22 is suitable to management equipment
The behavior of key element 18.For example, the responsibility of behavior subsystem 22 can include it is as follows:Place and mobile device key element, modification equipment
Key element, in commutative screen upper set equipment key element, preserve and recover screen layout, management security, preserve and recover
List is connected, and provides remote access to runtime environment 14.In fact, again the behavior can be defined as often herein
The profile of individual equipment key element(profile)(That is, " method " or " state engine ")A part.
Environment 16 includes the high realization of behavior subsystem 22, the high realization profit of behavior subsystem 22 during design
Runtime environment 14 is directly or indirectly operated in the case of the behavior in without prejudice to or infringement runtime environment 16.
That is, equipment key element 18 can also be designed and reconfigured in the case of interfaces.In some cases, behavior
Subsystem 22 can extend the access to runtime environment 14 via the long-range supply of environment 16 during design, such as in routine
In browser.Behavior subsystem 22 environment 16 or sets timing ring when allowing designer via long-range program terminal by by design
The aspect in border 16 interacts and changed HMI operation in terms of HMI offers come with HMI runtime environment 14 to program terminal
When environment 14 aspect.For example, can be by will specifically be designed via network via the HMI of network-coupled to laptop computer
When environment 16 laptop computer is supplied to provide the user with configuration powers and functions.
The details and example presented below for how completing the operation.In the present embodiment, environment 16 can be with during design
It is to combine Dynamic Hyper Text Makeup Language(DHTML)And Active Server Pages(ASP)Server script carries dynamic content
Supply the product of browser.ASP scripts are the codes of bespoke, are included in the page and are sent to before user in server
(For example, the webserver)One or more scripts of upper processing(That is, small embedded program).Generally, in conventional application
In, such script prompt server makes a change from database access data and in database.Next, by the page
Script is typically set up or the self-defined page before being sent to requestor.As discussed below, such script is very
Differently it is used in this framework, such as comes in the case of the feature or the prior knowledge of its correlation without equipment key element
Set up visualization.
By promoting the change of equipment key element, environment 16 allows the special reality of designer's progress behavior subsystem 22 during design
It is existing or make and tradable set timing model.The specific example realized during the design of behavior subsystem 22 includes network set
Timing environment 16, TCP/IP connection of the environment 16 between HMI and remote equipment extends pair during the network design
The access of runtime environment 14 on HMI.During network design environment 16 contribute to do not endanger run time behaviour or
Management equipment key element in the case of safety.In a special realization, behavior subsystem 22 gives designer's ability to use
Relevant interface or HMI web browser is able to access that to operate the aspect of runtime environment 14.As described above, and such as with
As lower detailed description, this is realized by using the combination of the configuration of dynamic content, script and equipment key element property.
Fig. 2 is the control for example for industrial automation for realizing said frame of the embodiment according to present disclosure
With the graphic representation of monitoring system 24.System 24 includes HMI 26, and the HMI26 is suitable to be connected with network components and configuration equipment.
System 24 is shown as including being suitable to pass through control/supervision equipment 30(For example, remote computer, automatic controller, such as may be programmed
Logic controller(PLC), or other controllers)Carry out the HMI 26 with the part cooperation of processing 28.HMI 26 can be physically
Similar existing hardware, such as panel, monitor or stand-alone device.
The cooperation between HMI 26 and the part for handling 28 can be promoted by using any appropriate network strategy.It is real
On border, industry standard network, such as DeviceNet, to allow to carry out data transfer can be used.Such network allows root
Data exchange is carried out according to predefined agreement, and the ability for operating network element can be provided.As described above, although
Network system and the system including controller and other equipments, described HMI 26 and programming are with reference in being currently discussed
Technology can be equally applicable to non-network part(For example, GPS display, game display, mobile telephone display, flat-panel monitor
Deng)And suitable for the network system outside industrial automation.For example, can be used in facilities management described below
Arrangement and processing:The interface of automobile and vehicle, computer numerical control(CNC)Machine, point of sale(POS)System, for commercial market
(For example, elevator, entering door system)Control interface etc., the above is only enumerated.
Stored by the operation or operating environment 14 of corresponding behavior management subsystem and construction and reside in HMI
On 26.For example, such behavior subsystem may be adapted to for example during HMI 26 initial manufacture or setting from storage position
Put loading application programs Configuration Framework(For example, 10).When loaded, the application framework of storage may be adapted to create screen
And in screen location user interface device key element(Corresponding with key element actual image or picture are represented).These applications
Each of program, screen and user interface key element are the types of equipment key element.As is described below, HMI 26 includes
The application program stored of the interaction of specified layout and equipment key element.The network of engine sets timing ring during based on operation
Border 16 is also loaded and resided on HMI 26.Environment 16 may be adapted to both environment and runtime environment during for design during design
To handle high feature(For example, safety management).
HMI 26 may be adapted to allow user to interact with substantially any processing.For example, processing can include:Compressor station,
Oil plant, for manufacturing food item(food items)Batch operation, the assembly line of mechanization etc..Therefore, processing 28 can
With including various functional units, such as motor, valve, actuator, sensor, or countless manufacture, processing, Feedstock treating and
Other application.In addition, processing 28 can include being used to adjust the control and monitoring of processing variable by automating and/or observing
Equipment.The processing 28 shown includes sensor 34 and actuator 36.Sensor 34 can include being adapted to provide on treatment conditions
Information any number of equipment.Actuator 36, which can be similarly included, to be adapted for input signal to carry out mechanical action
Any number of equipment.
As shown, these sensors 34 and actuator 36 and control/supervision equipment 30(For example, automatically controlling
Device)Communicate and can be assigned to the particular address in the control/supervision equipment 30 that can be accessed by HMI 26.The He of sensor 34
Actuator 36 can directly be communicated with HMI 26.These equipment can be used to operate processing equipment.In fact, they can
So that in processing cycle, the processing cycle is controlled and monitored by control/supervision equipment 30 and/or HMI 26.It can be based on
Process is inputted(For example, from the input of sensor 34)Or directly input(For example, being inputted by the operators received of HMI 26)
To activate such processing cycle.
Server software on interface allows to check development environment, and directly reconfigures interface(Especially equipment will
Element and its outward appearance and function of association), without specially checking or configuration software.The benefit comes from following facts, should
Environment itself is resided in HMI 26 when the fact is equipment key element and design, and gives program terminal 46 by HMI 26 " offer "
On browser or other general readers.In other words, it can reduce or eliminate to outside computer workstation(Example
Such as, laptop computer and desktop computer)Necessary support.It is noted that " browsing to the configuration for checking and changing interface
Referring to for device " is not limited to web browser or any specific browser.To browser refer to be intended that it is exemplary.One
As in fact, term " browser " is used in includes the software of any general reader to refer to herein.
By being programmed as is described below to equipment key element, HMI 26 may be considered that including for being presented one
Or more screen view or visual instruction, and by reference to screen view(For example, pressing button, touching screen
Position etc.)Come the equipment key element performed when being interacted with HMI 26.Any desired software or software kit can be passed through
To define screen view and equipment key element.For example, screen view and equipment key element can be called or performed by operating system 38.Such as
It is upper described, can be the object for meeting " .NET " or " ActiveX " standard according to the equipment key element of present embodiment.Operation system
System in itself can be based on any appropriate platform, such as Window CE, OS-X.As cited herein, equipment key element and
Instrument is supported to be used in network(For example, internet)The upper network service or technology for sending data.Therefore as described below
As, these equipment key elements follow on information sharing set of rule and by transformation with various scripts and programming language
It is used together.Such equipment key element allows to interaction content being supplied to external application, such as LAN, WAN, Intranet,
Extranet or even WWW.Therefore, operating system 38 and various equipment key elements be beneficial to by means of browser 48 by allow to
The configuration access of browser 48(access)(For example, providing it)Dynamically to configure HMI 26.
For example, such entrance for including being used to illustrate equipment key element with posting port.In other words, can essentially be from clear
Device 48 is look to create and perform new equipment key element.Further, it is noted that browser 48 does not need actual functional entrance.It is actual
On, in one embodiment, cause via the request of browser 48 based in data functionality and container in equipment key element
" the drafting of the operation of appearance(draw)" sequence, allow equipment key element table in the case that thus function aspects are not provided actually
The access for showing and being configured to it shown.This allow need not to the technical support of remote work station in the case of via long-range
Work station is configured.
Except as described above(And as illustrated in more detail herembelow)Operating system 38 and equipment key element outside,
HMI 26 includes application or application layer 40.The application that equipment key element can be included with itself is beneficial to access and from each of HMI 26
Plant equipment key element and obtain information.Specifically, represent can be directed in the multilevel device key element that performs and be enumerated using 40
The first order.Application 40 can include applying with the user of XML page face form in practical implementations.Then user apply with user or
Person operator and interacted with designer, as illustrated in more detail herembelow.
Screen view and equipment key element can be described as independent executable software.In the present implementation, by using mark
Remember language(For example, HTML or HTML)The appropriate code write defines screen view.It therefore, it can
The configuration of HMI26 graphic interface screen is carried out in the case of without using conversion program.In addition, by being compiled to equipment key element
Journey, can be via following resident server softwares(Referred to as server 42)Directly to develop screen view on HMI 26,
The resident server software makes resident development environment can be used for remotely accessing.Specifically, in one embodiment, it is some
The expression of equipment key element(For example, ActiveX is controlled)Browser 48 is provided to without providing software part itself.Because can
Environment during accessing exploitation via browser 48 or design, therefore can eliminate change is downloaded into screen and updated remote
The need for journey configuration software is applied.
As described above, equipment key element can include feature, by the feature they from generally in other equipment(But
Being can also be in HMI)Specific memory or storage register read or write.For example, specific function can be right
It should be read in the register 32 of write-in control/supervision equipment 30 or from the register 32 of control/supervision equipment 30.Simple
In the case of, for example, object accesses one piece of data(For example, the state of the part such as determined by sensor), and generate output letter
Number it is used for the value for writing state corresponding to the different network equipments.As will be discussed in more detail like that, it is such
Status information can be via state increment(Delta, Δ)43 pass on.For example, in the embodiment described in fig. 2, control/
Supervision equipment 30 and HMI 26 can pass on status information with use state increment 43.In addition, program terminal 46 can also be used
State increment 43 carries out the reception and registration of status information with control/supervision equipment 30 and HMI 26.
It is of course possible to configure more complicated function.For example, in Industry Control with monitoring in environment, such equipment key element
The operation of a series of physical part can be emulated, such as momentary contact button, the button with delay output, switch
Deng.The equipment key element of many pre-programmeds can be used for HMI 26.Such functional module can via network access,
It either may reside within HMI 26 or reside in and be directly linked in HMI 26 single equipment.In this way,
HMI supplier or software vendor can provide many possible structure blocks, according to above-mentioned structure block can to screen and
Complicated control is programmed with function for monitoring.In fact, the storehouse 44 of available equipment key element may reside within HMI 26
In favor of configuring HMI 26, as described below.Screen command can be called based on operator's input to be used to perform the phase
The equipment key element of the function of prestige, and these instructions can be programmed to the version of pre-programmed key element.For example, operator can lead to
Cross and touch the position on touch-screen or the key on pressure keyboard to provide initial input.Be then based on screen command and with instruction
The equipment key element of association(For example, pre-configured equipment key element is called or performed with specific location triggered)The phase can be performed
The function of prestige.Therefore, operator can interact with processing, generally to change screen view, write-in register or life
Other outputs of order generation or control signal.In unit realization, interaction can simple be recalled or data storage, change
Become screen etc..
, can using one or more in the case where some HMI have many such screens and substantial amounts of equipment key element
Multiple single interface screens.It each equipment key element and then can uniquely be programmed to consider specific input, be performed specific
Function and generate signal for specifically exporting.As is described below, multiple such equipment key elements can be by
Load and be hosted in single software " container "(For example, ActiveX containers)In.
Can by directly with HMI 26 itself(If there is one)On screen or panel interact to match somebody with somebody
HMI 26 is put, but will perform configuration from long-range program terminal 46 in many cases.For example, via browser 48 or class
As apply directly to provide the access to being resident storehouse 44 and/or operating system 30 and application 40.In the present implementation, in programming
Other special softwares are not needed at terminal 46.In fact, the server 42 resided on HMI 26 can be provided in storehouse 44
Equipment key element access.By equipment key element directly on HMI 26 in thesaurus 44, version is eliminate or reduced
The risk of conflict etc..In addition, HMI 26 can be connected directly to program terminal 46, or by reference to distributing to HMI's 26
IP address(Internet protocol address)It is accessed.
Access control scheme can be used for the ability that limitation changes screen and equipment key element.For example, it may be desirable to password or
User's access state obtains the access.In addition, in the embodiment conceived at present, program terminal automatically recognizes HMI 26
Or following terminals, HMI 26 is as being couple to program terminal 46 on the terminal(For example, similar to external memory storage or drive
It is dynamic)Equipment be resident.Therefore, program terminal is once connected to, HMI 26 can simply be " recognized " and can be accessed
Equipment(Following configuration screens and instrument are provided).
Once the equipment key element resided on HMI 26 is that program terminal 46 is addressable, then can be via carrying out self-programming
In terms of the communication link of terminal 46 is directly changed on HMI 26 or updates HMI 26.For example, user may want to more
New specific HMI figures to provide data, for example historical data or with the information phase that is received from the sensor 34 reinstalled
The trend of pass.Therefore, user may be found that with off-line mode(For example, not being immediately performed change)In the case of update for table
Show that the HMI figures of such data are desired or easily.In this case, user can be via the chain of program terminal 46
It is connected to the storehouse 44 of available equipment key element and makes to use it to change HMI figures or function in development environment.
It is noted that additional equipment key element can be added to storehouse 44.If for example, trend equipment key element is not resident in
On HMI 26, user can download to HMI 26 from the repository 50 resided in program terminal 46 by such element.Or,
User can be from can be via network(For example, internet)The resources bank 52 of access directly arrives HMI 26 or by program terminal
46 access trend equipment key element.This can be with particularly advantageous, because new and improved equipment key element can individually simultaneously
And HMI 26 is downloaded on a regular basis, the conversion program of regular release new or HMI operating systems thus are not being needed,
Or increase new function during operation or when designing in the case of environment software.Development environment can be provided to the chain in such storehouse
Connect.In addition, in the embodiment using embedded code(For example, operating system, server software, device object etc.), due to
Embedded code is resided on HMI 26, it is possible to avoid the version conflict with embedded code and can to eliminate program terminal soft
The necessity of part upgrading.
For Tracing Control and the status information of one or more parts of monitoring system 24, control and monitoring system 24
Part can use and represent control and the distributed data model of the various aspects of monitoring system 24.For example, distributed data
Model can enable the copy of the multiple cache of the data model of representative control and monitoring system 24 be present in control with
In monitoring system 24(For example, at one or more parts in the part of control and monitoring system 24).Such as below will more
As describing in detail, distributed data model can combine increment(delta)Script and distributed command processing carry out work.
Increment script can make one or more parts of control and monitoring system 24 can determine the state change of data model, raw
Control and prison are supplied into the change for only including data model and/or the increment script of whole data model and by increment script
The miscellaneous part of viewing system 24.The data that miscellaneous part can consume increment script and will be contained in increment script are applied to
The copy of the local cache of data model(For example, the distribution included in one of the part controlled with monitoring system 24 place
Copy).In addition, as will be discussed in more detail like that, some parts of control and monitoring system 24, which can be utilized, to be enabled
Enough carry out the distributed execution engine of distributed command processing.Such distributed command processing makes control and monitoring system 24
Distributed elements can handle order execution based on the event or program of distributed elements is supplied to.
Passed on by using distributed data model, distributed increment(For example, via increment script)And it is distributed
Order is performed, and control as a result and monitoring system 24 can more robusts and flexibly.For example, not being to rely on centralized control
Centralized data model at system/supervision equipment 30, can use the distributed copies of data model to influence in control and prison
Change in viewing system 24.For example, not being to rely on the centralized data model at control/supervision equipment 30 to influence HMI
26 change, HMI 26 can include the copy of distributed data pattern, and it is influenceed within HMI 26 dependent on the copy
Change.In addition, HMI 26 can receive following state increments 43(For example, via increment script), the state increment 43 is by HMI
26 consume and are applied to by HMI 26 local replica of HMI data model.In addition, will such as retouch in further detail below
As stating, HMI 26 can locally execute engine including following(For example, being distributed in HMI 26 enforcement engine), this is locally held
Row engine, which is used to perform at HMI 26, to be provided to HMI 26 order.
In addition, this function enables synchronous data storage to exist across control and monitoring system 24.These synchronizations
Data storage can be by enabling multiple users to will be synchronous with each data storage in other data storages
Individual data storage makes a change and allows to cooperation.Further, since data storage can be with cache control and monitoring system
The single copy of 24 data, it is possible to changed offline.Even if for example, when controller is unavailable, by using
The data of one of data storage high speed caching, user can modify to control with monitoring system 24.When user recovers
Line(For example, can be with access process device)When, the modification made in off-line case by user can be same with other data storages
Step.Therefore, change can be supplied to control and monitoring system 24 by user with more consistent and reliable way.
For example, a user can be changed in design software to tag definition, metadata definition, can be to design
Key element renaming, can change alarm setting, change data type and/or modification data record situation, such as Rockwell
Automatically control the RSLogix 5000 of limited companyTM.These can be carried out to local datastore by changing that user submits
Become.When online, these changes can be passed to other data storages in control and monitoring system 24, so that cross-system 24
To apply the change.When offline, these changes can be retained in local datastore and when returning to online(For example, weight
It is new to be connected to control and the controller of monitoring system 24)Can be by synchronization.By the automatic transmission of change, redundancy can be avoided
Change enters and saves R&D work.In addition, being transmitted based on the automatic renaming carried out by system 24, it is possible to reduce debugging and
Initialization.Further, since these changes can originate from whole system, so can when different user develops controller and HMI
To allow flexible workflow.
As described above, by distributed data model, via increment script by change be transferred to distributed data model and
Distribution command is performed, and control and monitoring system 24 can be greatly improved relative to Traditional control and monitoring system.For example, can be with
By controlling with any one copy in the multiple copies of the data model of distribution in monitoring system 24 come Service controll and monitoring
The client of system 24(For example, request control and the part of the data in the data model of monitoring system 24).Control and monitoring
System 24 can be from based on many decision factors a factor determine which copy come service client.For example, can be with
Specific distributed data model copy is selected with based on effectiveness of performance such as high-efficiency network path(For example, which copy is most leaned on
Nearly client, local or on network or which network path has maximum bandwidth etc.)Provide data to client.This
Outside, processing can also be included in the judgement and considers this factor.For example, the control of this robust can make with monitoring system 24
Data can be provided to the client using load-balancing technique.In one embodiment, can be from comprising known or can
Can than the distributed copies for the data model for controlling to provide less request with the miscellaneous part of monitoring system 24 part to client
End provides data.In one example, control can include two control/supervision equipments 30 with monitoring system 24(For example, 2
Automatic controller).The the first control/control of supervision equipment 30 to the second/prison can be predicted or observed to control with monitoring system 24
More requests on data are received depending on equipment 30.Therefore, control can be determined from the second control/monitoring with monitoring system 24
The service client of equipment 30 is to avoid excessive use first from controlling/supervision equipment 30.Thus, control can lead to monitoring system 24
Cross loading come balancing requests to avoid the overflow of control/supervision equipment 30 based on the part in control and monitoring system 24.
In some embodiments, this can include request is provided the amount to the number of threshold values of request or data and worked as from single part reaching
It is moved to during to threshold value at overflow source.In some embodiments, substantially uniformly share when this can be included in offer data
Request load or data volume.
In addition to the load-balancing performance that distributed data model, increment script and enforcement engine can be provided, these
Performance can also be beneficial to control and the data redundancy in monitoring system 24.For example, control with monitoring system 24 in one or
Multiple parts can monitor one or more distributed copies of data model.Detect copy it is unstable when(For example, not having
The copy of distributed model is represented exactly), unstable copy can be by stable copy replacement(For example, representing exactly
The copy of distributed model).It can be confirmed as from being distributed in the control of the copy of expression data model and prison exactly
Any one copy in other copies of data model in viewing system 24 and obtain stable copy.
In some embodiments, control and the part of monitoring system 24 can access following redundancy ponds, the redundancy pond
The control of effective copy to distributed data model or effective copy to distributed storage data model and monitoring system 24
Part provide localizer.For example, when the data in client component requests data model, it can access reception and registration and where may be used
To obtain the redundancy pond of data.As described above, control and one or more parts of monitoring system 24 can monitor data model
Copy to determine unstable copy.When detecting one or more unstable copies, control and monitoring system 24
Localizer can be moved to control and the part of monitoring system 24 of unstable copy or the unstable copy of storage by part.
Therefore, the unstable copy can not be accessed via redundancy pond.
In some embodiments, as described above, removing unstable copy from redundancy pond(Or the unstable pair of storage
This part)Afterwards, control and the part of monitoring system 24 can replace unstable copy with stable version.Unstable
Copy by after replacement, control and the part of monitoring system 24 can will replace stable release(Or stable release is replaced in storage
Part)Again increase go back to redundancy pond to use in the future.
In order to preferably show design when environment and runtime environment between relation, Fig. 3 provide represent HMI 26 with
Interactive high level flow chart between program terminal 46.The following provide the more details on the processing.It is commonly used for
The platform of HMI 26 and program terminal 46 includes the software 38 of operating system or execution, application software 40 and any communicates soft
Part, microprocessor, network interface, input/output hardware, regular software storehouse, data base administration, user interface software etc.(In Fig. 3
It is not specifically shown).In the embodiment as shown, platform and platform reciprocation within HMI 26 when running during design.If
The view of environment 16 is supplied to desktop PC's platform when timing platform will act as design(For example run suitable operation system
Unite 38 such as Windows XP, Windows Vista or Linux), and platform is via operating system when running(For example
WindowsCE、Linux)Platform cooperation during with design.Platform offer dynamic state server content 54 during design, and platform when running
Display is on the views of itself of HMI 26(If providing display screen on HMI 26).Environment 16 is in browser 48 during design(Example
Such as web browser or other general browsers)Middle display.
Fig. 3 very high level show design when environment 16 how with operating system 38, using 40 and runtime environment 14
Reciprocation.Arrow 56 represents the dynamic exchange of content between HMI 26 and program terminal 46.Environment 16 when generally, with design
Reciprocation is initial configuration HMI screens or visualization, equipment key element and their function and interaction, or reconfigures this
The task of the designer 58 of software.Generally directly interacted by operator 60 on HMI 26 with runtime environment 14.
It should be noted that when when design, environment 16 has special requirement, in the present embodiment, this is largely dependent upon behaviour
Make system 38, application software 40 and runtime environment 14.Environment 16 and runtime environment 14 can utilize some benchmark during design
Technology(Such as DHTML, HTML, HTTP, dynamic state server content, JavaScript, Web browser)To be put down respectively in design
Operated when platform and operation in platform.Although environment 16 is resident when runtime environment 14 and design in shown embodiment
On the platform of separation, but in some embodiments, environment 16 may reside within same when runtime environment 14 and design
On platform.For example, platform and platform can be configured as or be considered as single platform during operation during design.
In one embodiment of the invention, network implementation when make use of design.Such as in the dynamic state server in Fig. 3
Hold 54 to mark and as described below, network implementation is clear by using the network supported with the DHTML from HMI during the design
Look at device(Such as, 48), the speed of software when operating in design to provide on platform and flexibility.DHTML is used to pair set timing ring
Web content in border 16 carries out dynamic operation.In addition, using dynamic state server content 54 with by dynamic webcontent in HMI
Environment 16 when being supplied to design.The dynamic client-server environment enables web browser to be directed to phase
Close application of the dry run in design on platform in the case of the software of processor compiling.
Fig. 4 is one or more equipment key elements in environment when showing the design according to this technology embodiment
Figure.The figure includes passing through display 100(Such as, the screen shown for browser), between attribute Editor 102 and HMI 26
Interaction shown in relation.
Environment includes static content 104 and dynamic content during the design represented with configuration screen or display 100.In dynamic
Holding includes and the corresponding image of equipment key element 106 that is any shown or representing(Such as, virtual on/off button, measuring instrument).
In a kind of embodiment of this technology, image is specified by the image tag in HTML and is by HMI as described below
A part for the jpeg file of establishment.Static content 104 can be by Active Server Pages(ASP)Server is created or it can
To preexist in html file.It should be noted that in some embodiments, the designer only specified can be to static state
Content 104 enters edlin.
Environment includes static content 104 and dynamic content during the design represented by configuration screen or display 100.In dynamic
Holding includes and the corresponding image of equipment key element 106 that is any shown or representing(Such as, virtual on/off button, measuring instrument).
In a kind of embodiment of this technology, image is to be specified by the image tag in HTML and is by as described below
A part for the jpeg file that HMI is created.Static content 104 can be created by ASP servers or it can be preexisted in
In html file.It should be noted that in some embodiments, the designer specified only can enter edlin to static content 104.
In Fig. 4 expression, equipment key element represents that 106 are included in view container 108.As those skilled in the art manage
Solution, container typically defines the part in the processing space that particular device key element is opened and is ready to use.Therefore, container
108 can be corresponding with the first view container of the key element for only including to check in current screen.As discussed above, exist
Many such screens can be set in HMI.Other screens such as control substituted or interface screen can be arranged on other views
In container such as container 110.Usually, in order to accelerate HMI operation(Such as, the change between screen view), pass through restriction and its
Each equipment key element of expression that is associated or being provided with equipment key element wherein come these pre-qualified view containers and by its
It is associated with each other.Global container 112 can be defined to all devices key element necessary to including various view containers and can be
Other key elements not indicated that out in any view container.As figure 4 illustrates, therefore, view container 108 includes performing " gently
Push away " function and by the expression in the first screen is come the virtual push button 106 that shows.If new container 110 includes dry part as " opened
Begin " button 114, " stopping " button 116, virtual instrument 118 and digital readout device 120 etc..Global container 112 then includes being used for
It is required for all these equipment key elements of various view containers, and the visible equipment key element of operation however its own be not can
Any equipment key element 122 seen.These equipment key elements can include performing calculating, making trend, communication and many other functions
Key element.
Fig. 4 also show the attribute Editor 102 that user wherein can access each attribute of key element 106.As above institute
Discuss, key element 106 can also include the connection associated with key element 106 and text, its can also by user by with attribute
Editing machine 102 similar editing machine is configured.
In one embodiment, attribute Editor 102 can be by from browser(Such as, Fig. 2 browser 48)To in
The server 96 stayed in HMI 26(Such as, HTTP server)Inquiry string interact with HMI 26.Server 96
With including just like dynamic link library(DLL)ASP servers 98 Deng the interconnection mechanism 12 based on module are cooperated to receive simultaneously
Response inquiry.DLL allows executable routine being stored as single file, and when program needs or quotes, these are individually literary
Part can be loaded.In the examples described above, when a call is received, by the heavily loaded page of ASP servers 98 and to polling character
String is initially parsed, and this causes the assessment to movement directive.The equipment key element of server side scripting then to being represented by image 106
18 conduct interviews to update its position attribution.Then new attribute information is updated on webpage and transmits the page
To browser 48.
Pass on state change
Used through discussing with reference to the distributions change notification performed by increment script and distributed command
The benefit of distributed data model, will discuss to distributions change notification in further detail below.It is as discussed above
, Fig. 2 be according to this technology embodiment be adapted in use to increment script provide the exemplary control of unit information with
The outline of monitoring system 24 is represented.As shown, control can include one or more man-machine interfaces with monitoring system 24
(HMI)26 and suitable for one or more control/supervision equipments 30 for being attached of part with processing 28.Control/monitoring is set
Standby 30 can include helping to perform task in control and monitoring system 24(Such as, processing control, remote equipment monitoring, data
Obtain etc.)One or more processors and data storage device.In addition, program terminal 46 can cause it is one or more
Individual user can configure to HMI 26 and/or control/supervision equipment 30 attribute.
In control environment, control and the various objects of monitoring system 24(Such as, control program, label, module configuration and
HMI screen)State can be stored in control and all parts of monitoring system 24(Such as, program terminal 46, control/monitoring are set
Standby 30, I/O modules and/or HMI terminal 26)Memory(Such as, hard disk drive, read-only storage, and/or arbitrary access are deposited
Reservoir)In.Control can independently be operated with each in the part of monitoring system 24 with loose coupling, asynchronous mode.
In addition, part can be with different programming techniques(Such as, C++, Java and/or C#)To implement.Due to control environmental objects
Status information is made that change, it may be necessary to synchronize the status information and the status information that resides on miscellaneous part,
To allow part continuously to know control and the state of the object in monitoring system 24.According to present embodiment, in order to protect
Hold and be apprised of with status information, the self-winding parts for the status information that is stored with can receive the data of referred to as state increment 43(Such as,
State key element through change), without receive do not change also and thus be already present in all parts of the status information that is stored with
On the status information stored in state key element.For example, state increment 43 can be included because in control and monitoring system 24
Action and any data for having changed.By providing state increment 43 without providing unchanged status information, Ke Yiguan
Measure the efficiency improved.For example, in traditional control with 100 state key elements and monitoring system 24, can be by 100
Each state key element in individual state key element is supplied to each part for the status information for storing that object.By only providing
State increment 43, control and the part of monitoring system 24 can only transmit the data of the key element for having changed.Therefore, if
Only have a state key element in 100 state key elements to change, then other 99 key elements will not be transmitted, so as to reduce on tradition
The network traffics of system.Override in addition, only providing state increment 43 and can reduce because of carelessness in control and monitoring system 24
The possibility of the state change information inside generated elsewhere.For example, in the case of 100 state key elements being generally noted above,
If all 100 state key elements are transferred into miscellaneous part, 99 unchanged key elements may cause to elsewhere this
The overriding for the change that one of a little 99 key elements are made.By the key element for only providing change(Such as, state increment 43), above-mentioned 99 are not
The key element of change will not have been changed and be communicated to an elements affect of miscellaneous part.
Through discussing the use of state increment 24, Fig. 5, which is shown, to be included for controlling and monitoring system 24
The control for the persistence object model that state change between part is passed on and monitoring system 24.For example, above-mentioned part can
With including control/supervision equipment 30(Such as, PLC), be provided with the program terminal of item file 150 and such as trustship persistence object mould
Control/the supervision equipment 30 and the grade part of client 156 of type 152 and collaboration session 154.As discussed previously, control/monitoring
Equipment 30 may be adapted to and processing 28(Fig. 1)Part be attached.Item file 150 can be to control and monitoring system 24
Restriction and be stored in program terminal 46(Fig. 1)Memory(Such as, hard disk drive)In each attribute be indicated
Computer documents is exported.Persistence object model 152 can be control and one or more parts in monitoring system 24
The computer model of status data, it is in lasting mode(Such as, by by status data be stored in as hard disk drive it is non-easily
In the property lost storage medium)To controlling the change with the status data in monitoring system 24 to keep tracking.Persistence object model 152
It may be used as change and pass on authority, make it that the change that has been filed on that all states to object are made all is by persistence object
Model 152 is stored and passed on.As in following be discussed in greater detail, collaboration session 154 can be control and monitoring
Interactivity information Fabric Interface between the part of system 24, it provides environment to carry out uncertain change(Such as, selected in user
Select after submission some changes, can only by these change applications in be transferred to control with the miscellaneous part of monitoring system 24).
Client 156 can be any other portion of control and the status information preservation by object of monitoring system 24 in memory
Part, such as part for representing view there is provided object.
In shown embodiment, shown part(Control/monitoring there is provided collaboration session data 154 is set
Standby 30, there is provided renewal item file 150 program terminal 46, there is provided persistence object model 152 and collaboration session 154
Control/supervision equipment 30 and client 156)In each part include data capsule 158(As reserved for data
Memory).Data capsule 158 includes the shape to controlling the state with one or more objects of monitoring system 24 to be defined
State key element 160.State key element 160 can be defined such that different technologies with data-driven version(Such as, C++, Java and/
Or C#)The data represented by state key element 160 can be used.As discussed previously, it may be desirable to being stored in control and prison
Status information in all parts of viewing system 24 carries out effectively synchronous.Because the state being stored in data capsule 158 will
One or more in element 160 change, it is possible that needing to carry out the Data Elements 160 that are stored in miscellaneous part
It is synchronous.
As discussed above, persistence object model 152 can be control with being answered in all parts in monitoring system 24
With the mechanism specified by during state change.Persistence object model 152 can include in its data capsule 158:It is claimed
For the gold copy 162 of the status information for one or more objects(As shown by intersecting hachure).Gold copy
162 include the copy for the status information that control is always praised with monitoring system 24.In other words, gold copy 162 is state
The authoritative copy of information.Each status information has the gold copy 162 of its own, and it may or may not be with other states
The gold copy 162 of information resides in control and monitoring system 24 together(Such as, in identical computer system)It is interior.If carried
One or more state factor changes have been handed over, then the key element of change have been supplied to gold copy in the form of increment script 170
162, increment script 170 is updated based on state factor change.Then by increment script 170 by state factor change from gold
Copy is supplied to control and the miscellaneous part in monitoring system 24.
In order to realize the state change in data capsule 158, control can play the part of different from the part of monitoring system 24
Role, these roles can include change means 164, change moderator 166 and audient 168.Change means 164(Such as, by working as
Editing machine in preceding embodiment provides the client of the item file 150 of modification)Sending change to change moderator 166 please
Ask.Change means 164 can verify change by receiving asynchronous change response and/or errored response on change request
Success.Change moderator 166(Such as, the server of trustship persistence object model 42)Change to arrival is ranked, and is led to
Cross the asked change of execution and carry out processing variation, other side effects change is made based on request or the change is abandoned.Change is secondary
The response of the change to change means 164 can be provided by cutting out device 166, and change notification is published into audient 168 when change occurs
(Such as, the client 156 and/or control/supervision equipment 30 being related in collaboration session 154), and/or write-in gold pair will be changed
This 162.Audient 168 receives change notification and using above-mentioned notice come being stored in its data capsule 158 to status information
Local replica be updated.
As discussed previously, the programming technique used in all parts of control and monitoring system 24 may not be system
One.For example, some parts can use C++, and miscellaneous part can use C# or Java.Therefore, Fig. 1 is arranged on change
State increment 43 between means 164, change moderator 166 and audient 168 can be arranged on the number independent of particular technique
According in driving increment script 170.Increment script 170 can be with establishment, renewal and/or deletion(CRUD)The forms of data is described
Obj State changes.Creating data can include contributing to some or all of data of the establishment of object(Such as rectangle, rectangle
Locus, width and height).Default value can be used for any data without offer request to create.Update the data
The data that have updated in object can be included(Such as, for the rectangular graph with the locus that have updated, number is updated
According to can only include new locus).Deleting data can identify(Such as, its identifier is described)Removed Obj State
Data(Such as, for the rectangle removed, the title of rectangle to be deleted can be included by deleting data).In an example
In, if producing change using following C# pseudo-codes:
Change manager cm=newly-built change manager();
Change c1=change is produced to be combined()
Create (" rectangle ") and be in (pattern) setting (" X ", " 10 ") setting (" Y ", " 10 ") settings (" width ", "
100 ") set (" height ", " 200 ")
Create (" circle ") and be in (pattern) setting (" X ", " 10 ") setting (" Y ", " 10 ") settings (" radius ", "
100");
Cm. (c1) is performed;
In some embodiments, data-driven increment script may be similar to following pseudo- XML examples:
In alternative embodiment, it may not be necessary to including founder ID or mother ID.But, in the present embodiment
There is provided these ID with to the additional data that may include together with change(Such as, the mark of the entity of change is made and/or at it
The lower female object for creating existing object)Illustrate.Because the increment script 170 of data-driven be it is unknowable or independent of
Specific programming technique, so increment script 170 can be consumed by control with any miscellaneous part of monitoring system 24, without
Consider the programming technique used.
As shown in the above example, in some embodiments, increment script 170 can include more than one and become
Change.Therefore, increment script 170 is provided with all or none(all or nothing)Mode entirely changes the side of set to handle
Formula.For example, it is as implied above go out, include in increment script two groups of establishment data be used for display on visualization, one group
For creating rectangular image, one group is used to create circular image.If the establishment of circular image produces mistake, rectangle change can
It can be revoked, which results in all or none mode.
Increment script 170 can also such as change including heading message revision number, the timestamp when have submitted change,
Make identifier and/or unique revision version identifier of the user of change etc..The identifier of user is potentially contributed to change
Source is authenticated.In addition, increment script 170 includes the identifier for changing applied object, the state key element 160 changed
With the changing value of state key element 160.Whole states of object can be included by creating data acquisition system(Such as, all state key elements
160), because each key element in state key element 160 will be introduced into the consumer to increment script 170 for the first time.
Fig. 6 is turned now to, the state change between change means 164, change moderator 166 and audience members 168 is shown
The process 190 of reception and registration.In the present embodiment, audient 168(Such as, client 156)There is provided to collaboration session 154 and subscribe to request
192.The revised edition of revision version 194 of the status information for being stored in audience members 168 can be included by subscribing to request 192
This number.If the revision version on collaboration session 154 is mismatched with revision number transmitted in request 192 is subscribed to,
Collaboration session will send by audience members 168 with to needed for the revision version being stored in collaboration session 154 to increment script
The update notification immediately of 170 set.For example, in panel A, client 156 sends the subscription request for including revision version 5
192.Collaboration session 154 sends the increment script 170 for revision version 6,7 and 8 to client in revision version 8
156.Increment script 170 can be applied to its state by client 156, therefore as shown in panel B, client quilt
Update revision version 8.
If changing means 164(Such as there is provided the client of the program file 150 of renewal or server)Update gold copy
162, then should be by change notification is to collaboration session 154 and subscribes to audience members(Such as, client 156).Such as shown in panel B
, when gold copy 162 is updated to revision version 9 from revision version 8(Such as, via by sending from change means 164
The elaborately planned change of the item file 150 of renewal), change moderator 166 and provided to collaboration session 154 for revision version
9 increment script 170.As shown in panel C, collaboration session 154 applies the increment script 170 for revision version 9, because
This is updated to revision version 9.Then increment script 170 is passed to audience members 168(Such as, client 156).Client
156 apply increment scripts 170 and are updated to revision version 9.
In some scenes, audience members may be needed than being stored in collaboration session 154 more increment scripts 170.
If for example, client 156 when in revision version 2 will send subscribe to request 192 and collaboration session 154 only have pair
In the increment script 170 of revision version 5 to 8, then client 156 will still need increment script for revision version 3 and 4
170.If collaboration session 154 is just lacking necessary increment script 170, it can request that gold copy 162 provide needed for
Increment script 170.In some embodiments, gold copy 162 can store each revised edition of the status information for object
This all increment scripts.But, in other embodiments, it can only store the script of limited quantity(Such as, increment script 170
Last 5,10,50 or 100 revision versions).If gold copy 162 can provide required script, it can pass through
Collaboration session 154 is passed to client 156.But, if increment script necessary to can not transmitting, can notify by
Many members 168(Such as, the message that makes an exception is passed through)And/or using the whole elements combination associated with current state information come it is heavily loaded by
Many members 168 so that audience members 168 are newest.If in addition, audience members 168, which are met with, applies one or more increments
The mistake of script 170, then use the whole elements combination associated with current state information to carry out heavily loaded audience members 168.In addition
Ground, in some cases, if substantial amounts of increment script 170 will be needed to update audience members 168, fully heavy duty is all
Status information may be more efficient or cater to the need, rather than application state increment.In some embodiments, if desired
The quantity of the increment script of application has exceeded maximal increment script threshold value, then uses and associated with current state information entirely
Element set carrys out heavily loaded audience members 168.Maximal increment script threshold value can be tended to based on the meeting perceived so that state is believed
The complete heavy duty of breath comes self-defined compared to the increased significantly more efficient increment script quantity of increment script is loaded.
In some embodiments, control can also include reverse increment with monitoring system 24.Reverse increment is to from current
Change necessary to revision version changes back to previous revision version is described.If be employed, reverse increment script can be by
Status information one revision version of rollback of object.By this reverse increment script applications to including identical with reverse increment script
Revision version quantity data capsule(Such as, Fig. 5 data capsule 158).Reverse increment script can aid in establishment and be directed to
" revocation " function for the change submitted in control and monitoring system 24, and can be also used for withdrawing do not submit also uncertain
Change, as created before change is submitted in collaboration session 154.
Fig. 7 is shown according to one of embodiment revocation scene.In panel A, object 210 is initiated by the first client
The edit session for revision version 211.First client enters edlin in the session, by the band of object 210 to panel B
In uncertain revision version 214.First client disconnects, and when broken apart, the He of the second client de-asserts revision version 214
213, as shown in panel C.Then, the second client makes new change 213 and 214.
It is newest that it is detected to prevent the first client to be based only upon revision number, can be assigned to each revised edition
This identifier is directed to the unique identifier of the revision number to cause the combination of revision number and identifier to create.Such as
Fruit can retain cancelled increment script to cancel change, then using reverse increment script, to allow to implement " reforming "
Function.If reforming change, the previous identifier for the revision version is reused, because the increment script is
It is reintroduced back to previously removed identical change.But, if making new revision version, use new revision version mark
Know symbol not control to use the newly revised edition with identical numbering originally to obscure what is cancelled with the part of monitoring system 24
Revision version.
For example, each in revision version in Fig. 7 has associated identifier.Revision version 211 has mark
Know symbol M, revision version 212 has identifier R, and original revision version 213 has identifier T and original revision version
214 have identifier X.If cancelling revision version 214 and 213, they are never determined to remove in revision version.If they
By " revocation ", then they are re-added to uncertain change, regenerate the revision version with identical identifier T and X.But
It is in present exemplary, to make new change, the newly revised edition sheet 213 and 214 with identifier S and Y is respectively created.Because
They are completely new revision versions, so identifying above-mentioned revision version using new identifier S and Y.Once the first client
Return to presence and reformulated for renewal progress and read, then certainly it is currently not newest, because its is final
Revision version be 214-X and current revision version is 214-Y.In some embodiments, can be by tracking revision version
Number and identifier update the first client so as to find edit path and update revision version information.In other embodiment
In, if it find that the whole set of inconsistent revision version symbolic identifier, then use state information(Such as, all states will
Element 160)Carry out the heavily loaded part.
Can be to carrying out the collaboration session of uncertain editor(Such as, the collaboration session 154 in Fig. 6)Outer gold copy
(Such as, the gold copy 162 in Fig. 6)Make change.Fig. 8 shows following scene:Currently carried out in collaboration session 154
The external change for gold copy 162 is made while uncertain editor.As shown, to the revision version of object 210
221-B is using the first uncertain generation revision version of changes delta 1 222-J.Additionally, respectively by the second uncertain changes delta 2 and the 3rd
Uncertain changes delta 3 is used to generate revision version 223-N and revision version 224-D.Submit uncertain changes delta 1, Δ 2 and Δ 3 it
Before, it is currently at revision version 221-B's by controlling another part with monitoring system 24 to be applied to external change Δ 1 '
Gold copy 162.If collaboration session 154 receives the notice that new revision version 222 is present, collaboration session 154 is withdrawn
Uncertain changes delta 3, Δ 2 and Δ 1(Preserved as following pending forward direction increment).Then, collaboration session application pin
To revision version 222-H increment script, and then reapply revision version 223-R, 224-C and 225-X is respectively created
Uncertain changes delta 1, Δ 2 and Δ 3.In some cases, uncertain changes delta 1, Δ 2 and Δ 3 can be changed with revision version
Them are applied after 222-H.In some embodiments, can notify to make in collaboration session 154 audient of uncertain change into
The uncertain change of member is crossing external change and is being applied to gold copy 162.
In some cases, user may expect to terminate in the uncertain change made in collaboration session 154.Fig. 9 is shown
Process for stopping the uncertain revision in collaboration session 154.As shown in present exemplary, user is from revision version
221-B creates uncertain changes delta 1, generation revision version 222-J.Uncertain changes delta 2 is created from revision version 222-J, generation is repaiied
Order version 2 23-N.Further, uncertain changes delta 3, generation revision version 224-D are created from state 223-N.User can be true
It is that fixed change is not required and/or be not desired and can cancel change(Such as, by selecting the program terminal 46 in Fig. 2
In revocation button).In order to withdraw uncertain change, it can be applied for each uncertain change with the part that unsettled condition changes
Change(Such as, Δ 3, Δ 2 and Δ 1)Reverse increment so that retain original non-uncertain revision version(Such as, revision version 51-B).
Alternately, because gold copy 162 has the newest non-uncertain revision version stored(Such as, not including change to be aborted
The revision version of change), so part can be simply from the whole status information of the heavy duty of gold copy 162.Therefore, such as Fig. 9 institutes
Show, by reverse increment or from the heavy duty of gold copy 162, leave revision version 221-B to collaboration session at time T1.Cause
This, collaboration session, which can be used to undertake from revision version 221-B, carries out additional editor(Such as, Δ 4), new repair is generated at time T2
Order version 2 22-R.
In some cases, it is beneficial multiple uncertain changes to be compressed into a revision version, rather than for uncertain
Each in change creates single revision version.Figure 10 shows implementation below:By some in uncertain change
Change is combined into one group of editor so that the less revision version of generation.As shown, edit session is opened at time T0.
By uncertain change application to revision version 221-B, generation revision version 222-J, 223-N and 224-D.Uncertain change can with it is right
The change that shared state key element is made is relevant(Such as, each change can change the locus of rectangle over the display).For example,
Revision version 222-J can be by rectangular arrangement in the center of screen, and revision version 223-N, which can update rectangle position, arrives screen
The upper left corner, and revision version 224-D can be by the lower left corner of the location updating to screen.Therefore, although be applied with some
Value changes, but may only need from original value(Such as, revision version 221-B)To end value(For example, the lower left corner is put on screen
Put, as described in revision version 2 24-D)Increment.Therefore, the middle revision version in collaboration session 154 may decline
The single revision version reduced on gold copy 162.Therefore, as at T2 shown in, uncertain changes delta 1, Δ 2 and the quilt of Δ 3
Compress and be applied to revision version 221-B, generate revision version 222-R.It is configured to work as in part and detects and revised edition
During number associated conflict mark symbol in the embodiment of fully heavily loaded all status informations, when notifying parts revision version
222-R can use(Such as, shown at T3)When, part can the heavily loaded all status informations for being directed to revision version 222-R.Such as this
Art personnel it should be appreciated that this only may be employed to combine increment a form of compression.What is provided shows
Example is not intended to limit the compress technique for uncertain change.
Distributed command is performed
Turning now in following discussion:When change is once be communicated, how change is applied in control and monitoring system 24,
Figure 11 is shown with all parts(Such as, HMI terminal 26, control/supervision equipment 30, program terminal 46, intelligent input/output
Equipment 260 and mute input/output(I/O)Equipment 262)Control and monitoring system 24.During intelligent I/O equipment 260 can include
Central Processing Unit(CPU), to allow intelligent I/O equipment 260 based on being supplied to their data come execution logic.Mute I/O
Equipment 262 can not include CPU, therefore may rely on controller by Logic application to their input.
Enforcement engine 264 can be embedded in control and monitoring system 24 and can support in all parts of enforcement engine.
In one example, the part with CPU is embedded with enforcement engine 264.Enforcement engine 264 can be by control and monitoring system 24
In change(Such as, state increment 43)It is applied in all parts with embedded enforcement engine 264.Enforcement engine 264 is wrapped
Include order(Such as, command script 266)With trigger condition 268.When trigger condition 268 is assessed as true by enforcement engine 264
Perform command script 266.For example, trigger condition 268 can be evaluated as very in a case where:When intelligent I/O equipment 260 or mute
The state of I/O equipment 262 is changed, and the data value in control/supervision equipment 30 is changed(Such as, produced by increment script 170)
And/or when user interacts with HMI 26.By by enforcement engine 264 throughout control and all parts of monitoring system 24 come
Distribution, can more efficiently handle control and change with monitoring system 24.For example, it is possible to use the CPU of all parts processing
Control logic needed for part of the ability to perform control and monitoring system 24.In addition, compared to the controller of concentration, control and prison
Order in the various parts of viewing system 24, which is performed, can increase redundancy and/or provide more preferable place to perform order.Example
Such as, in response to controlling the change with monitoring system 24, intelligent I/O equipment 260 is made to be able to carry out the intelligent institute of I/O equipment 260 peculiar
Logic, without dependent on control/supervision equipment 30.
As discussed above, some parts(Such as, mute I/O equipment 262)Embedded enforcement engine 264 may not be supported,
Or enforcement engine 264 may be supported but do not had Embedded.These parts may rely on miscellaneous part(Such as, control/prison
Depending on equipment 30)To perform the logic for being directed to the part without embedded enforcement engine 84.For example, it is as shown in fig. 11,
Mute I/O equipment 262 is without embedded enforcement engine 264.On the contrary, using the traditional logic of control/supervision equipment 30(Such as, it is terraced
Shape logic(LL), functional block diagram(FBD), SFC(SFC)Deng)Carry out polling data.
Mentioned order(For example, as defined in user and/or system the command script such as relay ladder logic 266)Can be with
It is stored in tangible, non-volatile, computer-readable medium(Such as hard drives, database, read-only storage and/or arbitrary access
Memory)In computer-readable instruction(Such as, object), to be performed when trigger condition occurs or at scheduling time.
For example, order can be stored in data capsule 158 in Figure 5.Order can be from the basic Similar integral attribute of order and/or function
Baseset.Specific attribute and behavior can be added in basic class with draw other order classes as be used for screen navigation and
Write the class of label value etc..In some embodiments, to order basic class can include parameter, or can be used for inputting and export
The set of supplemental characteristic name/value pair.In addition, ordering basic class to include indicating that order has completed " completion " category performed
Property.Basic class is ordered to include indicating to cause order to perform the wrong community stopped because of mistake.In addition, ordering basic class can
With including being responsible for the storage, clearing of order by controlling to be used to whom be determined with monitoring system 24(Such as, any entity should performed
Order is deleted from data capsule 158 afterwards)Female attribute.Basic class is ordered to include belonging to the title that order is identified
Property.Name attribute can be used in expression and trigger condition 268, to allow the attribute of order to trigger additional command.Life
Basic class is made to include the Process Attributes of the executive process of instruction order and there can also be the execution of instruction order
Time-out(Such as, it has been not carried out within the period distributed)Timeout properties.Basic class is ordered to include adding order
To the scheduling attributes of appropriate execution thread, it will be discussed in more detail further below.In addition, ordering basic class can be with
Execution attribute including including execute instruction.
In some embodiments, order can be combined or is put together.With two kinds of basic complex forms:Sequentially
Order is compound and parallel command is combined.In sequence command is compound, each order in group is put into together with given order
Perform one at a time.A compound example of useful sequence command can be the Management Information Base for carrying out following processing:1)Write
Enter label to start tank filling(tankfilling), 2)Wait specific label value, and 3)Change the state of graphic element.
The pseudo-code example being combined the following is possible sequence command:
In parallel command is compound, each order put together in complex is performed in the same time.For example, following
Writing tag command can perform in the same time started:
In some embodiments, order to be combined and can include compound and parallel composition the combination of order.For example:
Turning now to Figure 12, there is provided the embodiment of the frame performed by enforcement engine circulation 300.Frame circulates 300
The operation controlled period(Such as, 30 times per second)One group of computer-readable instruction.The target of frame circulation 300 is to being supplied to figure
The data variation of 11 enforcement engine 264(Such as, state increment 43)Make a response.As shown, frame circulation 300 can be assessed
Expression at frame 302.For example, providing expression data by data acquisition thread 303(Such as, the value of data object), data obtain
Line taking journey 303 can conduct interviews to controlling the status data with monitoring system 24.Frame circulation based on the expression assessed come
To trigger condition at frame 304(Such as, the trigger condition 268 in Figure 11)It is estimated.It will be triggered if based on the expression assessed
Any one in condition 268 is evaluated as very, then can pair order associated with trigger condition 268(Such as, the order in Figure 11
Script)It is scheduled or performs.As being discussed in greater detail below, on Figure 13, it can be performed in frame circulation 300
Some orders, and can be in other threads or thread pool(Such as, user's input thread 305 and thread pool 307)In to other life
Order is scheduled and performed.Frame ordering or the scheduled order to be run in frame circulation 300 are performed at frame 106.Then, exist
Any transition is performed at frame 308 to update(Such as, how from a value changes to the computer-readable instruction of another value).Transition is more
A new example can include the graphic animations for representing state change, for example, showing the animation of the flowing for opening valve
Arrow, or the nearest state change represented for image conversion the animation arrow faded out.Then, frame circulation 300 can be provided
By the change of performed order application(Such as there is provided the screen picture of renewal and/or new data value).
As discussed above, frame circulation 300 can run the controlled period(Such as, 30 times it is per second).In some implementations
, can be by being performed with given time interval come the part 100 that skipped frame is circulated to adjust frame circulation 300 in mode.Example
Such as, it is assumed that the operation per second of frame circulation 300 30 times, then every three frames table can be designed to up to assessment frame circulation 300(Frame
102), trigger can be estimated at each 3rd frame since the second frame(Frame 304), and can be opened from the 3rd frame
Begin every three frame provides transition and updated(Frame 308).The offer(Frame 310)It can continue to perform at each frame, or can be most preferably
The only operation when change occurs.Therefore, each in frame can still be performed in order, but be adjusted to less frequency
Rate(Such as, 1/3 frequency or 10 frame per second)To perform.
Furthermore, it is possible to change frame rate based on the hardware of operation enforcement engine 264.For example, in some embodiments,
If be such as based on using the processor of lower capabilitySystem, then frame circulation can be run with 12 frame per second, such as
Fruit uses the system based on Atom, then frame circulation can be run with 30 frame per second, if using desktop computer, frame circulation
It can be run with 60 frame per second, and if using the system based on browser, then frame circulation can be transported with 24 frame per second
OK.In addition, transition option can allow less transition(Such as, every 6 frame 1 time)And/or can allow to depend on used put down
Platform and allow transition to present it is less(Such as, every frame it is not).Enforcement engine 264 can be adapted to the frame circulation based on determined by
The execution time in 300 various stages, frame circulation 300 was adjusted during running.For example, the heavy screen of expression can
More expression assessment times can be needed, and the heavy screen of transition may need more transition processings/execution time.
Turn now on how discussion of the traffic order to perform, Figure 13 shown for according to embodiment traffic order
Processing 320.When trigger condition 268 is evaluated as into true at frame 322, start dispatch deal 320.As discussed previously,
There may be one or more orders associated with trigger condition 268.Depending on the order associated with trigger condition 268
Type, processing 320 can take one in two paths.Order can be frame ordering 324 or order thread 326.Frame is ordered
Make the data in the main frame circulation 300 of 324 influences., can be by frame ordering 324 in order to be performed in main frame circulation 300
It is added to frame ordering list 326.It is then possible in main frame circulation 300(Frame 306 in Figure 12)Upper execution frame ordering 324.
Generally, these orders, which change, needs the data for bringing up again confession of data.It therefore, it can prior to providing(Frame 310 in Figure 12)To hold
These orders of row.
Order thread 326 is that the order that the data in 300 memory spaces performed conduct interviews is not circulated to frame.Can be
Circulated from frame and these orders are freely dispatched on 300 different threads.Therefore, if trigger condition 268 is commented for order thread 326
It is true to estimate, then scheduling thread order is with the operation in thread pool 307.Can more efficiently it be utilized by using thread pool 307
Resource.For example, by keeping order thread 326 in circulating 300 threads from frame, frame circulation 300 can freely perform prior life
The order for making and/or having to operate in frame circulation 300.
Although some features of the present invention only have shown and described herein, those skilled in the art will recognize that perhaps
Many modifications and variations.Therefore it should be understood that appended claims are intended to, covering is all these to be fallen within the true spirit of the invention
Modifications and variations.