WO2020237665A1 - Device and method for assisting user in using automated system, and computer-readable medium - Google Patents

Device and method for assisting user in using automated system, and computer-readable medium Download PDF

Info

Publication number
WO2020237665A1
WO2020237665A1 PCT/CN2019/089647 CN2019089647W WO2020237665A1 WO 2020237665 A1 WO2020237665 A1 WO 2020237665A1 CN 2019089647 W CN2019089647 W CN 2019089647W WO 2020237665 A1 WO2020237665 A1 WO 2020237665A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
server
client device
simulation model
user
Prior art date
Application number
PCT/CN2019/089647
Other languages
French (fr)
Chinese (zh)
Inventor
牛铸
范顺杰
李季
张彬
Original Assignee
西门子股份公司
西门子(中国)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 西门子股份公司, 西门子(中国)有限公司 filed Critical 西门子股份公司
Priority to PCT/CN2019/089647 priority Critical patent/WO2020237665A1/en
Publication of WO2020237665A1 publication Critical patent/WO2020237665A1/en

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B9/00Simulators for teaching or training purposes

Definitions

  • the embodiments of the present disclosure relate to the field of computers, and more specifically, to devices, methods, and computer-readable media for assisting users in using automated systems.
  • An automation system usually includes a programmable logic controller (PLC) and a controlled object coupled with the PLC.
  • PLC programmable logic controller
  • Training institutions can be created to assist users in using automated systems. Training institutions can have multiple branches.
  • the training system of each branch can include a server and one or more client devices.
  • the server manages user information and stores applications locally.
  • the application guides users to use automation software to write program codes that can be executed by PLC to control the controlled objects coupled with PLC.
  • the user downloads the application from the server via the client device and stores the downloaded application locally.
  • the accused object consists of physical equipment (such as manipulators, conveyor belts, etc.).
  • the physical equipment associated with the application also has to be updated, thereby increasing the hardware cost of the training institution.
  • the embodiments of the present disclosure provide such a simulation-based training system.
  • a server in the first aspect of the present disclosure, includes a processor and a memory coupled with the processor.
  • the memory stores a computer program, and the computer program causes the server to perform actions when executed by the processor. Actions include: receiving a request for the application from the client device, and the application instructing the user to write program code at the client device that can be executed by the programmable logic controller to simulate the control of the controlled object; in response to the request, from the server
  • the coupled data storage library obtains the application and the simulation model associated with the application, the simulation model is used to simulate the controlled object; and the application and the simulation model are sent to the client device.
  • a simulation model for simulating the controlled object is used to replace the physical device, so that when the application is updated, only the associated simulation model needs to be updated without the need to redeploy the corresponding physical device, thereby reducing The hardware cost of the training system.
  • the action further includes: in response to the application and the simulation model being updated, obtaining the updated application and the updated simulation model from another server; and storing the updated application and the updated simulation model to the data In the repository. Obtain the updated application and the updated simulation model from another server, which avoids the administrator from updating the application and simulation model one by one to multiple branches of the training institution, thereby reducing maintenance costs.
  • the action further includes: receiving first usage information related to the user's usage of the application from the client device; and storing the first usage information in a data storage library. Unified management of user information in the data repository can avoid data loss and improve data security.
  • the action further includes: obtaining first usage information and second usage information from the data repository, the second usage information being related to another user's usage of the application in the data repository; based on the first usage information and The second usage information is to determine another application to be recommended to the user; and send the information of the other application to the client device. Based on the user's usage information and the usage information of other users, recommending the subsequent applications to the user can help the user more quickly grasp the use of the automation system.
  • the server is caused to send the application and simulation model to the client device by sending the application, simulation model, and simulation file to the client device in response to the programmable logic controller being simulated by the simulation file.
  • the use of simulation files to simulate the programmable logic controller enables users to perform program tests that do not rely on physical programmable logic controllers on client devices without having to reach the training institution site, which enhances the convenience of users.
  • the server and data repository are deployed in the cloud. In this way, the administrator can only maintain the data repository in the cloud, instead of updating the applications and simulation models on the local server of the branch branch by branch, thereby reducing maintenance costs.
  • a client device in a second aspect of the present disclosure, includes a processor and a memory coupled with the processor.
  • the memory stores a computer program, and the computer program causes the client device to perform actions when executed by the processor. Actions include: sending a request for the application to the server, and the application instructing the user to write program code that can be executed by the programmable logic controller to simulate the control of the controlled object at the client device; receiving the application from the server and associating with the application
  • the simulation model is used to simulate the controlled object; and the control of the controlled object is simulated by running the program code and the simulation model.
  • the action further includes: sending first usage information related to the user's usage of the application to the server.
  • the action further includes: receiving information about another application recommended to the user from the server, the other application is determined based on the first usage information and the second usage information, and the second usage information is stored with the data of another user. Related to the use of the application in the library.
  • the client device is caused to cause the program code to be executed by one of the following: causing the program code to be executed by a physical programmable logic controller, and causing the program code to be executed by a simulated programmable logic controller.
  • the client device is caused to receive the application and the simulation model associated with the application from the server by receiving the application, the simulation model, and the simulation file from the server in response to the programmable logic controller being simulated by the simulation file.
  • a method for assisting users in using an automated system includes: at the server, receiving a request for an application from a client device, and the application instructs the user to write at the client device that can be executed by the programmable logic controller in the automation system to simulate the controlled object in the automation system.
  • the simulation model is used to simulate the controlled object; and send the application and simulation model to the client device .
  • a method for assisting users in using an automated system includes: at the client device, send a request for the application to the server, and the application guides the user to write at the client device that can be executed by the programmable logic controller in the automation system to simulate the control of the controlled object in the automation system Control program code; receive the application and the simulation model associated with the application from the server, the simulation model is used to simulate the controlled object; and simulate the control of the controlled object by running the program code and the simulation model.
  • a computer-readable medium is provided.
  • a computer program is stored on the computer readable medium.
  • the computer program when executed, causes at least one processor to execute the method according to the third aspect of the present disclosure.
  • a computer-readable medium is provided.
  • a computer program is stored on the computer readable medium.
  • the computer program when executed, causes at least one processor to execute the method according to the fourth aspect of the present disclosure.
  • Figure 1 shows a schematic diagram of a conventional training system
  • Figure 2 shows a schematic diagram of a training system according to some embodiments of the present disclosure
  • FIG. 3 shows a schematic diagram of a training system according to other embodiments of the present disclosure
  • FIG. 4 shows a signaling interaction diagram of a process of assisting a user in using an automated system according to some embodiments of the present disclosure
  • Figure 5 shows a flowchart of a method for assisting a user in using an automated system according to some embodiments of the present disclosure
  • Fig. 6 shows a flowchart of a method for assisting a user to use an automated system according to other embodiments of the present disclosure.
  • Figure 7 shows a block diagram of an example device that can be used to implement embodiments of the present disclosure.
  • a training institution may have multiple branches, and the training system of each branch may include a server and one or more client devices.
  • Fig. 1 shows a schematic diagram of such a conventional training system 100.
  • the training system 100 includes a server 110, a client device 120, a PLC 130, and a controlled object 140. It should be understood that the arrangement and number of the devices shown in FIG. 1 are schematic. In other cases, multiple client devices 120 can connect to and access the server 110.
  • the server 110 manages the information of the user 150 and stores the application 122 locally.
  • the application 122 instructs the user 150 to write a program code that can be executed by the PLC 130 at the client device 120 to control the controlled object 140 coupled with the PLC 130.
  • the user 150 downloads the application 122 from the server 110 via the client device 120 and stores the downloaded application 122 locally on the client device 120. Subsequently, the application is removed from the server 110.
  • the manager of the training institution stores the updated application on the server 110, and the user 150 can download the updated application from the server 110 via the client device 120.
  • the user 150 learns to use the automation software at the client device 120 to write program codes that can be executed by the PLC 130 to control the controlled object 140 coupled with the PLC 130.
  • automation software may include, but are not limited to: STEP 7, WPLSoft, PLCEdit, etc. It should be understood that what is given here are only some non-limiting examples of automation software, and according to the PLC used, the user 150 can adopt any appropriate automation software.
  • the controlled object refers to the physical device controlled in the control system or the process realized by the physical device.
  • Examples of controlled objects may include, but are not limited to: motors, the process of gripping objects with clamps, the process of robotic arms handling semiconductor wafers, the process of conveying equipment with conveyors, and so on. It should be understood that what is given here are only some non-limiting examples of the controlled object, and the controlled object can be any appropriate physical device or process as required.
  • the physical device associated with the application 122 also has to be updated.
  • the application 122 is an application that instructs the user 150 to write a program code that can be executed by the PLC 130 to control the clip. If the application 122 is updated to guide the user 150 to write an application that can be executed by the PLC 130 to control the robotic arm, the training institution needs to purchase the robotic arm to replace the existing clip. It can be seen that updating the physical equipment in the training institution in response to application updates undoubtedly increases the hardware cost of the training institution.
  • the embodiments of the present disclosure provide a simulation-based training system.
  • a simulation model for simulating the controlled object is used to replace the physical device.
  • the server sends the application and the simulation model associated with the application to the client device in response to the request of the client device.
  • the application is updated, only the associated simulation model needs to be updated without redeploying the corresponding physical equipment, thereby reducing hardware costs.
  • FIG. 2 shows a schematic diagram of a training system 200 according to an embodiment of the present disclosure.
  • the training system 200 further includes a data storage library 210 coupled to the server 110, a simulation model 212 that simulates the controlled object 140 instead of the controlled object 140, and the client
  • the device 120 includes a model simulator 214 for running a simulation model 212.
  • the data repository 210 is configured to store information of the user 150, the application 122, and the simulation model 212 associated with the application 122.
  • the application 122 instructs the user 150 to write program code at the client device 120 that can be executed by the PLC 130 to simulate the control of the controlled object 140.
  • the simulation model 212 is used to simulate the controlled object 140.
  • the model simulator 214 and the PLC 130 may communicate through a communication interface.
  • Examples of communication interfaces may include, but are not limited to: PRODAVE, OPC, Profibus, and Profinet. It should be understood that what is given here are only some non-limiting examples of communication interfaces, and according to the type of PLC, any appropriate communication interface may be used.
  • the server 110 is configured to receive a request from the client device 120 for the user 150 to access the server 110.
  • the server 110 obtains the user's information from the data storage library 210, and verifies the identity of the user 150 based on the obtained information.
  • the user 150 can send a request for the application 122 to the server 110 via the client device 120.
  • the server 110 receives the request for the application 122, it obtains the application 122 and the simulation model 212 associated with the application 122 from the data repository 210. Then, the server 110 sends the application 122 and the simulation model 212 to the client device 120.
  • the client device 120 can load the simulation model 212 into the model simulator 214.
  • the user 150 uses automation software under the guidance of the application 122 to write program code that can be executed by the PLC 130 to simulate the control of the controlled object 140.
  • the user 150 downloads the program code to the PLC 130 via the client device 120, and simulates the control of the controlled object 140 by executing the program code by the PLC 130 and running the simulation model 212 by the model simulator 214.
  • the model simulator 214 running the simulation model 212 can present a virtual version of the controlled object 140.
  • the model simulator 214 can present a visual representation of the clip gripping an object.
  • the application 122 when the application 122 is updated, only the associated simulation model 212 in the data storage library 210 needs to be updated, without the need to redeploy the corresponding physical equipment in the training institution.
  • the application 122 is an application that instructs the user 150 to write at the client device 120 a program code that can be executed by the PLC 130 to simulate the control of the controlled object 140. If the application 122 is updated to instruct the user 150 to write an application that can be executed by the PLC 130 to control the robotic arm, only the simulation model 212 in the data storage library 210 needs to be updated to the simulation model for the robotic arm, and There is no need to redeploy the robotic arm in the training system 200 to replace the existing clip.
  • the server 110 After the server 110 receives a request for the updated application from the client device 120, it obtains the updated application and the updated simulation model from the data storage library 210, and then sends them to the slave client device 120. In this way, the hardware cost of the training system can be reduced.
  • the user 150 may not purchase a physical PLC 130, and therefore has to go to the training institution site to use the application 122.
  • the PLC simulation file used to simulate the physical PLC 130 may be created in advance and stored in the data storage library.
  • a PLC simulator for running PLC simulation files is deployed on the client device 120. By loading the program code written by the user 150 into the PLC simulator, the program test that does not depend on the physical PLC can be performed on the client device 120. Therefore, the user 150 can use the application 122 only through the client device 120 without having to go to the training institution site, thereby providing convenience for the user 150.
  • FIG. 3 shows an example of a training system 300 in which a PLC simulation file is used to simulate the PLC 130.
  • the PLC simulation file 302 is pre-created for simulating the physical PLC 130 shown in FIG. 2 and is stored in the data storage library 210. Accordingly, the PLC simulator 304 for running the PLC simulation file 302 is deployed on the client device 120.
  • the server 110 After the server 110 receives the request for the application 122 from the client device 120, it obtains the application 122, the simulation model 212, and the PLC simulation file 302 from the data storage library 210, and then sends them to the slave client device 120.
  • the client device 120 After receiving the application 122, the simulation model 212, and the PLC simulation file 302, the client device 120 loads the simulation model 212 into the model simulator 214 and loads the PLC simulation file 302 into the PLC simulator 304.
  • the user 150 downloads the written program code to the PLC simulator 304 via the client device 120, and simulates the control of the controlled object 140 by executing the program code by the PLC simulator 304 and running the simulation model 212 by the model simulator 214.
  • the data repository 210 is shown as being communicatively coupled with the server 110. Although illustrated as being independent of the server 110, in other embodiments, the data repository 210 may be deployed in the server 110 as part of the server 110.
  • the server 110 and the data repository 210 may be deployed in the cloud.
  • the cloud can be a public cloud or a private cloud, which is configured to centrally manage and utilize the software and hardware resources deployed in it to provide organizations and/or individuals with various functions such as data storage, sharing, computing, analysis, etc. And/or services.
  • the cloud can also be referred to as a cloud-based network, in which software and/or hardware resources can be interconnected and can also be accessed by external devices and users.
  • the various branches of the training institution can share the resources of the server 110 and the data storage library 210, without setting up respective local servers to maintain the application and the associated simulation model.
  • the manager of the training organization can only maintain the data repository 210 in the cloud instead of updating the application and simulation model on the local server of the branch branch by branch, thereby reducing maintenance costs.
  • FIG. 4 shows a signaling interaction diagram of a process 400 of assisting a user to use an automated system according to some embodiments of the present disclosure.
  • the process 400 involves the client device 120, the server 110, and the data repository 210 as shown in FIGS. 2 and 3.
  • the process 400 will be described in detail below in conjunction with FIG. 2 and FIG. 3. It should be understood that process 400 may also include actions not shown and/or actions shown may be omitted. The scope of the present disclosure is not limited in this respect.
  • the client device 120 sends (410) a request for the application 122 to the server 110, and the application 122 instructs the user 150 to write a program at the client device 120 that can be executed by the PLC to simulate the control of the controlled object Code.
  • the server 110 After the server 110 receives the request for the application 122, it obtains (420) the application 122 and the simulation model 212 associated with the application 122 from the data repository 210 coupled with the server 110.
  • the simulation model 212 is used to simulate the controlled object.
  • the server 110 sends (430) the application 122 and the simulation model 212 to the client device 120.
  • the client device 120 After the client device 120 receives the application 122 and the simulation model 212 associated with the application 122, the program code written by the user 150 and the simulation model 212 are executed to simulate (440) the control of the controlled object.
  • the server 110 may obtain the updated application and the updated simulation model from another server. Furthermore, the server 110 may store the updated application and the updated simulation model in the data storage library 210.
  • the client device 120 may send (450) the first usage information related to the use of the application 122 by the user 150 to the server 110.
  • the server 110 After the server 110 receives the first usage information, it can store (460) the first usage information in the data storage library 210.
  • the first usage information may include, but are not limited to: the user's usage record of the application, the error rate of the program code written by the user, and the user's evaluation information of the application.
  • Examples of the user's evaluation information on the application may include, but are not limited to, information related to at least one of the following: whether the application settings are reasonable and whether the application is helpful to the user. It should be understood that what is given here are only some non-limiting examples of usage information, and the usage information and evaluation information may contain any appropriate content as required.
  • the unified management of user information in the data storage library 210 can avoid data loss and improve data security.
  • the training system 200 may include multiple client devices 120.
  • multiple client devices 120 may respectively send usage information related to their users' usage of their respective applications to the server 110. After the server 110 receives the usage information, it can store the usage information in the data storage library 210 respectively.
  • the server 110 may obtain (470) the respective usage information of the multiple users from the data repository 210, and determine (480) the user's usage information based on the usage information. Another application recommended by 150. In some embodiments, any known or future-developed big data analysis methods and algorithms can be used in combination with the embodiments of the present disclosure to determine another application to be recommended to the user. Furthermore, the server 110 transmits (490) information of the recommended another application to the client device 120. Based on the user's usage information and the usage information of other users, recommending the subsequent applications to the user can help the user more quickly grasp the use of the automation system.
  • FIG. 5 shows a flowchart of a method 500 for assisting a user in using an automated system according to some embodiments of the present disclosure.
  • the method 500 may be executed by the server 110 as shown in FIG. 2 or FIG. 3, for example. It should be understood that the method 500 may also include unshown blocks and/or the shown blocks may be omitted. The scope of the present disclosure is not limited in this respect.
  • a request for the application is received from the client device.
  • This application guides users to write program codes that can be executed by the programmable logic controller in the automation system to simulate the control of the controlled object in the automation system at the client device.
  • an application and a simulation model associated with the application are obtained from a data repository coupled with the server.
  • the simulation model is used to simulate the controlled object.
  • the application and simulation model are sent to the client device.
  • the method 500 further includes: in response to the application and the simulation model being updated, obtaining the updated application and the updated simulation model from another server; and storing the updated application and the updated simulation model to In the data repository.
  • the method 500 further includes: receiving first usage information related to the user's usage of the application from the client device; and storing the first usage information in a data storage library.
  • the method 500 further includes: obtaining first usage information and second usage information from a data storage database, the second usage information being related to another user's usage of an application in the data storage database; based on the first usage information And the second usage information, determining another application to be recommended to the user; and sending the information of the other application to the client device.
  • sending the application and the simulation model to the client device includes: in response to the programmable logic controller being simulated by the simulation file, sending the application, the simulation model, and the simulation file to the client device.
  • the server and data repository are deployed in the cloud.
  • FIG. 6 shows a flowchart of a method 600 for assisting a user in using an automated system according to some embodiments of the present disclosure.
  • the method 600 may be executed by the server 110 as shown in FIG. 2 or FIG. 3, for example. It should be understood that the method 600 may also include unshown blocks and/or may omit the shown blocks. The scope of the present disclosure is not limited in this respect.
  • a request for the application is sent to the server.
  • This application guides users to write program codes that can be executed by the programmable logic controller in the automation system to simulate the control of the controlled object in the automation system at the client device.
  • an application and a simulation model associated with the application are received from the server, and the simulation model is used to simulate the controlled object.
  • control of the controlled object is simulated by running the program code and the simulation model.
  • the method 600 further includes: sending first usage information related to the use of the application by the user to the server.
  • the method 600 further includes: receiving from the server information about another application recommended to the user, the other application is determined based on the first usage information and the second usage information, and the second usage information is related to the data of another user. Related to the use of the application in the repository.
  • causing the program code to be executed includes: causing the program code to be executed by a physical programmable logic controller, and causing the program code to be executed by a simulated programmable logic controller.
  • receiving the application and the simulation model associated with the application from the server includes receiving the application, the simulation model, and the simulation file from the server in response to the programmable logic controller being simulated by the simulation file.
  • Figure 7 shows a schematic block diagram of an example device 700 that can be used to implement embodiments of the present disclosure.
  • the device 700 may be used to implement the process 400 in FIG. 4, the method 500 in FIG. 5, and/or the method 600 in FIG.
  • the device 700 may be implemented as the server 110 or the client device 120 described above.
  • the device 700 includes a central processing unit (CPU) 701, which can be loaded according to computer program instructions stored in a read only memory (ROM) 702 or loaded from a storage unit 708 to a random access memory (RAM) 703. Program instructions to perform various appropriate actions and processing. In the RAM 703, various programs and data required for the operation of the device 700 can also be stored.
  • the CPU 701, the ROM 702, and the RAM 703 are connected to each other through a bus 704.
  • An input/output (I/O) interface 705 is also connected to the bus 704.
  • the I/O interface 705 includes: an input unit 706, such as a keyboard, a mouse, etc.; an output unit 707, such as various types of displays, speakers, etc.; and a storage unit 708, such as a magnetic disk, an optical disk, etc. ; And the communication unit 709, such as a network card, a modem, a wireless communication transceiver, etc.
  • the communication unit 709 allows the device 700 to exchange information/data with other devices through a computer network such as the Internet and/or various telecommunication networks.
  • the processing unit 701 executes the various methods and processes described above, such as the process 400, the method 500, and/or the method 600.
  • the process 400, the method 500, and/or the method 600 may be implemented as a computer software program or computer program product, which is tangibly contained in a computer-readable medium, such as a non-transitory computer-readable medium (For example, storage unit 708).
  • part or all of the computer program may be loaded and/or installed on the device 700 via the ROM 702 and/or the communication unit 709.
  • the CPU 701 may be configured to execute the process 400, the method 500, and/or the method 600 in any other suitable manner (for example, by means of firmware).
  • certain embodiments of the present disclosure further include various program modules and/or integrated circuit modules for executing one or more steps of the process 400, the method 500, and/or the method 600 and/or other embodiments of the present disclosure One or more other steps described.
  • These program modules may be included or embodied in a device, such as the device 700 of FIG. 7.

Abstract

Provided in the embodiments of the present invention are a device and method for assisting a user in using an automated system, and a computer-readable medium. A server comprises a processor and a memory coupled to the processor. The memory stores a computer program, and the computer program makes the server execute an action when executed by the processor. The action comprises: receiving, from a client device, a request regarding an application, wherein the application guides a user to write, at the client device, a program code that can be executed by a programmable logic controller in order to simulate control of a controlled object; in response to the request, acquiring, from a data storage library coupled to a server, the application and a simulation model associated with the application, wherein the simulation model is used for simulating the controlled object; and sending the application and the simulation model to the client device. In the embodiments of the present disclosure, a controlled physical object is replaced with a simulation model for simulating a controlled object, thereby reducing hardware costs.

Description

协助用户使用自动化系统的设备、方法和计算机可读介质Apparatus, method and computer-readable medium for assisting users in using automation system 技术领域Technical field
本公开的实施例涉及计算机领域,并且更具体地,涉及用于协助用户使用自动化系统的设备、方法和计算机可读介质。The embodiments of the present disclosure relate to the field of computers, and more specifically, to devices, methods, and computer-readable media for assisting users in using automated systems.
背景技术Background technique
自动化系统通常包括可编程逻辑控制器(PLC)以及与PLC耦合的被控对象。培训机构可以被创建以协助用户使用自动化系统。培训机构可以具有多个分支机构。每个分支机构的培训系统可以包括一个服务器以及一个或多个客户端设备。服务器管理用户信息并且在本地存储应用。应用指导用户利用自动化软件编写能够由PLC执行的程序代码,以控制与PLC耦合的被控对象。用户经由客户端设备从服务器下载应用并在本地存储所下载的应用。An automation system usually includes a programmable logic controller (PLC) and a controlled object coupled with the PLC. Training institutions can be created to assist users in using automated systems. Training institutions can have multiple branches. The training system of each branch can include a server and one or more client devices. The server manages user information and stores applications locally. The application guides users to use automation software to write program codes that can be executed by PLC to control the controlled objects coupled with PLC. The user downloads the application from the server via the client device and stores the downloaded application locally.
发明内容Summary of the invention
在传统培训机构中,被控对象由物理设备(例如机械手、传送带等)组成。当应用被更新时,与应用相关联的物理设备也不得不被更新,由此增大了培训机构的硬件成本。有鉴于此,利用对被控对象进行仿真的仿真模型来取代物理设备将是有利的。本公开的实施例提供了这样一种基于仿真的培训系统。In traditional training institutions, the accused object consists of physical equipment (such as manipulators, conveyor belts, etc.). When an application is updated, the physical equipment associated with the application also has to be updated, thereby increasing the hardware cost of the training institution. In view of this, it would be advantageous to replace physical equipment with a simulation model that simulates the controlled object. The embodiments of the present disclosure provide such a simulation-based training system.
在本公开的第一方面中,提供了一种服务器。该服务器包括处理器以及与处理器耦合的存储器。存储器存储计算机程序,计算机程序在由处理器执行时使服务器执行动作。动作包括:从客户端设备接收针对应用的请求,应用指导用户在客户端设备处编写能够由可编程逻辑控制器执行、以模拟对被控对象的控制的程序代码;响应于请求,从与服务器耦合的数据存储库获取应用以及与应用相关联的仿真模型,仿真模型用于对被控对象进行仿真;以及向客户端设备发送应用和仿真模型。In the first aspect of the present disclosure, a server is provided. The server includes a processor and a memory coupled with the processor. The memory stores a computer program, and the computer program causes the server to perform actions when executed by the processor. Actions include: receiving a request for the application from the client device, and the application instructing the user to write program code at the client device that can be executed by the programmable logic controller to simulate the control of the controlled object; in response to the request, from the server The coupled data storage library obtains the application and the simulation model associated with the application, the simulation model is used to simulate the controlled object; and the application and the simulation model are sent to the client device.
根据本公开的实施例,利用对被控对象进行仿真的仿真模型来取代物理设备,使得当应用被更新时,仅需更新相关联的仿真模型,而无需重新部署相应的物理设备, 从而降低了培训系统的硬件成本。According to the embodiments of the present disclosure, a simulation model for simulating the controlled object is used to replace the physical device, so that when the application is updated, only the associated simulation model needs to be updated without the need to redeploy the corresponding physical device, thereby reducing The hardware cost of the training system.
在一些实施例中,动作进一步包括:响应于应用和仿真模型被更新,从另一服务器获取更新后的应用以及更新后的仿真模型;以及将更新后的应用以及更新后的仿真模型存储到数据存储库中。从另一服务器获取更新后的应用以及更新后的仿真模型,避免了由管理者对培训机构的多个分支机构逐个进行应用和仿真模型的更新,从而降低了维护成本。In some embodiments, the action further includes: in response to the application and the simulation model being updated, obtaining the updated application and the updated simulation model from another server; and storing the updated application and the updated simulation model to the data In the repository. Obtain the updated application and the updated simulation model from another server, which avoids the administrator from updating the application and simulation model one by one to multiple branches of the training institution, thereby reducing maintenance costs.
在一些实施例中,动作进一步包括:从客户端设备接收与用户对应用的使用有关的第一使用信息;以及将第一使用信息存储到数据存储库中。在数据存储库中统一管理用户的信息,可以避免数据丢失,提高了数据安全性。In some embodiments, the action further includes: receiving first usage information related to the user's usage of the application from the client device; and storing the first usage information in a data storage library. Unified management of user information in the data repository can avoid data loss and improve data security.
在一些实施例中,动作进一步包括:从数据存储库获取第一使用信息以及第二使用信息,第二使用信息与另一用户对数据存储库中的应用的使用有关;基于第一使用信息以及第二使用信息,确定要向用户推荐的另一应用;以及向客户端设备发送另一应用的信息。基于用户的使用信息和其他用户的使用信息来向用户推荐后续要使用的应用,可以帮助用户更快速地掌握自动化系统的使用。In some embodiments, the action further includes: obtaining first usage information and second usage information from the data repository, the second usage information being related to another user's usage of the application in the data repository; based on the first usage information and The second usage information is to determine another application to be recommended to the user; and send the information of the other application to the client device. Based on the user's usage information and the usage information of other users, recommending the subsequent applications to the user can help the user more quickly grasp the use of the automation system.
在一些实施例中,服务器被使得通过以下来向客户端设备发送应用和仿真模型:响应于可编程逻辑控制器由仿真文件仿真,向客户端设备发送应用、仿真模型以及仿真文件。利用仿真文件对可编程逻辑控制器进行仿真,使得用户能够在客户端设备上进行不依赖于物理的可编程逻辑控制器的程序测试,而无需到达培训机构现场,增强了用户使用的便利性。In some embodiments, the server is caused to send the application and simulation model to the client device by sending the application, simulation model, and simulation file to the client device in response to the programmable logic controller being simulated by the simulation file. The use of simulation files to simulate the programmable logic controller enables users to perform program tests that do not rely on physical programmable logic controllers on client devices without having to reach the training institution site, which enhances the convenience of users.
在一些实施例中,服务器和数据存储库被部署在云中。以此方式,管理者可以仅维护云端的数据存储库,而无需逐个分支机构地更新分支机构本地的服务器上的应用和仿真模型,从而降低了维护成本。In some embodiments, the server and data repository are deployed in the cloud. In this way, the administrator can only maintain the data repository in the cloud, instead of updating the applications and simulation models on the local server of the branch branch by branch, thereby reducing maintenance costs.
在本公开的第二方面中,提供了一种客户端设备。该客户端设备包括处理器以及与处理器耦合的存储器。存储器存储计算机程序,计算机程序在由处理器执行时使客户端设备执行动作。动作包括:向服务器发送针对应用的请求,应用指导用户在客户端设备处编写能够由可编程逻辑控制器执行、以模拟对被控对象的控制的程序代码;从服务器接收应用以及与应用相关联的仿真模型,仿真模型用于对被控对象进行仿真;以及通过使程序代码和仿真模型被运行来模拟对被控对象的控制。In a second aspect of the present disclosure, a client device is provided. The client device includes a processor and a memory coupled with the processor. The memory stores a computer program, and the computer program causes the client device to perform actions when executed by the processor. Actions include: sending a request for the application to the server, and the application instructing the user to write program code that can be executed by the programmable logic controller to simulate the control of the controlled object at the client device; receiving the application from the server and associating with the application The simulation model is used to simulate the controlled object; and the control of the controlled object is simulated by running the program code and the simulation model.
在一些实施例中,动作进一步包括:向服务器发送与用户对应用的使用有关的第 一使用信息。In some embodiments, the action further includes: sending first usage information related to the user's usage of the application to the server.
在一些实施例中,动作进一步包括:从服务器接收向用户推荐的另一应用的信息,另一应用基于第一使用信息以及第二使用信息被确定,第二使用信息与另一用户对数据存储库中的应用的使用有关。In some embodiments, the action further includes: receiving information about another application recommended to the user from the server, the other application is determined based on the first usage information and the second usage information, and the second usage information is stored with the data of another user. Related to the use of the application in the library.
在一些实施例中,客户端设备被使得通过以下之一来使程序代码被运行:使程序代码由物理的可编程逻辑控制器运行,以及使程序代码由仿真的可编程逻辑控制器运行。In some embodiments, the client device is caused to cause the program code to be executed by one of the following: causing the program code to be executed by a physical programmable logic controller, and causing the program code to be executed by a simulated programmable logic controller.
在一些实施例中,客户端设备被使得通过以下来从服务器接收应用以及与应用相关联的仿真模型:响应于可编程逻辑控制器由仿真文件仿真,从服务器接收应用、仿真模型以及仿真文件。In some embodiments, the client device is caused to receive the application and the simulation model associated with the application from the server by receiving the application, the simulation model, and the simulation file from the server in response to the programmable logic controller being simulated by the simulation file.
在本公开的第三方面中,提供了一种协助用户使用自动化系统的方法。该方法包括:在服务器处,从客户端设备接收针对应用的请求,应用指导用户在客户端设备处编写能够由自动化系统中的可编程逻辑控制器执行、以模拟对自动化系统中的被控对象的控制的程序代码;响应于请求,从与服务器耦合的数据存储库获取应用以及与应用相关联的仿真模型,仿真模型用于对被控对象进行仿真;以及向客户端设备发送应用和仿真模型。In the third aspect of the present disclosure, a method for assisting users in using an automated system is provided. The method includes: at the server, receiving a request for an application from a client device, and the application instructs the user to write at the client device that can be executed by the programmable logic controller in the automation system to simulate the controlled object in the automation system In response to the request, obtain the application and the simulation model associated with the application from the data repository coupled with the server, the simulation model is used to simulate the controlled object; and send the application and simulation model to the client device .
在本公开的第四方面中,提供了一种协助用户使用自动化系统的方法。该包括:在客户端设备处,向服务器发送针对应用的请求,应用指导用户在客户端设备处编写能够由自动化系统中的可编程逻辑控制器执行、以模拟对自动化系统中的被控对象的控制的程序代码;从服务器接收应用以及与应用相关联的仿真模型,仿真模型用于对被控对象进行仿真;以及通过使程序代码和仿真模型被运行来模拟对被控对象的控制。In the fourth aspect of the present disclosure, a method for assisting users in using an automated system is provided. This includes: at the client device, send a request for the application to the server, and the application guides the user to write at the client device that can be executed by the programmable logic controller in the automation system to simulate the control of the controlled object in the automation system Control program code; receive the application and the simulation model associated with the application from the server, the simulation model is used to simulate the controlled object; and simulate the control of the controlled object by running the program code and the simulation model.
在本公开的第五方面中,提供了一种计算机可读介质。该计算机可读介质上存储有计算机程序。计算机程序在被执行时使至少一个处理器执行根据本公开的第三方面的方法。In a fifth aspect of the present disclosure, a computer-readable medium is provided. A computer program is stored on the computer readable medium. The computer program, when executed, causes at least one processor to execute the method according to the third aspect of the present disclosure.
在本公开的第六方面中,提供了一种计算机可读介质。该计算机可读介质上存储有计算机程序。计算机程序在被执行时使至少一个处理器执行根据本公开的第四方面的方法。In a sixth aspect of the present disclosure, a computer-readable medium is provided. A computer program is stored on the computer readable medium. The computer program, when executed, causes at least one processor to execute the method according to the fourth aspect of the present disclosure.
提供发明内容部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也 无意限制本公开的范围。The content of the invention is provided to introduce the choice of concepts in a simplified form, which will be further described in the following specific embodiments. The content of the invention is not intended to identify the key features or main features of the present disclosure, nor is it intended to limit the scope of the present disclosure.
附图说明Description of the drawings
下文将以明确易懂的方式通过对优选实施例的说明并结合附图来对本公开上述特性、技术特征、优点及其实现方式予以进一步说明,其中:Hereinafter, the above-mentioned characteristics, technical characteristics, advantages and implementation methods of the present disclosure will be further described through the description of the preferred embodiments in a clear and easy-to-understand manner in conjunction with the accompanying drawings, in which:
图1示出了常规培训系统的示意图;Figure 1 shows a schematic diagram of a conventional training system;
图2示出了根据本公开的一些实施例的培训系统的示意图;Figure 2 shows a schematic diagram of a training system according to some embodiments of the present disclosure;
图3示出了根据本公开的其他实施例的培训系统的示意图;FIG. 3 shows a schematic diagram of a training system according to other embodiments of the present disclosure;
图4示出了根据本公开的一些实施例的协助用户使用自动化系统的过程的信令交互图;FIG. 4 shows a signaling interaction diagram of a process of assisting a user in using an automated system according to some embodiments of the present disclosure;
图5示出了根据本公开的一些实施例的协助用户使用自动化系统的方法的流程图;Figure 5 shows a flowchart of a method for assisting a user in using an automated system according to some embodiments of the present disclosure;
图6示出了根据本公开的其他实施例的协助用户使用自动化系统的方法的流程图;以及Fig. 6 shows a flowchart of a method for assisting a user to use an automated system according to other embodiments of the present disclosure; and
图7示出了可以用来实施本公开的实施例的示例设备的框图。Figure 7 shows a block diagram of an example device that can be used to implement embodiments of the present disclosure.
附图标记列表:List of reference signs:
110:服务器110: Server
120:客户端设备120: client device
122:应用122: Application
130:PLC130: PLC
140:被控对象140: accused object
150:用户150: users
210:数据存储库210: Data Repository
212:仿真模型212: Simulation model
214:模型仿真器214: Model Simulator
302:仿真文件302: Simulation file
304:PLC仿真器304: PLC simulator
701:CPU701: CPU
702:ROM702: ROM
703:RAM703: RAM
704:总线704: Bus
705:I/O接口705: I/O interface
706:输入单元706: Input unit
707:输出单元707: output unit
708:存储单元708: storage unit
709:通信单元709: Communication unit
具体实施方式Detailed ways
下面将参考附图中示出的若干示例实施例来描述本公开的原理。虽然附图中显示了本公开的优选实施例,但应当理解,描述这些实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。The principles of the present disclosure will be described below with reference to several example embodiments shown in the drawings. Although the drawings show preferred embodiments of the present disclosure, it should be understood that the description of these embodiments is only to enable those skilled in the art to better understand and implement the present disclosure, and does not limit the scope of the present disclosure in any way.
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。The term "including" and its variants as used herein means open-ended inclusion, that is, "including but not limited to". Unless specifically stated otherwise, the term "or" means "and/or". The term "based on" means "based at least in part on." The terms "one example embodiment" and "one embodiment" mean "at least one example embodiment." The term "another embodiment" means "at least one additional embodiment." The terms "first", "second", etc. may refer to different or the same objects. The following may also include other explicit and implicit definitions.
如前所述,培训机构可以具有多个分支机构,每个分支机构的培训系统可以包括服务器以及一个或多个客户端设备。图1示出了这样的常规培训系统100的示意图。如图1所示,培训系统100包括服务器110、客户端设备120、PLC 130和被控对象140。应当理解,图1中示出的设备的布置和数目均是示意性的。在其他情况中,多个客户端设备120可以连接和访问服务器110。As mentioned above, a training institution may have multiple branches, and the training system of each branch may include a server and one or more client devices. Fig. 1 shows a schematic diagram of such a conventional training system 100. As shown in FIG. 1, the training system 100 includes a server 110, a client device 120, a PLC 130, and a controlled object 140. It should be understood that the arrangement and number of the devices shown in FIG. 1 are schematic. In other cases, multiple client devices 120 can connect to and access the server 110.
服务器110管理用户150的信息并且在本地存储应用122。应用122指导用户150在客户端设备120处编写能够由PLC 130执行的程序代码,以控制与PLC 130耦合的被控对象140。用户150经由客户端设备120从服务器110下载应用122并在客户端设备120本地存储所下载的应用122。随后,该应用从服务器110被移除。当应用122被更新时,培训机构的管理者将更新后的应用存储在服务器110上,用户150可以经由客户端设备120从服务器110下载更新后的应用。The server 110 manages the information of the user 150 and stores the application 122 locally. The application 122 instructs the user 150 to write a program code that can be executed by the PLC 130 at the client device 120 to control the controlled object 140 coupled with the PLC 130. The user 150 downloads the application 122 from the server 110 via the client device 120 and stores the downloaded application 122 locally on the client device 120. Subsequently, the application is removed from the server 110. When the application 122 is updated, the manager of the training institution stores the updated application on the server 110, and the user 150 can download the updated application from the server 110 via the client device 120.
在客户端设备120处,用户150在应用122的指导下,学习利用客户端设备120处的自动化软件编写能够由PLC 130执行的程序代码,以控制与PLC 130耦合的被控对象140。自动化软件的示例可以包括但不限于:STEP 7、WPLSoft、PLCEdit等。应当理解,这里给出的仅仅是自动化软件的一些非限制示例,并且根据所使用的PLC,用户150可以采用任何适当的自动化软件。At the client device 120, the user 150, under the guidance of the application 122, learns to use the automation software at the client device 120 to write program codes that can be executed by the PLC 130 to control the controlled object 140 coupled with the PLC 130. Examples of automation software may include, but are not limited to: STEP 7, WPLSoft, PLCEdit, etc. It should be understood that what is given here are only some non-limiting examples of automation software, and according to the PLC used, the user 150 can adopt any appropriate automation software.
如本文所使用的,被控对象是指在控制系统中被控制的物理设备或由物理设备实现的过程。被控对象的示例可以包括但不限于:马达、夹子夹取物体的过程、机械手臂搬运半导体晶片的过程、传送带传送设备的过程等。应当理解,这里给出的仅仅是被控对象的一些非限制示例,并且根据需要,被控对象可以为任何适当的物理设备或过程。As used herein, the controlled object refers to the physical device controlled in the control system or the process realized by the physical device. Examples of controlled objects may include, but are not limited to: motors, the process of gripping objects with clamps, the process of robotic arms handling semiconductor wafers, the process of conveying equipment with conveyors, and so on. It should be understood that what is given here are only some non-limiting examples of the controlled object, and the controlled object can be any appropriate physical device or process as required.
当应用122被更新时,与应用122相关联的物理设备也不得不被更新。例如,假定应用122是指导用户150编写能够由PLC 130执行以控制夹子的程序代码的应用。如果应用122被更新为指导用户150编写能够由PLC 130执行以控制机械手臂的程序代码的应用,则培训机构需要购买机械手臂,以替换已有的夹子。可见,响应于应用的更新而更新培训机构中的物理设备无疑增大了培训机构的硬件成本。When the application 122 is updated, the physical device associated with the application 122 also has to be updated. For example, assume that the application 122 is an application that instructs the user 150 to write a program code that can be executed by the PLC 130 to control the clip. If the application 122 is updated to guide the user 150 to write an application that can be executed by the PLC 130 to control the robotic arm, the training institution needs to purchase the robotic arm to replace the existing clip. It can be seen that updating the physical equipment in the training institution in response to application updates undoubtedly increases the hardware cost of the training institution.
为了解决现有方案中的上述以及其他潜在的缺陷和问题,本公开的实施例提供了一种基于仿真的培训系统。根据本公开的实施例,利用对被控对象进行仿真的仿真模型来取代物理设备。服务器响应于客户端设备的请求而向客户端设备发送应用以及与应用相关联的仿真模型。以此方式,当应用被更新时,仅需更新相关联的仿真模型,而无需重新部署相应的物理设备,从而降低了硬件成本。以下将参考图2至图5来进一步详细描述本公开的实施例。In order to solve the foregoing and other potential defects and problems in the existing solutions, the embodiments of the present disclosure provide a simulation-based training system. According to an embodiment of the present disclosure, a simulation model for simulating the controlled object is used to replace the physical device. The server sends the application and the simulation model associated with the application to the client device in response to the request of the client device. In this way, when the application is updated, only the associated simulation model needs to be updated without redeploying the corresponding physical equipment, thereby reducing hardware costs. Hereinafter, embodiments of the present disclosure will be described in further detail with reference to FIGS. 2 to 5.
图2示出了根据本公开的一个实施例的培训系统200的示意图。与图1所示的培训系统100所不同的是,培训系统200进一步包括与服务器110耦合的数据存储库210,对被控对象140进行仿真的仿真模型212代替了被控对象140,并且客户端设备120包括用于运行仿真模型212的模型仿真器214。FIG. 2 shows a schematic diagram of a training system 200 according to an embodiment of the present disclosure. The difference from the training system 100 shown in FIG. 1 is that the training system 200 further includes a data storage library 210 coupled to the server 110, a simulation model 212 that simulates the controlled object 140 instead of the controlled object 140, and the client The device 120 includes a model simulator 214 for running a simulation model 212.
数据存储库210被配置为存储用户150的信息、应用122以及与应用122相关联的仿真模型212。应用122指导用户150在客户端设备120处编写能够由PLC 130执行以模拟对被控对象140的控制的程序代码。仿真模型212用于对被控对象140进行仿真。The data repository 210 is configured to store information of the user 150, the application 122, and the simulation model 212 associated with the application 122. The application 122 instructs the user 150 to write program code at the client device 120 that can be executed by the PLC 130 to simulate the control of the controlled object 140. The simulation model 212 is used to simulate the controlled object 140.
模型仿真器214与PLC 130之间可以通过通信接口来通信。通信接口的示例可以包括但是不限于:PRODAVE、OPC、Profibus和Profinet。应当理解,这里给出的仅仅是通信接口的一些非限制示例,并且根据PLC的类型,任何适当的通信接口可以被使用。The model simulator 214 and the PLC 130 may communicate through a communication interface. Examples of communication interfaces may include, but are not limited to: PRODAVE, OPC, Profibus, and Profinet. It should be understood that what is given here are only some non-limiting examples of communication interfaces, and according to the type of PLC, any appropriate communication interface may be used.
服务器110被配置为从客户端设备120接收用户150访问服务器110的请求。响应于用户150访问服务器110的请求,服务器110从数据存储库210获取用户的信息,并且基于获取的信息验证用户150的身份。The server 110 is configured to receive a request from the client device 120 for the user 150 to access the server 110. In response to the user 150's request to access the server 110, the server 110 obtains the user's information from the data storage library 210, and verifies the identity of the user 150 based on the obtained information.
在通过身份验证后,用户150可以经由客户端设备120向服务器110发送针对应用122的请求。服务器110接收到针对应用122的请求后,从数据存储库210获取应用122以及与应用122相关联的仿真模型212。继而,服务器110向客户端设备120发送应用122和仿真模型212。After passing the authentication, the user 150 can send a request for the application 122 to the server 110 via the client device 120. After the server 110 receives the request for the application 122, it obtains the application 122 and the simulation model 212 associated with the application 122 from the data repository 210. Then, the server 110 sends the application 122 and the simulation model 212 to the client device 120.
客户端设备120在接收到应用122和仿真模型212后,可以将仿真模型212加载到模型仿真器214中。在客户端设备120处,用户150在应用122的指导下,利用自动化软件来编写能够由PLC 130执行以模拟对被控对象140的控制的程序代码。After receiving the application 122 and the simulation model 212, the client device 120 can load the simulation model 212 into the model simulator 214. At the client device 120, the user 150 uses automation software under the guidance of the application 122 to write program code that can be executed by the PLC 130 to simulate the control of the controlled object 140.
用户150经由客户端设备120将程序代码下载到PLC 130中,通过由PLC 130执行该程序代码以及由模型仿真器214运行仿真模型212来模拟对被控对象140的控制。具体地,运行仿真模型212的模型仿真器214能够呈现被控对象140的虚拟版本。例如,在被控对象140为夹子夹取物体的过程的示例中,模型仿真器214能够呈现夹子夹取物体的过程的可视化表示。The user 150 downloads the program code to the PLC 130 via the client device 120, and simulates the control of the controlled object 140 by executing the program code by the PLC 130 and running the simulation model 212 by the model simulator 214. Specifically, the model simulator 214 running the simulation model 212 can present a virtual version of the controlled object 140. For example, in an example in which the controlled object 140 is a clip gripping an object, the model simulator 214 can present a visual representation of the clip gripping an object.
在培训系统200中,当应用122被更新时,仅需更新数据存储库210中的相关联的仿真模型212,而无需在培训机构中重新部署相应的物理设备。例如,考虑如下示例,其中应用122是指导用户150在客户端设备120处编写能够由PLC 130执行以模拟对被控对象140的控制的程序代码的应用。如果应用122被更新为指导用户150编写能够由PLC 130执行以控制机械手臂的程序代码的应用,则仅需将数据存储库210中的仿真模型212更新为用于仿真机械手臂的仿真模型,而无需在培训系统200中重新部署机械手臂,以替换已有的夹子。服务器110在从客户端设备120接收到针对更新后的应用的请求后,从数据存储库210获取更新后的应用以及更新后的仿真模型,进而将其发送给从客户端设备120。以此方式,培训系统的硬件成本得以降低。In the training system 200, when the application 122 is updated, only the associated simulation model 212 in the data storage library 210 needs to be updated, without the need to redeploy the corresponding physical equipment in the training institution. For example, consider the following example, where the application 122 is an application that instructs the user 150 to write at the client device 120 a program code that can be executed by the PLC 130 to simulate the control of the controlled object 140. If the application 122 is updated to instruct the user 150 to write an application that can be executed by the PLC 130 to control the robotic arm, only the simulation model 212 in the data storage library 210 needs to be updated to the simulation model for the robotic arm, and There is no need to redeploy the robotic arm in the training system 200 to replace the existing clip. After the server 110 receives a request for the updated application from the client device 120, it obtains the updated application and the updated simulation model from the data storage library 210, and then sends them to the slave client device 120. In this way, the hardware cost of the training system can be reduced.
可以理解,例如由于成本原因,用户150可能不会购买物理的PLC 130,因而不 得不到达培训机构现场来使用应用122。在一些实施例中,为了便于用户使用应用122,用于对物理的PLC 130进行仿真的PLC仿真文件可以被预先创建并且被存储在数据存储库中。相应地,用于运行PLC仿真文件的PLC仿真器被部署在客户端设备120上。通过将用户150编写的程序代码加载到PLC仿真器中便能够在客户端设备120上进行不依赖于物理的PLC的程序测试。由此,用户150仅需经由客户端设备120就可使用应用122,而无需到达培训机构现场,从而为用户150提供了便利。It can be understood that, for example, due to cost reasons, the user 150 may not purchase a physical PLC 130, and therefore has to go to the training institution site to use the application 122. In some embodiments, in order to facilitate the user to use the application 122, the PLC simulation file used to simulate the physical PLC 130 may be created in advance and stored in the data storage library. Correspondingly, a PLC simulator for running PLC simulation files is deployed on the client device 120. By loading the program code written by the user 150 into the PLC simulator, the program test that does not depend on the physical PLC can be performed on the client device 120. Therefore, the user 150 can use the application 122 only through the client device 120 without having to go to the training institution site, thereby providing convenience for the user 150.
图3示出了其中采用PLC仿真文件来仿真PLC 130的培训系统300的示例。在培训系统300中,PLC仿真文件302被预先创建用于仿真图2所示的物理的PLC 130并且被存储在数据存储库210中。相应地,用于运行PLC仿真文件302的PLC仿真器304被部署在客户端设备120上。FIG. 3 shows an example of a training system 300 in which a PLC simulation file is used to simulate the PLC 130. In the training system 300, the PLC simulation file 302 is pre-created for simulating the physical PLC 130 shown in FIG. 2 and is stored in the data storage library 210. Accordingly, the PLC simulator 304 for running the PLC simulation file 302 is deployed on the client device 120.
服务器110在从客户端设备120接收到针对应用122的请求后,从数据存储库210获取应用122、仿真模型212以及PLC仿真文件302,进而将其发送给从客户端设备120。After the server 110 receives the request for the application 122 from the client device 120, it obtains the application 122, the simulation model 212, and the PLC simulation file 302 from the data storage library 210, and then sends them to the slave client device 120.
在接收到应用122、仿真模型212以及PLC仿真文件302后,客户端设备120将仿真模型212加载到模型仿真器214中并且将PLC仿真文件302加载到PLC仿真器304中。After receiving the application 122, the simulation model 212, and the PLC simulation file 302, the client device 120 loads the simulation model 212 into the model simulator 214 and loads the PLC simulation file 302 into the PLC simulator 304.
用户150经由客户端设备120将编写的程序代码下载到PLC仿真器304中,通过由PLC仿真器304执行该程序代码以及由模型仿真器214运行仿真模型212来模拟对被控对象140的控制。The user 150 downloads the written program code to the PLC simulator 304 via the client device 120, and simulates the control of the controlled object 140 by executing the program code by the PLC simulator 304 and running the simulation model 212 by the model simulator 214.
在图2和图3的示例中,数据存储库210被示出为与服务器110通信耦合。虽然被图示为独立于服务器110,但是在其他实施例中,数据存储库210可以被部署在服务器110中,作为服务器110的一部分。In the example of FIGS. 2 and 3, the data repository 210 is shown as being communicatively coupled with the server 110. Although illustrated as being independent of the server 110, in other embodiments, the data repository 210 may be deployed in the server 110 as part of the server 110.
在一些实施例中,服务器110和数据存储库210可以被部署在云中。云可以是公共云或私有云,其被配置为集中管理和利用其中部署的软件和硬件资源,以用于为组织和/或个人提供诸如数据存储、共享、计算、分析等多种多样的功能和/或服务。云也可以被称为基于云的网络,其中的软件和/或硬件资源可以互连,并且还可以由外部设备和用户访问。In some embodiments, the server 110 and the data repository 210 may be deployed in the cloud. The cloud can be a public cloud or a private cloud, which is configured to centrally manage and utilize the software and hardware resources deployed in it to provide organizations and/or individuals with various functions such as data storage, sharing, computing, analysis, etc. And/or services. The cloud can also be referred to as a cloud-based network, in which software and/or hardware resources can be interconnected and can also be accessed by external devices and users.
在这样的实施例中,培训机构的各个分支机构可以共享服务器110和数据存储库210的资源,无需设置各自的本地服务器来维护应用以及相关联的仿真模型。培训机 构的管理者可以仅维护云端的数据存储库210,而无需逐个分支机构地更新分支机构的本地服务器上的应用和仿真模型,从而降低了维护成本。In such an embodiment, the various branches of the training institution can share the resources of the server 110 and the data storage library 210, without setting up respective local servers to maintain the application and the associated simulation model. The manager of the training organization can only maintain the data repository 210 in the cloud instead of updating the application and simulation model on the local server of the branch branch by branch, thereby reducing maintenance costs.
以下将参照图4来描述根据本公开的实施例的协助用户使用自动化系统的过程。图4示出了根据本公开的一些实施例的协助用户使用自动化系统的过程400的信令交互图。过程400涉及如图2和图3所示的客户端设备120、服务器110和数据存储库210。以下将结合图2和图3来详细描述过程400。应当理解,过程400还可以包括未示出的动作和/或可以省略所示出的动作。本公开的范围在此方面不受限制。Hereinafter, a process of assisting a user to use an automated system according to an embodiment of the present disclosure will be described with reference to FIG. 4. FIG. 4 shows a signaling interaction diagram of a process 400 of assisting a user to use an automated system according to some embodiments of the present disclosure. The process 400 involves the client device 120, the server 110, and the data repository 210 as shown in FIGS. 2 and 3. The process 400 will be described in detail below in conjunction with FIG. 2 and FIG. 3. It should be understood that process 400 may also include actions not shown and/or actions shown may be omitted. The scope of the present disclosure is not limited in this respect.
如图4所示,客户端设备120向服务器110发送(410)针对应用122的请求,应用122指导用户150在客户端设备120处编写能够由PLC执行、以模拟对被控对象的控制的程序代码。As shown in Figure 4, the client device 120 sends (410) a request for the application 122 to the server 110, and the application 122 instructs the user 150 to write a program at the client device 120 that can be executed by the PLC to simulate the control of the controlled object Code.
服务器110在接收到针对应用122的请求后,从与服务器110耦合的数据存储库210获取(420)应用122以及与应用122相关联的仿真模型212。仿真模型212用于对被控对象进行仿真。After the server 110 receives the request for the application 122, it obtains (420) the application 122 and the simulation model 212 associated with the application 122 from the data repository 210 coupled with the server 110. The simulation model 212 is used to simulate the controlled object.
服务器110向客户端设备120发送(430)应用122和仿真模型212。The server 110 sends (430) the application 122 and the simulation model 212 to the client device 120.
客户端设备120在接收到应用122以及与应用122相关联的仿真模型212后,通过使用户150编写的程序代码和仿真模型212被运行来模拟(440)对被控对象的控制。After the client device 120 receives the application 122 and the simulation model 212 associated with the application 122, the program code written by the user 150 and the simulation model 212 are executed to simulate (440) the control of the controlled object.
在一些实施例中,如果应用122和仿真模型212被更新,则服务器110可以从另一服务器获取更新后的应用以及更新后的仿真模型。进而,服务器110可以将更新后的应用以及更新后的仿真模型存储到数据存储库210中。In some embodiments, if the application 122 and the simulation model 212 are updated, the server 110 may obtain the updated application and the updated simulation model from another server. Furthermore, the server 110 may store the updated application and the updated simulation model in the data storage library 210.
在一些实施例中,客户端设备120可以向服务器110发送(450)与用户150对应用122的使用有关的第一使用信息。服务器110在接收到第一使用信息后,可以将第一使用信息存储(460)到数据存储库210中。第一使用信息的示例可以包括但是不限于:用户对应用的使用记录、用户所编写的程序代码的错误率、用户对应用的评价信息。用户对应用的评价信息的示例可以包括但是不限于与以下中的至少一项有关的信息:应用设置的是否合理、应用对用户是否有帮助。应当理解,这里给出的仅仅是使用信息的一些非限制示例,并且根据需要,使用信息和评价信息可以包含任何适当的内容。在数据存储库210中统一管理用户的信息,可以避免数据丢失,提高了数据安全性。In some embodiments, the client device 120 may send (450) the first usage information related to the use of the application 122 by the user 150 to the server 110. After the server 110 receives the first usage information, it can store (460) the first usage information in the data storage library 210. Examples of the first usage information may include, but are not limited to: the user's usage record of the application, the error rate of the program code written by the user, and the user's evaluation information of the application. Examples of the user's evaluation information on the application may include, but are not limited to, information related to at least one of the following: whether the application settings are reasonable and whether the application is helpful to the user. It should be understood that what is given here are only some non-limiting examples of usage information, and the usage information and evaluation information may contain any appropriate content as required. The unified management of user information in the data storage library 210 can avoid data loss and improve data security.
如前所述,在一些实施例中,培训系统200可以包括多个客户端设备120。在这样的实施例中,多个客户端设备120可以分别向服务器110发送与其用户对各自的应用的使用有关的使用信息。服务器110在接收到这些使用信息后,可以将这些使用信息分别存储到数据存储库210中。As previously mentioned, in some embodiments, the training system 200 may include multiple client devices 120. In such an embodiment, multiple client devices 120 may respectively send usage information related to their users' usage of their respective applications to the server 110. After the server 110 receives the usage information, it can store the usage information in the data storage library 210 respectively.
在一些实施例中,在用户150完成对应用122的使用后,服务器110可以从数据存储库210获取(470)多个用户各自的使用信息,并且基于这些使用信息来确定(480)要向用户150推荐的另一应用。在一些实施例中,任何已知的或者将来开发的大数据分析方法和算法可以与本公开的实施例结合使用,以确定要向用户推荐的另一应用。进而,服务器110向客户端设备120发送(490)所推荐的另一应用的信息。基于用户的使用信息和其他用户的使用信息来向用户推荐后续要使用的应用,可以帮助用户更快速地掌握自动化系统的使用。In some embodiments, after the user 150 finishes using the application 122, the server 110 may obtain (470) the respective usage information of the multiple users from the data repository 210, and determine (480) the user's usage information based on the usage information. Another application recommended by 150. In some embodiments, any known or future-developed big data analysis methods and algorithms can be used in combination with the embodiments of the present disclosure to determine another application to be recommended to the user. Furthermore, the server 110 transmits (490) information of the recommended another application to the client device 120. Based on the user's usage information and the usage information of other users, recommending the subsequent applications to the user can help the user more quickly grasp the use of the automation system.
图5示出了根据本公开的一些实施例的协助用户使用自动化系统的方法500的流程图。方法500例如可以由如图2或图3所示的服务器110来执行。应当理解,方法500还可以包括未示出的框和/或可以省略所示出的框。本公开的范围在此方面不受限制。FIG. 5 shows a flowchart of a method 500 for assisting a user in using an automated system according to some embodiments of the present disclosure. The method 500 may be executed by the server 110 as shown in FIG. 2 or FIG. 3, for example. It should be understood that the method 500 may also include unshown blocks and/or the shown blocks may be omitted. The scope of the present disclosure is not limited in this respect.
在框510处,在服务器处,从客户端设备接收针对应用的请求。该应用指导用户在客户端设备处编写能够由自动化系统中的可编程逻辑控制器执行、以模拟对自动化系统中的被控对象的控制的程序代码。At block 510, at the server, a request for the application is received from the client device. This application guides users to write program codes that can be executed by the programmable logic controller in the automation system to simulate the control of the controlled object in the automation system at the client device.
在框520处,响应于请求,从与服务器耦合的数据存储库获取应用以及与应用相关联的仿真模型。仿真模型用于对被控对象进行仿真。At block 520, in response to the request, an application and a simulation model associated with the application are obtained from a data repository coupled with the server. The simulation model is used to simulate the controlled object.
在框530处,向客户端设备发送应用和仿真模型。At block 530, the application and simulation model are sent to the client device.
在一些实施例中,方法500进一步包括:响应于应用和仿真模型被更新,从另一服务器获取更新后的应用以及更新后的仿真模型;以及将更新后的应用以及更新后的仿真模型存储到数据存储库中。In some embodiments, the method 500 further includes: in response to the application and the simulation model being updated, obtaining the updated application and the updated simulation model from another server; and storing the updated application and the updated simulation model to In the data repository.
在一些实施例中,方法500进一步包括:从客户端设备接收与用户对应用的使用有关的第一使用信息;以及将第一使用信息存储到数据存储库中。In some embodiments, the method 500 further includes: receiving first usage information related to the user's usage of the application from the client device; and storing the first usage information in a data storage library.
在一些实施例中,方法500进一步包括:从数据存储库获取第一使用信息以及第二使用信息,第二使用信息与另一用户对数据存储库中的应用的使用有关;基于第一使用信息以及第二使用信息,确定要向用户推荐的另一应用;以及向客户端设备发送 另一应用的信息。In some embodiments, the method 500 further includes: obtaining first usage information and second usage information from a data storage database, the second usage information being related to another user's usage of an application in the data storage database; based on the first usage information And the second usage information, determining another application to be recommended to the user; and sending the information of the other application to the client device.
在一些实施例中,向客户端设备发送应用和仿真模型包括:响应于可编程逻辑控制器由仿真文件仿真,向客户端设备发送应用、仿真模型以及仿真文件。In some embodiments, sending the application and the simulation model to the client device includes: in response to the programmable logic controller being simulated by the simulation file, sending the application, the simulation model, and the simulation file to the client device.
在一些实施例中,服务器和数据存储库被部署在云中。In some embodiments, the server and data repository are deployed in the cloud.
图6示出了根据本公开的一些实施例的协助用户使用自动化系统的方法600的流程图。方法600例如可以由如图2或图3所示的服务器110来执行。应当理解,方法600还可以包括未示出的框和/或可以省略所示出的框。本公开的范围在此方面不受限制。FIG. 6 shows a flowchart of a method 600 for assisting a user in using an automated system according to some embodiments of the present disclosure. The method 600 may be executed by the server 110 as shown in FIG. 2 or FIG. 3, for example. It should be understood that the method 600 may also include unshown blocks and/or may omit the shown blocks. The scope of the present disclosure is not limited in this respect.
在框610处,在客户端设备处,向服务器发送针对应用的请求。该应用指导用户在客户端设备处编写能够由自动化系统中的可编程逻辑控制器执行、以模拟对自动化系统中的被控对象的控制的程序代码。At block 610, at the client device, a request for the application is sent to the server. This application guides users to write program codes that can be executed by the programmable logic controller in the automation system to simulate the control of the controlled object in the automation system at the client device.
在框620处,从服务器接收应用以及与应用相关联的仿真模型,仿真模型用于对被控对象进行仿真。At block 620, an application and a simulation model associated with the application are received from the server, and the simulation model is used to simulate the controlled object.
在框630处,通过使程序代码和仿真模型被运行来模拟对被控对象的控制。At block 630, the control of the controlled object is simulated by running the program code and the simulation model.
在一些实施例中,方法600进一步包括:向服务器发送与用户对应用的使用有关的第一使用信息。In some embodiments, the method 600 further includes: sending first usage information related to the use of the application by the user to the server.
在一些实施例中,方法600进一步包括:从服务器接收向用户推荐的另一应用的信息,另一应用基于第一使用信息以及第二使用信息被确定,第二使用信息与另一用户对数据存储库中的应用的使用有关。In some embodiments, the method 600 further includes: receiving from the server information about another application recommended to the user, the other application is determined based on the first usage information and the second usage information, and the second usage information is related to the data of another user. Related to the use of the application in the repository.
在一些实施例中,使程序代码被运行包括:使程序代码由物理的可编程逻辑控制器运行,以及使程序代码由仿真的可编程逻辑控制器运行。In some embodiments, causing the program code to be executed includes: causing the program code to be executed by a physical programmable logic controller, and causing the program code to be executed by a simulated programmable logic controller.
在一些实施例中,从服务器接收应用以及与应用相关联的仿真模型包括:响应于可编程逻辑控制器由仿真文件仿真,从服务器接收应用、仿真模型以及仿真文件。In some embodiments, receiving the application and the simulation model associated with the application from the server includes receiving the application, the simulation model, and the simulation file from the server in response to the programmable logic controller being simulated by the simulation file.
应当理解,上文结合图2和图3描述的服务器110和客户端设备120所执行的操作和相关的特征同样适用于过程400、以及方法500和600,并且具有同样的效果,具体细节不再赘述。It should be understood that the operations and related features performed by the server 110 and the client device 120 described above in conjunction with FIG. 2 and FIG. 3 are also applicable to the process 400, and the methods 500 and 600, and have the same effect, and the specific details will not be omitted. Repeat.
图7示出了可以用来实施本公开的实施例的示例设备700的示意性框图。设备700可以用于实现图4的过程400、图5的方法500和/或图6的方法600。设备700可以被实现为以上描述的服务器110或客户端设备120。Figure 7 shows a schematic block diagram of an example device 700 that can be used to implement embodiments of the present disclosure. The device 700 may be used to implement the process 400 in FIG. 4, the method 500 in FIG. 5, and/or the method 600 in FIG. The device 700 may be implemented as the server 110 or the client device 120 described above.
如图所示,设备700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的计算机程序指令或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序指令,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。As shown in the figure, the device 700 includes a central processing unit (CPU) 701, which can be loaded according to computer program instructions stored in a read only memory (ROM) 702 or loaded from a storage unit 708 to a random access memory (RAM) 703. Program instructions to perform various appropriate actions and processing. In the RAM 703, various programs and data required for the operation of the device 700 can also be stored. The CPU 701, the ROM 702, and the RAM 703 are connected to each other through a bus 704. An input/output (I/O) interface 705 is also connected to the bus 704.
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。Multiple components in the device 700 are connected to the I/O interface 705, including: an input unit 706, such as a keyboard, a mouse, etc.; an output unit 707, such as various types of displays, speakers, etc.; and a storage unit 708, such as a magnetic disk, an optical disk, etc. ; And the communication unit 709, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 709 allows the device 700 to exchange information/data with other devices through a computer network such as the Internet and/or various telecommunication networks.
处理单元701执行上文所描述的各个方法和处理,例如过程400、方法500和/或方法600。例如,在某些实施例中,过程400、方法500和/或方法600可被实现为计算机软件程序或计算机程序产品,其被有形地包含于计算机可读介质,诸如非瞬态计算机可读介质(例如存储单元708)。在某些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由CPU 701执行时,可以执行上文描述的过程400、方法500和/或方法600的一个或多个步骤。备选地,在其他实施例中,CPU 701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行过程400、方法500和/或方法600。The processing unit 701 executes the various methods and processes described above, such as the process 400, the method 500, and/or the method 600. For example, in some embodiments, the process 400, the method 500, and/or the method 600 may be implemented as a computer software program or computer program product, which is tangibly contained in a computer-readable medium, such as a non-transitory computer-readable medium (For example, storage unit 708). In some embodiments, part or all of the computer program may be loaded and/or installed on the device 700 via the ROM 702 and/or the communication unit 709. When the computer program is loaded into the RAM 703 and executed by the CPU 701, one or more steps of the process 400, the method 500, and/or the method 600 described above can be executed. Alternatively, in other embodiments, the CPU 701 may be configured to execute the process 400, the method 500, and/or the method 600 in any other suitable manner (for example, by means of firmware).
本领域的技术人员应当理解,上述本公开的方法的各个步骤可以通过通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本公开不限制于任何特定的硬件和软件结合。例如,本公开的某些实施例还包括各个程序模块和/或集成电路模块,用于执行过程400、方法500和/或方法600的一个或多个步骤和/或本公开的其他实施例中描述的一个或多个其他步骤。这些程序模块可以被包括或被体现在一个设备中,诸如图7的设备700中。Those skilled in the art should understand that the various steps of the method of the present disclosure described above can be implemented by a general computing device, and they can be concentrated on a single computing device or distributed on a network composed of multiple computing devices. In particular, they can be implemented by program codes executable by a computing device, so that they can be stored in a storage device for execution by the computing device, or they can be made into individual integrated circuit modules, or multiple modules or The steps are implemented as a single integrated circuit module. In this way, the present disclosure is not limited to any specific hardware and software combination. For example, certain embodiments of the present disclosure further include various program modules and/or integrated circuit modules for executing one or more steps of the process 400, the method 500, and/or the method 600 and/or other embodiments of the present disclosure One or more other steps described. These program modules may be included or embodied in a device, such as the device 700 of FIG. 7.
应当理解,尽管在上文的详细描述中提及了设备的若干装置或子装置,但是这种 划分仅仅是示例性而非强制性的。实际上,根据本公开的实施例,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。It should be understood that although several devices or sub-devices of the device are mentioned in the above detailed description, this division is only exemplary and not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more devices described above may be embodied in one device. Conversely, the features and functions of one device described above can be further divided into multiple devices to be embodied.
以上所述仅为本公开的可选实施例,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本公开的保护范围之内。The above descriptions are only optional embodiments of the present disclosure and are not used to limit the present disclosure. For those skilled in the art, the present disclosure may have various modifications and changes. Any modification, equivalent replacement, improvement, etc., made within the spirit and principle of the present disclosure shall be included in the protection scope of the present disclosure.

Claims (24)

  1. 一种服务器(110),包括:A server (110), including:
    处理器(701);以及Processor (701); and
    与所述处理器(701)耦合的存储器(702,703),所述存储器(702,703)存储计算机程序,所述计算机程序在由所述处理器(701)执行时使所述服务器(110)执行动作,所述动作包括:A memory (702, 703) coupled with the processor (701), the memory (702, 703) stores a computer program, which when executed by the processor (701) causes the server (110 ) Perform actions, the actions include:
    从客户端设备(120)接收(510)针对应用(122)的请求,所述应用(122)指导用户(150)在所述客户端设备(120)处编写能够由可编程逻辑控制器执行、以模拟对被控对象(140)的控制的程序代码;A request for an application (122) is received (510) from a client device (120), and the application (122) instructs the user (150) to write at the client device (120) that can be executed by a programmable logic controller, Program code to simulate the control of the controlled object (140);
    响应于所述请求,从与所述服务器(110)耦合的数据存储库(210)获取(520)所述应用(122)以及与所述应用(122)相关联的仿真模型(212),所述仿真模型(212)用于对所述被控对象(140)进行仿真;以及In response to the request, the application (122) and the simulation model (212) associated with the application (122) are obtained (520) from the data repository (210) coupled with the server (110), so The simulation model (212) is used to simulate the controlled object (140); and
    向所述客户端设备(120)发送(530)所述应用(122)和所述仿真模型(212)。The application (122) and the simulation model (212) are sent (530) to the client device (120).
  2. 根据权利要求1所述的服务器(110),其中所述动作进一步包括:The server (110) according to claim 1, wherein the action further comprises:
    响应于所述应用(122)和所述仿真模型(212)被更新,从另一服务器获取更新后的所述应用以及更新后的所述仿真模型;以及In response to the application (122) and the simulation model (212) being updated, obtaining the updated application and the updated simulation model from another server; and
    将更新后的所述应用以及更新后的所述仿真模型存储到所述数据存储库(210)中。The updated application and the updated simulation model are stored in the data storage library (210).
  3. 根据权利要求1或2所述的服务器(110),其中所述动作进一步包括:The server (110) according to claim 1 or 2, wherein the action further comprises:
    从所述客户端设备(120)接收与所述用户(150)对所述应用(122)的使用有关的第一使用信息;以及Receiving from the client device (120) first usage information related to the use of the application (122) by the user (150); and
    将所述第一使用信息存储到所述数据存储库(210)中。The first usage information is stored in the data storage library (210).
  4. 根据权利要求3所述的服务器(110),其中所述动作进一步包括:The server (110) according to claim 3, wherein the action further comprises:
    从所述数据存储库(210)获取所述第一使用信息以及第二使用信息,所述第二使用信息与另一用户对所述数据存储库(210)中的应用的使用有关;Acquiring the first usage information and second usage information from the data storage library (210), where the second usage information is related to the use of the application in the data storage library (210) by another user;
    基于所述第一使用信息以及所述第二使用信息,确定要向所述用户(150)推荐的另一应用;以及Based on the first usage information and the second usage information, determine another application to be recommended to the user (150); and
    向所述客户端设备(120)发送所述另一应用的信息。The information of the other application is sent to the client device (120).
  5. 根据权利要求1至4中任一项所述的服务器(110),其中所述服务器(110)被使得通过以下来向所述客户端设备(120)发送所述应用(122)和所述仿真模型(212):The server (110) according to any one of claims 1 to 4, wherein the server (110) is caused to send the application (122) and the simulation to the client device (120) by Model (212):
    响应于所述可编程逻辑控制器由仿真文件(302)仿真,向所述客户端设备(120)发送所述应用(122)、所述仿真模型(212)以及所述仿真文件(302)。In response to the programmable logic controller being simulated by the simulation file (302), the application (122), the simulation model (212), and the simulation file (302) are sent to the client device (120).
  6. 根据权利要求1至5中任一项所述的服务器(110),其中所述服务器(110)和所述数据存储库(210)被部署在云中。The server (110) according to any one of claims 1 to 5, wherein the server (110) and the data repository (210) are deployed in the cloud.
  7. 一种客户端设备(120),包括:A client device (120), including:
    处理器(701);以及Processor (701); and
    与所述处理器(701)耦合的存储器(702,703),所述存储器(702,703)存储计算机程序,所述计算机程序在由所述处理器(701)执行时使所述客户端设备(120)执行动作,所述动作包括:A memory (702, 703) coupled with the processor (701), the memory (702, 703) stores a computer program, which when executed by the processor (701) causes the client device (120) Perform actions, the actions include:
    向服务器(110)发送(610)针对应用(122)的请求,所述应用(122)指导用户(150)在所述客户端设备(120)处编写能够由可编程逻辑控制器执行、以模拟对被控对象(140)的控制的程序代码;Send (610) a request for the application (122) to the server (110), and the application (122) instructs the user (150) to write at the client device (120) that can be executed by a programmable logic controller to simulate Program code for controlling the controlled object (140);
    从所述服务器(110)接收(620)所述应用(122)以及与所述应用(122)相关联的仿真模型(212),所述仿真模型(212)用于对所述被控对象(140)进行仿真;以及The application (122) and the simulation model (212) associated with the application (122) are received (620) from the server (110), and the simulation model (212) is used to compare the controlled object ( 140) Perform simulation; and
    通过使(630)所述程序代码和所述仿真模型(212)被运行来模拟对所述被控对象(140)的控制。The control of the controlled object (140) is simulated by running (630) the program code and the simulation model (212).
  8. 根据权利要求7所述的客户端设备(120),其中所述动作进一步包括:The client device (120) of claim 7, wherein the action further comprises:
    向所述服务器(110)发送与所述用户(150)对所述应用(122)的使用有关的第一使用信息。The first usage information related to the usage of the application (122) by the user (150) is sent to the server (110).
  9. 根据权利要求8所述的客户端设备(120),其中所述动作进一步包括:The client device (120) of claim 8, wherein the action further comprises:
    从所述服务器(110)接收向所述用户(150)推荐的另一应用的信息,所述另一应用基于所述第一使用信息以及第二使用信息被确定,所述第二使用信息与另一用户对数据存储库(210)中的应用的使用有关。The information of another application recommended to the user (150) is received from the server (110), the another application is determined based on the first usage information and the second usage information, and the second usage information is the same as Another user is related to the use of the application in the data repository (210).
  10. 根据权利要求7至9中任一项所述的客户端设备(120),其中所述客户端设备(120)被使得通过以下之一来使所述程序代码被运行:The client device (120) according to any one of claims 7 to 9, wherein the client device (120) is caused to cause the program code to be executed by one of the following:
    使所述程序代码由物理的可编程逻辑控制器(130)运行,以及Make the program code run by a physical programmable logic controller (130), and
    使所述程序代码由仿真的可编程逻辑控制器(304)运行。The program code is executed by the simulated programmable logic controller (304).
  11. 根据权利要求10所述的客户端设备(120),其中所述客户端设备(120)被使得通过以下来从所述服务器(110)接收所述应用(122)以及与所述应用(122)相关联的仿真模型(212):The client device (120) according to claim 10, wherein the client device (120) is caused to receive the application (122) from the server (110) and communicate with the application (122) by Associated simulation model (212):
    响应于所述可编程逻辑控制器由仿真文件(302)仿真,从所述服务器(110)接收所述应用(122)、所述仿真模型(212)以及所述仿真文件(302)。In response to the programmable logic controller being simulated by the simulation file (302), the application (122), the simulation model (212), and the simulation file (302) are received from the server (110).
  12. 一种协助用户(150)使用自动化系统的方法,包括:A method for assisting users (150) to use an automated system, including:
    在服务器(110)处,从客户端设备(120)接收针对应用(122)的请求,所述应用(122)指导所述用户(150)在所述客户端设备(120)处编写能够由所述自动化系统中的可编程逻辑控制器执行、以模拟对所述自动化系统中的被控对象(140)的控制的程序代码;At the server (110), a request for an application (122) is received from a client device (120), and the application (122) instructs the user (150) to compose that can be written by the client device (120). Program code executed by the programmable logic controller in the automation system to simulate the control of the controlled object (140) in the automation system;
    响应于所述请求,从与所述服务器(110)耦合的数据存储库(210)获取所述应用(122)以及与所述应用(122)相关联的仿真模型(212),所述仿真模型(212)用于对所述被控对象(140)进行仿真;以及In response to the request, obtain the application (122) and a simulation model (212) associated with the application (122) from a data repository (210) coupled with the server (110), the simulation model (212) is used to simulate the controlled object (140); and
    向所述客户端设备(120)发送所述应用(122)和所述仿真模型(212)。The application (122) and the simulation model (212) are sent to the client device (120).
  13. 根据权利要求12所述的方法,进一步包括:The method of claim 12, further comprising:
    响应于所述应用(122)和所述仿真模型(212)被更新,从另一服务器获取更新后的所述应用以及更新后的所述仿真模型;以及In response to the application (122) and the simulation model (212) being updated, obtaining the updated application and the updated simulation model from another server; and
    将更新后的所述应用以及更新后的所述仿真模型存储到所述数据存储库(210)中。The updated application and the updated simulation model are stored in the data storage library (210).
  14. 根据权利要求12或13所述的方法,进一步包括:The method according to claim 12 or 13, further comprising:
    从所述客户端设备(120)接收与所述用户(150)对所述应用(122)的使用有关的第一使用信息;以及Receiving from the client device (120) first usage information related to the use of the application (122) by the user (150); and
    将所述第一使用信息存储到所述数据存储库(210)中。The first usage information is stored in the data storage library (210).
  15. 根据权利要求14所述的方法,进一步包括:The method of claim 14, further comprising:
    从所述数据存储库(210)获取所述第一使用信息以及第二使用信息,所述第二使用信息与另一用户对所述数据存储库(210)中的应用的使用有关;Acquiring the first usage information and second usage information from the data storage library (210), where the second usage information is related to the use of the application in the data storage library (210) by another user;
    基于所述第一使用信息以及所述第二使用信息,确定要向所述用户(150)推荐的另一应用;以及Based on the first usage information and the second usage information, determine another application to be recommended to the user (150); and
    向所述客户端设备(120)发送所述另一应用的信息。The information of the other application is sent to the client device (120).
  16. 根据权利要求12至15中任一项所述的方法,其中向所述客户端设备(120)发送所述应用(122)和所述仿真模型(212)包括:The method according to any one of claims 12 to 15, wherein sending the application (122) and the simulation model (212) to the client device (120) comprises:
    响应于所述可编程逻辑控制器由仿真文件(302)仿真,向所述客户端设备(120)发送所述应用(122)、所述仿真模型(212)以及所述仿真文件(302)。In response to the programmable logic controller being simulated by the simulation file (302), the application (122), the simulation model (212), and the simulation file (302) are sent to the client device (120).
  17. 根据权利要求12至16中任一项所述的方法,其中所述服务器(110)和所述数据存储库(210)被部署在云中。The method according to any one of claims 12 to 16, wherein the server (110) and the data repository (210) are deployed in the cloud.
  18. 一种协助用户(150)使用自动化系统的方法,包括:A method for assisting users (150) in using an automated system, including:
    在客户端设备(120)处,向服务器(110)发送针对应用(122)的请求,所述应用(122)指导用户(150)在所述客户端设备(120)处编写能够由所述自动化系统中的可编程逻辑控制器执行、以模拟对所述自动化系统中的被控对象(140)的控制的程序代码;At the client device (120), a request for the application (122) is sent to the server (110), and the application (122) instructs the user (150) to write at the client device (120) that can be controlled by the automation Program code executed by the programmable logic controller in the system to simulate the control of the controlled object (140) in the automation system;
    从所述服务器(110)接收所述应用(122)以及与所述应用(122)相关联的仿真模型(212),所述仿真模型(212)用于对所述被控对象(140)进行仿真;以及The application (122) and the simulation model (212) associated with the application (122) are received from the server (110), and the simulation model (212) is used to perform the control on the controlled object (140). Simulation; and
    通过使所述程序代码和所述仿真模型(212)被运行来模拟对所述被控对象(140)的控制。The control of the controlled object (140) is simulated by running the program code and the simulation model (212).
  19. 根据权利要求18所述的方法,进一步包括:The method of claim 18, further comprising:
    向所述服务器(110)发送与所述用户(150)对所述应用(122)的使用有关的第一使用信息。The first usage information related to the usage of the application (122) by the user (150) is sent to the server (110).
  20. 根据权利要求19所述的方法,进一步包括:The method of claim 19, further comprising:
    从所述服务器(110)接收向所述用户(150)推荐的另一应用的信息,所述另一应用基于所述第一使用信息以及第二使用信息被确定,所述第二使用信息与另一用户对数据存储库(210)中的应用的使用有关。The information of another application recommended to the user (150) is received from the server (110), the another application is determined based on the first usage information and the second usage information, and the second usage information is the same as Another user is related to the use of the application in the data repository (210).
  21. 根据权利要求18至20中任一项所述的方法,其中使所述程序代码被运行包括:The method according to any one of claims 18 to 20, wherein causing the program code to be executed comprises:
    使所述程序代码由物理的可编程逻辑控制器(130)运行,以及Make the program code run by a physical programmable logic controller (130), and
    使所述程序代码由仿真的可编程逻辑控制器(304)运行。The program code is executed by the simulated programmable logic controller (304).
  22. 根据权利要求21所述的方法,其中从所述服务器(110)接收所述应用(122)以及与所述应用(122)相关联的仿真模型(212)包括:The method of claim 21, wherein receiving the application (122) and the simulation model (212) associated with the application (122) from the server (110) comprises:
    响应于所述可编程逻辑控制器由仿真文件(302)仿真,从所述服务器(110)接收所述应用(122)、所述仿真模型(212)以及所述仿真文件(302)。In response to the programmable logic controller being simulated by the simulation file (302), the application (122), the simulation model (212), and the simulation file (302) are received from the server (110).
  23. 一种计算机可读介质,其上存储有计算机程序,所述计算机程序在被执行时使至少一个处理器执行根据权利要求12至17中任一项所述的方法。A computer-readable medium having a computer program stored thereon, which when executed, causes at least one processor to execute the method according to any one of claims 12 to 17.
  24. 一种计算机可读介质,其上存储有计算机程序,所述计算机程序在被执行时使至少一个处理器执行根据权利要求18至22中任一项所述的方法。A computer-readable medium having a computer program stored thereon, which, when executed, causes at least one processor to execute the method according to any one of claims 18 to 22.
PCT/CN2019/089647 2019-05-31 2019-05-31 Device and method for assisting user in using automated system, and computer-readable medium WO2020237665A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/089647 WO2020237665A1 (en) 2019-05-31 2019-05-31 Device and method for assisting user in using automated system, and computer-readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/089647 WO2020237665A1 (en) 2019-05-31 2019-05-31 Device and method for assisting user in using automated system, and computer-readable medium

Publications (1)

Publication Number Publication Date
WO2020237665A1 true WO2020237665A1 (en) 2020-12-03

Family

ID=73552491

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/089647 WO2020237665A1 (en) 2019-05-31 2019-05-31 Device and method for assisting user in using automated system, and computer-readable medium

Country Status (1)

Country Link
WO (1) WO2020237665A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080316005A1 (en) * 2007-06-25 2008-12-25 Schneider Electric Industries Sas Communication by carrier current for centralized control centers
CN204537509U (en) * 2015-03-30 2015-08-05 徐州工业职业技术学院 PLC Simulation Experimental Platform
CN108305519A (en) * 2018-02-06 2018-07-20 广东省南方高级技工学校 A kind of PLC webpages simulation teaching system and its application method
CN108614516A (en) * 2018-06-20 2018-10-02 深圳市同立方科技有限公司 A kind of virtual PLC analogue system and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080316005A1 (en) * 2007-06-25 2008-12-25 Schneider Electric Industries Sas Communication by carrier current for centralized control centers
CN204537509U (en) * 2015-03-30 2015-08-05 徐州工业职业技术学院 PLC Simulation Experimental Platform
CN108305519A (en) * 2018-02-06 2018-07-20 广东省南方高级技工学校 A kind of PLC webpages simulation teaching system and its application method
CN108614516A (en) * 2018-06-20 2018-10-02 深圳市同立方科技有限公司 A kind of virtual PLC analogue system and method

Similar Documents

Publication Publication Date Title
US11172022B2 (en) Migrating cloud resources
AU2016264496B2 (en) Custom communication channels for application deployment
US10148757B2 (en) Migrating cloud resources
US10877876B2 (en) System and method for automated thin client contact center agent desktop testing
US9729623B2 (en) Specification-guided migration
US10891122B2 (en) Rolling upgrade of a distributed application
US20150261842A1 (en) Conformance specification and checking for hosting services
EP3884432A1 (en) Reinforcement learning model training through simulation
KR102158754B1 (en) Method and apparatus for operating on smart network interface card
US8375383B2 (en) Rolling upgrades in distributed applications
US20180349128A1 (en) Containerized upgrade in operating system level virtualization
US20170052884A1 (en) Generic test automation for restful web services applications
CN109597677A (en) Method and apparatus for handling information
US10146674B2 (en) Plugin-based software verification system
US20160378521A1 (en) Automated test optimization
US20150220404A1 (en) Undo configuration transactional compensation
US20140331205A1 (en) Program Testing Service
JP7185982B2 (en) Job management in data processing systems
US9501591B2 (en) Dynamically modifiable component model
WO2020237665A1 (en) Device and method for assisting user in using automated system, and computer-readable medium
JP2022507142A (en) Methods and systems for robotics application development
US9652260B2 (en) Scriptable hierarchical emulation engine
US20230315038A1 (en) Method and system for providing engineering of an industrial device in a cloud computing environment
US11474794B2 (en) Generating mock services based on log entries
CA2852597A1 (en) Method and system for input driven process flow management

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19931351

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19931351

Country of ref document: EP

Kind code of ref document: A1