Industrial control software usage evaluation methods, devices, systems, equipment and storage media
By receiving requests for practical questions from industrial control software and automatically judging questions using hardware resources or simulators, the problems of time-consuming and labor-intensive manual marking and the low applicability of the examination management system in the existing technology are solved, and efficient and unified judging standards and the versatility of the examination management system are achieved.
Patent Information
- Application Number
- CN202210187924.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-02-28
- Publication Date
- 2025-09-30
- Estimated Expiration
- 2042-02-28
AI Technical Summary
Existing industrial control software examinations have problems such as manual marking being time-consuming and labor-intensive, highly subjective, and the examination management system being poorly applicable and requiring a large amount of development work, which leads to inaccurate evaluation results.
By receiving evaluation requests for practical questions, allocating hardware resources to run the answer content, using hardware resources or simulators to obtain the running results, and automatically judging the questions based on the results, a unified evaluation standard is achieved.
It realizes the automatic judgment of industrial control software examinations, improves work efficiency and unified examination evaluation standards, and enhances the versatility and ease of use of the examination management system.
Smart Images

Figure CN114463147B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of industrial control technology, and in particular to an industrial control software usage evaluation method, device, system, equipment and storage medium. Background Art
[0002] Currently, many training systems for industrial control software and programming software are available in universities and some large companies. However, practical questions for these software are usually graded manually or evaluated by specially designed test management systems.
[0003] For example, programming exams like the C language exam are often manually graded. This involves an instructor reviewing each candidate's code on each computer and assigning a score. This method is time-consuming and labor-intensive. Furthermore, the instructor's grading is highly subjective, making it difficult to standardize the grading standards.
[0004] Taking the Office software computer-based exam as an example, a dedicated exam management system can often be designed specifically for the Office software's functionality. While this type of exam management system is highly targeted, it lacks applicability and requires significant development effort. Furthermore, the Office software used in the exam management system isn't genuine Office software. This discrepancy between the exam management system and the actual software system means the system's grading results can't objectively and accurately assess the content of practical questions. Summary of the Invention
[0005] In view of the above problems in the prior art, the embodiments of the present application provide a method, apparatus, system, device, and storage medium for evaluating the use of industrial control software, which can automatically judge practical questions, improve work efficiency, and unify evaluation standards. In the application scenario of examinations, the application of the embodiments of the present application can also improve the versatility and usability of the examination management system and improve examination efficiency.
[0006] To achieve the above objectives, the first aspect of the present application provides an industrial control software usage evaluation method, comprising:
[0007] receiving a request for evaluating at least one practical question, wherein the practical question is used to evaluate the operation of industrial control software;
[0008] When the industrial control software does not meet the simulation conditions, allocating hardware resources to the evaluation request according to a resource allocation policy, wherein the hardware resources are hardware resources corresponding to the running program of the industrial control software and shared by multiple evaluation requests;
[0009] Receiving answers to the practical questions;
[0010] Utilizing the hardware resources to run the answer content and obtain an operation result;
[0011] According to the running result, the judgment result of the practical question is obtained.
[0012] As a possible implementation of the first aspect, the method further includes:
[0013] When the industrial control software meets the simulation conditions, the running result of the answer content is obtained by using the simulator of the running program of the industrial control software.
[0014] As a possible implementation of the first aspect, using the hardware resources to run the answer content and obtain the running result includes: running each step of the answer content and obtaining the running result corresponding to each step;
[0015] According to the operation results, the judgment results of the practical questions are obtained, including: matching the operation results corresponding to the various steps with the pre-set judgment criteria of the practical questions; according to the matching results, obtaining the judgment results of the various steps of the answer content; accumulating the judgment results of the various steps to obtain the judgment result of the practical questions.
[0016] As a possible implementation of the first aspect, the method further includes:
[0017] The timer starts after you start answering the practical questions;
[0018] If the evaluation request is not received within the first preset time range from the start of timing, a result of evaluating the practical question as unanswered is given.
[0019] As a possible implementation of the first aspect, receiving the answer to the practical question further includes:
[0020] Starting the timing after the hardware resource is allocated to the evaluation request;
[0021] If the answer content is not received within the second preset time range from the start of timing, the answer content of the practical question is forcibly obtained.
[0022] As a possible implementation of the first aspect, after the hardware resources are allocated to the evaluation request, the method further includes:
[0023] obtaining a judgment result of the practical question within a third preset time range after the judgment request begins to occupy the hardware resources;
[0024] After obtaining the judgment result of the practical question, the hardware resources are released.
[0025] As a possible implementation of the first aspect, allocating hardware resources to the evaluation request according to a resource allocation policy includes:
[0026] Adding the evaluation request corresponding to the at least one practical question as the tail element of a preset hardware resource request queue to the hardware resource request queue; and
[0027] In a case where the hardware resource is not occupied, the hardware resource is allocated to the head element of the hardware resource request queue, and the head element is dequeued.
[0028] A second aspect of the present application provides an industrial control software usage evaluation device, comprising:
[0029] A first receiving unit is configured to receive a request for evaluating at least one practical question, wherein the practical question is used to evaluate the operation of industrial control software;
[0030] an allocation unit, configured to allocate hardware resources to the evaluation request according to a resource allocation policy if the industrial control software does not meet the simulation conditions, wherein the hardware resources are hardware resources corresponding to the running program of the industrial control software and shared by multiple evaluation requests;
[0031] A second receiving unit is used to receive the answer content of the practical question;
[0032] An operating unit, configured to operate the answer content using the hardware resources to obtain an operating result;
[0033] The judgment unit is used to obtain the judgment result of the practical question based on the operation result.
[0034] As a possible implementation of the second aspect, the apparatus further includes a simulation unit, wherein the simulation unit is configured to:
[0035] When the industrial control software meets the simulation conditions, the running result of the answer content is obtained by using the simulator of the running program of the industrial control software.
[0036] As a possible implementation of the second aspect, the running unit is configured to: run each step of the answer content to obtain a running result corresponding to each step;
[0037] The judgment unit is used to: match the running results corresponding to the various steps with the pre-set judging criteria of the practical question; obtain the judgment results of each step of the answer content based on the matching results; accumulate the judgment results of the various steps to obtain the judgment result of the practical question.
[0038] As a possible implementation of the second aspect, the question determination unit is further configured to:
[0039] The timer starts after you start answering the practical questions;
[0040] If the evaluation request is not received within the first preset time range from the start of timing, a result of evaluating the practical question as unanswered is given.
[0041] As a possible implementation manner of the second aspect, the second receiving unit is further configured to:
[0042] Starting the timing after the hardware resource is allocated to the evaluation request;
[0043] If the answer content is not received within the second preset time range from the start of timing, the answer content of the practical question is forcibly obtained.
[0044] As a possible implementation manner of the second aspect, the allocating unit is further configured to:
[0045] After the hardware resources are allocated to the evaluation request, the evaluation result of the practical question is obtained within a third preset time range when the evaluation request starts to occupy the hardware resources; after the evaluation result of the practical question is obtained, the hardware resources are released.
[0046] As a possible implementation manner of the second aspect, the allocating unit is further configured to:
[0047] Adding the evaluation request corresponding to the at least one practical question as the tail element of a preset hardware resource request queue to the hardware resource request queue; and
[0048] In a case where the hardware resource is not occupied, the hardware resource is allocated to the head element of the hardware resource request queue, and the head element is dequeued.
[0049] A third aspect of the present application provides an industrial control software usage evaluation system, comprising:
[0050] The non-real-time system is configured to receive a request for evaluating at least one practical operation question, the practical operation question being used to evaluate the operation of industrial control software; and, if the industrial control software does not meet simulation conditions, allocate hardware resources to the evaluation request according to a resource allocation policy, wherein the hardware resources are hardware resources corresponding to running programs of the industrial control software and shared by multiple evaluation requests;
[0051] The real-time system is used to use the hardware resources to run the answer content of the practical question and obtain the running result; and obtain the judgment result of the practical question based on the running result.
[0052] A fourth aspect of the present application provides a computing device, including:
[0053] Communication interface;
[0054] at least one processor connected to the communication interface; and
[0055] At least one memory is connected to the processor and stores program instructions, and when the program instructions are executed by the at least one processor, the at least one processor executes any one of the methods described in the first aspect above.
[0056] In a fifth aspect, the present application provides a computer-readable storage medium having program instructions stored thereon. When the program instructions are executed by a computer, the computer is caused to execute any of the methods described in the first aspect.
[0057] These and other aspects of the invention will be apparent from and elucidated with reference to the following description of the embodiment(s). BRIEF DESCRIPTION OF THE DRAWINGS
[0058] The following further illustrates the various features of the present invention and the relationships between the various features with reference to the accompanying drawings. The accompanying drawings are all exemplary, and some features are not shown in actual proportion. In addition, some drawings may omit features that are customary in the field to which this application relates and are not necessary for this application, or additional features that are not necessary for this application may be shown. The combination of the various features shown in the accompanying drawings is not intended to limit this application. In addition, throughout this specification, the same reference numerals refer to the same content. The specific description of the drawings is as follows:
[0059] Figure 1 A schematic diagram of an embodiment of the industrial control software usage evaluation method provided in an embodiment of the present application;
[0060] Figure 2 A schematic diagram of the examination management system architecture of an embodiment of the industrial control software usage evaluation method provided in an embodiment of the present application;
[0061] Figure 3 A flowchart of an embodiment of the industrial control software usage evaluation method provided in the present application;
[0062] Figure 4 A schematic diagram illustrating the time allocation for the examination of the industrial control software usage evaluation method provided in an embodiment of the present application;
[0063] Figure 5 A schematic diagram of an embodiment of an industrial control software usage evaluation system provided in an embodiment of the present application;
[0064] Figure 6A schematic diagram of an embodiment of an industrial control software usage evaluation device provided in an embodiment of the present application;
[0065] Figure 7 A schematic diagram of an embodiment of an industrial control software usage evaluation device provided in an embodiment of the present application;
[0066] Figure 8 A schematic diagram of a computing device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0067] The words "first, second, third, etc." or module A, module B, module C and other similar terms in the specification and claims are only used to distinguish similar objects and do not represent a specific ordering of the objects. It is understandable that the specific order or sequence can be interchanged where permitted so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.
[0068] In the following description, the numbers representing the steps, such as S110, S120, etc., do not necessarily mean that the steps must be executed in this manner. If permitted, the order of the steps can be interchanged or they can be executed simultaneously.
[0069] The term "comprising" as used in the specification and claims should not be construed as limiting to what is listed thereafter; it does not exclude other elements or steps. Thus, it should be interpreted as specifying the presence of the features, integers, steps, or components mentioned, but not excluding the presence or addition of one or more other features, integers, steps, or components, or groups thereof. Thus, the expression "a device comprising means A and B" should not be limited to a device consisting solely of components A and B.
[0070] References in this specification to "one embodiment" or "an embodiment" mean that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Therefore, appearances of the phrases "in one embodiment" or "in an embodiment" throughout this specification do not necessarily refer to the same embodiment, but may do so. Furthermore, in one or more embodiments, the particular features, structures, or characteristics may be combined in any suitable manner, as would be apparent to one of ordinary skill in the art from this disclosure.
[0071] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which this application belongs. In the event of any inconsistency, the meanings described in this specification or the meanings derived from the contents recorded in this specification shall prevail. In addition, the terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application. In order to accurately describe the technical content in this application and to accurately understand the present invention, the following explanations or definitions are given for the terms used in this specification before describing the specific embodiments:
[0072] 1) Queue: A queue is a special linear list. The special thing about it is that it only allows deletion operations at the front of the list, and insertion operations at the rear of the list. Like a stack, a queue is a linear list with restricted operations. The end where the insertion operation is performed is called the tail, and the end where the deletion operation is performed is called the head. When there are no elements in the queue, it is called an empty queue. The data elements of the queue are also called queue elements. Inserting a queue element into the queue is called enqueuing, and deleting a queue element from the queue is called dequeuing. Because the queue only allows insertion at one end and deletion at the other end, only the element that enters the queue first can be deleted from the queue first, so the queue is also called a first-in-first-out (FIFO) linear list.
[0073] 2) Programmable Logic Controller (PLC): A PLC is a digital computing and operating electronic system designed specifically for use in industrial environments. It uses a programmable memory to store instructions for performing logical operations, sequential control, timing, counting, and arithmetic operations. It controls various types of mechanical equipment or production processes through digital or analog input and output. A PLC is a digital computing controller with a microprocessor for automated control. Control instructions can be loaded into memory for storage and execution at any time. A PLC consists of a central processing unit (CPU), instruction and data memory, input / output interfaces, a power supply, and digital-to-analog conversion, among other functional units.
[0074] 3) Modbus: A serial communication protocol. Developed in 1979 by Modicon (now Schneider Electric) for communication with programmable logic controllers (PLCs), Modbus has become the industry standard for industrial communication protocols and is now a common method for connecting industrial electronic equipment.
[0075] 4) OLE for Process Control (OPC): OLE is an industry standard for process control. The OPC Foundation is the international organization that manages this standard. The OPC Foundation has a global reach and includes all major automation control systems, instrumentation, and process control system companies. OPC is based on Microsoft's OLE (now Active X), Component Object Model (COM), and Distributed Component Object Model (DCOM) technologies. OPC includes a complete set of standard interfaces, properties, and methods for process control and manufacturing automation systems.
[0076] 5) Transmission Control Protocol (TCP) is a connection-oriented, reliable, byte-stream-based transport layer communications protocol. TCP is designed to fit into a layered protocol hierarchy that supports multiple network applications. Pairs of processes in host computers connected to different but interconnected computer communications networks rely on TCP for reliable communications services. TCP assumes that it can obtain simple, potentially unreliable datagram services from lower-level protocols. In principle, TCP should be able to operate on a variety of communication systems, from hard-wired connections to packet-switched or circuit-switched networks.
[0077] The following first introduces the existing methods, and then introduces the technical solution of this application in detail.
[0078] Existing Technology 1: Taking a computer-based exam for C language as an example, practical questions for this type of software typically focus on assessing the correctness of practical operations through the return value of a result. Many universities offer basic computer science courses. While some institutions use computers for exams, the majority of exams use question-based and multiple-choice questions. Programming exams are often manually graded, with instructors reviewing each candidate's code on each computer and assigning a score.
[0079] The first prior art has the following drawbacks: manual marking is time-consuming and labor-intensive, and the instructor's marking is highly subjective, making it difficult to unify the marking standards.
[0080] Existing Technology 2: Taking computer-based exams for Office software as an example, practical questions for this type of software typically focus on assessing the correctness of practical operations through operational processes. A common approach is to design a dedicated exam management system specifically for Office software. These exam management systems have the following characteristics: they are highly targeted but not very applicable; they require a significant development effort; and, furthermore, the Office software used in the exam management system is not genuine Office software.
[0081] The second existing technology has the following drawbacks: poor applicability, high development workload, and discrepancies between the test management system and the actual software system, which means that the test management system's judgment results cannot provide an objective and accurate assessment of the answers to the practical questions.
[0082] Based on the technical problems existing in the above-mentioned prior art, the present application provides a method for evaluating the use of industrial control software. The embodiment of the present application uses hardware resources to run the answer content, obtain the running results, and then obtain the judgment results of the practical questions based on the running results. The method for evaluating the use of industrial control software in the embodiment of the present application can realize the automatic judgment of practical questions, which can solve the problems mentioned in the prior art one that the manual marking method is time-consuming and labor-intensive, the instructor's scoring is very subjective, and the scoring standards cannot be unified. In addition, the embodiment of the present application uses the hardware resources corresponding to the running program of the industrial control software to run the answer content and obtain the running results. In other words, compared with the prior art two, the embodiment of the present application uses a real software system to judge the answer content of the practical questions. Therefore, the embodiment of the present application can solve the technical problems of low applicability and large development workload mentioned in the prior art two, and can avoid the problem of inaccurate judgment results due to the deviation between the examination management system and the real software system.
[0083] Figure 1 This is a schematic diagram of an embodiment of the industrial control software usage evaluation method provided in the embodiment of the present application. Figure 1 As shown, the industrial control software usage evaluation method may include:
[0084] Step S110, receiving a request for evaluating at least one practical question, wherein the practical question is used to evaluate the operation of industrial control software;
[0085] Step S120, when the industrial control software does not meet the simulation conditions, allocating hardware resources to the evaluation request according to a resource allocation policy, wherein the hardware resources are hardware resources corresponding to the running program of the industrial control software and shared by multiple evaluation requests;
[0086] Step S130, receiving the answer content of the practical question;
[0087] Step S140, using the hardware resources to run the answer content and obtain an operation result;
[0088] Step S150: Obtain the judgment result of the practical question according to the operation result.
[0089] Taking the industrial control software computer-based test as an example, in the application scenarios of software tests or software application exercises, practical questions can be used to test whether the code or operation steps written by the candidates are correct. Taking the university examination management system as an example, universities may usually offer multiple courses, which will involve the assessment of the operation level of multiple application software. Therefore, the university examination management system needs to provide a function that can simultaneously assess the operation level of multiple software. For example, multiple software may include: C language, VB (Visual Basic) programming language, Office software, Hypertext Markup Language (HTML), and PLCs from various manufacturers. In addition, in the application scenarios of classroom teaching, after-school learning, and self-study, the assessment of the operation level of multiple application software may also be involved.
[0090] Taking the university's exam management system as an example, the software programs to be tested and the corresponding hardware resources can be pre-configured in the exam management system. During the exam, candidates can submit requests for practical exercises to the exam management system within a specified timeframe. In step S110, the exam management system may receive requests for practical exercises from multiple candidates.
[0091] In step S120, it is first determined whether the industrial control software to be assessed meets the simulation conditions. Specifically, it can be determined whether the industrial control software to be assessed supports simulation. If the industrial control software to be assessed supports simulation and supports access via a pre-set communication protocol, it can be determined that the industrial control software meets the simulation conditions. If the industrial control software to be assessed does not support simulation, or if the industrial control software supports simulation but does not support access via a pre-set communication protocol, it can be determined that the industrial control software does not meet the simulation conditions.
[0092] In one embodiment, the evaluation request for a practical question may include information about the software required for the assessment of the practical question. For example, if the practical question is a computer-based exam on T-BOX (Telematics BOX) programming software, the software required for the assessment of the practical question is T-BOX software. In another embodiment, the evaluation request for the practical question may include information about the exam subject, and the software required for the assessment can be identified based on the exam subject. For example, if the exam subject is C language programming, the software required for the assessment of the exam subject is C language. In yet another embodiment, the evaluation request for the practical question may include information about the question number, and the software required for the assessment can be identified based on the question number.
[0093] In step S120, if the industrial control software to be assessed does not meet the simulation conditions, the hardware resources corresponding to the running program of the industrial control software are allocated to the evaluation request. In subsequent steps, the hardware resources are used to evaluate the answers to the practical questions.
[0094] In the hardware configuration of the system, due to the high equipment cost of hardware resources, the number of hardware corresponding to the software required for the test and the number of hardware sets used for checking questions should be as few as possible and greater than or equal to 1. In an embodiment of the present application, a set of hardware resources can be shared by multiple evaluation requests. In other words, a set of hardware resources can be shared by multiple examinees. During the examination process, a set of hardware resources can support multiple examinees to perform examination evaluation at the same time. Alternatively, the number of hardware resources can be less than the number of examinees, and a few sets of hardware resources can support most examinees to perform examination evaluation at the same time. A reasonable allocation strategy can be set in advance to allocate hardware resources to the evaluation requests. For example, hardware resources can be allocated in a queuing manner.
[0095] After hardware resources are allocated to the evaluation request, feedback regarding the evaluation request can be sent to the examinee. After receiving the feedback, the examinee submits their answers to the practical questions to the exam management system. In step S130, the exam management system receives the examinee's submitted answers to the practical questions. In step S140, the exam management system uses the allocated hardware resources to run the examinee's submitted answers and obtains the results of the runs. In step S150, the exam management system obtains the results of the runs for the practical questions based on the results of the runs.
[0096] The embodiment of the present application can realize automatic judgment of practical questions, improve work efficiency and unify the judging standards. In the application scenario of examination, the application of the embodiment of the present application can also improve the versatility and usability of the examination management system and improve examination efficiency.
[0097] In one embodiment, the above method further comprises:
[0098] When the industrial control software meets the simulation conditions, the running result of the answer content is obtained by using the simulator of the running program of the industrial control software.
[0099] As mentioned above, if the industrial control software to be tested supports simulation and access via a pre-set communication protocol, it can be determined that the industrial control software meets the simulation conditions. Specifically, if the industrial control software to be tested has simulation capabilities and supports access via a communication protocol, it can be determined that the industrial control software meets the simulation conditions. If the industrial control software to be tested meets the simulation conditions, the test management system can utilize the simulator running the industrial control software to obtain the results of the answer content, and then use the results to determine the judgment results of the practical questions.
[0100] Figure 2 This is a schematic diagram of the examination management system architecture of an embodiment of the industrial control software usage evaluation method provided in this application. Figure 2 As shown, the examination management system of the embodiment of the present application may include a first server (i.e., a dedicated server for the examination system), a second server, and PLC hardware of each manufacturer. Among them, the dedicated server for the examination system includes the examination system. The examination system can be a software system installed in a non-real-time system. The second server includes a real-time system and a non-real-time system. Figure 2 In this example, a desktop operating system is used as the non-real-time system. The non-real-time system contains PLC management software corresponding to each manufacturer's PLC hardware. During the exam, candidates answer objective questions in the non-real-time system's browser and practical questions in the PLC management software. During the practical questions, candidates click the "Request Hardware Occupancy" button to submit a request for evaluation of the practical questions. After submitting the evaluation request, the system waits for hardware resources, namely the PLC hardware from each manufacturer, to be occupied. After the evaluation request has occupied the hardware resources, the program is downloaded and run. After the operation is completed, the candidate clicks the "Submit Practical Questions" button to submit their answers. At this point, the answers have been downloaded to the PLC hardware from each manufacturer. Simultaneously, clicking the "Submit Practical Questions" button triggers the exam system to send the question number and trigger time to the real-time system. Based on the question number, the real-time system interacts with the PLC hardware from each manufacturer to verify the candidate's answers and obtain the evaluation result. The PLC hardware from each manufacturer is independent hardware, allowing the candidate's answers to be run on independent hardware.
[0101] See also Figure 2 , the second server includes an underlying operating system. For example, the second server may adopt the Intewell underlying operating system. Intewell is based on the industrial Internet of Things and Cyber-Physical Systems (CPS) technology, carries big data and artificial intelligence, realizes the software definition of industrial processes, and achieves technological transcendence and overtaking in lanes under the guarantee of autonomous control and safe and reliable operation, and builds China's own industrial control system. The functions of the underlying operating system include allocating system resources such as the central processing unit (CPU) and memory. In an embodiment of the present application, a desktop operating system, a real-time system, and a soft gateway can be installed on the upper layer of the underlying operating system. In one implementation method, a real-time system can also be installed in a desktop operating system, and the real-time system can be used as software running on the desktop operating system.
[0102] See also Figure 2The function of the soft gateway in the second server is protocol conversion. The examination system and the real-time system exchange information after protocol conversion. In the absence of protocol conversion, the examination system and the real-time system can also exchange information directly. Various programming software can be run on the desktop operating system, such as Figure 2 The AB PLC programming software, Schneider programming software, BB PLC programming software, and T-BOX PLC programming software are shown in the figure. AB-PLC, BB PLC, and Schneider programming software are PLCs from AB, BB, and Schneider, respectively; T-BOX (Telematics BOX) is a telematics processor.
[0103] As mentioned above, practical questions are used to assess the level of application software operation. In one case, the software to be assessed meets the simulation conditions. Figure 2 Among them, AB PLC programming software and Schneider programming software are software that meet the simulation conditions, and the simulator in the software can be used to obtain the running results of the candidate's answers. In this case, the candidate does not need to submit a judgment request and can directly submit the answer content. In this case, after answering the entire set of test papers, the candidate can click "Submit the entire test paper" and determine which programming software corresponds to the practical questions in the test paper based on the question number information. The answer content of the practical questions can then be run on the simulator of the programming software. The real-time system verifies the candidate's answer content based on the question number and interacts with the simulator to obtain the judgment result, and then sends the judgment result to the examination system.
[0104] For example, if the question is testing Schneider programming software programming proficiency, when the examinee clicks "Submit Exam," the question number information indicates that the practical question in the exam is testing Schneider programming software programming proficiency. The examinee's answer is then sent to the Schneider programming software running on the desktop operating system. The examinee's answer is run in the Schneider programming software's simulator. After obtaining the run results of the examinee's answer, the Schneider programming software sends these results to the real-time system. Based on these results, the real-time system determines the judgment of the practical question. The real-time system then sends this judgment result to the software gateway, which returns it to the examination system. Alternatively, the real-time system can directly return the judgment result to the examination system.
[0105] For example, if the question is about an AB PLC programming proficiency test, when the candidate clicks "Submit Exam," the question number information indicates that the practical questions in the exam paper are about the AB PLC programming software programming proficiency test. The candidate's answers are then sent to the AB PLC programming software running on the desktop operating system. The candidate's answers are then run in the simulator within the AB PLC programming software. The real-time system verification process is similar to the example of the Schneider programming software programming proficiency test above and will not be repeated here. The real-time system, soft gateway, and various programming software interact using Modbus TCP, the real-time data access specification (OPC DA), and the input / output service (IO Server).
[0106] In another case, the software to be tested does not meet the simulation conditions. Figure 2 BB PLC Programming Software and T-BOX PLC Programming Software do not meet the simulation requirements. However, the hardware resources corresponding to the software's running program can be used to obtain the running results of the candidate's answers. In this case, the candidate needs to submit a review request and the answer content.
[0107] For example, this question tests BB PLC programming proficiency. The examinee clicks the "Apply for Hardware" button in the browser, submitting a practical question evaluation request. This request is then sent to the examination system. The examination system allocates the corresponding hardware resources, specifically the BB PLC hardware, to the evaluation request. In subsequent steps, the BB PLC hardware will be used to execute the examinee's answer. Due to limited hardware resources, if multiple examinees submit evaluation requests, the examination system can queue these requests for hardware resource allocation based on the order in which they were submitted. After a request obtains hardware resources, the examination system provides feedback to the examinee. After receiving this feedback, the examinee downloads and runs the program. After completing the operation, they click the "Submit Practical Question" button to submit their answer. The answer is now downloaded to the BB PLC hardware. Clicking the "Submit Practical Question" button also triggers the examination system to send the question number and trigger time to the real-time system. The real-time system then determines the evaluation criteria for the question based on the question number. The real-time system can run each step of the candidate's answer on the BB PLC hardware and obtain the corresponding execution results for each step. After obtaining the execution results for each step, the BB PLC hardware then sends the execution results to the real-time system via the I / O hardware device. The real-time system then determines the judgment results for each step based on the question number and the execution results corresponding to each step. These judgment results are then accumulated to form the judgment results for the practical question. During the judgment process for each step of the answer, the real-time system can run the program code corresponding to the candidate's answer on the BB PLC hardware using certain input information. The result is then determined based on the evaluation criteria to determine whether the execution result matches the expected result, thereby verifying the logical correctness of the candidate's answer and obtaining the judgment result for that step. The real-time system then sends the judgment results to the soft gateway, which returns them to the examination system. Alternatively, the real-time system can directly return the judgment results to the examination system. The real-time system and the I / O hardware device interact using Modbus TCP. BB PLC hardware and I / O hardware devices interact using hard-wired signals, that is, the transmitted information is converted into signals and transmitted in data lines to achieve information interaction.
[0108] For example, if the question is about T-BOX PLC programming, the evaluation request is sent to the examination system. The examination system allocates the corresponding hardware resources for the evaluation request, specifically the T-BOX PLC hardware. In subsequent steps, the T-BOX PLC hardware is used to execute the candidate's responses. For details on hardware resource allocation, the interaction between standalone hardware and the real-time system, the evaluation of the real-time system, and the interaction between the real-time system and the examination system, refer to the description of the BB PLC hardware example above and will not be repeated here.
[0109] See also Figure 2 , an exemplary examination management system is constructed as follows:
[0110] 1) Set up multiple systems on a second server. The multiple systems include real-time systems and non-real-time systems. In one approach, a desktop system can be used as a non-real-time system, for example Figure 2 A desktop operating system in a real-time system can be used; a software-based PLC can be used as a real-time system, referred to as a soft PLC. Alternatively, the real-time system and non-real-time system can be installed on two physical machines, with the PLC or microcontroller replacing the real-time system and a regular PC or server replacing the non-real-time system.
[0111] 2) Non-real-time systems run various PLC, microcontroller and other programming software.
[0112] 3) Real-time systems are used to verify the logic of programs running in software used for programming various PLCs, microcontrollers, etc. running on non-real-time systems.
[0113] 4) Select the programming logic verification method based on whether the programming software running in the non-real-time system supports simulation. For software that supports simulation, logic verification can be performed through the communication protocol between the soft PLC running in the real-time system and the program in the simulator. The above communication protocols may include Modbus, OPC, S7, etc. For software that does not support simulation or supports simulation but does not support communication protocol access, hardware interaction verification logic can be used. For example Figure 2 Logic verification is performed using PLC hardware from various manufacturers.
[0114] 5) After receiving the submission instruction from the examination system, the soft PLC running in the real-time system will conduct multi-step verification on the answers. It can give points step by step or directly give the correct or incorrect result. Figure 3 shown.
[0115] 6) When the industrial control software being tested does not support simulation or supports simulation but does not support communication protocols and uses hardware interaction to verify questions, due to the high cost of equipment, the hardware corresponding to the software being tested and the number of hardware sets used for verification should be as few as possible and greater than or equal to 1. Among them, the number of hardware is mainly affected by the number of candidates and the test time. When objective questions and practical questions are taken in the same test session, let the number of candidates be n, the total test time be T, the time each candidate occupies the hardware be T1, and the number of hardware sets be P. The relationship between the above quantities should conform to the formula T>=nT1 / P, that is, P>=nT1 / T, and P is rounded up. The hardware used for the test and the hardware used for verification can use I / O interaction. Among them, the hardware used for the test is Figure 2 The independent hardware in the test is the hardware used for Figure 2 The underlying hardware of the real-time system in the exam management system. In addition, a set of real-time system software can be configured for each candidate in the exam management system. The DI / AI of the exam hardware corresponds to the DO / AO of the test-taking hardware, and vice versa.
[0116] Among them, the various codes in the PLC module are explained as follows:
[0117] DI in PLC module means: digital signal input module;
[0118] DO in PLC module means: digital signal output module;
[0119] AI in PLC module means: analog signal input module;
[0120] AO in the PLC module stands for: analog signal output module.
[0121] 7) When using hardware interactive question checking, since the number of hardware devices is less than the number of candidates taking the exam at the same time, a queuing mechanism is required to allocate hardware resources.
[0122] In one embodiment, using the hardware resources to run the answer content and obtain the running result includes: running each step of the answer content and obtaining the running result corresponding to each step;
[0123] According to the operation results, the judgment results of the practical questions are obtained, including: matching the operation results corresponding to the various steps with the pre-set judgment criteria of the practical questions; according to the matching results, obtaining the judgment results of the various steps of the answer content; accumulating the judgment results of the various steps to obtain the judgment result of the practical questions.
[0124] See also Figure 2In the real-time system, the running results of the examinee's answers are matched with the pre-set evaluation criteria for the practical questions; and then the judgment results of the practical questions are obtained based on the matching results.
[0125] Figure 3 This is a flowchart of an embodiment of the industrial control software usage evaluation method provided in this application. Figure 3 As shown, when the test question is submitted, the grading process starts and the question number is given. The corresponding simulation program is selected according to the question number, and the candidate's answer is simulated and executed using a software simulator or hardware interaction. The running result of the above simulation execution is used as a given input and input into the real-time system. The real-time system matches the running result with the correct answer and obtains a delayed comparison return value. For the single-step judgment of a single step in the test practice, true is returned if the answer is correct, and false is returned if the judgment times out. After the single-step judgment is completed, it is determined whether all the practical steps of the question have been verified. If not all are verified, multiple loop comparisons are continued until all steps are verified, and the results are accumulated and the score is given. Alternatively, the scores can be given separately by step.
[0126] In one embodiment, the above method further comprises:
[0127] The timer starts after you start answering the practical questions;
[0128] If the evaluation request is not received within the first preset time range from the start of timing, a result of evaluating the practical question as unanswered is given.
[0129] For example, t1 represents the first preset time, i.e., the time for answering the practical questions. It can be stipulated that the practical questions must be answered within t1 after the start of the exam, and the evaluation request for the practical questions must be submitted within t1. If the examinee does not submit the evaluation request for the practical questions within t1, the real-time system will give the result that the practical questions are not answered and no score is given. For more information on the time allocation in the exam management system, please refer to Figure 4 shown.
[0130] In one embodiment, receiving the answer to the practical question further includes:
[0131] Starting the timing after the hardware resource is allocated to the evaluation request;
[0132] If the answer content is not received within the second preset time range from the start of timing, the answer content of the practical question is forcibly obtained.
[0133] For example, t2 represents the second preset time, that is, the hardware time, that is, the time for occupying the hardware resources of the independent hardware to run the answer content. After the examinee submits the evaluation request for the practical question, the examination system allocates the hardware resources of the independent hardware to the evaluation request, sends feedback information to the examinee and starts timing. It can be stipulated that the answer content of the practical question should be submitted within the t2 time range after receiving the feedback information. If the answer content is not received within the t2 time when the timing starts, the system can forcibly obtain the answer content of the practical question. For examination time allocation in the examination management system, please refer to Figure 4 shown.
[0134] In one embodiment, after allocating the hardware resources to the evaluation request, the method further includes:
[0135] obtaining a judgment result of the practical question within a third preset time range after the judgment request begins to occupy the hardware resources;
[0136] After obtaining the judgment result of the practical question, the hardware resources are released.
[0137] For example, t3 represents the time for submitting and checking the practical questions. The third preset time is the sum of t2 and t3. Hardware resources include hardware for examination and hardware for checking questions. Occupying the hardware for examination during t2 means occupying independent hardware to run the answer content. Occupying the hardware for checking questions during t3 means that the underlying hardware of the real-time system is used to check questions and obtain the judgment results. At the same time, during t3, the hardware for checking questions needs to exchange information with the hardware for examination. The above hardware resources can be released after obtaining the judgment results of the practical questions. For examination time allocation in the examination management system, please refer to Figure 4 shown.
[0138] In one embodiment, allocating hardware resources to the evaluation request according to a resource allocation policy includes:
[0139] Adding the evaluation request corresponding to the at least one practical question as the tail element of a preset hardware resource request queue to the hardware resource request queue; and
[0140] In a case where the hardware resource is not occupied, the hardware resource is allocated to the head element of the hardware resource request queue, and the head element is dequeued.
[0141] The resource allocation strategy adopted in the embodiments of this application may include: when multiple candidates submit judgment requests within a relatively concentrated time range, the hardware resources are allocated in a queuing and waiting manner. In the examination system, a hardware resource request queue can be preset in advance, and the hardware resource request queue is used to manage the allocation of hardware resources, so that all judgment requests can be allocated hardware resources according to the order of request time.
[0142] Figure 4 It is a schematic diagram of the examination time allocation for the industrial control software usage evaluation method provided by the embodiments of this application. As Figure 4 shown, the time allocation for an exemplary hands-on operation question examination that requires hardware interaction for question verification is as follows:
[0143] 1) Since the number of hardware devices is less than the number of candidates, it is impossible for all candidates to use hardware resources simultaneously, and they can only use hardware resources in a queue. To make the time allocation more reasonable, it can be stipulated that all candidates answer the hands-on operation questions first at the beginning. In this embodiment, it is assumed that there is only one set of hardware resources available in the examination management system.
[0144] 2) In the examination system, when the industrial control software to be examined does not meet the simulation conditions, buttons such as "Apply to Occupy Hardware", "Submit the Hands-on Operation Question", and "Submit the Whole Paper" are set for each candidate machine. After the candidate completes the programming of the hands-on operation question, they can click the "Apply to Occupy Hardware" button to submit a judgment request to the server to apply for the use of hardware resources and operate according to the prompt information after receiving the relevant feedback information. The prompt information may include: how many people are still waiting, please use the hardware, etc. In another case, in an examination using simulation software when the industrial control software to be examined does not meet the simulation conditions, only the "Submit the Whole Paper" button is required, and the "Apply to Occupy Hardware" and "Submit the Hands-on Operation Question" buttons are not required. Comparing these two cases, when using hardware resources to run the answer content, since there is only one set of hardware resources, a single overall submission button cannot implement the examination grading function.
[0145] 3) It can be stipulated that all candidates answer the hands-on operation questions within the time t1 at the beginning of the examination. Let the total examination time be T, the time for answering the hands-on operation questions be t1, and the time for occupying the hardware be t2. Among them, T, t1, and t2 can be set on the instructor machine. Let the time for verifying the hands-on operation questions be t3, and the number of candidates be N. The relationship between the above-mentioned various quantities conforms to the logic t2*N + t3*N + t1 < T, that is, the total time for N candidates to occupy each hardware and the time for answering the hands-on operation questions cannot exceed the total examination time T. [[ID=14) When a candidate clicks the "Apply for Hardware" button, they submit a request for a practical test to the server. Candidates must click the "Apply for Hardware" button within t1, or they will not receive a score. The system server will record each candidate's hardware application and implement queue management.
[0147] 5) After the candidate receives the "Please use hardware" response regarding their hardware usage request, the system begins counting down. At this point, the hardware resources have been successfully allocated to the candidate's scoring request. After the countdown begins, the candidate downloads and runs the program. After completing these steps, click "Submit Practical Questions." If the candidate does not click "Submit Practical Questions" when the countdown reaches t2, the system will forcibly retrieve the practical questions and score them.
[0148] 6) After the system has finished grading the practical questions for the examinee, it may prompt the examinee, "The practical questions have been answered. Please cancel the PLC program online (otherwise the score will be invalid) and complete the remaining questions." In the above process, hardware resources are released by "canceling the PLC program online."
[0149] 7) The "Submit Practical Exercises" button triggers the grading of the exam by the candidate currently occupying the hardware. At this point, the candidate is grading the practical exercises. After the grading results are received, the relevant score information stored in the instructor's computer database is sent to the candidate currently occupying the hardware.
[0150] 8) Queuing mechanism: During the time for answering practical questions, the first candidate who applies to occupy the hardware can start occupying the hardware immediately. For candidates who do not apply to occupy the hardware, the result of the question is no score. If the first candidate finishes the practical questions and hands in the paper, the time for answering the practical questions has not ended, and there are no new candidates who continue to apply, the hardware will be in an unoccupied state until a new candidate continues to apply. When the hardware is occupied, if a new candidate applies to occupy the hardware resources, queue management will be carried out, and the number of people waiting in line will be recorded, and the queues will be arranged according to the order of application. During the time the hardware is occupied, candidates can also answer practical questions and objective questions. The practical questions must be checked after the hardware time is occupied, that is, the practical questions must be checked after the time of occupying the independent hardware to run the program, not at any time.
[0151] 9) The instructor's computer has a manual confirmation function. When a candidate requests hardware usage, the instructor can confirm offline with the candidate and then confirm in the exam system. At this point, the hardware usage timer starts for the candidate who has received the confirmation.
[0152] That is to say, in the above process, the candidate first applies for hardware usage, and the timing starts after the instructor confirms it. The candidate must download and run the relevant program and submit the answers to the practical questions within the t2 time when the timing starts.
[0153] Finally, the examination system returns the question number to the PLC, submits the trigger instruction, and continues to execute the following Figure 3 During the test, candidates can click "Submit" after answering each question.
[0154] In summary, the practical test system for industrial control software implemented using the embodiments of the present application has the following advantages:
[0155] 1) High versatility. Industrial control software is diverse, with hundreds or even thousands of companies worldwide producing it. This embodiment of the present application can implement a system that can be used for testing various industrial control software.
[0156] 2) Low cost. Development workload and hardware equipment are the main system costs. Applying the embodiments of the present application can reduce the workload and reduce equipment costs.
[0157] 3) It is practical and maneuverable, with low maintenance cost.
[0158] The embodiments of the present application can achieve the following technical effects:
[0159] 1) Automatically score practical and programming questions;
[0160] 2) Improve examination efficiency;
[0161] 3) Reduce instructor workload;
[0162] 4) Unify the scoring criteria;
[0163] 5) More intuitively reflect students’ learning levels and teachers’ teaching achievements;
[0164] 6) Reduce the complexity of the examination system;
[0165] 7) Improve the versatility and usability of the examination system;
[0166] 8) Reduce cheating in exams. For example, the exam system can compare the answers of candidates to avoid cheating by submitting duplicate papers.
[0167] Figure 5 This is a schematic diagram of an embodiment of the industrial control software usage evaluation system provided in the embodiment of the present application. Figure 5 As shown, the industrial control software usage evaluation system may include:
[0168] The non-real-time system is configured to receive a request for evaluating at least one practical operation question, the practical operation question being used to evaluate the operation of industrial control software; and, if the industrial control software does not meet simulation conditions, allocate hardware resources to the evaluation request according to a resource allocation policy, wherein the hardware resources are hardware resources corresponding to running programs of the industrial control software and shared by multiple evaluation requests;
[0169] The real-time system is used to use the hardware resources to run the answer content of the practical question and obtain the running result; and obtain the judgment result of the practical question based on the running result.
[0170] See also Figures 1 to 5 The industrial control software usage evaluation system provided in the embodiment of the present application may include a real-time system and a non-real-time system. Specifically, Figure 2 The system architecture design of the examination management system shown in the figure realizes the industrial control software usage evaluation system provided in the embodiment of the present application. Figure 2 In the example, the examination system in the first server can be a software system installed in a non-real-time system. The second server includes a real-time system and a non-real-time system. The second server can use a desktop operating system as a non-real-time system. The non-real-time system is installed with PLC management software corresponding to the PLC hardware of each manufacturer, such as Figure 2 The T-BOX PLC programming software and BB PLC programming software in the PLC management software. During the examination, candidates answer practical questions in the PLC management software. The answers to the practical questions can be received through the PLC management software. The candidate clicks the "Apply to Occupy Hardware" button, which submits the evaluation request for the practical question, and then sends the evaluation request to the examination system. The examination system allocates corresponding hardware resources for the evaluation request. After submitting the evaluation request, the candidate waits for the hardware resources to be occupied, and the hardware resources are the PLC hardware of each manufacturer. After the evaluation request occupies the hardware resources, the candidate downloads and runs the program. After the operation is completed, click the "Submit Practical Questions" button to submit the candidate's answers. At this time, the answers have been downloaded to the PLC hardware of each manufacturer. The real-time system interacts with the PLC hardware of each manufacturer to verify the candidate's answers and obtain the evaluation results.
[0171] Regarding the information interaction and coordination process, beneficial effects, or technical problems solved between the real-time system and the non-real-time system in the industrial control software usage evaluation system, please refer to the corresponding description in the above-mentioned industrial control software usage evaluation method, or refer to the description in the invention content, and will not be repeated here.
[0172] like Figure 6 As shown, the present application also provides a corresponding embodiment of an industrial control software usage evaluation device. Regarding the beneficial effects or technical problems solved by the device, please refer to the description in the methods corresponding to each device, or refer to the description in the content of the invention, which will not be repeated here.
[0173] In an embodiment of the industrial control software usage evaluation device, the device includes:
[0174] A first receiving unit 510 is configured to receive a request for evaluating at least one practical question, wherein the practical question is used to evaluate the operation of industrial control software;
[0175] an allocating unit 520 configured to allocate hardware resources to the evaluation request according to a resource allocation policy if the industrial control software does not meet the simulation conditions, wherein the hardware resources are hardware resources corresponding to the running program of the industrial control software and shared by multiple evaluation requests;
[0176] The second receiving unit 530 is used to receive the answer content of the practical question;
[0177] An operating unit 540 is configured to operate the answer content using the hardware resources to obtain an operating result;
[0178] The judgment unit 550 is used to obtain the judgment result of the practical question according to the operation result.
[0179] like Figure 7 As shown, in one embodiment, the above device further includes a simulation unit 610, and the simulation unit 610 is used to:
[0180] When the industrial control software meets the simulation conditions, the running result of the answer content is obtained by using the simulator of the running program of the industrial control software.
[0181] In one embodiment, the running unit is configured to: run each step of the answer content to obtain the running results corresponding to each step;
[0182] The judgment unit 550 is used to: match the operation results corresponding to the various steps with the pre-set judgment criteria of the practical question; obtain the judgment results of each step of the answer content based on the matching results; accumulate the judgment results of the various steps to obtain the judgment result of the practical question.
[0183] In one embodiment, the question determination unit 550 is further configured to:
[0184] The timer starts after you start answering the practical questions;
[0185] If the evaluation request is not received within the first preset time range from the start of timing, a result of evaluating the practical question as unanswered is given.
[0186] In one embodiment, the second receiving unit 530 is further configured to:
[0187] Starting the timing after the hardware resource is allocated to the evaluation request;
[0188] If the answer content is not received within the second preset time range from the start of timing, the answer content of the practical question is forcibly obtained.
[0189] In one embodiment, the allocating unit 520 is further configured to:
[0190] After the hardware resources are allocated to the evaluation request, the evaluation result of the practical question is obtained within a third preset time range when the evaluation request starts to occupy the hardware resources; after the evaluation result of the practical question is obtained, the hardware resources are released.
[0191] In one embodiment, the allocating unit 520 is further configured to:
[0192] Adding the evaluation request corresponding to the at least one practical question as the tail element of a preset hardware resource request queue to the hardware resource request queue; and
[0193] In a case where the hardware resource is not occupied, the hardware resource is allocated to the head element of the hardware resource request queue, and the head element is dequeued.
[0194] Figure 8 9 is a schematic structural diagram of a computing device 900 provided in an embodiment of the present application. The computing device 900 includes: a processor 910, a memory 920, and a communication interface 930.
[0195] It should be understood that Figure 8 The communication interface 930 in the computing device 900 shown in FIG. 9 may be used to communicate with other devices.
[0196] The processor 910 may be connected to a memory 920. The memory 920 may be used to store the program code and data. Therefore, the memory 920 may be a storage unit within the processor 910, an external storage unit independent of the processor 910, or a component including both a storage unit within the processor 910 and an external storage unit independent of the processor 910.
[0197] Optionally, the computing device 900 may further include a bus. The memory 920 and the communication interface 930 may be connected to the processor 910 via the bus. The bus may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. The bus may be divided into an address bus, a data bus, a control bus, and the like.
[0198] It should be understood that in the embodiment of the present application, the processor 910 can adopt a central processing unit (CPU). The processor can also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc. Alternatively, the processor 910 adopts one or more integrated circuits to execute relevant programs to implement the technical solutions provided in the embodiments of the present application.
[0199] The memory 920 may include a read-only memory and a random access memory, and provides instructions and data to the processor 910. A portion of the processor 910 may also include a non-volatile random access memory. For example, the processor 910 may also store information about the device type.
[0200] When the computing device 900 is running, the processor 910 executes the computer-executable instructions in the memory 920 to perform the operating steps of the above method.
[0201] It should be understood that the computing device 900 according to the embodiment of the present application can correspond to the corresponding subject in executing the method according to each embodiment of the present application, and the above-mentioned and other operations and / or functions of each module in the computing device 900 are respectively for implementing the corresponding processes of each method of the present embodiment. For the sake of brevity, they will not be repeated here.
[0202] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0203] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0204] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0205] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0206] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0207] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0208] An embodiment of the present application also provides a computer-readable storage medium having a computer program stored thereon. When the program is executed by a processor, it is used to execute a method for generating diversified questions, which includes at least one of the solutions described in the above embodiments.
[0209] The computer storage medium of the embodiment of the present application can adopt any combination of one or more computer-readable media.Computer-readable media can be computer-readable signal media or computer-readable storage media.Computer-readable storage media can be, for example, but not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or components, or any combination thereof.More specific examples (non-exhaustive list) of computer-readable storage media include: electrical connection with one or more wires, portable computer disks, hard disks, random access memories (RAM), read-only memories (ROM), erasable programmable read-only memories (EPROM or flash memory), optical fibers, portable compact disk read-only memories (CD-ROMs), optical storage devices, magnetic storage devices, or any suitable combination thereof.In this document, computer-readable storage media can be any tangible medium containing or storing a program, which can be used by an instruction execution system, device or device or used in combination with it.
[0210] A computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries computer-readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport a program for use by or in conjunction with an instruction execution system, apparatus, or device.
[0211] Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
[0212] The computer program code for performing the operations of the present application can be written in one or more programming languages, or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, C++, and conventional procedural programming languages such as "C" or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (e.g., through the Internet using an Internet service provider).
[0213] Note that the above are only preferred embodiments of the present application and the technical principles used. Those skilled in the art will understand that the present invention is not limited to the specific embodiments described herein, and that various obvious changes, readjustments, and substitutions can be made by those skilled in the art without departing from the scope of protection of the present invention. Therefore, although the present application has been described in more detail through the above embodiments, the present invention is not limited to the above embodiments, and may include many other equivalent embodiments without departing from the concept of the present invention, all of which fall within the scope of protection of the present invention.
Claims
1. A method for evaluating the use of industrial control software, characterized in that: Executed on an examination management system, the examination management system includes: a first server, a second server, and manufacturer PLC hardware, the first server including an examination system for interacting with examinees, the second server including a real-time system and a non-real-time system, the non-real-time system including various PLC management software, the manufacturer PLC hardware including PLCs of several manufacturers and several I / O hardware, and several soft PLCs deployed on the real-time system; The method comprises: The non-real-time system receives a request for evaluating at least one practical question, wherein the practical question is used to evaluate the operation of the industrial control software; When the industrial control software does not meet the simulation conditions, the non-real-time system allocates hardware resources to the evaluation request according to the resource allocation strategy, wherein the hardware resources are hardware resources corresponding to the running program of the industrial control software and shared by multiple evaluation requests; the hardware resources are requested from the manufacturer's PLC hardware; The real-time system receives the answer content of the practical question when the industrial control software does not meet the simulation conditions; The real-time system uses the hardware resources to run the answer content when the industrial control software does not meet the simulation conditions to obtain an operation result; When the industrial control software meets the simulation conditions, the real-time system obtains the running result of the answer content by using the simulator of the running program of the industrial control software and the corresponding soft PLC; The real-time system obtains the judgment result of the practical question based on the operation result.
2. The method according to claim 1, characterized in that Utilizing the hardware resources to run the answer content and obtain an operation result, including: running each step of the answer content and obtaining an operation result corresponding to each step; According to the operation results, the judgment results of the practical questions are obtained, including: matching the operation results corresponding to the various steps with the pre-set judgment criteria of the practical questions; according to the matching results, obtaining the judgment results of the various steps of the answer content; accumulating the judgment results of the various steps to obtain the judgment result of the practical questions.
3. The method according to any one of claims 1 to 2, characterized in that The method further comprises: The timer starts after you start answering the practical questions; If the evaluation request is not received within the first preset time range from the start of timing, a result of evaluating the practical question as unanswered is given.
4. The method according to any one of claims 1 to 2, characterized in that Receiving the answers to the practical questions also includes: Starting the timing after the hardware resource is allocated to the evaluation request; If the answer content is not received within the second preset time range from the start of timing, the answer content of the practical question is forcibly obtained.
5. The method according to any one of claims 1 to 2, characterized in that After the hardware resources are allocated to the evaluation request, the method further includes: obtaining a judgment result of the practical question within a third preset time range after the judgment request begins to occupy the hardware resources; After obtaining the judgment result of the practical question, the hardware resources are released.
6. The method according to claim 5, characterized in that Allocating hardware resources to the evaluation request according to a resource allocation policy includes: Adding the evaluation request corresponding to the at least one practical question as the tail element of a preset hardware resource request queue to the hardware resource request queue; and In a case where the hardware resource is not occupied, the hardware resource is allocated to the head element of the hardware resource request queue, and the head element is dequeued.
7. An industrial control software usage evaluation device, characterized in that: Deployed on an examination management system, the examination management system includes: a first server, a second server, and manufacturer's PLC hardware. The first server includes an examination system for interacting with examinees. The second server includes a real-time system and a non-real-time system. The non-real-time system includes PLC management software. Several soft PLCs are deployed on the real-time system. The device comprises: A first receiving unit, located in the non-real-time system, is configured to receive a request for evaluating at least one practical question, wherein the practical question is used to evaluate the operation of the industrial control software; an allocation unit, located in the non-real-time system, configured to allocate hardware resources to the evaluation request according to a resource allocation strategy if the industrial control software does not meet the simulation conditions, wherein the hardware resources are hardware resources corresponding to the running program of the industrial control software and shared by multiple evaluation requests; the hardware resources are requested from the manufacturer's PLC hardware; A second receiving unit, located in the non-real-time system, is used to receive the answer content of the practical question; an operating unit, located in the real-time system, configured to operate the answer content using the hardware resources to obtain an operating result when the industrial control software does not meet the simulation conditions; and further configured to operate the answer content using the simulator of the operating program of the industrial control software and the corresponding soft PLC when the industrial control software meets the simulation conditions; The judgment unit is located in the real-time system and is used to obtain the judgment result of the practical question based on the operation result.
8. A computing device, characterized in that include: Communication interface; at least one processor connected to the communication interface; as well as At least one memory is connected to the processor and stores program instructions, and when the program instructions are executed by the at least one processor, the at least one processor executes the method according to any one of claims 1 to 6.
9. A computer-readable storage medium having program instructions stored thereon, characterized in that: When the program instructions are executed by a computer, the computer is caused to perform the method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Examination system and actual practice examination question setting and judging method
CN104200711A
Distributed practical training cloud system and method based on cloud computing
CN108418889A