Multi-user interface system and resource sharing method for multi-user interface
Patent Information
- Application Number
- CN202510566401.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-30
- Publication Date
- 2026-10-30
AI Technical Summary
[0004]针对现有的系统环境缺乏弹性调整的问题,本案提出一种多人机界面系统及用于多人机界面的资源共享方法来解决上述问题
[0004]针对现有的系统环境缺乏弹性调整的问题,本案提出一种多人机界面系统及用于多人机界面的资源共享方法来解决上述问题。
Smart Images

Figure CN123011080A_ABST
Abstract
Description
Technical Field
[0001] This case relates to a human-computer interface and a method for using a human-computer interface, and more particularly to a multi-user human-computer interface system and a resource sharing method for using a multi-user human-computer interface. Background Technology
[0002] A Human-Machine Interface (HMI) is the communication interface between a user and machine equipment, allowing users to intuitively manage or monitor the operation of the equipment. An HMI can establish connections with other HMIs and different operating devices through multiple communication protocols, enabling users to manage and monitor the operational status of multiple devices simultaneously. For HMIs to communicate properly, users need to manually configure the connection settings for all devices (including settings with other HMIs and operating devices) on each HMI before operating the equipment. Since HMI configurations are fixed once set, if equipment needs to be moved or replaced, users must manually change the settings for each device associated with the change. However, this approach is quite time-consuming, and the larger the system architecture, the more devices need to be reconfigured, and the more complex the connection relationships become, making manual configuration errors more likely.
[0003] As mentioned above, the existing mechanisms for maintaining HMI equipment systems lack flexibility and waste users' time and effort in manual maintenance. Therefore, overcoming the problem of overly rigid HMI configuration mechanisms is a concern for those skilled in the art. Summary of the Invention
[0004] To address the lack of flexible adjustment in existing system environments, this paper proposes a multi-user interface system and a resource sharing method for multi-user interfaces to solve the above problems.
[0005] One embodiment of this invention proposes a multi-user human-machine interface system including multiple human-machine interfaces and a computing device. The multi-user human-machine interface includes a first human-machine interface and a second human-machine interface. The computing device is coupled to the first human-machine interface and the second human-machine interface and executes editing software to set up a shared memory block for the first and second human-machine interfaces. The editing software performs memory sharing operations between the first and second human-machine interfaces through the shared memory block, and the shared memory block is configured with a virtual address space, respectively mapped to a first memory of the first human-machine interface and a second memory of the second human-machine interface. Specifically, the first human-machine interface accesses the first memory and / or the second memory mapped to the virtual address space through the shared memory block, and the second human-machine interface accesses the first memory and / or the second memory mapped to the virtual address space through the shared memory block.
[0006] Another embodiment of this invention proposes a multi-user human-machine interface system including multiple human-machine interfaces and a computing device. The multi-user human-machine interface includes a first human-machine interface connected to a first operating device and a second human-machine interface connected to a second operating device. The computing device is coupled to the first human-machine interface and the second human-machine interface and executes editing software to set shared device resources for the first and second human-machine interfaces; wherein the shared device resources have a memory space for the first operating device containing data from the first operating device and a memory space for the second operating device containing data from the second operating device. The first human-machine interface accesses data from the first operating device and accesses data from the second operating device through the shared device resources; the second human-machine interface accesses data from the second operating device and accesses data from the first operating device through the shared device resources.
[0007] Another embodiment of this invention proposes a resource sharing method for a multi-user human-machine interface, wherein the multiple human-machine interfaces include a first human-machine interface and a second human-machine interface, wherein the first human-machine interface and the second human-machine interface are respectively coupled to a computing device. The resource sharing method includes: the computing device executing editing software to set virtual shared storage blocks for the first human-machine interface and the second human-machine interface; and the first human-machine interface and the second human-machine interface using the virtual shared storage blocks to utilize, synchronize, and update shared resources. Attached Figure Description
[0008] Figure 1 This is a block diagram of the human-computer interface editing software and shared configuration according to an embodiment of this case;
[0009] Figure 2 A diagram illustrating the use of virtual shared storage blocks for multiple human-computer interfaces;
[0010] Figure 3 This is a flowchart illustrating the operation of editing software in a resource sharing method according to an embodiment of this case;
[0011] Figure 4 This is a flowchart of the broadcast update procedure of the resource sharing method according to an embodiment of this case;
[0012] Figure 5 This is a flowchart illustrating the switching of a new owner's human-machine interface according to an embodiment of the resource sharing method in this case.
[0013] Explanation of reference numerals in the attached figures
[0014] 100: Human-Computer Interface Editing Software
[0015] 110: Shared memory configuration
[0016] 120: Shared equipment resources
[0017] 122: First operating equipment
[0018] 124: Second operating equipment
[0019] 210: First Human-Machine Interface
[0020] 220: Second Human-Machine Interface
[0021] 252: First operating equipment
[0022] 254: Second operating equipment
[0023] 212, 222: Storage blocks
[0024] 300: Virtual Shared Storage Block
[0025] 302, 304: Shared Blocks
[0026] 312, 322, 324: Storage blocks
[0027] M1, M2, M3: Storage blocks
[0028] S310~S350, S610~S640, S710~S720: Steps Detailed Implementation
[0029] The present invention will be further described below with reference to the accompanying drawings and embodiments, so that those skilled in the art can better understand the present invention and implement it accordingly. However, the embodiments are not intended to limit the present invention.
[0030] As used herein, terms such as “first,” “second,” and “third” describe various elements, components, regions, layers, and / or parts, which should not be limited by these terms. These terms are used only to distinguish one element, component, region, layer, or part from another. Unless the context clearly indicates otherwise, the use of terms such as “first,” “second,” and “third” herein does not imply order or sequence.
[0031] To address the overly rigid physical connections between human-machine interfaces (HMIs) and between HMIs and operating devices, the multi-HMI system in this case employs a resource-sharing mechanism for each HMI. Even if the physical connection between the HMI or operating device is changed, as long as the multiple HMIs belong to the same group (i.e., a resource-sharing group), users do not need to manually modify the system configuration or identify other HMIs or operating devices. They can obtain relevant resources from devices not connected to them through the resource-sharing mechanism, thus achieving the effect of dynamically managing the HMI.
[0032] Figure 1This is a block diagram illustrating the human-machine interface editing software and shared configuration according to an embodiment of this invention. The human-machine interface editing software 100 (hereinafter referred to as the editing software) is installed on a computing device (not shown). The computing device executes the editing software 100, which opens a project to set a shared configuration for a human-machine interface, allowing different human-machine interfaces to be configured with different projects (i.e., each project is a sub-project corresponding to a human-machine interface); or opens a project and makes this project encompass many sub-projects (i.e., a large project contains the configurations of multiple human-machine interfaces in multiple sub-projects); or opens a project, records the configurations of multiple human-machine interfaces separately (i.e., a large project), and sets group information in the project so that multiple human-machine interfaces are configured into the same group; or adds group settings to multiple edited projects so that the editing software 100 knows that these projects all belong to the same group (i.e., multiple human-machine interfaces in these projects belong to the same group), and sets the shared configuration of multiple human-machine interfaces in the project respectively. The computing device is, for example, a computer. The shared configuration includes a shared memory configuration 110 and a shared device resource configuration 120 (e.g., tags for operating devices, communication settings for connecting devices, and types and ranges of temporary storage, where the tags can be device identification data or input / output control).
[0033] The shared memory configuration 110 includes a first storage block M1, a second storage block M2, and a third storage block M3. For example, the first storage block M1 is a shared storage block provided by the first human-machine interface 162 (e.g., a shared storage block of the first human-machine interface 162, the second human-machine interface 164, and the third human-machine interface 166); the second storage block M2 is a shared storage block provided by the second human-machine interface 164 (e.g., a shared storage block of the second human-machine interface 164 and the third human-machine interface 166); and the third storage block M3 is a shared memory provided by the third human-machine interface 166 (e.g., a shared storage block of the first human-machine interface 162 and the third human-machine interface 166). In another embodiment, the shared memory configuration 110 may also encompass the memory of an external storage device; the source of the shared memory is not limited in this application. In one embodiment, the storage block may be physical memory on each human-machine interface, flash memory, or logical file space, without limitation.
[0034] Specifically, in this application, the computing device executes editing software 100 to set the shared storage blocks for each human-machine interface to participate in the sharing (e.g., the first to third storage blocks M1 to M3 of the first to third human-machine interfaces 162, 164, and 166 mentioned above), and the editing software 100 performs memory sharing operations for each human-machine interface through these shared storage blocks. In this application, the shared storage blocks are configured with virtual address spaces, which are respectively mapped to the memory of each human-machine interface participating in the sharing.
[0035] The editing software 100 is shared software that can access and store screen design information for different human-machine interfaces. For example, the editing software 100 can access and edit the screen design information and shared configurations of the first human-machine interface 162, the second human-machine interface 164, and the third human-machine interface 166.
[0036] The editing software 100 can edit or change the variables of the human-machine interface. Variables include human-machine interface data, including system parameters, memory variables, configuration settings, and screen and component settings.
[0037] After the editing software 100 completes the common configuration for each human-machine interface, it will download the common configuration to the corresponding human-machine interface, so that all human-machine interfaces can operate according to the system parameters, memory variables, configuration settings, screen and component settings of the common configuration.
[0038] A multi-user interface system includes multiple human-machine interfaces that can selectively communicate with each other (the configuration may vary depending on the actual setup; this case does not limit the connection topology of multiple human-machine interfaces). Multiple human-machine interfaces refer to two or more human-machine interfaces.
[0039] Multi-user interface systems will set up virtual shared storage blocks to address the lack of flexibility in existing mechanisms for maintaining HMI devices.
[0040] Figure 2 A diagram illustrating the use of virtual shared storage blocks for multiple human-computer interfaces.
[0041] The first human-machine interface 210 and the second human-machine interface 220 use a virtual shared storage block 300 to realize the flexible configuration of the human-machine interface and the operating device.
[0042] The virtual shared storage block 300 includes at least one shared block; in this embodiment, two shared blocks 302 and 304 are used as examples. Based on the resource mapping relationship, each shared block of the virtual shared storage block 300 is mapped to a corresponding storage block. Each shared block has one owner at a time, and the owner has the authority to modify and manage this shared block. For example, the owner of shared block 302 is the first human-machine interface 210, and it is shared by the first human-machine interface 210 and the second human-machine interface 220. The owner of shared block 304 is the second human-machine interface 220, and it is used only by the second human-machine interface 220 and is not shared with the first human-machine interface 210.
[0043] Specifically, in this application, all human-machine interfaces belonging to the same group and participating in sharing will have an internal storage block that is mapped to the virtual shared storage block 300 (a virtual space). This mapping means that when any human-machine interface changes the content of this virtual space, this change will be synchronized to all participating human-machine interfaces. The act of each human-machine interface reading its own shared storage block is a local action and does not change the content of the virtual shared storage block 300. It is worth noting that in this application, the content of each shared block is determined by its owner, and the owner can decide whether to change the content of this shared block and to perform synchronization. The owner's own storage block is for local access by the owner; other human-machine interfaces passively receive synchronized content or request synchronization from the owner. In this case, each human-machine interface's own storage block serves as a cache for that interface.
[0044] The owner's authority to modify and manage virtual shared storage blocks means that when using, synchronizing, and updating shared resources through the human-machine interface, only the owner can decide to approve or refuse. For example, when the second human-machine interface 220 wants to update resources to shared block 302, since the first human-machine interface 210 is the owner, the second human-machine interface 220 needs the first human-machine interface 210's consent before writing or synchronizing the resources to shared block 302. For example, the second human-machine interface 220 can submit a write request to the first human-machine interface 210, so that the first human-machine interface 210 can directly perform a group update (i.e., after the first human-machine interface 210 updates shared block 302, other human-machine interfaces then synchronize). Another example is that the second human-machine interface 220 can submit a write request to the first human-machine interface 210, and after the first human-machine interface 210 replies to the second human-machine interface 220, the second human-machine interface 220 confirms and updates the internal memory (e.g., the internal memory corresponding to shared block 302) Figure 2The storage block 322 shown is updated, and the first human-machine interface 210 then performs a group broadcast update at an appropriate time according to the update principle (that is, the first human-machine interface 210 updates the shared block 302, and other human-machine interfaces other than the second human-machine interface 220 then synchronize).
[0045] In one embodiment, editing software 100 is used to compile group projects to generate executable programs, scripts, or configuration data, and to deploy the executable programs, scripts, or configuration data to group members on multiple human-machine interfaces. Group members operate on the executable programs, scripts, or configuration data to execute programs such as data access backup programs to virtual shared storage blocks and programs that write updated data to virtual shared storage blocks and request broadcast updates in the runtime environment.
[0046] Figure 3 This is a flowchart illustrating the operation of an editing software in a resource sharing method according to an embodiment of this case. For ease of explanation, [the flowchart is as follows]. Figure 1 The operation of the editing software will be explained.
[0047] In step S310, the computing device starts the editing software.
[0048] In one embodiment, the editing software may be a tool for editing device communication protocols, writing data configurations, or control operation instructions, used to operate and control the human-machine interface.
[0049] In step S320, multiple human-computer interfaces belonging to the group project are edited using editing software to identify multiple group members.
[0050] In one embodiment, the editing software can edit one or more resource-sharing groups (hereinafter referred to as groups), each group having multiple group members (i.e., human-machine interfaces). Each group uses the same group project, and all group members in the same group can only access the shared resources of the human-machine interfaces belonging to the same group.
[0051] In step S330, multiple variables in the group project are edited using editing software.
[0052] In one embodiment, the variables include at least one of the following: system parameters of the human-machine interface itself, memory address, connection settings with all human-machine interfaces, screen parameters of the human-machine interface, and labels of all human-machine interfaces. In this embodiment, the same variables are used for human-machine interfaces within the same group of projects.
[0053] In another embodiment, information about the operating devices is also included in the variables. In this case, the editing software 100 edits the protocol configuration and channel configuration between the multiple operating devices and multiple human-machine interfaces, as well as the information of the temporary registers of the multiple operating devices. These variables are used to generate shared device resources 120.
[0054] In one embodiment, the variables of the group project are static parameters, such as those used to indicate the connection of each human-machine interface to the device.
[0055] In step S340, the group project is edited using the editing software 100 to set up shared resources (including multiple variables, shared storage blocks, and shared device resources, etc.) and to configure the shared resources to individual group members, as well as to generate executable programs, scripts, or setting data and to deploy the executable programs, scripts, or setting data to multiple group members in the group project.
[0056] In one embodiment, each group member is individually configured with available shared resources to facilitate subsequent shared operations among group members. In addition to knowing the operation settings and connection configurations of the operating devices connected to them, each group member also knows, based on the group project, what other operating devices are available and their related variable information (but does not know which operating device is connected to which group member). When a human-machine interface needs to obtain device information for an operating device not connected to it, it can obtain the operation settings and connection configurations of that operating device from other group members through shared resources.
[0057] In step S350, multiple group members use shared resource configuration and private resources to perform their respective configuration operations and operate on executable programs, scripts or setting data to execute in a runtime environment.
[0058] In one embodiment, group members execute a fixed program and have fixed reference information in the runtime environment. If a user wants to add information that is not in the group project, the group project is re-edited through steps S310 to S330, and the compiled information is deployed to group members through steps S340 to S350, thus achieving the same effect of deploying a human-machine interface in the group.
[0059] For example, a first HMI 210 is connected to a first operating device 252 (e.g., a PLC), and the shared information stored in the shared block 302 includes variable information of the first operating device 252. When the program of the first operating device 252 is updated and some variable information is added, the user can update the variable information of the first operating device 252 in the group project through the above steps, and deploy the updated information to group members to update all group members. As another example, if only display and control are desired through a second HMI 220 that is not directly connected to the first operating device 252, the user, after updating the variable information of the first operating device 252 in the group project through the above steps, can simply add the changed information to the page of the second HMI 220 to re-download it. In this embodiment, other HMIs (including the first HMI 210 connected to the first operating device 252) do not need to be changed at all during the process, thus only updating the affected group members.
[0060] It's worth noting that editing group projects using HMI editing software involves static changes; any content editable by the software is statically shared data. On the other hand, since the HMI is deployed with an executable program that runs in a runtime environment, content shared between multiple HMIs is dynamically shared resource. For example, resources stored in the third storage block M3 of the third HMI 166 are dynamic changes.
[0061] In one embodiment, the executable program can provide an operating interface in the runtime environment, the operating interface including connection port information for each human-machine interface. The user can adjust the connection port information of the human-machine interface according to the physical connection relationships on the operating interface.
[0062] Please refer to the following: Figure 2 In one embodiment, each human-machine interface (HMI) may be coupled to an operating device. For example, a first HMI 210 is coupled to a first operating device 252. A second HMI 220 is coupled to a second operating device 254. The operating device is, for example, a programmable logic controller (PLC), a sensor, a motor, or other industrial control equipment.
[0063] The first human-machine interface 210 includes storage block 212. The second human-machine interface 220 includes storage block 222. Shared block 302 of the virtual shared storage block 300 is mapped to storage blocks 312 and 322, and shared block 304 of the virtual shared storage block 300 is mapped to storage block 324. For example, assuming the storage block addresses within the human-machine interface are $0-$19999, the shared block 302 can be defined as $V0-$V999, a total of 1000 words. The first human-machine interface 210 is mapped to addresses $10000-$10999, while the second human-machine interface 220 is mapped to addresses $0-$999. In other words, regardless of which human-machine interface's corresponding project is being edited, $V0-$V999 can be used to access this shared block 302.
[0064] In one embodiment, each human-computer interface can perform resource restoration or update procedures from shared resources to the latest version.
[0065] In the operating environment, the first human-machine interface 210 and the second human-machine interface 220 read the shared resources of the shared block 302 of the virtual shared storage block 300. It is worth mentioning that the first human-machine interface 210 and the second human-machine interface 220 are group members of the same group project, so they can access the shared resources of the virtual shared storage block 300 through the above mechanism.
[0066] For example, a user wants to operate a second operating device 254 from a first human-machine interface 210. In conventional human-machine interface technology, since the second operating device 254 is not connected to the first human-machine interface 210, the user cannot obtain any information about the second operating device 254 from the first human-machine interface 210, nor can the user operate it (e.g., the real-time parameter information of the second operating device 254 cannot be displayed on the first human-machine interface 210). In this case, the first human-machine interface 210 can be based on a sharing relationship within the same group. Since the first human-machine interface 210 and the second human-machine interface 220 are in a group relationship, the second human-machine interface 220 will share resources about the second operating device 254 that it is connected to. Therefore, as long as the second human-machine interface 220 synchronizes the data of the second operating device 254 to the shared block 302 of the shared memory block 300 (for example, by periodically executing data, reading the data of the second operating device 254 and placing it in the shared block 302), the first human-machine interface 210 can indirectly obtain the information of the second operating device 254 coupled to the second human-machine interface 220 by reading the shared resources of the shared block 302 of the virtual shared memory block 300, without being limited to obtaining information from devices directly connected to it. Thus, the user can display the real-time parameter information of the second operating device 254 on the first human-machine interface 210 without any configuration.
[0067] In addition to exchanging device information via virtual shared storage block 300 as described above, this application can also exchange device information via shared device resources 120. As mentioned earlier, the editing software 100 of this application can be used to set up shared device resources 120 for multiple human-machine interfaces in a group project. The shared device resources 120 include, for example, tags of operating devices (such as first operating device 122 and second operating device 124), communication setting information, and register information, wherein the tags can be device identification data or input / output control. For example, the second operating device 254 is not connected to the first human-machine interface 210, and the first human-machine interface 210 does not know which human-machine interface the second operating device 254 is connected to. However, the first human-machine interface 210 can learn that the second operating device 254 has a first tag (e.g., CalibChannel1) through shared device resources 120. In this case, the first human-machine interface 210 can send an access request to other group members in the same group to retrieve the first tag of the second operating device 254. Upon receiving the access request, the second human-machine interface 220 (connected to the second operating device 254) in the same group can assist the first human-machine interface 210 in accessing the first tag of the second operating device 254. In this embodiment, the user does not need to obtain device information by exchanging memory.
[0068] In some cases, the devices connected to the first HMI 210 generate information not available in the group project, thus other HMIs are not immediately up-to-date. The following explains how the first HMI 210 requests a broadcast update from the virtual shared storage block 300 to handle this situation.
[0069] In the operating environment, the first HMI 210 publishes update data to the shared block 302 of the virtual shared storage block 300. The update data includes, for example, the device configuration, device resources, and tag address of the first HMI 210. Then, the first HMI 210 sends a global notification. In this embodiment, the first HMI 210 owns the shared block 302, has update permissions for the shared block 302, and can trigger other non-owner HMIs in the same group to synchronize the shared block 302. Therefore, after updating the content of the shared block 302, the first HMI 210 uses this global notification to broadcast to group members in the same group, reminding them to update the data, so that all group members can read the shared block 302 of the virtual shared storage block 300 to obtain the updated data.
[0070] Generally, the methods for writing updated data can be, for example, but not limited to: 1. attaching the updated data while issuing a global update request; 2. issuing a global notification to inform group members that an update has been generated, so as to remind group members who need it to access it; 3. combining the above methods 1 and 2, using method 1 when the updated data is short and method 2 when the updated data is long, thereby avoiding too much junk information.
[0071] In embodiments where a non-owner wishes to update a shared storage block, for example, the second human-machine interface 220 is not the owner of shared block 302. Therefore, when the second human-machine interface 220 wants to write update data to the memory mapped to shared block 302 (e.g., storage block 322), it needs to first send the global update request to the owner of shared block 302 (e.g., the first human-machine interface 210). More specifically, the non-owner second human-machine interface 220 can: (1) first write the update data to its local memory and then send an update request to the owner of shared block 302; or (2) first send an update request to the owner of shared block 302 and wait for the update result. If form (2) is adopted, the conflict problem of synchronous waiting can be reduced. Therefore, the owner of shared block 302 can change the content of shared block 302 based on this update data according to the global update request, and after updating the content of shared block 302, broadcast this update data to each group member of the same group according to the global notification, so that each group member stores the update data to the local storage block, thereby maintaining synchronization with shared block 302.
[0072] In another embodiment, the first operating device 252 is moved from the first human-machine interface 210 to the second human-machine interface 220, i.e., the second human-machine interface 220 is coupled to both the first operating device 252 and the second operating device 254. Since the second human-machine interface 220 automatically detects changes in the connected devices and already stores relevant resources about the first operating device 252 in the shared block 302, even if the first operating device 252 is moved to be connected to the second human-machine interface 220, the second human-machine interface 220 only needs to obtain the relevant resources of the first operating device 252 from the shared block 302 of the virtual shared storage block 300. In this way, even if any device connected to any human-machine interface in the group undergoes changes, any group member can obtain information about the changed device through the resource-sharing mechanism.
[0073] On the other hand, when the first operating device 252 is no longer connected to the first human-machine interface 210, if the first human-machine interface 210 needs to access the data of the first operating device 252, it can directly send an access request to the group to access the data of the second operating device 254 through the shared device resource 120. Thus, the second human-machine interface 220, currently connected to the first operating device 252, can access the data of the first operating device 252 on its behalf. In this way, the first operating device 252 can access the data of the disconnected first operating device 252 without going through the virtual shared storage block 300. Conversely, the second human-machine interface 220, which originally had to access the data of the first operating device 252 through the group, can now directly access the second operating device 254 through the connection after the first operating device 252 is changed to be connected to the second human-machine interface 220, without needing to go through the group.
[0074] In some cases, the first human-machine interface 210 may become unresponsive, affecting data sharing. The following explains the switching procedure triggered by the first human-machine interface 210 to switch to a new owner, in order to handle the above situation. It is worth noting that the first human-machine interface 210 is the owner of shared block 302; therefore, this switching procedure affects the modification and management permissions of resources in shared block 302.
[0075] In the operating environment, the first human-machine interface 210 broadcasts a switch-over request to multiple human-machine interfaces, enabling them to jointly perform a switching procedure through the switch request to select a new owner human-machine interface. In one embodiment, the multiple human-machine interfaces determine the new owner human-machine interface based on their negotiation numbers.
[0076] In one embodiment, the negotiation number is determined based on random numbers, pre-determined priority values (e.g., variables set in a group project), and the performance of multiple human-machine interfaces. For example, the human-machine interface with the smallest negotiation number (highest priority value) among multiple human-machine interfaces is selected as the new owner human-machine interface. The new owner human-machine interface then takes over the management of the shared blocks of the virtual shared storage block. For example, if the new owner human-machine interface is the second human-machine interface 220, then the second human-machine interface 220 takes over the management of the shared block 302 and provides the data from the previously mapped storage block 322 as a shared resource.
[0077] In one embodiment, the shared resources include the device configuration (e.g., connection port information), device resources (e.g., current, voltage), and tag addresses of the group members of the human-machine interface.
[0078] Since the memory space and types on multiple human-machine interfaces are determined by the rules of product design, they do not change when switching to a new owner's human-machine interface.
[0079] In this way, if the owner's human-machine interface experiences a problem, such as performance degradation, the system just before shutdown, or a memory management error, a switchover procedure will be triggered. After the switchover is complete, the new owner's human-machine interface will be responsible for managing the virtual shared storage block 300 to maintain the sharing mechanism without interruption.
[0080] Figure 4 This is a flowchart illustrating the broadcast update procedure of the resource sharing method according to an embodiment of this case. The resource sharing method is coordinated with... Figure 2 The multi-player interface system is described below.
[0081] In step S610, the first human-machine interface 210 writes updated data to the shared block 302 (first shared block) of the virtual shared storage block 300.
[0082] In one embodiment, the first operating device 252 is physically connected to the first human-machine interface 210 but is not powered on. After the first operating device 252 is powered on, it becomes the device currently being operated by the first human-machine interface 210. At this time, the first human-machine interface 210 writes the information of the currently operating device (e.g., connection port) into the shared block 302 of the virtual shared storage block 300. The first human-machine interface 210 is the owner of the shared block 302.
[0083] In step S620, the first human-machine interface 210 issues a global notification.
[0084] For example, if new data is written to shared block 302 of virtual shared storage block 300, the first human-machine interface 210 sends a global notification, prompting other human-machine interfaces to perform synchronization state updates. It is worth noting that if the first human-machine interface 210 is not the owner of shared block 302, then the first human-machine interface 210 needs to send a global update request to the owner of shared block 302 in order to update the content of shared block 302.
[0085] In step S630, the first human-machine interface 210 performs a group broadcast to multiple group members based on global notification to remind group members to update data.
[0086] In one embodiment, the first human-machine interface 210 broadcasts updated data so that all group members obtain a copy of the updated data. For example, the second human-machine interface 220 obtains the device information that the first human-machine interface 210 is currently operating.
[0087] In step S640, multiple group members store update data to their own storage blocks.
[0088] For example, the second human-machine interface 220 stores the device information currently being operated by the first human-machine interface 210 in storage block 322 (second storage block). In one embodiment, the data in storage block 322 is the same as the data in storage block 312.
[0089] In this way, even if there are changes to the information of the currently operating device, group members can obtain the latest information based on the broadcast update program without relying on the direct connection of the human-machine interface or waiting for the user to make manual changes.
[0090] Figure 5 This is a flowchart of a human-machine interface program for switching owners according to an embodiment of the resource sharing method described in this case. The resource sharing method is coordinated with... Figure 2 The multi-player interface system is described below.
[0091] In step S710, the first human-machine interface 210 (the owner of the shared block 302 of the virtual shared storage block 300) broadcasts a switching request to multiple group members.
[0092] The first human-machine interface 210 has the authority to modify and manage the shared block 302. Any human-machine interface in the same group project can act as the new owner human-machine interface. In this embodiment, the first human-machine interface 210 broadcasts a switching request to the second human-machine interface 220.
[0093] In one embodiment, all human-machine interfaces (HMIs) within the same group project can determine which HMI will become the new owner through their negotiation numbers. For example, the HMI with the smallest negotiation number (highest priority) will be selected as the new owner HMI, such as the second HMI 220 being selected as the new owner HMI.
[0094] In step S720, a new owner human-machine interface is determined from multiple group members.
[0095] For example, the second human-machine interface 220 is selected as the new owner human-machine interface. At this time, the second human-machine interface 220 will take over the modification and management rights of the shared block 302, and use the data of the storage block 322 as a shared resource.
[0096] In this way, the program that switches to a new owner's HMI can automatically switch based on the status of each owner's HMI, thus maintaining the sharing mechanism without interruption. In other words, the multi-user HMI system can continuously provide the function of one HMI managing another.
[0097] The multi-computer interface system in this case is not limited to Figure 2 The architecture of the multi-user interface system in this case is as follows: Each human-computer interface can be coupled to one to N other human-computer interfaces and to zero to M operating devices, where N and M are positive integers. Furthermore, the multi-user interface system includes at least one group, and each group includes one to K human-computer interfaces as group members and sets at least one human-computer interface to provide its own storage block as a shared memory resource for the group, where K is a positive integer. In other words, the hierarchy and number of devices in the multi-user interface system will vary depending on the actual application.
[0098] In one embodiment, storage blocks 212 and 222 are, for example, but not limited to, random access memory (RAM), flash memory, read-only memory (ROM), hard disk drive (HDD), solid state drive (SSD), optical memory, or combinations of the above elements.
[0099] Back Figure 1 In another embodiment, the computing device of this application executes editing software 100 to configure shared device resources 120 for multiple human-machine interfaces in the same group. In some embodiments, the computing device executes editing software 100 to edit the protocol configuration and channel configuration between multiple operating devices and multiple human-machine interfaces in the same group, as well as the temporary storage information of multiple operating devices, to generate the shared device resources 120. Taking a system where a first human-machine interface 162 is connected to a first operating device 122 and a second human-machine interface 164 is connected to a second operating device 124 as an example, the shared device resources 120 at least include the memory space of the first operating device 122 and the memory space of the second operating device 124, wherein the memory space of the first operating device 122 records first operating device data, and the memory space of the second operating device 124 records second operating device data.
[0100] As mentioned above, since the first human-machine interface 162 is connected to the first operating device 122, the first human-machine interface 162 can directly access the data of the first operating device through the first operating device 122; since the second human-machine interface 164 is connected to the second operating device 124, the second human-machine interface 164 can directly access the data of the second operating device through the second operating device 124. Furthermore, in this application, the first human-machine interface 162 can access the data of the second operating device through shared device resources 120, and the second human-machine interface 164 can access the data of the first operating device through shared device resources 120.
[0101] In this embodiment, the shared device resources 120 are shared by the human-machine interface connected to the device with other group members in the same group. Therefore, the owner of the memory space of the first operating device 122 used to share the first operating device data is the first human-machine interface 162 connected to the first operating device 122; the owner of the memory space of the second operating device 124 used to share the second operating device data is the second human-machine interface 164 connected to the second operating device 124, and so on.
[0102] When the first operating device 122 changes its coupling from the first human-machine interface 162 to the second human-machine interface 164, the first human-machine interface 162 can no longer directly access the first operating device data through the first operating device 122. In this embodiment, the first human-machine interface 162 needs to read the shared device resource 120 to obtain the first operating device data through a group member in the same group. Since the first operating device 122 is now connected to the second human-machine interface 164, the second human-machine interface 164 can assist the first human-machine interface 162 in the same group to access the first operating device data of the first operating device 122.
[0103] For example, the first human-machine interface 162 is originally connected to the first operating device 122, and the first tag is a variable on the first operating device 122. At this time, the first human-machine interface 162 can directly access the first operating device 122 to access the first tag. Since the first tag is a variable on the first operating device 122, it can be used to generate shared device resources 120 when editing group projects using the editing software 100. Therefore, when the user changes the connection of the first operating device 122 to the second human-machine interface 164, the first human-machine interface 162 will know that it is no longer the owner of the first operating device 122. Therefore, when it needs to access the first tag, the first human-machine interface 162 accesses it from other group members in the same group based on the shared device resources 120. At this time, the second human-machine interface 164 will assist the first human-machine interface 162 in accessing the first tag of the first operating device 122. Furthermore, since this access is performed through the shared device resources 120, it does not require the aforementioned shared storage block.
[0104] Generally, when users edit projects for various human-machine interfaces using editing software 100, the connection methods and parameters of each operating device are known information. Therefore, any human-machine interface in the same group will know the shared device resources 120, such as whether an Ethernet interface can access via Modbus / TCP, or whether an RS485 interface is available. When editing a project, a human-machine interface connected to an operating device (e.g., the first human-machine interface) can directly set the resources of that operating device, such as IP or RS485 serial port parameters. When running in the runtime environment, if it is necessary to change the connection of the operating device to another human-machine interface (e.g., the second human-machine interface), the second human-machine interface can provide a setting interface to directly input and modify the parameters. However, other human-machine interfaces in the group (e.g., the third, fourth, etc.) access the group, so they do not need to know how the connection parameters of the operating device are set.
[0105] More specifically, the resources of the operating equipment are usually known information, such as the type and range of temporary registers. However, the resources of the operating equipment may also be changed after operation, for example, the PLC equipment may be updated and an application.motion.info information may be added. If the behavior of the human-machine interface (HMI) connected to the operating equipment (e.g., the first operating equipment) is only proxy access, then when any HMI in the group wants to access the information of the first operating equipment, the first HMI, which belongs to the owner, will only send and respond to the information, and will not be affected by changes to the operating equipment's resources. However, if the first HMI has scope restrictions (i.e., it can only access the equipment information at the time of project editing), then when the resources of the operating equipment are changed, the first HMI must re-download the project information in order to accept the newly added or changed access scope.
[0106] In summary, the multi-user interface system and resource-sharing method of this case, through a resource-sharing mechanism, eliminates the need for users to manually change the settings and configurations of each HMI (Human-Machine Interface) individually. Within the multi-user system architecture, regardless of whether any device or HMI is added, removed, or modified, the system can autonomously adapt to device changes and automatically complete HMI management operations. In this way, the multi-user interface system and resource-sharing method of this case significantly simplifies the cumbersome process of manually modifying settings in response to changes in physical devices, a common feature of traditional HMI systems.
[0107] The above description is merely a specific example of this case and does not limit the claims of this case. Therefore, all equivalent changes made using the content of this case are similarly included within the scope of this case and are hereby stated.
Claims
1. A multi-user computer interface system, comprising: Multiple human-computer interfaces, including: First human-computer interface; Second human-computer interface; and A computing device, coupled to the first human-machine interface and the second human-machine interface, is configured to execute editing software to set the shared storage block of the first human-machine interface and the second human-machine interface; The editing software performs memory sharing operations between the first human-machine interface and the second human-machine interface through the shared storage block. The shared storage block is configured with a virtual address space, which is respectively mapped to the first memory of the first human-machine interface and the second memory of the second human-machine interface. The first human-machine interface is configured to access the first memory and / or the second memory mapped to the virtual address space through the shared memory block, and the second human-machine interface is configured to access the first memory and / or the second memory mapped to the virtual address space through the shared memory block.
2. The multi-user interface system according to claim 1, wherein the editing software is configured to edit the plurality of human-computer interfaces into multiple group members belonging to the same group project, edit multiple variables in the group project, edit the group project to set the shared storage block and respectively configure the shared storage block to each of the group members, and generate an executable program, script or setting data and deploy the executable program, script or setting data to the plurality of group members of the group project, wherein the plurality of human-computer interfaces operate the executable program, the script or the setting data to execute in the runtime environment, wherein each of the variables is a common parameter of the plurality of human-computer interfaces.
3. The multi-user interface system according to claim 2, wherein the plurality of variables in the group project includes at least one of the system parameters of the plurality of human-computer interfaces, memory address, connection settings with all human-computer interfaces, screen parameters of the plurality of human-computer interfaces, and labels of all human-computer interfaces.
4. The multi-user interface system according to claim 1, wherein when the first human-machine interface changes the content of the first memory or the second human-machine interface changes the content of the second memory, the content of the first memory and / or the second memory is synchronized to the second memory of the second human-machine interface and / or the first memory of the first human-machine interface through the mapping of the virtual address space.
5. The multi-user interface system according to claim 2, further comprising a plurality of operating devices, the plurality of operating devices including a first operating device and a second operating device, wherein the first operating device is connected to the first human-machine interface and the second operating device is connected to the second human-machine interface.
6. The multi-user interface system according to claim 5, wherein the editing software is configured to set shared device resources for the first human-machine interface and the second human-machine interface, the shared device resources including tags, communication setting information and register information of the first operating device and the second operating device, wherein the first human-machine interface is configured to request the second human-machine interface in the group project to access device data of the second operating device based on the shared device resources, and the second human-machine interface is configured to request the first human-machine interface in the group project to access device data of the first operating device based on the shared device resources.
7. The multi-user interface system according to claim 2, wherein the shared storage block includes multiple shared blocks, the multiple shared blocks include a first shared block and a second shared block, the owner of the first shared block is the first human-machine interface and the owner of the second shared block is the second human-machine interface, wherein the owner of each shared block has the right to change each shared block and is configured to trigger the synchronization behavior of the multiple human-machine interfaces that are not the owners of the shared blocks for each shared block.
8. The multi-user interface system according to claim 2, wherein the second human-machine interface is configured to send a global update request to the first human-machine interface belonging to the owner of the shared storage block when it wants to write update data to the second memory mapped to the shared storage block, the first human-machine interface is configured to change the content of the shared storage block based on the update data according to the global update request, and send a global notification to broadcast the update data to each group member of the group project, so that each group member stores the update data to a local storage block to maintain synchronization with the shared storage block.
9. The multi-user interface system of claim 2, wherein one of the plurality of group members is configured to perform a group broadcast to issue a switch request to the plurality of human-machine interfaces of the group project, the switch request being used to select a new owner human-machine interface of the shared storage block from the plurality of human-machine interfaces, so that the new owner human-machine interface has the right to change and manage the shared storage block.
10. The multi-user human-machine interface system of claim 9, wherein the new owner human-machine interface is determined based on a negotiation number of each of the multiple human-machine interfaces.
11. The multi-user interface system according to claim 10, wherein the negotiation number is determined based on a random number, a pre-determined priority value, and the execution performance of the multiple human-computer interfaces.
12. A multi-user computer interface system, comprising: Multiple human-computer interfaces, including: The first human-machine interface connects to the first operating device; A second human-machine interface, connected to a second operating device; and A computing device is coupled to the first human-machine interface and the second human-machine interface and executes editing software to set the shared device resources of the first human-machine interface and the second human-machine interface; The shared device resource configuration includes the memory space of the first operating device and the memory space of the second operating device, wherein the memory space of the first operating device records the first operating device data and the memory space of the second operating device records the second operating device data; The first human-machine interface accesses the data of the first operating device through the first operating device, and accesses the data of the second operating device through the shared device resources; The second human-machine interface accesses the data of the second operating device through the second operating device, and accesses the data of the first operating device through the shared device resources.
13. The multi-user interface system of claim 12, wherein the editing software is configured to edit the plurality of human-computer interfaces into multiple group members belonging to the same group project, edit multiple variables in the group project, and generate an executable program, script, or setting data and deploy the executable program, script, or setting data to the plurality of group members of the group project, wherein the plurality of human-computer interfaces operate the executable program, script, or setting data to execute in a runtime environment, wherein each of the variables is a common parameter of the plurality of human-computer interfaces.
14. The multi-user interface system according to claim 12, wherein the owner of the memory space of the first operating device is the first human-machine interface and the owner of the memory space of the second operating device is the second human-machine interface, and the first human-machine interface has the authority to modify and manage the memory space of the first operating device, and the second human-machine interface has the authority to modify and manage the memory space of the second operating device.
15. The multi-user interface system according to claim 13, The editing software is configured to edit the protocol configuration and channel configuration between the first operating device and the second operating device and the plurality of human-machine interfaces, as well as the register information of the first operating device and the second operating device, to generate the shared device resources; as well as The first human-machine interface is configured to directly access data from the first operating device connected to it; When the first operating device changes from being coupled to the first human-machine interface to being coupled to the second human-machine interface, the first human-machine interface is configured to read the shared device resources to obtain the first operating device data of the first operating device through the second human-machine interface in the group project.
16. The multi-user interface system according to claim 13, wherein the shared device resources include the device configuration, device resources and tag addresses of the plurality of group members of the group project, wherein the device configuration includes connection port information, and the device resources include at least one of the device's current and voltage.
17. A resource sharing method for a multi-user human-machine interface, applied to a system having multiple human-machine interfaces, the system comprising at least a first human-machine interface, a second human-machine interface, and computing devices respectively coupled to the first human-machine interface and the second human-machine interface, and the resource sharing method comprising: The computing device executes editing software to set the shared storage block of the first human-machine interface and the second human-machine interface, and performs memory sharing operation of the first human-machine interface and the second human-machine interface through the shared storage block. The shared storage block is configured with a virtual address space, which is respectively mapped to the first memory of the first human-machine interface and the second memory of the second human-machine interface. The first human-machine interface accesses and retrieves the first memory and / or the second memory mapped to the virtual address space through the shared storage block; as well as The second human-machine interface accesses the first memory and / or the second memory mapped to the virtual address space through the shared storage block.
18. The resource sharing method according to claim 17, further comprising: The editing software is used to edit the multiple human-computer interfaces belonging to the group project to identify multiple group members; The editing software is used to edit multiple variables in the group project, wherein each variable is a common parameter of the multiple human-computer interfaces; Compile the group project to set up the shared storage block and configure the shared storage block to each of the group members respectively, and generate an executable program, script or configuration data and deploy the executable program, script or configuration data to each of the group members in the group project; as well as The execution occurs in the runtime environment by each of the group members operating the executable program, the script, or the set data.
19. The resource sharing method according to claim 18, wherein the plurality of variables in the group project includes at least one of the system parameters of the plurality of human-machine interfaces, memory address, connection settings with all human-machine interfaces, screen parameters of the plurality of human-machine interfaces, and labels of all human-machine interfaces.
20. The resource sharing method according to claim 17, further comprising: When the contents of the first memory are changed in the first human-machine interface, the contents of the first memory are synchronized to the second memory of the second human-machine interface through the mapping of the virtual address space; and When the contents of the second memory are changed in the second human-machine interface, the contents of the second memory are synchronized to the first memory of the first human-machine interface through the mapping of the virtual address space.
21. The resource sharing method according to claim 18, wherein the system further includes a plurality of operating devices, the plurality of operating devices including a first operating device and a second operating device, wherein the first operating device is connected to the first human-machine interface and the second operating device is connected to the second human-machine interface.
22. The resource sharing method according to claim 21, further comprising: The editing software sets the shared device resources of the first human-machine interface and the second human-machine interface, wherein the shared device resources include the tags, communication setting information and temporary storage information of the first operating device and the second operating device; The first human-machine interface requests the second human-machine interface in the group project to access the device data of the second operating device based on the shared device resources; and The second human-machine interface requests the first human-machine interface in the group project to access the device data of the first operating device based on the shared device resources.
23. The resource sharing method according to claim 18, wherein the shared storage block includes a plurality of shared blocks, the plurality of shared blocks including a first shared block and a second shared block, wherein the owner of the first shared block is the first human-machine interface and the owner of the second shared block is the second human-machine interface, and the owner of each shared block has the permission to change each shared block and can trigger the synchronization behavior of the plurality of human-machine interfaces that are not owners for each shared block.
24. The resource sharing method according to claim 18, further comprising: When the second human-machine interface intends to write updated data to the second memory mapped to the shared storage block, it sends a global update request to the first human-machine interface belonging to the owner of the shared storage block. The first human-machine interface modifies the content of the shared storage block based on the update data according to the global update request; as well as The first human-machine interface issues a global notification to broadcast the updated data to each of the group members, so that each of the group members stores the updated data to the local storage block to maintain synchronization with the shared storage block.
25. The resource sharing method according to claim 18, further comprising: One of the group members executes a group broadcast switching request to the plurality of human-machine interfaces, wherein the switching request is used to select a new owner human-machine interface for the shared storage block from the plurality of human-machine interfaces, so that the new owner human-machine interface has the right to change and manage the shared storage block.
26. The resource sharing method of claim 25, wherein the plurality of human-machine interfaces determine the new owner human-machine interface based on a negotiation number of each of the plurality of human-machine interfaces.
27. The resource sharing method according to claim 26, wherein the negotiation number is determined based on a random number, a pre-determined priority value, and the execution performance of the plurality of human-machine interfaces.
28. A resource sharing method for a multi-user human-machine interface, applied to a system having multiple human-machine interfaces, the system comprising at least a first human-machine interface, a second human-machine interface, and computing devices respectively coupled to the first human-machine interface and the second human-machine interface, wherein the first human-machine interface is connected to a first operating device and the second human-machine interface is connected to a second operating device, and the resource sharing method comprises: The computing device executes editing software to set the shared device resources of the first human-machine interface and the second human-machine interface, wherein the shared device resources include the memory space of the first operating device and the memory space of the second operating device, wherein the memory space of the first operating device records the first operating device data and the memory space of the second operating device records the second operating device data; The first human-machine interface accesses the first operating device data through the first operating device, and accesses the second operating device data through the shared device resources; and The second human-machine interface accesses the second operating device data through the second operating device, and accesses the first operating device data through the shared device resources.
29. The resource sharing method according to claim 28, further comprising: The editing software edits the multiple human-computer interfaces into multiple group members belonging to the same group project; The editing software edits multiple variables in the group project, wherein each variable is a common parameter of the multiple human-computer interfaces; as well as The group project is compiled to generate an executable program, script, or configuration data, and the executable program, script, or configuration data is deployed to the multiple group members of the group project, wherein the multiple human-machine interfaces operate the executable program, script, or configuration data to execute in the runtime environment.
30. The resource sharing method according to claim 28, wherein the owner of the memory space of the first operating device is the first human-machine interface and the owner of the memory space of the second operating device is the second human-machine interface, and the first human-machine interface has the authority to modify and manage the memory space of the first operating device, and the second human-machine interface has the authority to modify and manage the memory space of the second operating device.
31. The resource sharing method according to claim 29, further comprising: The editing software edits the protocol configuration and channel configuration between the first operating device and the second operating device and the plurality of human-machine interfaces, as well as the temporary storage information of the first operating device and the second operating device, to generate the shared device resources; The first human-machine interface can directly access data from the first operating device connected to it. and When the first operating device changes from being coupled to the first human-machine interface to being coupled to the second human-machine interface, the first human-machine interface reads the shared device resources to obtain the first operating device data of the first operating device through the second human-machine interface.
32. The resource sharing method according to claim 29, wherein the shared device resources include the device configuration, device resources and tag addresses of the plurality of group members of the group project, wherein the device configuration includes connection port information, and the device resources include at least one of the device's current and voltage.
