Determination method and device of mechanical lifting point network, equipment, storage medium and product
The mechanical lifting point network topology of the stage CNC hoist is determined by sending packet instructions and receiving updated data packets, which solves the problem of poor control effect in the existing technology and realizes clear network display and convenient controller management.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- GUANGZHOU CAIYI TECHNOLOGY CO LTD
- Filing Date
- 2026-01-16
- Publication Date
- 2026-04-14
AI Technical Summary
In the control system of CNC hoists on stage, the lack of understanding of the network topology of mechanical lifting points leads to poor stage control, and the existing connection methods suffer from slow communication speed or limited connection points.
By sending packet instructions to the controllers of each topology chain in the mechanical lifting point network, the controllers send the first data packet and receive the updated second data packet sent by the chain head controller. Based on the data packets, the controller sequence number and topology chain are determined, thus displaying the topology structure of the mechanical lifting point network.
It achieves clear visualization of the mechanical hoisting point network, supports the connection of a large number of controllers, improves the stage control effect, eliminates the rigid requirements on the physical connection position of the controllers, and makes it easier for users to control the hoists.
Smart Images

Figure CN121864844A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of mechanical control technology, and in particular to a method, apparatus, equipment, storage medium, and product for determining a network of mechanical lifting points. Background Technology
[0002] A stage CNC hoist is a specialized hanging device used in stage performances. Its network connection to the mechanical control console (hereinafter referred to as the console) can take many forms, each with its own advantages and disadvantages. The most common topologies are star topology and daisy-chain topology (or chain topology). Star topology offers fast communication but suffers from limited connection points, unclear physical connections, and inflexible CNC hanging point replacement. Chain topology supports a large number of connection points with clear physical connections but is slower in terms of communication speed. Regardless of the connection method, the CNC hoist and its controller are connected one-to-one by cables. The CNC hoist does not participate in direct communication; communication is handled by the controller. Controllers are connected to each other via network cables.
[0003] In related technologies, the control system includes a console and multiple controllers. However, due to the lack of understanding of the mechanical suspension point network topology of the control system, the stage control effect is poor. Summary of the Invention
[0004] Therefore, it is necessary to provide a method, apparatus, device, storage medium, and product for determining a mechanical lifting point network that can determine and display the topology of the mechanical lifting point network, in order to address the above-mentioned technical problems.
[0005] In a first aspect, this application provides a method for determining a mechanical lifting point network, the mechanical lifting point network including a console and multiple controllers, the method being applied to the console; the method includes:
[0006] Send packet instructions to the controllers of each topology chain of the mechanical lifting point network; each topology chain includes multiple controllers connected in series, and the packet instructions are used to instruct each controller to send a first data packet, the first data packet including the identifier and count value of the controller;
[0007] Receive a second data packet sent by the head controller of each of the topology chains; wherein the second data packet includes a first data packet updated by the controller on the topology chain;
[0008] Based on the second data packet, the first sequence number of each controller and the topology chain in which each controller is located are determined, and the topology structure of the mechanical lifting point network is displayed on the display interface.
[0009] In one embodiment, determining the first sequence number of each controller and the topology chain in which each controller belongs based on the second data packet, and displaying the topology of the mechanical lifting point network on the display interface, includes:
[0010] The first sequence number of the controller corresponding to the first data packet in its respective topology chain is determined based on the count value in the second data packet; the first identifier in the second data packet is determined as the identifier of the controller corresponding to the first data packet; based on the first sequence number of all controllers corresponding to the first data packets and the identifier of the controller, the topology chain of each controller is determined; based on the first sequence number, the identifier of the controller and the topology chain of each controller, the topology structure of the mechanical suspension point network is displayed on the display interface.
[0011] In one embodiment, the count value in the second data packet includes a group packet count value, a pass count value, and a sub-packet count value; determining the first sequence number of the controller corresponding to the first data packet in the topology chain based on the count value in the second data packet includes: determining the first sequence number of the controller corresponding to the first data packet in the topology chain based on the sum of the group packet count value, the pass count value, and the sub-packet count value in the second data packet.
[0012] In one embodiment, the count value includes a pass count value; determining the topology chain of each controller based on the first sequence number of the controller corresponding to all the first data packets and the identifier of the controller includes: for each controller whose first sequence number and identifier are determined, sending a silence instruction to the corresponding controller according to the identifier; wherein the silence instruction is used to instruct the controller to enter a silence mode, in which the controller stops sending its own first data packets and adds a first preset value to the pass count value of the first data packets passing through it before sending; when all the controllers have entered the silence mode, sending the packet sending instruction to each controller; sending a transparency instruction to a target controller whose first sequence number is a second preset value; wherein the transparency instruction is used to instruct the target controller to enter a transparency mode, in which the target controller performs a forwarding operation on the first data packets passing through it; receiving a new second data packet sent by the head controller of each topology chain; determining the second sequence number and identifier of each controller according to the new second data packet; and determining the topology chain of each controller based on the identifier, the first sequence number, and the second sequence number.
[0013] In one embodiment, determining the topology chain of each controller based on the identifier, the first sequence number, and the second sequence number includes: determining the first sequence number and the second sequence number corresponding to the same identifier, and determining that the controller corresponding to the identifier is in the same topology chain as the target controller if the second sequence number is less than the first sequence number; sending the silence instruction to each controller in the topology chain of the target controller; sending the transparency instruction to the next target controller whose first sequence number is a second preset value, and returning to the step of receiving the new second data packet sent by the chain head controller of each topology chain, so as to determine the controller in the same topology chain as the next target controller, until the controllers in the same topology chain as the target controllers whose first sequence numbers are the second preset values are obtained.
[0014] In one embodiment, the method further includes: after sending a silence instruction to the corresponding controller according to the identifier, determining the time difference between the current time point and the time point of the last reception of the second data packet; if the time difference is greater than a preset silence time threshold, determining that all the controllers have entered the silence mode.
[0015] Secondly, this application also provides a method for determining a mechanical lifting point network, the mechanical lifting point network including a control console and multiple controllers, the method being applied to a first controller of each topology link of the mechanical lifting point network, each topology link including multiple controllers connected in series; the method includes:
[0016] Receive packet sending instructions sent by the console;
[0017] Send the second data packet according to the packet sending instruction;
[0018] The second data packet is a first data packet generated by the first controller itself based on the packet sending instruction, or the second data packet includes a data packet that updates the first data packet sent by the received second controller, and the first data packet includes the identifier and count value of the corresponding controller.
[0019] In one embodiment, the count value includes a pass count value and a packet assembly count value. Sending the second data packet according to the packet sending instruction includes: upon receiving a first data packet sent by a second controller, determining whether the first controller has reached its packet sending cycle; if the first controller has reached its packet sending cycle, adding its own identifier to the end of the first data packet, increasing the packet assembly count value in the first data packet by a first preset value to obtain the second data packet, and sending the second data packet; if the first controller has not reached its packet sending cycle, increasing the pass count value in the first data packet by the first preset value to obtain the second data packet, and sending the second data packet.
[0020] In one embodiment, the count value includes a packet assembly count, a throughput count, and a packet splitting count. Sending the second data packet according to the packet sending instruction includes: upon receiving a first data packet from a second controller, determining whether the first controller has reached its packet sending cycle; if the first controller has reached its packet sending cycle, determining whether packet assembly conditions are met; if the first controller has reached its packet sending cycle and meets the packet assembly conditions, adding its own identifier to the end of the first data packet, increasing the packet assembly count in the first data packet by a first preset value to obtain the second data packet, and sending the second data packet; if the first controller has reached its packet sending cycle but does not meet the packet assembly conditions, increasing the packet splitting count in the first data packet by a first preset value to obtain the second data packet, and sending the second data packet; if the first controller has not reached its packet sending cycle, increasing the throughput count in the first data packet by a first preset value to obtain the second data packet, and sending the second data packet.
[0021] In one embodiment, the count value includes a pass count value; sending the second data packet according to the packet sending instruction includes: receiving a silence instruction sent by the console during the data transmission process; upon receiving the first data packet sent by the second controller, stopping the transmission of its own first data packet according to the silence instruction, and increasing the pass count value in the first data packet by a first preset value to obtain the second data packet, and then sending the second data packet.
[0022] In one embodiment, sending the second data packet according to the packet sending instruction includes: receiving a transparent instruction sent by the console during the data transmission process; and sending the first data packet according to the transparent instruction upon receiving the first data packet sent by the second controller.
[0023] Thirdly, this application also provides a device for determining a mechanical lifting point network, the mechanical lifting point network including a console and multiple controllers, the device being applied to the console; the device includes:
[0024] A packet sending instruction module is used to send packet sending instructions to the controllers of each topology chain of the mechanical lifting point network; each topology chain includes multiple controllers connected in series, and the packet sending instruction is used to instruct each controller to send a first data packet, the first data packet including the identifier and count value of the controller;
[0025] A data packet receiving module is used to receive a second data packet sent by the head controller of each of the topology chains; wherein the second data packet includes a first data packet updated by the controller on the topology chain;
[0026] The determination module is used to determine the first sequence number of each controller and the topology chain in which each controller is located based on the second data packet, and to display the topology of the mechanical lifting point network on the display interface.
[0027] Fourthly, this application also provides a device for determining a mechanical lifting point network, the mechanical lifting point network including a control console and multiple controllers, the device being applied to a first controller of each topology link of the mechanical lifting point network, each topology link including multiple controllers connected in series; the device includes:
[0028] A packet sending instruction receiving module is used to receive packet sending instructions sent by the console;
[0029] The data packet sending module is used to send a second data packet according to the packet sending instruction;
[0030] The second data packet is a first data packet generated by the first controller itself based on the packet sending instruction, or the second data packet includes a data packet that updates the first data packet sent by the received second controller, and the first data packet includes the identifier and count value of the corresponding controller.
[0031] Fifthly, this application also provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement a method for determining a network of mechanical lifting points.
[0032] Sixthly, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements a method for determining a network of mechanical lifting points.
[0033] In a seventh aspect, this application also provides a computer program product, including a computer program that, when executed by a processor, implements a method for determining a network of mechanical suspension points.
[0034] The aforementioned method, apparatus, computer equipment, computer-readable storage medium, and computer program product for determining the mechanical hoisting point network send packet sending instructions to the controllers of each topology chain of the mechanical hoisting point network. Each topology chain includes multiple controllers connected in series. The packet sending instructions instruct each controller to send a first data packet, which includes the controller's identifier and count value. The system receives a second data packet sent by the head controller of each topology chain. The second data packet includes the first data packet updated by the controllers on its respective topology chain. Based on the second data packet, the system determines the first sequence number of each controller and the topology chain in which each controller is located, and displays the topology of the mechanical hoisting point network on a display interface. In this embodiment, the topology chain in which the controller is located and its first sequence number in the topology chain are determined based on the second data packet sent by the head controller, thus obtaining the connection method between the controller and the control console. The topology of the mechanical hoisting point network is displayed based on the connection method. By virtually mapping the physical connection position of the controller onto the software, the connection relationship can be intuitively presented to the user, facilitating user control of the hoist and greatly improving the convenience of stage CNC hoist control, thereby enhancing stage control performance. In addition, the embodiments of this application automatically determine the physical location, effectively eliminating the rigid requirements for the connection position of the controller in the field layout. There is no need to manually record the actual connection position of the controller and the upstream and downstream controllers. The controller can be replaced or the position of the controller can be adjusted at any time. There are no rigid requirements for the physical connection of the controller, which is easy to implement. Attached Figure Description
[0035] To more clearly illustrate the technical solutions in the embodiments of this application or related technologies, the drawings used in the description of the embodiments of this application or related technologies will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0036] Figure 1 This is an application environment diagram of the method for determining the mechanical lifting point network in one embodiment;
[0037] Figure 2 This is a schematic diagram of the physical connection between the CNC hoist and the control console in one embodiment;
[0038] Figure 3 This is a flowchart illustrating a method for determining a mechanical lifting point network applied to a console in one embodiment;
[0039] Figure 4This is a flowchart illustrating step 303 in one embodiment;
[0040] Figure 5 This is a flowchart illustrating step 403 in one embodiment;
[0041] Figure 6 This is a flowchart illustrating the method for determining the mechanical lifting point network in a specific example.
[0042] Figure 7 This is a flowchart illustrating a method for determining a mechanical lifting point network applied to a controller in one embodiment;
[0043] Figure 8 This is a flowchart illustrating the method for determining the mechanical lifting point network in another specific example;
[0044] Figure 9 This is a structural block diagram of a device for determining a network of mechanical lifting points applied to a console in one embodiment;
[0045] Figure 10 This is a structural block diagram of a device for determining the mechanical lifting point network applied to a controller in one embodiment;
[0046] Figure 11 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation
[0047] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0048] It should be noted that the terms "first," "second," etc., used in this application can be used to describe various elements, but these elements are not limited by these terms. These terms are only used to distinguish the first element from the second element. The terms "comprising" and "having," and any variations thereof, used in this application, are intended to cover non-exclusive inclusion. The term "multiple" used in this application refers to two or more. The term "and / or" used in this application refers to one of the embodiments, or any combination of multiple embodiments.
[0049] There are various ways to connect CNC hoists to the control console. Regardless of the method, if the connections between the CNC hoists and the control console are displayed haphazardly in the software, users cannot intuitively understand the connections between the mechanical lifting points. This can significantly hinder artistic design and on-site equipment management during performances, and may even lead to unpredictable safety accidents due to incorrect connections between CNC hoists on different links. Therefore, there is an urgent need for a method that can support the control of a large number of CNC hoists and clearly display the connections between hoists and between hoists and controllers, thereby ensuring the stage control system has excellent ease of use and reliability.
[0050] To address this, this application proposes a method for determining a mechanical hoisting point network. Based on data counting, the network topology of the mechanical hoisting points is visualized, which can support the control of a large number of CNC hoists and clearly show the connection relationships between hoists and between hoists and controllers, thereby improving the stage control effect.
[0051] The method for determining the mechanical lifting point network provided in this application embodiment can be applied to, for example... Figure 1 In the application environment shown, terminal 102 communicates with server 104 via a network. A data storage system can store the data that server 104 needs to process. The data storage system can be integrated onto server 104, or it can be located in the cloud or on other network servers. Terminal 102 can be, but is not limited to, various personal computers, laptops, smartphones, tablets, drones, low-altitude aircraft, IoT devices, and portable wearable devices. Server 104 can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud computing services.
[0052] like Figure 2 As shown, Figure 2 The physical connection topology between the CNC hoist and the control console is shown. The structure includes: control console 201, switch 203 and at least one topology chain 202, each topology chain 202 including multiple controllers connected in series, each controller being connected to the corresponding (CNC) hoist.
[0053] Controllers and Hoists: Hoists are connected to their corresponding controllers via appropriate connection cables. Hoists do not participate in direct communication; communication is handled by the controllers. Controllers are connected to each other via network cables. Multiple controllers are connected in series via network cables to form a topology chain. Controllers are responsible for sending, receiving, updating, and forwarding data. All data from a controller interacts with console 201 through the head controller (the controller closest to console 201, i.e., the first controller). After updating the specified count value in the data packets passing through its own system, the controller forwards the data packets to the upstream controller or console.
[0054] Switch 203: Switch 203 is responsible for forwarding data from the controller to console 201, or forwarding data from console 201 to the head controller in the topology chain 202.
[0055] Console 201: Console 201 determines the topology location of the source data sender based on the data packets sent by the chain head controller. Then, by controlling a specific controller in a certain topology chain to pause the update operation and only perform the forwarding operation, it determines which topology chain the corresponding controller is on. Through the above two steps, the specific location of the controller (the sequence number in the topology chain and the topology chain it belongs to) can be obtained. Finally, it is displayed in an orderly manner on the console's display interface for users to view and control.
[0056] use Figure 2 The chain-type topology shown supports a single console controlling a large number of hoists.
[0057] The purpose of this application's embodiments is to determine Figure 2 The network topology between physical devices is visualized. Before determining the network topology, it is first arranged according to... Figure 2 Set up the physical equipment connection environment to ensure that network commands from console 201 can reach all hoists. Then, confirm... Figure 2 The network topology is described below as an example of how to determine it.
[0058] In one exemplary embodiment, such as Figure 3 As shown, a method for determining a mechanical lifting point network is provided, which is applied to... Figure 2 Console 201 in the middle, deployed as console 201 in Figure 1 Taking the server in the example, the explanation includes the following steps 301 to 303. Wherein:
[0059] Step 301: Send a packet sending instruction to the controller of each topology link in the mechanical lifting point network; the packet sending instruction is used to instruct each controller to send a first data packet, which includes the controller's identifier and count value.
[0060] The mechanical suspension point network includes a control console and at least one topology chain, each topology chain including multiple controllers connected in series.
[0061] For example, console 201 sends a packet sending command cmd1 to all controllers, causing the controllers to enter scanning mode. Starting from the time the controller receives the packet sending command cmd1, within a first preset time period T2 from that time, the controller creates its own identification data packet and continuously sends its own identification data packet package1 to console 201 at first preset time intervals T1, where T2 > 2T1. Package1 contains the controller's identification and status information. The identification includes the MAC address and IP address, and the status information may include configuration parameters such as the hoist's upper and lower travel limits, hoist operating status parameters such as speed and operating mode, and monitoring parameters such as motor temperature and motor current. The purpose of the identification data packet package1 is to notify console 201 that the corresponding controller exists in the current environment. Package1 from controllers other than the chain leader reaches console 201 through their upstream controllers. The upstream controllers only forward package1 and do not modify it. Console 201 receives the data packet package1 and records the information of each controller, thus knowing the controllers present in the current environment. After scanning mode, console 201 obtains the information (identification and status information) of all controllers in the current environment. After the time period T2 from receiving the packet sending command cmd1 reaches, the controller exits the scanning mode, that is, it stops sending the identification data packet package1, and creates its own first data packet package2 based on the packet sending command cmd1. The first data packet package2 includes the controller's identifier and count value, and sets the count value in the packet to an initial value, such as 1 or 0, etc., and continuously sends the first data packet package2 at a second preset time interval (which can be the same as the first preset time interval T1), with the same sending path as package1. The identifier includes MAC address and IP address, and the count value includes any one of packet grouping count, throughput count, and packet splitting count. The first data packet package2 is updated by each controller in the topology chain to obtain the second data packet, and the second data packet is transmitted towards the console so that the console 201 receives the second data packet sent by the chain head controller.
[0062] In other words, during data packet transmission, taking the three consecutive controllers upstream and downstream as the downstream controller, first controller, and upstream controller in order of data transmission direction (from downstream to upstream) as an example, after receiving the first data packet sent by its adjacent downstream controller, the first controller updates the received first data packet and forwards it to the adjacent upstream controller (if the first controller is the chain head controller, it forwards it to the console), until the chain head controller updates the received (i.e., after passing through itself) first data packet to obtain the second data packet, and then sends the second data packet to the console 201. Optionally, the corresponding controller updates the count value in the received first data packet, or the count value and the identifier, to obtain the second data packet, and then sends the second data packet.
[0063] Step 302: Receive the second data packet sent by the chain head controller of each topology chain; wherein the second data packet includes the first data packet updated by the controller on the topology chain.
[0064] For example, console 201 receives data packets from all controllers through the chain head controller. These data packets include both the first data packet created and sent by the chain head controller according to the packet sending instruction, and the second data packet obtained by each controller (including the chain head controller) by updating the first data packet that has passed through it. For the latter, when the first data packet passes through the upstream controllers after its creation, each upstream controller updates the first data packet that has passed through it and then sends it to the upstream controller or console.
[0065] Step 303: Determine the first sequence number of each controller and the topology chain in which each controller is located based on the second data packet, and display the topology structure of the mechanical lifting point network on the display interface.
[0066] The first sequence number of the controller refers to the position number of the controller in its respective topology chain. For example, 1 indicates that the controller is the first one in its respective topology chain (i.e., the chain head controller), and 2 indicates that the controller is the second one in its respective topology chain.
[0067] For example, after receiving all second data packets, console 201 extracts the count value and identifier of the second data packets. Based on the extracted count value and identifier, it first determines the first sequence number and identifier of the source controller (source sender) of the second data packets. Since the count value in the second data packets represents the number of controllers the first data packets have passed through, the first sequence number of the source controller of the second data packets is specifically determined based on the count value in the second data packets. Then, based on the first sequence number and identifier, the controllers in the same topology chain are determined, thus obtaining the topology chain where each controller is located. Each topology chain is assigned a chain identifier or chain sequence number. After obtaining the topology chain where each controller is located and its first sequence number within that topology chain, the topology structure of the mechanical hoisting point network is determined and displayed on the display interface, realizing the visualization of the network topology structure. Based on this network topology structure, operators can control each hoist through the console.
[0068] For example, taking a mechanical suspension network including controllers A1, A2, A3, A4, A5, and A6 as an example, console 201 sends packet sending instructions to each controller in each topology chain 202. After receiving the packet sending instructions, the controller periodically generates and sends its own first data packet. The first data packet is updated by the controller in its respective topology chain 202 and then reaches the chain head controller. The chain head controller continues to update the received (i.e., passed through itself) first data packet to obtain a second data packet, and sends the second data packet to console 201. Each time console 201 receives a second data packet, it determines the first sequence number of the source controller, such as A1, in its respective topology chain based on the count value in the second data packet, and determines the identifier of A1 based on the identifier in the second data packet. Thus, the positions of A1, A2, A3, A4, A5, and A6 in the topology chain are obtained, for example, 1, 2, 3, 3, 2, and 1, respectively. Then, based on all the first sequence numbers and identifiers, it is determined that A1, A2, and A3 are in the same topological chain, and A4, A5, and A6 are in the same topological chain. These two topological chains are defined as the first and second topological chains, respectively. Thus, the topological chains containing A1, A2, A3, A4, A5, and A6, and their sequence numbers within those chains, are obtained: in the first topological chain, A1 is at the beginning, A3 at the end, and A2 in the middle; in the second topological chain, A6 is at the beginning, A4 at the end, and A5 in the middle. Based on this, the topology of the mechanical suspension point network is displayed on the interface.
[0069] In the above-mentioned method for determining the mechanical hoisting point network, a packet sending instruction is sent to the controller of each topology chain of the mechanical hoisting point network; each topology chain includes multiple controllers connected in series, and the packet sending instruction is used to instruct each controller to send a first data packet, which includes the controller's identifier and count value; a second data packet is received from the chain head controller of each topology chain; wherein, the second data packet includes the first data packet updated by the controller on the topology chain; the first sequence number of each controller and the topology chain in which each controller is located are determined according to the second data packet, and the topology structure of the mechanical hoisting point network is displayed on the display interface. This embodiment of the application determines the topology chain in which the controller is located and its first sequence number in the topology chain based on the second data packet sent by the chain head controller, thus obtaining the connection method between the controller and the control console, and displays the topology structure of the mechanical hoisting point network based on the connection method. By virtually mapping the physical connection position of the controller onto the software, the connection relationship can be intuitively presented to the user, facilitating user control of the hoist and greatly improving the convenience of stage CNC hoist control, thereby enhancing the stage control effect. In addition, the embodiments of this application automatically determine the physical location, effectively eliminating the rigid requirements for the connection position of the controller in the field layout. There is no need to manually record the actual connection position of the controller and the upstream and downstream controllers. The controller can be replaced or the position of the controller can be adjusted at any time. There are no rigid requirements for the physical connection of the controller, which is easy to implement.
[0070] In one exemplary embodiment, such as Figure 4 As shown, step 303 includes steps 401 to 404. Wherein:
[0071] Step 401: Determine the first sequence number of the controller corresponding to the first data packet in its topology chain based on the count value in the second data packet.
[0072] For example, since the second data packet includes the first data packet updated by the controller after receiving the first data packet, and the count value in the second data packet is used to characterize the number of controllers through which the first data packet corresponding to the second data packet passed, the controller can determine the first sequence number of the controller corresponding to the first data packet (i.e., the source controller of the second data packet) in the topology chain based on the count value in the second data packet. For example, if controller A1 generates and sends its own first data packet P1, and the first data packet P1 is updated to become the second data packet P2, since the first data packet P1 was generated and sent by controller A1, then A1 is the controller corresponding to the first data packet, that is, the source controller of the second data packet P1.
[0073] Step 402: The first identifier in the second data packet is determined as the identifier of the controller corresponding to the first data packet.
[0074] The first identifier in the second data packet is the identifier of the controller corresponding to the first data packet (that is, the source controller of the second data packet).
[0075] Optionally, when the controller receives a first data packet that passes through it (not its own first data packet), if it needs to update the identifier in the first data packet (that is, it needs to send and assemble packets), it can add its own identifier as a sub-packet to the end of the first data packet to ensure that the identifier of the controller corresponding to the first data packet is always located in the first sub-packet (including the identifier) of the second data packet.
[0076] For example, the first identifier, namely the MAC and IP address, is extracted from the second data packet, which is the identifier of the controller corresponding to the first data packet. For instance, if a first data packet P1 is updated to become a second data packet P2, the first identifier is extracted from P2 as the identifier of the controller corresponding to P1.
[0077] Step 403: Based on the first sequence number and identifier of the controller corresponding to all first data packets, determine the topology chain in which each controller is located.
[0078] For example, after obtaining the first sequence number and identifier of all controllers, a packet sending command is sent to each controller again, causing the controller to generate and send the first data packet, update the first data packet passing through itself, and forward it. One controller with a specific first sequence number is then controlled to enter transparent mode. In transparent mode, the controller only performs forwarding operations on the received first data packet, without modifying the first data packet, and the controller itself does not actively send any data packets. Then, steps 302 and 303 are executed to determine the second sequence number and identifier of each controller in the topology chain. Combining this with the first sequence number and identifier obtained in steps 401 and 402, other controllers on the same topology chain as the controller in transparent mode are identified. Controllers on the same topology chain are thus obtained, i.e., the topology chain in which the controllers reside, and a chain sequence number is assigned to each topology chain.
[0079] Step 404: Display the topology of the mechanical lifting point network on the display interface according to the first sequence number, the controller identifier, and the topology chain in which each controller is located.
[0080] For example, after obtaining the first sequence number, identifier, and chain number of the topology chain of the controller obtained in steps 401 to 403, the console connects each hoist, controller, and console in software to obtain the topology of the mechanical lifting point network and displays it on the display interface.
[0081] In this embodiment, the corresponding controller's sequence number and identifier in the topology chain are identified by the count value and identifier in the second data packet, and the topology chain of each controller is determined based on all the first sequence numbers and identifiers. This enables the identification of the controller's position and ensures accurate display of the topology chain of the mechanical lifting point network.
[0082] In an exemplary embodiment, the count values in both the first data packet and the second data packet include a packet grouping count value, a pass count value, and a packet splitting count value.
[0083] Upon receiving a packet sending command, the controller generates its own first data packet based on the command and sends it. The count values in the first data packet include an initial packet assembly count, a throughput count, and a fragmentation count, with initial values of 1, 0, and 0, respectively. After receiving the first data packet from a downstream second controller, a first controller determines whether it needs to send packets (whether the packet sending cycle has been reached). If so, it further determines whether the packet assembly requirements are met. If the first controller has reached the packet sending cycle and meets the packet assembly conditions, it appends its own identifier to the end of the first data packet, increments the packet assembly count in the first data packet by a first preset value, such as 1, to obtain a second data packet, and sends the second data packet. If the first controller has reached the packet sending cycle but does not meet the packet assembly conditions, it increments the fragmentation count in the first data packet by 1 to obtain a second data packet, and sends the second data packet. If the first controller has not reached the packet sending cycle, it increments the throughput count in the first data packet by 1 to obtain a second data packet, and sends the second data packet.
[0084] In this embodiment, step 401 may include: determining the first sequence number of the controller corresponding to the first data packet in the topology chain based on the packet count value in the second data packet and the sum of the count value and the sub-packet count value.
[0085] For example, console 201 extracts the packet count value from the second data packet, adds the count value and the sub-packet count value to obtain a sum, and uses this sum as the first sequence number of the controller corresponding to the first data packet in its respective topology chain. The calculation formula is:
[0086] in, This indicates the first sequence number of the controller in its respective topology chain. , and These represent the package count, sub-package count, and pass count, respectively.
[0087] Therefore, this embodiment obtains the sequence number of the corresponding controller in the topology chain by calculating the sum of each count value, thus ensuring the accuracy of the controller sequence number.
[0088] In one exemplary embodiment, the count value includes a count value. For example... Figure 5 As shown, step 403 includes steps 501 to 506, wherein:
[0089] Step 501: For each controller, determine its first sequence number and identifier, and send a silence command to the corresponding controller based on the identifier.
[0090] The silence command instructs the controller to enter silence mode. In silence mode, the controller stops sending its own first data packet and increments the pass count value of the received (i.e., the first data packet that has passed through its own transmission) by a first preset value before sending it. The first preset value can be 1.
[0091] For example, since the timing of each controller receiving the packet sending instruction may differ, and each controller starts timing from the moment it receives the instruction, generating its own first data packet at regular intervals and sending it towards the console, the count value of the first data packet is modified sequentially by each controller it passes through until it reaches the chain head controller. The chain head controller then modifies the count value of the second data packet and sends it to controller 201. Therefore, the timing of console 201 receiving each second data packet is not the same. Each time console 201 receives a second data packet, it parses it to extract the count value and the first identifier to determine the first sequence number and identifier of the controller corresponding to the first data packet (i.e., the source controller of the second data packet). Once console 201 determines the first sequence number and identifier of a controller, it sends a silence instruction cmd2 to the corresponding controller, causing it to enter silent mode and cease creating any data packets for itself. However, it will still increment the pass count value of the first data packet passing through its own controller before forwarding the second data packet.
[0092] Step 502: With all controllers in silent mode, send a packet sending command to each controller.
[0093] For example, when all controllers have entered silent mode, that is, when the first sequence number of all controllers in the topology chain has been determined, a packet sending command is issued to all controllers again, causing the controllers to exit silent mode, resume periodically and continuously sending their own first data packets, update the first data packets that have passed through them to obtain the second data packets, and send the second data packets to the console.
[0094] Step 503: Send a transparent command to a target controller whose first sequence number is the second preset value.
[0095] The transparent instruction is used to instruct the target controller to enter transparent mode. In transparent mode, the target controller only forwards the first data packet passing through it, without updating the first data packet, modifying the counter value, adding its own identifier, or actively sending its own first data packet. The second preset value can be 1, in which case the target controller is the chain head controller (the first controller).
[0096] For example, after sending packet sending instructions to each controller, a transparent instruction is randomly sent to a chain head controller with a first sequence number of 1, causing it to enter transparent mode.
[0097] Step 504: Receive new second data packets sent by the chain head controllers of each topology chain.
[0098] For example, after a chain head controller with a first sequence number of 1 enters the transparent mode, step 302 is executed again to receive new second data packets sent by each chain head controller.
[0099] Step 505: Determine the second sequence number and identifier of each controller based on the new second data packet.
[0100] For example, a count value and a first identifier are extracted from the new second data packet. The extracted packet count value and the sum of the count value and the sub-packet count value are used as the second sequence number of the controller corresponding to the first data packet in the topology chain, and the first identifier is used as the identifier of the controller.
[0101] Step 506: Determine the topology chain in which each controller is located based on the identifier, the first sequence number, and the second sequence number.
[0102] For example, each identifier corresponds to a first sequence number and a second sequence number. Based on the relationship between these two sequence numbers, the controllers that are on the same topology chain as the chain head controller that has entered transparent mode are determined. The second sequence number of all controllers on the same chain as the chain head controller that has entered transparent mode will be reduced by a first preset value, such as 1, from the corresponding first sequence number. Thus, it can be determined that all controllers whose sequence number is reduced by 1 are on the same topology chain as the chain head controller that has entered transparent mode, and a chain sequence number is assigned to that topology chain.
[0103] Therefore, this embodiment controls a specific controller to enter transparent mode, then determines the controller's sequence number and identifier in the topology chain to obtain the second sequence number and corresponding identifier. Combining the first sequence number and corresponding identifier, the topology chain in which the controller is located can be determined, thus ensuring the accuracy of the determination.
[0104] In an exemplary embodiment, step 506 includes: determining a first sequence number and a second sequence number corresponding to the same identifier, and if the second sequence number is less than the first sequence number, determining that the controller corresponding to the identifier is in the same topology chain as the target controller; sending a silence command to each controller in the topology chain where the target controller is located; sending a transparency command to the next target controller whose first sequence number is a second preset value, and returning to receive new second data packets sent by the head controllers of each topology chain, so as to determine the controller in the same topology chain as the next target controller, until the controllers in the same topology chain as each target controller whose first sequence number is a second preset value are obtained.
[0105] The second preset value can be 1, in which case the target controller is the chain head controller.
[0106] For example, after obtaining the controller's identifier and the second sequence number of the corresponding controller in the topology chain through step 505, the first sequence number and the identifier corresponding to the first sequence number are combined to determine the first and second sequence numbers corresponding to the same identifier. If the second sequence number is less than the first sequence number, for example, if the difference between the first and second sequence numbers is 1, it is determined that the controller corresponding to the identifier is in the same topology chain as the target controller, i.e., the chain head controller, and the chain sequence number of this topology chain is assigned as the first topology chain. Then, a silence command is sent to all controllers on the first topology chain according to the identifier, causing them to enter a silence mode (no longer generating and sending their own first data packets, but only incrementing the pass count value in the first data packets that pass through them before forwarding). After determining the chain sequence number of the controllers on the first topology chain, a transparency command is sent to the next chain head controller with the first sequence number 1, causing it to enter a transparency mode, and the same operations in steps 504 to 506 are performed to obtain the controllers in the same topology chain as the next chain head controller, and the chain sequence number of this topology chain is assigned as the second topology chain. By repeating this process and performing the above steps on all chain head controllers with a first sequence number of 1, a controller that is in the same topological chain as each chain head controller is obtained.
[0107] For example, through steps 401 and 402, the first sequence numbers of A1, A2, A3, A4, A5, and A6 in the topology chain are obtained as 1, 2, 3, 3, 2, and 1, respectively. For each determined first sequence number, console 201 controls the corresponding controller to enter silent mode (incrementing the pass count value in the first data packet passing through it before forwarding). If all controllers enter silent mode, it indicates that the first sequence numbers of all controllers have been confirmed (corresponding to steps 501 and 502). Then, steps 503 to 506 are executed: with all controllers in silent mode, console 201 sends a transparent instruction to a chain head controller, such as A1 (only forwarding the first data packet that passes through itself), and then receives new second data packets sent by each chain head controller. The second sequence number and identifier of each controller are extracted from the new second data packets, and the second sequence numbers of A2, A3, A4, A5 and A6 are determined to be 1, 2, 3, 2 and 1 respectively. It can be seen that the second sequence numbers 1 and 2 of A2 and A3 are reduced by 1 compared with their first sequence numbers 2 and 3. Therefore, it is determined that A2 and A3 are in the same topology chain as A1: the first topology chain. Next, a silence command is sent to each controller A1, A2, and A3 on the first topology chain, putting them into silence mode. Then, a transparency command is sent to the next chain head controller, A6, putting it into transparent mode. It receives new second data packets from each chain head controller and extracts the second sequence number and identifier of each controller from these packets. The second sequence numbers of A4 and A5 are determined to be 2 and 1, respectively. Since the second sequence numbers 2 and 1 of A4 and A5 are both reduced by 1 compared to their first sequence numbers 3 and 2, it is determined that A4 and A5 are in the same topology chain as A6: the second topology chain. Thus, the topology chains containing A1, A2, A3, A4, A5, and A6, and their first sequence numbers within these chains, are obtained. Specifically, in the first topology chain, A1 is at the head, A3 at the tail, and A2 in the middle; in the second topology chain, A6 is at the head, A4 at the tail, and A5 in the middle. This topology structure is then displayed on the interface.
[0108] Therefore, by incrementing the counter value of all data packets passing through it, the controller can determine the topological location of the source data sender. Then, by sequentially controlling the head controllers of each chain to enter transparent mode, it can determine which chain the corresponding controller is on. These two steps determine the controller's specific location, ultimately displaying the mechanical hoist network topology in an orderly manner on the console software. This ensures the accuracy and visualization of the network topology, facilitating user control of the hoist.
[0109] In an exemplary embodiment, the method further includes: after sending a silence instruction to the corresponding controller according to the identifier, determining the time difference between the current time point and the time point of the last reception of the second data packet; if the time difference is greater than a preset silence time threshold, determining that all controllers have entered the silence mode.
[0110] The silent time threshold is determined based on the first preset time period T2, for example, when the silent time threshold is equal to n*T2 (n>2).
[0111] For example, every time console 201 receives a second data packet, it needs to update the time point of the last reception of the second data packet. After sending a silence command to a controller, it calculates the time difference ΔT between the current time point and the time point of the last reception of the second data packet.
[0112]
[0113] Where currentTime represents the current time point, and lastTime represents the time when the second data packet was last received.
[0114] If ΔT > n*T2, it indicates that all controllers have entered silent mode, meaning that the first sequence number of each controller in the topology chain has been determined. Therefore, step 502 is executed, sending packet commands to each controller.
[0115] Similarly, in step 504, every time console 201 receives a new second data packet, it needs to update the time point of the last received second data packet. By periodically calculating the time difference between the current time point and the time point of the last received new second data packet, if the time difference is greater than the preset silence time threshold, it indicates that other controllers on the same topology chain as the target controller currently in transparent mode have completed updating their chain sequence numbers. At this point, all controllers on the first chain (the chain where the target controller is located) can be identified, and the sequence number (position) of all controllers on this chain is the first sequence number determined in step 401. Then, a silence command is issued to all controllers that have identified their chain sequence number and first sequence number, causing them to enter silent mode, and then the subsequent process is executed.
[0116] The following describes a method for determining the mechanical lifting point network according to an embodiment of this application, which is applied to a console, through a specific example.
[0117] like Figure 6 As shown, console 201 determines the mechanical lifting point network topology through the following steps:
[0118] Step 601: Send packet sending instructions to the controllers of each topology link in the mechanical lifting point network;
[0119] Step 602: Receive the identification data packet sent by the chain head controller of each topology chain, and record the controller information according to the identification data packet;
[0120] Step 603: Receive the second data packet sent by the chain head controller of each topology chain, and update the time point of the last reception of the second data packet;
[0121] Step 604: Determine the first sequence number of the controller corresponding to the first data packet in its respective topology chain based on the packet grouping count value, the sum of the pass count value and the packet sub-count value in the second data packet;
[0122] Step 605: Determine the first identifier in the second data packet as the identifier of the controller corresponding to the first data packet;
[0123] Step 606: For each controller, determine its first serial number and identifier, and send a silence command to the corresponding controller according to the identifier to put it into silence mode;
[0124] Step 607: Determine whether the time difference between the current time point and the time point of the last reception of the second data packet is greater than the silent time threshold; if not, return to step 603; if yes, it indicates that the first sequence number of all controllers in their respective topology chain has been determined, and then proceed to step 608.
[0125] Step 608: Send a packet sending command to each controller to make it exit the silent mode and enter the packet sending state;
[0126] Step 609: Send a transparent command to the first chain head controller with the first sequence number 1 to make it enter transparent mode;
[0127] Step 610: Receive new second data packets sent by the chain head controller of each topology chain, and update the time point of the last receipt of the new second data packet;
[0128] Step 611: Determine the second sequence number and identifier of each controller based on the new second data packet; the specific implementation is the same as steps 604 to 607.
[0129] Step 612: When the difference between the first and second serial numbers of the same identifier is 1, it is determined that the controller corresponding to the identifier and the chain head controller that enters the transparent mode belong to the same topology chain.
[0130] Step 613: Send a silence command to all controllers in the chain where the head controller of the chain that has entered transparent mode is located, so that they enter silent mode.
[0131] Step 614: Determine whether the difference between the current time point and the time point of the last reception of the new second data packet is greater than the silent time threshold. If not, proceed to step 615; if yes, proceed to step 616.
[0132] Step 615: Send a transparent instruction to the next chain head controller with the first sequence number 1, return to step 610, and continue until the chain sequence numbers of all controllers are obtained.
[0133] Step 616: Determine the mechanical lifting point network topology based on the identifier, chain sequence number, and first sequence number of each controller, and display it on the display interface.
[0134] In summary, this application embodiment uses a chain-type topology connection method to support a single console controlling a large number of CNC hoists. It utilizes different data formats and packet transmission frequencies to collect data packets, and uses multiple different count values within the data packets to determine the controller's location on the chain and its specific position within the chain. This application embodiment has the following advantages: No rigid requirements for physical connections: By automatically acquiring the physical location, the rigid requirements for the connection position of the CNC hoist controller in the field layout are effectively eliminated. There is no need to manually record the actual connection position of the controller and upstream and downstream controllers, and the controller can be replaced or its position adjusted at any time; Increased system stability: Real-time display of the controller's connection position effectively prevents users from mistakenly connecting hoists in different locations to the same object in the software (referring to the software connection), causing safety accidents such as the object being pulled or falling; Enhanced system usability: By virtually mapping the physical connection position of the controller to the software, the connection relationship can be intuitively presented to the user, bringing great convenience to the director or user's on-site artistic design.
[0135] The above describes a specific implementation of the console 201. The following describes an exemplary implementation of the controller.
[0136] In one exemplary embodiment, such as Figure 7 As shown, a method for determining a mechanical lifting point network is provided, which is applied to the first controller of each topological link in the mechanical lifting point network. Figure 2 The controller in the middle), with the first controller deployed in Figure 1 Taking the server in the example, the explanation includes the following steps 701 and 702. Wherein:
[0137] Step 701: Receive the packet sending command sent by the console.
[0138] Step 702: Send the second data packet according to the packet sending instruction.
[0139] The second data packet is either a first data packet generated by the first controller itself based on a packet sending command, or it includes a data packet that updates the first data packet received from the second controller (downstream controller). The first data packet includes the identifier and count value of the corresponding controller. The second controller refers to the adjacent downstream controller of the first controller.
[0140] For example, after receiving the packet sending command from console 201, the first controller first enters scanning mode. Starting from the time of receiving the packet sending command cmd1, it creates its own identification data packet within a first preset time period T2, and continuously sends its own identification data packet package1 to console 201 at first preset time intervals T1, where T2 > 2T1. Package1 contains the controller's identification and status information. The identification includes the MAC address and IP address, and the status information may include configuration parameters such as the hoist's upper and lower travel limits, hoist operating status parameters such as speed and operating mode, and monitoring parameters such as motor temperature and motor current. The purpose of the identification data packet package1 is to notify console 201 that the corresponding controller exists in the current environment. Package1 from non-chain head controllers reaches console 201 through its upstream controller. The upstream controller is only responsible for forwarding package1 and does not modify it. Console 201 receives the data packet package1 and records the information of each controller, thus knowing the controllers present in the current environment. After scanning mode, console 201 obtains the information (identification and status information) of all controllers in the current environment. After the time period T2 from receiving the packet sending command cmd1 reaches, the controller exits the scanning mode, that is, it stops sending the identification data packet package1, and creates its own first data packet package2 based on the packet sending command cmd1. The first data packet package2 includes the controller's identifier and count value, and sets the count value in the packet to an initial value, such as 1 or 0, etc., and continuously sends the first data packet package2 at a second preset time interval (which can be the same as the first preset time interval T1), with the same sending path as package1. The identifier includes MAC address and IP address, and the count value includes any one of packet grouping count, throughput count, and packet splitting count. The first data packet package2 is updated by each controller in the topology chain to obtain the second data packet, and the second data packet is transmitted towards the console so that the console 201 receives the second data packet sent by the chain head controller.
[0141] In other words, during data packet transmission, taking the three consecutive controllers upstream and downstream as the downstream controller (second controller), first controller, and upstream controller in order of data transmission direction (from downstream to upstream) as an example, after receiving the first data packet sent by its adjacent downstream controller, the first controller updates the received first data packet and forwards it to the adjacent upstream controller (if the first controller is the chain head controller, it forwards it to the console), until the chain head controller updates the received (i.e., after passing through itself) first data packet to obtain the second data packet, and then sends the second data packet to the console 201. Optionally, the corresponding controller updates the count value in the received first data packet, or the count value and the identifier, to obtain the second data packet, and then sends the second data packet.
[0142] The console 201 determines the first sequence number of each controller and the topology chain in which each controller is located based on the second data packet, and displays the topology of the mechanical lifting point network on the display interface.
[0143] In the aforementioned method for determining the mechanical hoisting point network, the first controller receives a packet sending command from the console and sends a second data packet according to the packet sending command. The second data packet is either a first data packet generated by the first controller itself based on the packet sending command, or it includes a data packet that updates the first data packet received from the second controller (downstream controller). The first data packet includes the identifier and count value of the corresponding controller. In this embodiment, the controller generates its own first data packet and updates the first data packet received from the second controller before sending it. This allows the console to determine the topology chain where the controller is located and its first sequence number in the topology chain based on the second data packet sent by the chain head controller, thus obtaining the connection method between the controller and the console. The topology of the mechanical hoisting point network is then displayed based on the connection method. By virtually mapping the physical connection location of the controller onto the software, the connection relationship can be intuitively presented to the user, facilitating user control of the hoist and greatly improving the convenience of stage CNC hoist control, thereby enhancing stage control performance.
[0144] In an exemplary embodiment, the count value includes a pass count and a valid packet count. Step 702 includes: upon receiving a first data packet sent by the second controller, determining whether the first controller has reached its packet transmission period; if the first controller has reached its packet transmission period, appending its own identifier to the end of the first data packet, increasing the valid packet count in the first data packet by a first preset value to obtain a second data packet, and sending the second data packet; if the first controller has not reached its packet transmission period, increasing the pass count in the first data packet by the first preset value to obtain a second data packet, and sending the second data packet.
[0145] For example, when the first controller receives a packet sending instruction, it creates and periodically sends its own first data packet. The first data packet includes the controller's identifier, a pass count value (pass), and a packet count value (valid). The initial values of pass and valid are 0 and 1, respectively. During the periodic sending of its own first data packet, if the controller receives a first data packet sent by the downstream second controller, it determines whether it needs to send a packet based on the packet sending period or packet sending frequency. If so, it places its own identifier at the end of the first data packet as a subpackage and increments the packet count value (valid) by 1 (keeping pass unchanged) to obtain the second data packet. The second data packet is then sent towards the console, i.e., to the adjacent upstream controller or console 201. If not, it means that it does not need to send a packet at present. The controller increments the pass count value (pass) in the first data packet by 1 (keeping valid unchanged) to obtain the second data packet and sends the second data packet towards the console, i.e., to the adjacent upstream controller or console 201. After receiving the second data packet sent by the head controller, console 201 calculates the sum of the pass and valid values in the second data packet. This sum is the sequence number of the source controller (source sender) of the second data packet, which corresponds to the controller in the first data packet, within the topology chain. The console then extracts the first identifier from the second data packet to obtain the identifier of the source controller. This allows for the determination of a controller's sequence number and identifier based on a single second data packet.
[0146] Therefore, in this embodiment, the controller creates and sends its own first data packet, and updates the first data packet that passes through it to obtain a second data packet, which is then sent to the console. The packet count and pass count in the second data packet are used to represent the number of packets and the number of packets that pass through, respectively. The sum of the two is used to represent the number of controllers that the first data packet passes through. Thus, the controller can accurately obtain the sequence number of each controller in the topology chain based on the count value.
[0147] In another exemplary embodiment, the count values include a pass count, a valid packet count, and a pending packet count. Step 702 includes: upon receiving a first data packet sent by the second controller, determining whether the first controller has reached its packet sending cycle; if the first controller has reached its packet sending cycle, determining whether the packet assembly condition is met; if the first controller has reached its packet sending cycle and meets the packet assembly condition, adding its own identifier to the end of the first data packet, increasing the packet assembly count in the first data packet by a first preset value to obtain a second data packet, and sending the second data packet; if the first controller has reached its packet sending cycle but does not meet the packet assembly condition, increasing the pending packet count in the first data packet by a first preset value to obtain a second data packet, and sending the second data packet; if the first controller has not reached its packet sending cycle, increasing the pass count in the first data packet by a first preset value to obtain a second data packet, and sending the second data packet.
[0148] Among them, the packet assembly condition can be that after the packet assembly process adds its own identifier to the first data packet, the total length of the first data packet after assembly is less than or equal to the maximum transmission unit (MTU) allowed by the network data length.
[0149] For example, when the first controller receives a packet sending instruction, it creates and periodically sends its own first data packet. The first data packet includes the controller's identifier, a pass count, a valid packet count, and a pending packet count. The initial values of pending, pass, and valid are 0, 0, and 1, respectively. During the periodic sending of its own first data packet, if the controller receives a first data packet sent by the downstream second controller, it determines whether it needs to send a packet based on the packet sending cycle or packet sending frequency. If so, it further determines whether the packet sending condition has been met, i.e., whether the length of the packetized data is less than the MTU. If it is less than or equal to the MTU, it places its own identifier in the first data packet as a subpackage. At the tail end, the packet grouping count value (valid) is incremented by 1 (keeping pass and pending unchanged) to obtain the second data packet. The second data packet is then sent towards the console, i.e., to the adjacent upstream controller or console 201. If the value is greater than the MTU, the packet grouping count value (valid) and the pass count value (pass) in the first data packet are kept unchanged. The pending value in the first data packet is incremented by 1 to obtain the second data packet, which is then forwarded. At the same time, a new first data packet is created for the controller itself, with the initial values of pending, pass, and valid in the first data packet being 0, 0, and 1, respectively. The controller's own identifier is placed after the first sub-packet of the first data packet and sent towards the console, i.e., to the adjacent upstream controller or console 201. If the controller does not need to send packets at the moment, the pass count value (pass) in the first data packet is incremented by 1 (keeping valid and pending unchanged) to obtain the second data packet, which is then sent towards the console, i.e., to the adjacent upstream controller or console 201. After receiving the second data packet sent by the head controller, console 201 calculates the sum of the pass and valid values in the second data packet. This sum is the sequence number of the source controller (source sender) of the second data packet, which corresponds to the controller in the first data packet, within the topology chain. The console then extracts the first identifier from the second data packet to obtain the identifier of the source controller. This allows for the determination of a controller's sequence number and identifier based on a single second data packet.
[0150] Therefore, in this embodiment, the controller creates and sends its own first data packet, and updates the first data packet that has passed through it to obtain a second data packet, which is then sent to the console. The packet grouping count, packet splitting count, and throughput count in the second data packet represent the number of grouped packets, the number of split packets, and the number of packets that have passed through, respectively. The sum of these three values represents the number of controllers that the first data packet has passed through. Thus, the controller can accurately determine the sequence number of each controller in the topology chain based on the count values. Furthermore, by merging packets, network bandwidth usage is significantly reduced, improving data transmission efficiency.
[0151] In an exemplary embodiment, the count value includes a pass count value; step 702 includes: during the data transmission process, receiving a silence command sent by the console; upon receiving a first data packet sent by the second controller, stopping the transmission of its own first data packet according to the silence command, and increasing the pass count value in the first data packet by a first preset value to obtain a second data packet, and then sending the second data packet.
[0152] The silence command is sent by the console to each controller after determining its first sequence number and identifier, and to all controllers in the same topology chain after determining that controller is in the same chain. The silence command instructs the controller to enter silent mode. In silent mode, the controller no longer creates any data packets locally, but it will still increment the pass value by 1 in the first data packet received from the second controller (i.e., the first data packet passing through the local machine) to obtain the second data packet, and then forward the second data packet.
[0153] For example, if the first controller receives a silence command sent by the console 201 during the periodic transmission of its own first data packet, it enters a silence mode. In this mode, if it receives the first data packet sent by the second controller (i.e., the first data packet that has passed through itself), it increases the pass count value in the first data packet by a first preset value to obtain the second data packet, and sends the second data packet to the upstream controller or the console.
[0154] Therefore, in this embodiment, after the console determines the controller's sequence number in the topology chain and the controller's chain sequence number, it sends a silence command to the controller. This enables the controller to stop generating and sending its own first data packet, but only to update the second data packet obtained after the first data packet passes through itself, and forward it. This ensures the accuracy of the count value in the second data packet, thereby ensuring the accurate determination of the sequence number.
[0155] In an exemplary embodiment, step 702 includes: receiving a transparent instruction sent by the console during data transmission; and, upon receiving a first data packet sent by the second controller, sending the first data packet according to the transparent instruction.
[0156] The transparent command is sent by the console to a target controller with a first sequence number of a second preset value when it determines the first sequence number of all controllers in the topology chain (i.e., when all controllers have entered silent mode). The transparent command instructs the target controller to enter transparent mode. In transparent mode, the target controller only forwards the first data packet received from the second controller, without modifying or updating the counter value in the first data packet, and the target controller itself does not actively generate or send any data packets.
[0157] The second preset value can be 1, in which case the target controller is the chain head controller.
[0158] For example, when the target controller with the first sequence number 1, i.e. the chain head controller, receives a transparent instruction sent by the console 201 during the periodic transmission of its own first data packet, it enters the transparent mode. In this mode, if it receives the first data packet sent by the second controller, i.e. the first data packet that has passed through its own first data packet, it directly forwards the first data packet to the console without updating the first data packet.
[0159] Therefore, in this embodiment, when the console determines the first sequence number of all controllers in the topology chain, it sends a transparent instruction to the chain head controller, which enables the chain head controller to stop generating and sending its own first data packet, but only forwards the first data packet that passes through it, thus ensuring the accuracy of the count value in the second data packet and thus ensuring the accurate determination of the chain sequence number.
[0160] The following describes a method for determining a mechanical lifting point network according to an embodiment of this application, which is applied to a first controller, through a specific example.
[0161] like Figure 8 As shown, the first controller determines the mechanical lifting point network topology through the following steps:
[0162] Step 801: Receive the packet sending command sent by the console;
[0163] Step 802: Enter scanning mode and periodically send identification data packets;
[0164] In scanning mode, the controller continuously creates and sends its own identification data packet package1 to the console 201 at a first preset time interval T1 within a first preset time period T2 starting from the time point when it receives the packet sending instruction cmd1.
[0165] Step 803: Determine whether the sending time has reached T2. If yes, proceed to step 804; otherwise, return to step 802.
[0166] Step 804: Exit scanning mode, generate its own first data packet, and periodically send it towards the console;
[0167] Step 805: Determine whether the first data packet sent by the downstream second controller has been received. If not, return to step 804; if yes, proceed to step 806.
[0168] Step 806: Determine if the system is in silent mode. If yes, proceed to step 807; otherwise, proceed to step 808.
[0169] Step 807: Increment the pass count value 'pass' in the first data packet by 1 to obtain the second data packet, and then forward the second data packet;
[0170] Step 808: Determine if the system is in transparent mode. If yes, proceed to step 809; otherwise, proceed to step 810.
[0171] Step 809: Forward the first data packet;
[0172] Step 810: Determine whether the first controller itself needs to send packets based on the packet sending cycle. If yes, proceed to step 811; otherwise, proceed to step 814.
[0173] Step 811: Determine whether the length of the data after packet assembly is less than or equal to the MTU. If yes, proceed to step 812; otherwise, proceed to step 813.
[0174] Step 812: Add the identifier of the first controller itself as a sub-packet to the end of the first data packet, increment the packet count value valid in the first data packet by 1 to obtain the second data packet, and forward the second data packet;
[0175] Step 813: Increment the pending packet count value in the first data packet by 1 to obtain the second data packet, and forward the second data packet while sending its own first data packet;
[0176] Step 814: Increment the pass count value in the first data packet by 1 to obtain the second data packet, and then forward the second data packet.
[0177] In summary, the embodiments of this application use data packet grouping to reduce bandwidth consumption and transmit data quickly, achieving the following effects: No rigid requirements for physical connections: By automatically acquiring physical locations, the rigid requirements for the connection positions of CNC hoist controllers in on-site layout are effectively eliminated. There is no need to manually record the actual connection positions of the controllers and upstream and downstream controllers, allowing for easy replacement or adjustment of controller positions at any time; High data transmission efficiency: By grouping data packets, network bandwidth consumption is greatly reduced, improving data transmission efficiency; Increased system stability: Real-time display of the controller's connection position effectively prevents users from mistakenly connecting hoists in different locations (referring to software connections) to the same object, causing safety accidents such as objects being pulled or falling; Enhanced system usability: By virtually mapping the physical connection positions of the controllers onto the software, the connection relationships can be intuitively presented to the user, greatly facilitating on-site artistic design for directors or users.
[0178] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages in other steps. It is understood that the steps in different embodiments can be freely combined as needed, and all non-contradictory solutions formed by such combinations are within the scope of protection of this application.
[0179] Based on the same inventive concept, this application also provides a device for determining a mechanical lifting point network to implement the method for determining a mechanical lifting point network described above. The solution provided by this device is similar to the solution described in the above method. Therefore, the specific limitations in one or more embodiments of the device for determining a mechanical lifting point network provided below can be found in the limitations of the method for determining a mechanical lifting point network described above, and will not be repeated here.
[0180] In one exemplary embodiment, such as Figure 9 As shown, a device for determining a mechanical lifting point network is provided. The mechanical lifting point network includes a console and multiple controllers. The device is applied to the console and includes: a packet sending instruction sending module 901, a data packet receiving module 902, and a determination module 903, wherein:
[0181] The packet sending instruction module 901 is used to send packet sending instructions to the controllers of each topology chain of the mechanical lifting point network; each topology chain includes multiple controllers connected in series, and the packet sending instruction is used to instruct each controller to send a first data packet, which includes the controller's identifier and count value;
[0182] The data packet receiving module 902 is used to receive the second data packet sent by the head controller of each topology chain; wherein the second data packet includes the first data packet updated by the controller on the topology chain;
[0183] The determination module 903 is used to determine the first sequence number of each controller and the topology chain in which each controller is located based on the second data packet, and to display the topology structure of the mechanical lifting point network on the display interface.
[0184] In one embodiment, the determining module 903 includes:
[0185] The first determining unit is used to determine the first sequence number of the controller corresponding to the first data packet in the topology chain based on the count value in the second data packet.
[0186] The second determining unit is used to determine the first identifier in the second data packet as the identifier of the controller corresponding to the first data packet;
[0187] The third determining unit is used to determine the topology chain in which each controller is located based on the first sequence number of the controller corresponding to all first data packets and the identifier of the controller.
[0188] The display unit is used to display the topology of the mechanical lifting point network on the display interface according to the first sequence number, the controller identifier, and the topology chain in which each controller is located.
[0189] In one embodiment, the count values in the second data packet include a packet grouping count, a pass count, and a packet splitting count;
[0190] The first determining unit is specifically used to: determine the first sequence number of the controller corresponding to the first data packet in the topology chain based on the packet count value in the second data packet, the sum of the pass count value and the sub-packet count value.
[0191] In one embodiment, the count value includes a pass count value; the third determining unit is specifically configured to: determine the first sequence number and identifier of each controller, and send a silence instruction to the corresponding controller according to the identifier; wherein, the silence instruction is used to instruct the controller to enter a silence mode, in which the controller stops sending its own first data packet, and adds a first preset value to the pass count value in the first data packet passing through it before sending; when all controllers have entered the silence mode, send a packet sending instruction to each controller; send a transparency instruction to a target controller whose first sequence number is a second preset value; wherein, the transparency instruction is used to instruct the target controller to enter a transparency mode, in which the target controller performs a forwarding operation on the first data packet passing through it; receive new second data packets sent by the head controller of each topology chain; determine the second sequence number and identifier of each controller according to the new second data packet; and determine the topology chain in which each controller is located based on the identifier, the first sequence number and the second sequence number.
[0192] In one embodiment, the third determining unit, when determining the topology chain where each controller is located based on the identifier, the first sequence number, and the second sequence number, is specifically configured to: determine the first sequence number and the second sequence number corresponding to the same identifier, and if the second sequence number is less than the first sequence number, determine that the controller corresponding to the identifier is in the same topology chain as the target controller; send a silence instruction to each controller in the topology chain where the target controller is located; send a transparency instruction to the next target controller whose first sequence number is a second preset value, and return to the step of receiving the new second data packet sent by the chain head controller of each topology chain, so as to determine the controller in the same topology chain as the next target controller, until the controllers in the same topology chain as the target controllers whose first sequence numbers are the second preset values are obtained.
[0193] In one embodiment, the apparatus further includes: a time difference determination module, configured to determine the time difference between the current time point and the time point at which the second data packet was last received after sending a silence command to the corresponding controller according to the identifier; and a mode determination module, configured to determine that all controllers have entered a silence mode if the time difference is greater than a preset silence time threshold.
[0194] In one exemplary embodiment, such as Figure 10 As shown, a device for determining a mechanical lifting point network is provided. The mechanical lifting point network includes a control console and multiple controllers. The device is applied to the first controller of each topology link of the mechanical lifting point network. Each topology link includes multiple controllers connected in series. The device includes: a packet sending instruction receiving module 1001 and a data packet sending module 1002, wherein:
[0195] The packet sending instruction receiving module 1001 is used to receive packet sending instructions sent from the console;
[0196] The data packet sending module 1002 is used to send a second data packet according to the packet sending instruction;
[0197] The second data packet is either the first data packet generated by the first controller itself based on the packet sending instruction, or the second data packet includes a data packet that updates the first data packet sent by the received second controller. The first data packet includes the identifier and count value of the corresponding controller.
[0198] In one embodiment, the count value includes a pass count value and a packet assembly count value. The data packet sending module 1002 is specifically configured to: upon receiving a first data packet sent by a second controller, determine whether the first controller has reached its packet sending cycle; if the first controller has reached its packet sending cycle, add its own identifier to the end of the first data packet, increase the packet assembly count value in the first data packet by a first preset value to obtain a second data packet, and send the second data packet; if the first controller has not reached its packet sending cycle, increase the pass count value in the first data packet by a first preset value to obtain a second data packet, and send the second data packet.
[0199] In one embodiment, the count values include a packet assembly count, a throughput count, and a packet splitting count. The data packet sending module 1002 is specifically configured to: upon receiving a first data packet sent by a second controller, determine whether the first controller has reached its packet sending cycle; if the first controller has reached its packet sending cycle, determine whether the packet assembly condition is met; if the first controller has reached its packet sending cycle and meets the packet assembly condition, add its own identifier to the end of the first data packet, increase the packet assembly count in the first data packet by a first preset value to obtain a second data packet, and send the second data packet; if the first controller has reached its packet sending cycle but does not meet the packet assembly condition, increase the packet splitting count in the first data packet by a first preset value to obtain a second data packet, and send the second data packet; if the first controller has not reached its packet sending cycle, increase the throughput count in the first data packet by a first preset value to obtain a second data packet, and send the second data packet.
[0200] In one embodiment, the count value includes a pass count value; the data packet sending module 1002 is specifically used to: receive a silence command sent by the console during the data sending process; and, upon receiving a first data packet sent by the second controller, stop sending its own first data packet according to the silence command, and add a first preset value to the pass count value in the first data packet to obtain a second data packet, and then send the second data packet.
[0201] In one embodiment, the data packet sending module 1002 is specifically used to: receive a transparent instruction sent by the console during the data sending process; and, upon receiving a first data packet sent by the second controller, send the first data packet according to the transparent instruction.
[0202] Each module in the aforementioned device for determining the mechanical lifting point network can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.
[0203] In one exemplary embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 11 As shown, the computer device includes a processor, memory, input / output (I / O) interfaces, and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is also connected to the system bus via the I / O interfaces. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides the environment for the operation of the operating system and computer programs in the non-volatile storage media. The database stores data for determining the mechanical lifting point network. The I / O interfaces are used for exchanging information between the processor and external devices. The communication interface is used for communicating with external terminals via a network connection. When the computer program is executed by the processor, it implements a method for determining a mechanical lifting point network.
[0204] Those skilled in the art will understand that Figure 11 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0205] In one exemplary embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement a method for determining a network of mechanical suspension points.
[0206] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements a method for determining a network of mechanical suspension points.
[0207] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements a method for determining a network of mechanical suspension points.
[0208] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, artificial intelligence (AI) processors, etc., and are not limited to these.
[0209] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0210] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A method for determining a network of mechanical lifting points, characterized in that, The mechanical lifting point network includes a console and multiple controllers, and the method is applied to the console; the method includes: Send packet instructions to the controllers of each topology chain of the mechanical lifting point network; each topology chain includes multiple controllers connected in series, and the packet instructions are used to instruct each controller to send a first data packet, the first data packet including the identifier and count value of the controller; Receive a second data packet sent by the head controller of each of the topology chains; wherein the second data packet includes a first data packet updated by the controller on the topology chain; Based on the second data packet, the first sequence number of each controller and the topology chain in which each controller is located are determined, and the topology structure of the mechanical lifting point network is displayed on the display interface.
2. The method according to claim 1, characterized in that, The step of determining the first sequence number of each controller and the topology chain in which each controller belongs based on the second data packet, and displaying the topology of the mechanical suspension point network on the display interface, includes: The first sequence number of the controller corresponding to the first data packet in its respective topology chain is determined based on the count value in the second data packet. The first identifier in the second data packet is determined as the identifier of the controller corresponding to the first data packet; Based on the first sequence number of the controller corresponding to all the first data packets and the identifier of the controller, the topology chain in which each controller is located is determined; Based on the first sequence number, the identifier of the controller, and the topology chain in which each controller is located, the topology structure of the mechanical lifting point network is displayed on the display interface.
3. The method according to claim 2, characterized in that, The count values in the second data packet include the packet grouping count, the throughput count, and the packet fragmentation count; Determining the first sequence number of the controller corresponding to the first data packet in its respective topology chain based on the count value in the second data packet includes: Based on the packet count value in the second data packet, the sum of the packet count value and the sub-packet count value, the first sequence number of the controller corresponding to the first data packet in its respective topology chain is determined.
4. The method according to claim 2, characterized in that, The count value includes the count value; determining the topology chain to which each controller belongs based on the first sequence number of the controller corresponding to all the first data packets and the identifier of the controller includes: For each controller whose first sequence number and identifier are determined, a silence command is sent to the corresponding controller according to the identifier; wherein, the silence command is used to instruct the controller to enter a silence mode, in which the controller stops sending its own first data packet, and increases the pass count value in the first data packet that passes through it by a first preset value before sending it; With all controllers already in silent mode, the packet sending command is sent to each controller. A transparent instruction is sent to a target controller whose first sequence number is a second preset value; wherein, the transparent instruction is used to instruct the target controller to enter a transparent mode, and in the transparent mode, the target controller performs a forwarding operation on the first data packet passing through it; Receive new second data packets sent by the chain head controller of each of the aforementioned topologies; The second sequence number and identifier of each controller are determined based on the new second data packet; Based on the identifier, the first sequence number, and the second sequence number, the topology chain in which each controller is located is determined.
5. The method according to claim 4, characterized in that, The step of determining the topology chain in which each controller belongs based on the identifier, the first sequence number, and the second sequence number includes: Determine the first sequence number and the second sequence number corresponding to the same identifier, and if the second sequence number is less than the first sequence number, determine that the controller corresponding to the identifier and the target controller are in the same topology chain; Send the silence command to each controller in the topology chain where the target controller is located; The transparent instruction is sent to the next target controller whose first sequence number is the second preset value, and the step of receiving the new second data packet sent by the chain head controller of each of the topology chains is returned, so as to determine the controller in the same topology chain as the next target controller, until the controller in the same topology chain as each of the target controllers whose first sequence number is the second preset value is obtained.
6. The method according to claim 4, characterized in that, The method further includes: After sending a silence command to the corresponding controller based on the identifier, the time difference between the current time point and the time point of the last reception of the second data packet is determined; If the time difference is greater than a preset silence time threshold, it is determined that all controllers have entered the silence mode.
7. A device for determining a network of mechanical lifting points, characterized in that, The mechanical lifting point network includes a console and multiple controllers, and the device is applied to the console; the device includes: A packet sending instruction module is used to send packet sending instructions to the controllers of each topology chain of the mechanical lifting point network; each topology chain includes multiple controllers connected in series, and the packet sending instruction is used to instruct each controller to send a first data packet, the first data packet including the identifier and count value of the controller; A data packet receiving module is used to receive a second data packet sent by the head controller of each of the topology chains; wherein the second data packet includes a first data packet updated by the controller on the topology chain; The determination module is used to determine the first sequence number of each controller and the topology chain in which each controller is located based on the second data packet, and to display the topology of the mechanical lifting point network on the display interface.
8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 6.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 6.
10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 6.