The application is entitled " the Extensible Control ModelSystem and that on November 11st, 2011 submits to
U.S. Provisional Patent Application No.61/559 of Method ", 008 non-provisional application are incorporated into herein by quoting.
Specific 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 programmings)To affect control and monitoring system.Automatically control
Device programming depend heavily on task and/or logic based on event and/or the execution based on program(For example, programming language is used
The machine-readable instruction that speech is write, such as relay ladder logic)To affect to control the change with monitoring system.Automatic controller
The all of input data of consumption is often used in, is calculated and is distributed output data, the change of processing data and data are divided
Cloth is to control and the part of monitoring system.Unfortunately, such part to by control and monitoring system(For example, automatically control
Device and automatic controller programming)The heavy dependence with the centralized data model of trustship is affected to provide some poor efficiency.For example,
As the number of the task for the predetermined of centralized model and based on event increases, as being permitted for single model may be caused
Many additional changes are it may occur that the performance of degeneration.Additionally, a large amount of uses of centralized model(For example, via control automatically
Device processed)The method that more concentrates of processing controls logic is generated, causes execution, the single node failure of the poor efficiency of control logic
(For example, when automatic controller breaks down, whole control may be broken down with monitoring system), and be likely to result in certainly
The processing pressure of movement controller(processing strain).
According to present embodiment, pass on and distributed life by using distributed data model, distributions change
Order is executed, and control can become more flexible with monitoring system.For example, by providing increase in entirely control and monitoring system
Collaboration capabilities, increased data redundancy and process load balance, present embodiment illustrate more robust and flexible automatically
Control and monitoring environment.
Robust control and monitoring system
Many aspects, part and process will be described by following discussion.By introduction, overall system summary purpose exists
In these innovations are placed in text.Fig. 1 is control and the monitoring software for interface of the embodiment according to present disclosure
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 be effectively 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 when in storehouse to use, be customized in its function and in terms of the outward appearance in screen,
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
During row, environment 14 makes operator(For example, personal user)Can interact with the application, such as in run duration(For example, using connecing
During mouthful, generally during interacting with the process in operation or during the process in observation operation)Process.If timing ring
Border 16 allows designer to configure interface and its part.For example, system graphically can exist via runtime environment 14
Display(For example, computer or interface equipment screen)On operation information is presented to operator.Additionally, system can include
For receiving the device of the operator that can be detected via runtime environment 14 and manage input(For example, keypad).Environment
Interact as described in detail below, in an innovative way providing the use and programming of very enhanced interface.
Runtime environment 14 includes or provides the access to equipment key element 18.Equipment key element 18 is software part, can wrap
Include any may have access in software environment or configurable key element.For example, equipment key element 18 is included by runtime environment 14
Come the software part for managing, such as " ActiveX " control or " .NET " part." ActiveX " and " .NET " refer to towards
The concept of object, technology and instrument.Generally those skilled in the art is by 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 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 junction point)And communication interface.?
Herein, property is can be for example used for defining expression or image of the key element in screen view with controlled attribute, 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 executing the operation carried out by key element.Herein, connection is the link between key element,
And can be used for making data(Read from memorizer or write memorizer)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 illustrate and automatically controlling the screen with the state of the part in monitoring system)And application.Generally, substantially any
Discernible function can be configured to such key element.Additionally, 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 for supporting
The particular restriction of design pattern.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 execute the function in HMI, for example, calculate, or even management and
Data exchange between other key elements.
Runtime environment 14 is usually used communication subsystem 20 to be operated.Communication subsystem 20 is suitable to and equipment key element
18 interconnect.In fact, communication subsystem 20 can be considered the connection for including equipment key element 18.However, communication subsystem
20 can include sending data to external circuit and from a series of softwares of external circuit receiving data, hardware and firmware,
Such as automatic controller, other computers, network, satellite, sensor, actuator etc..
Runtime environment 14 is usually used behavior subsystem 22 to be operated, 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 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
Connection list, and remote access is provided to runtime environment 14.In fact, here again the behavior can be defined as per
The profile of individual equipment key element(profile)(That is, " method " or " state engine ")A part.
During design, environment 16 includes the high realization of behavior subsystem 22, the high realization profit of behavior subsystem 22
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, even if can also design in the case of interfaces and reconfigure equipment key element 18.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 allows designer to pass through environment 16 during design via long-range program terminal or set timing ring
The aspect in border 16 interacts and changes the operation of HMI in terms of HMI offers come with the runtime environment 14 of HMI to program terminal
When environment 14 aspect.For example, can be by specifically designing via network via the HMI of network-coupled to kneetop computer
When environment 16 be supplied to kneetop computer to provide the user with configuration powers and functions.
The details and example for how completing the operation presented below.In the present embodiment, during design, environment 16 can be with
It is to combine Dynamic Hyper Text Makeup Language(DHTML)And Active Server Pages(ASP)Dynamic content is carried by server script
The product of supply browser.ASP scripts are the codes of bespoke, are included in before the page is sent to user in server
(For example, the webserver)One or more scripts of upper process(That is, little embedded program).Generally, in conventional application
In, such script prompt server is made a change from database access data and in data base.Next, by the page
Before being sent to requestor, script typically sets up or the self-defined page.As discussed below, such script is very
Differently it is used in this framework, such as comes in the case of the prior knowledge of the feature without equipment key element or its mutual relation
Set up visualization.
By promoting the change of equipment key element, during design, environment 16 allows designer to carry out the special reality of behavior subsystem 22
Existing or make and tradable set timing model.The specific example that realizes during the design of behavior subsystem 22 includes network setting
Timing environment 16, during the network design, TCP/IP connection of the environment 16 between HMI and remote equipment is right to extend
The access of the 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
It is able to access that the web browser of relevant interface or HMI to operate the aspect of runtime environment 14.As described above, and such as with
As lower detailed description, this by using the configuration of dynamic content, script and equipment key element property combination realizing.
Fig. 2 is the control for being for example used for industrial automation for realizing said frame of the embodiment according to present disclosure
Graphic representation with monitoring system 24.System 24 includes HMI 26, and the HMI26 is suitable to be connected with networked components and configuration equipment.
System 24 is shown as including being suitable to by control/supervision equipment 30(For example, remote computer, automatic controller, for example, may be programmed
Logic controller(PLC), or other controllers)Carry out the HMI 26 with the part cooperation for processing 28.HMI 26 can be physically
It is similar to existing hardware, such as panel, monitor or stand-alone device.
The cooperation between the part of HMI 26 and process 28 can be promoted by using any appropriate network strategy.Real
On border, industry standard network can be adopted, such as DeviceNet, to allow to carry out data transfer.Such network allows root
Data exchange is carried out according to predefined agreement, and the ability for operation networking key element can be provided.As mentioned above, although
Networked system is with reference in being currently discussed and including controller and the system of other equipments, described HMI 26 and programming
Technology can be equally applicable to non-networked part(For example, GPS display, game display, mobile telephone display, flat faced display
Deng)And suitable for the networked system outside industrial automation.For example, can use in facilities management described below
Arrangement and process:The interface of automobile and vehicle, computer numerical control(CNC)Machine, point of sale(POS)System, be used for commercial market
(For example, elevator, enter door system)Control interface etc., above only enumerate.
Stored and resided in HMI by the operation or operating environment 14 of corresponding behavior management subsystem and construction
On 26.For example, such behavior subsystem is may be adapted to for example during the initial manufacture or setting of HMI 26 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(Actual image corresponding with key element or picture are represented).These applications
Program, screen and user interface key element are each the types of equipment key element.As is described below, HMI 26 includes
The application program for being stored of the interaction of specified layout and equipment key element.Timing ring is set based on the network of engine during operation
Border 16 is also loaded and resides on HMI 26.During design, environment 16 is may be adapted to as environment during design and runtime environment
To process high feature(For example, safety management).
HMI 26 may be adapted to allow user to interact with substantially any process.For example, process 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 include various functional units, such as motor, valve, actuator, sensor, or countless manufactures, processing, Feedstock treating and
Other application.Additionally, process 28 can include for by automatization and/or the control and monitoring observing to adjust process variable
Equipment.The process 28 for illustrating includes sensor 34 and actuator 36.Sensor 34 can include being adapted to provide for regard to treatment conditions
Information any number of equipment.Actuator 36 can be similarly included and 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 control
Device)Particular address in the control/supervision equipment 30 for communicating and being assigned to be accessed by HMI 26.34 He of sensor
Actuator 36 can directly be communicated with HMI 26.These equipment can be used for operating processing equipment.In fact, they can
To be used in processing cycle, the processing cycle by controlling/supervision equipment 30 and/or HMI 26 controlled and monitor.Can be based on
Process is input into(For example, from the input of sensor 34)Or directly input(For example, it is input into by the operator that HMI 26 is received)
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
True is that equipment key element is resided in HMI 26 with environment itself during design, and gives program terminal 46 by HMI 26 " offer "
On browser or other general readers.In other words, can reduce or eliminate to outside computer workstation(Example
Such as, kneetop computer and desktop computer)Necessary support.It is noted that to being used for " browsing for 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 exemplary.One
As in fact, term " browser " is used in herein to refer to the software including any general reader.
By programming to equipment key element as is described below, HMI 26 is may be considered that including for presentation one
Or more screen views or visual instruction, and by reference to screen view(For example, press the button, Touch screen
Position etc.)The equipment key element executed during interacting 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 by operating system 38 or be executed.Such as
Upper described, the equipment key element according to present embodiment can be the object for meeting " .NET " or " ActiveX " standard.Operation system
System itself can be based on any appropriate platform, such as Window CE, OS-X etc..As cited herein, equipment key element and
Instrument is supported in network(For example, the Internet)The upper network service for sending data or technology.Therefore as described below
As, these equipment key elements follow with regard to information sharing set of rule and by transformation with various scripts and programming language
It is used together.Such equipment key element allows to for interaction content to be supplied to external application, such as LAN, WAN, Intranet,
Extranet or even WWW.Therefore, operating system 38 and various equipment key elements are beneficial to by means of browser 48 by allowing to arriving
The configuration access of browser 48(access)(For example, which is provided)Dynamically to configure HMI 26.
For example, such include for illustrating the entrance of equipment key element with posting port.In other words, can essentially be from clear
Device 48 is look at creating and execute new equipment key element.Further, it is noted that browser 48 does not need actual functional entrance.Actual
On, in one embodiment, cause based in equipment key element in data functionality and container via the request of browser 48
" the board turning of the operation of appearance(draw)" sequence, equipment key element table is allowed in the case that thus function aspects are not actually provided
The access for illustrating and which being configured that shows.This permission 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.Can with itself include equipment key element application beneficial to access and from each of HMI 26
The equipment of kind key element obtains information.Specifically, it can be in the multilevel device key element that can be enumerated for execution that application 40 is represented
The first order.Application 40 can include applying with the user of XML page face form in practical implementations.Then user application with user or
Person operator and interact 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 with mark
Note language(For example, HTML or HTML)The appropriate code that writes is defining screen view.Therefore, it can
Carry out converse routine is not used in the case of the configuration of the graphic interface screen of HMI26.Additionally, by compiling to equipment key element
Journey, can be via following resident server softwares(Referred to as server 42)Directly on HMI 26, to develop screen view,
The resident server software makes resident development environment can be used to remotely access.Specifically, in one embodiment, some
The expression of equipment key element(For example, ActiveX controls)Browser 48 is provided to without providing software part itself.Because can
Environment during accessing exploitation via browser 48 or design, therefore can eliminate and download to screen by change and update remote
The needs of journey configuration software application.
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)Concrete memorizer or storage register read or write.For example, specific function can be right
Should read in the depositor 32 of write control/supervision equipment 30 or from the depositor 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 for such as being determined by sensor), and generate output letter
Number for writing the value of state corresponding to different networked devices.As will be discussed in more detail like that, such
Status information can be via state increment(state delta)43 passing on.For example, in the embodiment for describing in fig. 2, control
System/supervision equipment 30 and HMI 26 can pass on status information with use state increment 43.Additionally, program terminal 46 can also make
The reception and registration of status information is carried out with control/supervision equipment 30 and HMI 26 with state increment 43.
It is of course possible to configure more complicated function.For example, in Industry Control with monitoring environment, such equipment key element
The operation of 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-programmed can be used for HMI 26.Such functional module can via network access,
Or may reside within HMI 26, or reside in and be directly linked on the single equipment of HMI 26.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 is may reside within HMI 26
It is beneficial to configuration HMI 26, as described below.Screen command can be called for executing the phase based on operator's input
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 be led to
The key that crosses on the position or pressure keyboard touched on touch screen is providing 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 is executed with specific location triggered)The phase can be executed
The function of prestige.Therefore, operator can be interacted with process, generally in order to changing screen view, write depositor or life
Order generates other outputs or control signal.In unit is realized, interaction can simply be recalled or data storage, change
Become screen etc..
In the case where some HMI have many such screens and substantial amounts of equipment key element, one or more can be adopted
Multiple single interface screens.Each equipment key element further uniquely can be programmed to consider specific input, execute concrete
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 pass through directly with HMI 26 in itself(If there is one)On screen or panel interact to match somebody with somebody
HMI 26 is put, but configuration will be executed from long-range program terminal 46 in many cases.For example, via browser 48 or class
As application directly providing 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, during the server 42 resided on HMI 26 can be provided to storehouse 44
Equipment key element access.By equipment key element directly in thesauruss 44 on HMI 26, 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)Accessed.
Access control scheme can be used to limit the ability for changing screen and equipment key element.For example, it may be desirable to password or
User's access state is obtaining the access.Additionally, in the embodiment that conceives at present, program terminal automatically recognizes HMI 26
Or following terminals, HMI 26 is used as being couple to program terminal 46 on the terminal(For example, similar to external memory storage or drive
Dynamic)Equipment be resident.Therefore, program terminal is once connected to, and HMI 26 simply can be " recognized " as can be accessed for
Equipment(Following configuration screens and instrument are provided).
Once it is that program terminal 46 is addressable to reside in the equipment key element on HMI 26, then can be via carrying out self-programming
The communication link of terminal 46 is directly changed on HMI 26 or updates the aspect of 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 received from the sensor 34 that reinstalls
The trend of pass.Therefore, user is may be found that with off-line mode(For example, change is not immediately performed)In the case of update for table
The HMI figures for showing such data are desired or easily.In this case, user can be via 46 chain of program terminal
It is connected to the storehouse 44 of available equipment key element and uses it to modification HMI figures or function in development environment.
It is noted that additional equipment key element can be added to storehouse 44.For example, if trend equipment key element is not resident in
On HMI 26, such element can be downloaded to HMI 26 from the repository 50 resided in program terminal 46 by user.Or,
User can be from can be via network(For example, the Internet)The resources bank 52 of access directly arrives HMI 26 or by program terminal
46 accessing trend equipment key element.This can be with particularly advantageous, this is because new and improved equipment key element can individually simultaneously
And it is downloaded to HMI 26 on a regular basis, thus in the converse routine or HMI operating systems for not needing regular release new,
Or increase new function in the case of environment software during operation or when designing.Development environment can be provided to the chain in such storehouse
Connect.Additionally, 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 with the version conflict of 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 the distributed data model for representing control and 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 the one or more parts in the part in control with monitoring system 24).As following will more
As describing in detail, distributed data model can be in conjunction with increment(delta)Script and distributed command are processed and 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 is supplied to prison into the only increment script of the change comprising data model and/or 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, it is distributed with one of the part of monitoring system 24 place that control is included in
Copy).Additionally, as will be discussed in more detail like that, control can be utilized with some parts of monitoring system 24 and be enabled
The distributed execution engine of distributed command process is enough carried out.Such distributed command is processed makes control with monitoring system 24
Distributed elements can process order execution based on the event or program for being supplied to distributed elements.
Passed on by using distributed data model, distributed increment(For example, via increment script)And it is distributed
Order is executed, and control as a result and monitoring system 24 can more robusts and flexibly.For example, centralized control is not to rely on
Centralized data model at system/supervision equipment 30, it is possible to use the distributed copies of data model with affect control with prison
Change in viewing system 24.For example, it is not to rely on centralized data model at control/supervision equipment 30 to affect HMI
26 change, HMI 26 can include the copy of distributed data pattern, and which depends on the copy to affect within HMI 26
Change.Additionally, HMI 26 can receive following state increments 43(For example, via increment script), the state increment 43 is by HMI
The local replica of 26 data models that are consumed and being applied to HMI by HMI 26.Additionally, such as will retouch in further detail below
As stating, HMI 26 can locally execute engine including following(For example, the enforcement engine of HMI 26 is distributed in), this is locally held
Row engine is used at HMI 26 executing the order provided to HMI 26.
Additionally, 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 cooperate.Further, since data storage can be with cache control and monitoring system
The single copy of 24 data, it is possible to changed offline.For example, though when controller is unavailable, by using
The data of one of data storage high speed caching, user can be modified with monitoring system 24 to control.When user recovers
Line(For example, it is possible to access process device)When, the modification that is made by user in off-line case can be same with other data storages
Step.Therefore, change can be supplied to control and monitoring system 24 with more consistent and reliable way by user.
For example, a user can be changed to tag definition, metadata definition in design software, can be to design
Key element renaming, can change alarm setting, change data type and/or modification data record situation, such as Rockwell
The RSLogix 5000 of limited company of automatizationTM.These changes that is submitted to by user can be carried out to local datastore.
When online, these changes can be passed to other data storages in control with monitoring system 24, so as to cross-system 24
Apply the change.When offline, these changes can be retained in local datastore and when returning online(For example, again
It is connected to the controller of control and monitoring system 24)Can be by synchronization.By the automatic transmission for changing, the change of redundancy can be avoided
Change and enter and save R&D work.Additionally, based on the automatic renaming transmission carried out by system 24, it is possible to reduce debug and first
Beginningization.Further, since these changes can originate from whole system, so can be with when different user develops controller and HMI
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 executed, and can greatly improve control and monitoring system 24 relative to Traditional control and monitoring system.For example, it is possible to
Come Service controll and monitoring by control with any one copy in the multiple copies of the data model of distribution in monitoring system 24
The client of system 24(For example, the part of the data in the data model of request control and 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, it is possible to
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 on network or which network path with there is maximum bandwidth etc.)Provide data to client.
Additionally, can also include process in the judgement considers this factor.For example, the control of this robust and monitoring system 24 can be with
Data are enable to be provided to the client using load-balancing technique.In one embodiment, can from comprising known or
The part of distributed copies of the data model of less request may be provided than control with the miscellaneous part of monitoring system 24 to visitor
Family end provides data.In one example, control can include two control/supervision equipments 30 with monitoring system 24(For example, 2
Individual automatic controller).Control can predict with monitoring system 24 or observe the first control/supervision equipment 30 to the second control/
Supervision equipment 30 receives the request more about data.Therefore, control is can determine from the second control/prison with monitoring system 24
Depending on 30 service client of equipment avoiding excessive use first from controlling/supervision equipment 30.Thus, control can be with monitoring system 24
By the load based on the part in control and monitoring system 24 come balancing requests avoiding the overflow of control/supervision equipment 30.
In some embodiments, this can include and working as the amount of the number of threshold values or data asking to provide to request from single part
It is moved to when reaching threshold value at overflow source.In some embodiments, substantially uniformly divide when this can be included in offer data
Stand request load or data volume.
In addition to the load-balancing performance of 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 unstable when(For example, do not have
The copy of distributed model is represented exactly), unstable copy can be by stable copy replacement(For example, represent exactly
The copy of distributed model).Can be confirmed as with the control of the copy of expression data model and prison exactly from being distributed in
Any one copy in other copies of data model in viewing system 24 and obtain stable copy.
In some embodiments, control can access following redundancy ponds, the redundancy pond with the part of monitoring system 24
Effective copy to distributed data model or control and the monitoring system 24 of the effective copy to distributed storage data model
Part provide localizer.For example, when the data in client component requests data model, which can access reception and registration and where may be used
To obtain the redundancy pond of data.As described above, control can monitor data model with one or more parts of monitoring system 24
Copy determining unstable copy.When one or more unstable copies are detected, control and monitoring system 24
Localizer can be moved to unstable copy or store the control of unstable copy and the part of monitoring system 24 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 store unstable pair
This part)Afterwards, control can replace unstable copy with stable version with the part of monitoring system 24.Unstable
Copy replaced after, control can will replace stable release with the part of monitoring system 24(Or stable release is replaced in storage
Part)Again increase go back to redundancy pond to use for future.
In order to preferably illustrate relation during design between environment and runtime environment, Fig. 3 provide represent HMI 26 with
Interactive high level flow chart between program terminal 46.The following provide the more details with regard to the process.It is commonly used for
HMI 26 and the platform of program terminal 46 include the software 38 of operating system or execution, application software 40 and any communicate soft
Part, microprocessor, network interface, input/output hardware, regular software storehouse, data base administration, user interface software etc.(In Fig. 3
Not specifically shown).In the embodiment as shown, platform and platform reciprocal action within the HMI 26 during operation during design.If
When timing platform will act as designing, the view of environment 16 is supplied to desktop PC's platform(Suitable operation system is for example run
38 such as Windows XP, Windows Vista or Linux of system), and platform is via operating system when running(For example
WindowsCE、Linux)With platform cooperation during design.Platform offer dynamic state server content 54 during design, and platform when running
Show with regard to the views of itself of HMI 26(If providing display screen on HMI 26).During design, environment 16 is in browser 48(Example
Such as web browser or other general browsers)Middle display.
Fig. 3 when very high level illustrates design environment 16 how with operating system 38, application 40 and runtime environment 14
Reciprocal action.Arrow 56 represents the dynamic exchange of content between HMI 26 and program terminal 46.Generally, with environment 16 during design
Reciprocal action is initially 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 with runtime environment 14 on HMI 26 by operator 60.
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.During design, environment 16 and runtime environment 14 can utilize some benchmark
Technology(Such as DHTML, HTML, HTTP, dynamic state server content, JavaScript, Web browser)To put down in design respectively
Operate in platform when platform and operation.Although, in shown embodiment, when runtime environment 14 and design, environment 16 is resident
On detached platform, but in some embodiments, when runtime environment 14 and design, environment 16 may reside within same
On platform.For example, platform and platform can be configured to or be considered as single platform during operation during design.
In one embodiment of the invention, network implementation when make use of design.In dynamic state server in such as by Fig. 3
Appearance 54 is marked and as described below, and during the design, network implementation is clear by using the network that there is the DHTML from HMI to support
Look at device(Such as, 48), speed and the motility of software when operating in design on platform are provided.DHTML is used for setting timing ring
Web content in border 16 carries out dynamic operation.Additionally, dynamic state server content 54 used in HMI is with by dynamic webcontent
Environment 16 when being supplied to design.The dynamic client-server environment enables web browser be directed to phase
Close application of the dry run in design on platform in the case of the software of processor compiling.
One or more equipment key elements when Fig. 4 shows the design according to this technology embodiment in environment
Figure.The figure is included by display 100(Such as, for the screen of browser display), between attribute Editor 102 and HMI 26
Interaction shown in relation.
During the design represented with configuration screen or display 100, environment includes static content 104 and dynamic content.In dynamic
Holding includes and 106 corresponding image of equipment key element that is any shown or representing(Such as, virtual on/off button, measuring instrument).
In a kind of embodiment of this technology, image by HTML in image tag specify and be 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 creating or it can
To preexist in html file.It should be noted that in some embodiments, the designer for only specifying can be to static state
Content 104 enters edlin.
During the design represented by configuration screen or display 100, environment includes static content 104 and dynamic content.In dynamic
Holding includes and 106 corresponding image of equipment key element that is any shown or representing(Such as, virtual on/off button, measuring instrument).
In a kind of embodiment of this technology, image be by HTML in image tag specifying and be 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 preexist in
In html file.It should be noted that in some embodiments, it is intended that designer only can enter edlin to static content 104.
In the expression of Fig. 4, 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 process 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 of replacement or interface screen can be arranged on other views
In container such as container 110.Usually, in order to accelerate the operation of HMI(Such as, the change between screen view), by limit and its
Each equipment key element of expression that is associated or being provided with equipment key element wherein come these view containers pre-qualified and by its
Associated with each other.Global container 112 can be defined to include all devices key element necessary to 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 executing " gently
Push away " function and by the first screen in expression 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 include for
All these equipment key elements of various view containers, and operate required for visible equipment key element however its own be not can
Any equipment key element 122 that sees.These equipment key elements can include executing 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 connection and the text being associated with key element 106, its can with by user by with attribute
The similar editing machine of editing machine 102 is configuring.
In one embodiment, attribute Editor 102 can pass through from browser(Such as, the browser 48 of Fig. 2)To staying
The server 96 stayed in HMI 26(Such as, http server)Inquiry string interacting with HMI 26.Server 96
With include just like dynamic link library(DLL)ASP servers 98 Deng the interconnection mechanism 12 based on module are cooperated with receiving simultaneously
Response inquiry.DLL allows for executable routine to be 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 98 heavily loaded page of ASP servers and to polling character
String is initially parsed, and this causes the assessment to movement directive.Server side scripting equipment key element then to being represented by image 106
18 conduct interviews to update its position attribution.Then new attribute information is updated on webpage and the page is transmitted
Arrive browser 48.
Pass on state change
Through discussing with reference to the distributions change notification use executed by increment script and distributed command
The benefit of distributed data model, will be discussed to distributions change notification below in further detail.As discussed above
, Fig. 2 be according to this technology embodiment be adapted in use to increment script come 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)The 26 one or more control/supervision equipments 30 being attached with the part being suitable to process 28.Control/monitoring sets
Standby 30 can include contributing to executing task in control with monitoring system 24(Such as, processing controls, remote equipment monitoring, data
Obtain etc.)One or more processors and data storage device.Additionally, program terminal 46 can cause one or more
Individual user can be configured to the attribute of HMI 26 and/or control/supervision equipment 30.
In control environment, the various objects of control and 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 set
Standby 30, I/O modules and/or HMI terminal 26)Memorizer(Such as, hard disk drive, read only memory, and/or random access memory are deposited
Reservoir)In.Control with each in the part of monitoring system 24 can by loose coupling, asynchronous in the way of independently operating.
Additionally, part can be with different programming techniques(Such as, C++, Java and/or C#)To implement.Due to controlling environmental objects
Status information is made that change, it may be necessary to synchronize the status information with the status information resided on miscellaneous part,
So that part can continuously know the state of control and 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 of the status information that is stored with can receive the data of referred to as state increment 43(Such as,
Altered state key element), and do not receive and also do not change and thus all parts of the status information that is already present in being stored with
On the status information for being stored in state key element.For example, state increment 43 can be included because in control and monitoring system 24
Action and altered any data.Unchanged status information is not provided by providing state increment 43, Ke Yiguan
Measure the efficiency that improve.For example, in traditional control with 100 state key elements with 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
The part of state increment 43, control and monitoring system 24 can only transmit the data for altered key element.Therefore, if
In 100 state key elements, only one state key element changes, then will not transmit other 99 key elements, so as to reduce with regard to tradition
The network traffics of system.Additionally, only provide state increment 43 and can reduce because of carelessness and override in control and monitoring system 24
The probability of the state change information for inside generating elsewhere.For example, in the case of 100 state key elements being generally noted above,
If all 100 state key elements are transferred to miscellaneous part, 99 unchanged key elements may cause to elsewhere this
The overriding of the change that one of a little 99 key elements are made.By only providing the key element of change(Such as, state increment 43), above-mentioned 99 are not
The key element of change has not been changed and has been communicated to an elements affect of miscellaneous part.
Through discussing the use of state increment 24, Fig. 5 shows and includes for control and monitoring system 24
The control of the persistence object model passed on by the state change between part and monitoring system 24.For example, above-mentioned part can
To include control/supervision equipment 30(Such as, PLC), be provided with the program terminal of item file 150 and such as trustship persistence object mould
The parts such as the control/supervision equipment 30 and client 156 of type 152 and collaboration session 154.As discussed previously, control/monitoring
Equipment 30 may be adapted to and process 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)Memorizer(Such as, hard disk drive)In each attribute be indicated
Computer documentss are exported.Persistence object model 152 can be control and the one or more parts in monitoring system 24
The computer model of status data, which is in the way of lasting(Such as, by by status data be stored in as hard disk drive non-easily
In the property lost storage medium)Tracking is kept to control and the change of the status data in monitoring system 24.Persistence object model 152
Can serve as change and pass on authority, so that the executed change that all states to object are made all is by persistence object
Model 152 is storing and pass on.As being discussed in greater detail following, collaboration session 154 can be control and monitoring
Interactivity information Fabric Interface between the part of system 24, its provide environment for carrying out uncertain change(Such as, select in user
After selecting execution some changes, can only by these change applications in be transferred in control and the miscellaneous part of monitoring system 24).
Client 156 can be control and the status information preservation by object of monitoring system 24 any other portion in memory
Part, such as provides the part of the expression view of object.
In shown embodiment, shown part(Control/the monitoring for providing collaboration session data 154 sets
Standby 30, provide the program terminal 46 of the item file 150 for updating, provide 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
Memorizer).Data capsule 158 includes the shape that the state of the one or more objects to control and monitoring system 24 is defined
State key element 160.State key element 160 can be defined such that different technology 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 with prison
Status information in all parts of viewing system 24 carries out effectively synchronous.Because the state being stored in data capsule 158 will
Element 160 in one or more change, it is possible that need the Data Elements 160 being stored in miscellaneous part are carried out
Synchronous.
As discussed above, persistence object model 152 can be answered in control and 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:Which is claimed
It is the gold copy 162 of the status information for one or more objects(As shown by intersecting hachure).Gold copy
162 copies for including 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 which 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)Interior.If held
Go one or more state factor changes, then the key element of change is supplied to gold copy in the form of increment script 170
162, increment script 170 is updated based on state factor change.Then pass through increment script 170 by state factor change from gold
Copy is supplied to the miscellaneous part controlled with monitoring system 24.
In order to realize that in data capsule 158 state change, control can be played the part of different from the part of monitoring system 24
Role, these roles can include change instrument 164, change moderator 166 and audient 168.Change instrument 164(Such as, by working as
Editing machine in front embodiment provides the client of the item file 150 of modification)Change is sent to change moderator 166 please
Ask.Change instrument 164 can be by receiving asynchronous change response and/or errored response with regard to change request verifying change
Success.Change moderator 166(Such as, the server of trustship persistence object model 42)The change for arriving is ranked, is led to
Cross the asked change of execution and carry out processing variation, other side effect changes are made based on request or abandons the change.Change is secondary
Cut out device 166 and the change response to change instrument 164 can be provided, change notification is published to audient 168 when change occurs
(Such as, the client 156 being related in collaboration session 154 and/or control/supervision equipment 30), and/or change is write gold pair
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 in control with 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 instrument 164, change moderator 166 and audient 168 can be arranged on the number for not relying on particular technique
According to driving increment script 170.Increment script 170 with establishment, renewal and/or can be deleted(CRUD)The form of data is describing
Obj State changes.Create some or all of data of the establishment that data can include contributing to object(Such as rectangle, rectangle
Locus, width and height).For any data for not providing request to create can use default value.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).Delete data to identify(Such as, its identifier is described)Removed Obj State
Data(Such as, for the rectangle for having removed, deleting data can include the title of rectangle to be deleted).In an example
In, if producing change using following C# pseudo-codes:
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
These ID are provided with the additional data to including together with change(Such as, the mark of the entity of change is made and/or at which
The lower female object for creating existing object)Illustrate.Because the increment script 170 of data-driven is unknowable or does not rely on
Specific programming technique, so increment script 170 can be consumed by any miscellaneous part of control and monitoring system 24, and not
The programming technique that consideration is used.
As shown in the above example, in some embodiments, increment script 170 can become including more than one
Change.Therefore, increment script 170 is provided with all or none(all or nothing)Mode entirely changes the side of set to process
Formula.For example, as implied above go out, include two groups of establishment data in increment script for the visualization on display, one group
For creating rectangular image, one group is used for creating circular image.If the establishment of circular image produces mistake, can not complete
Rectangle changes, and which results in all or none mode.
Increment script 170 can also including heading message such as change revision number, the timestamp when being changed,
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.Additionally, increment script 170 includes the identifier of the object for changing applied, altered state key element 160
Changing value with state key element 160.Creating data acquisition system can include the total state of object(Such as, all of state key element 160),
This is because each key element in state key element 160 will be introduced into the consumer of increment script 170 for the first time.
Fig. 6 is turned now to, change instrument 164, the state change between 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.Subscribing to request 192 can include the revised edition of the revision version 194 for the status information being stored in audience members 168
This number.If the revision version on collaboration session 154 is mismatched with the revision number sent in subscription request 192,
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 being directed to revision version 6,7 and 8 in revision version 8, therefore to client
156.Increment script 170 can be applied to client 156 its state, therefore as shown in panel B, client quilt
Update revision version 8.
If change instrument 164(Such as, there is provided the client of the program file 150 of renewal or server)Update gold copy
162, then change notification to collaboration session 154 and should be subscribed to audience members(Such as, client 156).Such as illustrate in panel B
, when gold copy 162 is updated to revision version 9 from revision version 8(Such as, via by sending from change instrument 164
The elaborately planned change of the item file 150 of renewal), change moderator 166 and provide for revision version to collaboration session 154
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.
For example, if client 156 will send subscription request 192 when in revision version 2 and collaboration session 154 is only with right
In the increment script 170 of revision version 5 to 8, then client 156 is by there is still a need for for the increment script of revision version 3 and 4
170.If collaboration session 154 is just lacking necessary increment script 170, it can request that needed for gold copy 162 is provided
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, 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, can pass through
Collaboration session 154 is passed to client 156.But, if necessary increment script can not be transmitted, can notify to receive
Many members 168(Such as, by the message that makes an exception)And/or carry out heavily loaded receiving using the whole elements combination being associated with current state information
Many members 168 so that audience members 168 are newest.If additionally, audience members 168 meet with the one or more increments of application
The mistake of script 170, then use the whole elements combination being 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 use be associated with current state information entirely will
Element set carrys out heavily loaded audience members 168.Maximal increment script threshold value can be tended to based on the meeting for being perceived so that state letter
The significantly more efficient increment script quantity of increment script that the complete heavy duty of breath is compared loading and increased is come self-defined.
In some embodiments, control can also include reverse increment with monitoring system 24.Reversely increment is to from current
Revision version changes back to the necessary change of previous revision version and is described.If be employed, reversely increment script can be by
One revision version of status information rollback of object.This reverse increment script applications are identical with reverse increment script to including
Revision version quantity data capsule(Such as, the data capsule 158 of Fig. 5).Reversely increment script can aid in establishment and be directed to
" cancellation " function of change of carrying out in control with monitoring system 24, and can be also used for withdrawing also do not carry out uncertain
Change, as created before being changed in collaboration session 154.
Fig. 7 is shown according to one of embodiment cancellation 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 210 band of object to panel B
In uncertain revision version 214.First client disconnects, and when broken apart, the second client cancels 214 He of revision version
213, as shown in panel C.Then, the second client makes new change 213 and 214.
In order to prevent the first client revision number to be based only upon to detect it be newest, can be assigned to each revised edition
This identifier is so that the combination of revision number and identifier creates the unique identifier for the revision number.Such as
Fruit applies reverse increment script retain cancelled increment script to cancel change, then, so that " reforming " can be implemented
Function.If reforming change, the previous identifier for the revision version is reused, this is because the increment script is
It is reintroduced back to previously removed identical change.But, if making new revision version, using new revision version mark
Know symbol and cancelled so that not controlling originally to obscure using the newly revised edition with identical numbering with the part of monitoring system 24
Revision version.
For example, each in the revision version in Fig. 7 has associated identifier.Revision version 211 has mark
Know symbol M, there is revision version 212 identifier R, original revision version 213 there is 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
" cancellation ", then be re-added to uncertain change by them, regenerates the revision version with identical identifier T and X.But
It is, in present exemplary, to make new change, is respectively created the newly revised edition sheet 213 and 214 with identifier S and Y.Because
They are completely new revision versions, so identifying above-mentioned revision version using new identifier S and Y.Once the first client
Return presence and carry out reformulating readding for renewal, then certainly it is currently not newest, this is because which is final
Revision version be 214-X and current revision version is 214-Y.In some embodiments, can pass through to track revision version
Number and identifier so as to finding edit path and update revision version information updating the first client.In other embodiment
In, if it find that inconsistent revision version symbolic identifier, the then whole set of use state information(Such as, all of state 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 carry out in collaboration session 154
Make while uncertain editor for the external change of gold copy 162.As shown, the revision version to object 210
221-B application the first uncertain changes deltas 1 generate revision version 222-J.Additionally, respectively by the second uncertain changes delta 2 and the 3rd
Uncertain changes delta 3 is used for generating revision version 223-N and revision version 224-D.Carry out uncertain changes delta 1, Δ 2 and Δ 3 it
Before, external change Δ 1 ' is applied to another part of monitoring system 24 by control and is currently at revision version 221-B
Gold copy 162.If collaboration session 154 receives the notice that new revision version 222 is present, collaboration session 154 withdraws
Uncertain changes delta 3, Δ 2 and Δ 1(Preserve as following pending forward direction increment).Then, collaboration session application pin
Increment script to revision version 222-H, and and then reapply and be respectively created revision version 223-R, 224-C and 225-X
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 applied to gold copy 162 in the way of covering external change.
In some cases, user may expect to terminate in the uncertain change that makes in collaboration session 154.Fig. 9 shows
For stopping the process of the uncertain revision in collaboration session 154.As shown in present exemplary, user is from revision version
221-B creates uncertain changes delta 1, generates 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 is created from state 223-N, generate revision version 224-D.User can be true
That fixed change is not required and/or be not desired and change can be cancelled(Such as, by selecting the program terminal 46 in Fig. 2
In cancel button).In order to withdraw uncertain change, the part with unsettled condition change can be applied for each uncertain change
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 for being stored(Such as, change to be aborted is not included
The revision version of change), so part can simply from the status information that 162 heavy duty of gold copy is whole.Therefore, such as Fig. 9 institutes
Show, by reverse increment or from 162 heavy duty of gold copy, revision version 221-B is left to collaboration session at time T1.Cause
This, collaboration session can be used to undertake from revision version 221-B carries out additional editor(Such as, Δ 4), at time T2, generate new repairing
Order version 2 22-R.
In some cases, it is beneficial multiple uncertain changes to be compressed into revision version, rather than for uncertain
Each in change is creating single revision version.Figure 10 shows implementation below:By some in uncertain change
Change is combined into one group of editor so that generate less revision version.As shown, edit session is opened at time T0.
By uncertain change application to revision version 221-B, revision version 222-J, 223-N and 224-D is generated.Uncertain change can with right
The change that shared state key element is made is relevant(Such as, each change can change rectangle locus over the display).For example,
Revision version 222-J can be by rectangular arrangement in the central authorities of screen, and rectangle position can be updated and arrive screen by revision version 223-N
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 only may need from original value(Such as, revision version 221-B)Arrive end value(For example, on screen, the lower left corner is put
Put, as described in revision version 2 24-D)Increment.Therefore, the middle revision version in collaboration session 154 may decline
Reduce to the single revision version on gold copy 162.Therefore, as in T2 shown in, uncertain changes delta 1,3 quilt of Δ 2 and Δ
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
When number associated conflict mark is accorded with the embodiment of fully heavily loaded all status informations, when notifying parts revision version
222-R can use(Such as, illustrate at T3)When, part can be directed to all status informations of revision version 222-R with heavy duty.Such as this
Art personnel it should be appreciated that this only may be employed to combine increment a form of compression.There is provided shows
Example is not intended to limit the compress technique for uncertain change.
Distributed command is executed
In turning now to following discussion:When change is once be communicated, how change is applied in the control with 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), so that intelligence I/O equipment 260 can be 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 can support in all parts of enforcement engine with monitoring system 24.
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 time by enforcement engine 264
Execute 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 is interacted with HMI 26.By by enforcement engine 264 throughout control and all parts of monitoring system 24 come
Distribution, more efficiently can be changed with monitoring system 24 in processing controls.For example, it is possible to utilize the process of the CPU of all parts
Ability is executing control with the control logic needed for the part of monitoring system 24.Additionally, comparing the controller of concentration, control and prison
Order in the various parts of viewing system 24 is executed can be increased redundancy and/or provide more preferable place to execute order.Example
Such as, in response to control and the change of monitoring system 24, intelligent I/O equipment 260 is made to be able to carry out 260 institute of intelligent I/O equipment peculiar
Logic, without depending 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 not had embedded.These parts may rely on miscellaneous part(Such as, control/monitoring
Equipment 30)To execute for the logic without the part of embedded enforcement engine 84.For example, as shown in fig. 11, mute
I/O equipment 262 does not have embedded enforcement engine 264.Conversely, the traditional logic using control/supervision equipment 30(Such as, trapezoidal
Logic(LL), functional block diagram(FBD), SFC(SFC)Deng)Carry out polling data.
Mentioned order(For example, the command script such as relay ladder logic 266 as defined in user and/or system)Can be with
It is stored in tangible, non-volatile, computer-readable medium(Such as hard drives, data base, read only memory and/or random access memory
Memorizer)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.Can by specific attribute and behavior be added to basic apoplexy due to endogenous wind with draw other order classes as be used for screen navigation and
Write the class of label value etc..In some embodiments, basic class is ordered to include parameter, or can be used for being input into and export
The set of supplemental characteristic name/value pair.Additionally, the basic class of order can include indicating that order has completed " completing " category for executing
Property.Order basic class include indicating to cause order to execute the wrong community for stopping because of mistake.Additionally, the basic class of order can
To include being responsible for the storage, clearing ordered with monitoring system 24 for whom determines by control(Such as, any entity should executed
Afterwards order is deleted from data capsule 158)Female attribute.Order basic class include the title category for being identified order
Property.Name attribute can be used in expression and trigger condition 268, so that the attribute of order can trigger additional command.Life
Make basic class include the Process Attributes of the executive process for indicating order and also there can be the execution of instruction order
Time-out(Such as, it has been not carried out within the time period that is distributed)Timeout properties.Order basic class include adding order
To the scheduling attributes of appropriate execution thread, below which will be discussed in more detail further.Additionally, the basic class of order can be with
Including including the execution attribute of execute instruction.
In some embodiments, order can be combined or is put together.There are 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
Execute one at a time.A compound example of useful sequence command can be the Management Information Base for carrying out following process:1)Write
Enter label to start tank filling(tankfilling), 2)Wait specific label value, and 3)Change the state of graphic element.
The following is the compound pseudo-code example of possible sequence command:
In parallel command is compound, each order that puts together in complex was executed in the same time.For example, below
Write tag command to execute in the same time started:
In some embodiments, the compound combination that can include sequentially compound and parallel composition is ordered.For example:
Turn now to Figure 12, there is provided the embodiment of the frame circulation 300 executed by enforcement engine.Frame circulates 300
The operation controlled time 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, expression data are provided by data acquisition thread 303(Such as, the value of data object), data obtain
Line taking journey 303 can conduct interviews to the status data controlled with monitoring system 24.Frame circulation based on the expression that is assessed come
To trigger condition at frame 304(Such as, the trigger condition 268 in Figure 11)It is estimated.To trigger if based on the expression that is assessed
Any one in condition 268 is evaluated as very, then order that can be to being associated with trigger condition 268(Such as, the order in Figure 11
Script)It is scheduled or executes.As being discussed in greater detail below, with regard to Figure 13, can execute in frame circulation 300
Some orders, and can be in other threads or thread pool(Such as, user input thread 305 and thread pool 307)In to other life
Order is scheduled and executes.Frame ordering or the scheduled order to run in frame circulation 300 are executed at frame 106.Then, exist
Execute any transition to update at frame 308(Such as, how from 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, show the animation for the flowing for opening valve
Arrow, or for the animation arrow for fading out of nearest state change that represents of image conversion ground.Then, frame circulation 300 can be provided
Change by 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 time period(Such as, 30 times per second).In some enforcements
In mode, frame circulation 300 can be adjusted by the part 100 that circulates come skipped frame with the time interval that gives and be executed.Example
Such as, it is assumed that 300 operation per second of frame circulation 30 times, then frame circulation 300 can be designed to every three frames table up to assessment(Frame
102), can start at each the 3rd frame to be estimated trigger from the second frame(Frame 304), and can open from the 3rd frame
Begin every three frame provides transition and updates(Frame 308).The offer(Frame 310)Can continue to execute at each frame, or can be most preferably
Run only when change occurs.Therefore, each in frame still can be executed in order, but be adjusted to less frequency
Rate(Such as, 1/3 frequency or 10 frame per second)To execute.
Furthermore, it is possible to change frame rate based on the hardware for running enforcement engine 264.For example, in some embodiments,
If the processor using lower capability is such as based onSystem, then frame circulation can be run with 12 frame per second, such as
Using the system based on Atom, then frame circulation can be run fruit with 30 frame per second, if using desk computer, frame is circulated
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.Additionally, transition option can allow less transition(Such as, every 6 frame 1 time)And/or can allow flat depending on used
Platform and allow transition to present less(Such as, every frame it is not).Enforcement engine 264 can be adapted to be based on determined by frame circulation
The execution time in 300 various stages is adjusted to frame circulation 300 in run duration.For example, expressing heavy screen can
More expression assessment times can be needed, and the heavy screen of transition may need more transition processings/execution time.
Discussion of the traffic order to execute with regard to how is turned now to, Figure 13 is shown for according to embodiment traffic order
Process 320.When trigger condition 268 is evaluated as true time at frame 322, start dispatch deal 320.As discussed previously,
There may be the one or more orders being associated with trigger condition 268.Depend on the order being associated with trigger condition 268
Type, process and 320 can take one in two paths.Order can be frame ordering 324 or order thread 326.Frame is ordered
The data in frame circulation 300 for making 324 impacts main.In order to execute in main frame circulation 300, can be by frame ordering 324
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 change the data for bringing up again confession for needing data.Therefore, it can prior to providing(Frame 310 in Figure 12)To hold
These orders capable.
Order thread 326 is the order that the data in memory space frame circulation 300 not executed conduct interviews.Can be
Circulate from frame and on 300 different threads, freely dispatch these orders.Therefore, if trigger condition 268 is commented for order thread 326
It is true to estimate, then scheduling thread order is with operation in thread pool 307.More efficiently can utilize by using thread pool 307
Resource.For example, by circulating holding order thread 326 in 300 threads from frame, frame circulation 300 can freely execute prior life
Order and/or the order having to operate in frame circulation 300.
Although only illustrating and describing some features of the present invention herein, those skilled in the art will recognize that perhaps
Many modifications and variations.Therefore it should be understood that claims are intended to cover all these falling within the true spirit of the invention
Modifications and variations.