A two-dimensional single-track trolley motion control method and system

CN122569149APending Publication Date: 2026-08-14ZHEJIANG YOUSHAN NEW ENERGY TECHNOLOGY CO LTD +2
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-05-18
Publication Date
2026-08-14

AI Technical Summary

Technical Problem

[0004]本申请提供一种二维单轨道小车运动控制方法及系统,以解决现有技术中存在的硬件成本高、部署复杂、模型体积大、传输延迟高、未结合物候期精准调控等的问题

Benefits of technology

1、针对位置映射精度不足:结合路径点预生成算法(来自单点、直道、弯道铺路块)和硬件反馈(编码器、接近开关),通过在轨道初始化和小车状态采集模块中处理数据。将位置映射精度从依赖编码器的单面控制,转化为多方面的系统控制,有效克服了因机械振动和轨道磨损导致的编码器累计误差,并且弥补了接近开关无法识别非工位区域位置的缺陷。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122569149A_ABST
    Figure CN122569149A_ABST
Patent Text Reader

Abstract

This invention discloses a two-dimensional single-track trolley motion control method and system. Compared with existing technologies, this invention focuses on algorithmic innovation. It generates a path point array through single-point / straight / curved path paving algorithm blocks, combined with position mapping, collision detection, and data synchronization algorithms, to achieve high-precision positioning of the workstation and track trajectory. In addition, it incorporates a "target position-speed-track occupancy" collaborative algorithm and a radar hierarchical early warning mechanism, combined with a shared track section data fusion algorithm, to achieve dynamic collision avoidance for multiple vehicles, replacing manual intervention. It integrates the full-parameter interlocking logic of workstation status and external equipment signals to construct a closed-loop control from hardware feedback to interface display. It adopts a highly visual interface that maps the track screen and trolley status in real time, combined with a fault correlation analysis algorithm, to solve the pain points of insufficient accuracy, lack of coordination, and reliance on manual intervention in traditional solutions.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of intelligent vehicle control technology, specifically to a two-dimensional single-track vehicle motion control method and system. Background Technology

[0002] Two-dimensional monorail trolleys are core equipment for material handling on production lines, undertaking critical tasks such as raw material transport, semi-finished product transfer, and finished product collection. Their operational efficiency and position control accuracy directly affect the production rhythm and stability of the production line. Currently, the industry commonly uses PLCs for logic control of monorail trolleys and employs WinCC to build a visual interface for basic monitoring; however, existing technologies have many limitations in practical applications.

[0003] With the upgrading of new energy production lines and capacity, the technology has evolved from "single-vehicle point-to-point control" to "centralized monitoring of multiple vehicles." The limitations of the existing control system are gradually becoming apparent, becoming a core obstacle to technological upgrading. 1. Insufficient position mapping accuracy: The existing position positioning method relies on encoders or proximity switches. Encoders are susceptible to mechanical vibration and track wear. Proximity switches can only cover fixed workstations on the track and cannot identify positions in non-workstation areas. This causes a deviation between the real-time position of the trolley on the track and the interface display, affecting the accuracy of material docking, causing errors in track occupancy judgment, and easily leading to multi-vehicle path conflicts, resulting in the risk of collision. 2. Lack of multi-parameter synchronization: Only a single parameter acquisition algorithm for "current position" was designed, and a collaborative acquisition and association algorithm for "target position - destination position - running speed" was not developed. As a result, the dispatch center cannot grasp the trajectory of the vehicle through the algorithm. 3. Incomplete status feedback: The WinCC interface only displays the current position of the trolley, lacking the target position, destination position, and workstation interaction status (such as "workstation waiting", "material loading", "unloading completed", etc.). Operators need to frequently switch between the PLC and the WinCC interface to verify information. 4. Low visualization: The WinCC interface only displays the status of the trolley with text or simple icons, which cannot intuitively present the distribution of track grids, the real-time position of the trolley and its running trajectory. This is not conducive to the quick control by operators and cannot meet the control requirements of the new energy production line for "high precision, high transparency and high reliability". 5. Simple fault diagnosis: It only uses the basic algorithm of "alarm triggered by abnormal signal" and does not have a correlation analysis algorithm of "fault location-parameter deviation-track status". Fault location relies on manual investigation, which is extremely inefficient. 6. Inadequate interlocking mechanism: Only the position interlock of the trolley is checked (e.g., pause when the distance is <100mm), and external equipment signals (e.g., workstation door switch, material detection sensor) are not integrated: When the workstation door is not closed (external signal is abnormal), the trolley still executes the positioning command, which poses safety hazards such as material falling and equipment collision, and the safety is insufficient. Summary of the Invention

[0004] This application provides a two-dimensional single-track vehicle motion control method and system to solve the problems of high hardware cost, complex deployment, large model size, high transmission delay, and lack of precise control based on phenological periods in the existing technology.

[0005] According to a first aspect, one embodiment provides a motion control method for a two-dimensional single-track trolley, the method comprising: Generate track foundation data containing track foundation path location information based on the track paving algorithm; Based on the obtained track foundation data, key workstation attribute information is added to the track foundation path points to generate track data containing workstation information. Based on the obtained orbit data, perform orbit parameter and state initialization; Real-time collection of vehicle status information; calculation of the vehicle's coverage area on the track based on the vehicle status information; and updating of track point occupancy status. Data from common areas of different tracks is merged to unify the occupancy status of track points in common areas; Poll each point on each track and count the number of cars occupying each point. If the number of cars occupying a single point is greater than 1, a collision risk is determined. Set the collision signal flag of all cars occupying the corresponding point, fuse the car collision signals generated by each track, and output the final collision detection result. Based on the safety distance requirements, the safety distance is converted into the track point span, the range of warning points in front and behind the trolley is calculated, and whether there are obstacles within the corresponding warning point range is detected. If an obstacle is detected, a safety distance warning signal is generated. Based on the collision detection results and the safety distance warning signal, the system controls the positioning, direction, start and stop of the vehicle, and moves it to the target workstation.

[0006] Furthermore, track foundation data containing track foundation path location information is generated based on the track paving algorithm, specifically including: The track paving algorithm includes a single-point paving algorithm, a straight-line paving algorithm, and a circular arc paving algorithm; The single-point paving algorithm is used to generate a single basic path point for the track and independently define the coordinates, trolley angle, and track affiliation of the point. The straight-line paving algorithm is used to generate straight track segments. It automatically generates an array of continuous straight-line path points by using the start / end coordinates, step size, and direction parameters, and supports forward / reverse generation logic. The circular arc paving algorithm is used to generate quarter-circle track segments based on the parametric equation of a circle, and to determine the orientation of the trolley based on the central angle.

[0007] Furthermore, based on the obtained track foundation data, key workstation attribute information is added to the track foundation path points to generate track data containing workstation information, specifically including: Based on the operational requirements, identify multiple key points including deceleration point 1, deceleration point 2, buffer point 1, buffer point 2, and stop point. Assign a corresponding fixed workstation name and workstation number to each key point. Batch fill all track points between key locations with the same workstation name to achieve continuous workstation coverage.

[0008] Furthermore, based on the obtained orbital data, orbital parameters and state initialization are performed, specifically including: Obtain the starting index (upper bound) and ending index (lower bound) of the array for each track. Calculate the total number of nodes (track length) for each track by subtracting the lower bound index from the upper bound and adding 1. Iterate through all the cars and set the out-of-bounds flag of all cars to 0, indicating that no car has crossed the boundary in the initial state; Iterate through all nodes of each track, and clear the occupancy status and car number of each track node to zero, so that the initial state of all track nodes is free and no car occupancy. The trolley position, coordinates, track number, and workstation information are restored to the track start point; the system enters the initial ready state for normal operation.

[0009] Furthermore, the system collects the vehicle's status information in real time, calculates the vehicle's coverage area on the track based on this information, and updates the track point occupancy status. Specifically, this includes: Real-time collection of information on the trolley's track, location, and maintenance status; exclusion of trolleys under maintenance or that have crossed the boundary. Traverse all valid trolleys that are not under maintenance or have crossed boundaries. Calculate the end point of the trolley's coverage and the start point of the trolley's coverage based on the trolley's current location index and coverage radius. Mark all track locations between the trolley's head and tail as occupied and write the corresponding trolley number into the location information to complete the real-time occupancy status update for each track.

[0010] Furthermore, data from common areas of different tracks will be fused to unify the occupancy status of track points in these common areas. Specifically, this includes: Determine the common track segment index for different tracks, and obtain the common track segment index offset between different tracks by calculating the difference between the starting indices of the common track segments for different tracks; Using the data of one of the shared track segments as a benchmark, the shared track segments of different tracks are aligned by index offset, the trolley number information is merged, and the occupancy status is forcibly synchronized to ensure that the occupancy status and trolley number of the shared track segments on different tracks are completely consistent.

[0011] Furthermore, based on the safety distance requirements, the safety distance is converted into the track point span, the range of warning points before and after the vehicle is calculated, and whether there are obstacles within the corresponding warning point range is detected. If an obstacle is detected, a safety distance warning signal is generated, specifically including: Traverse all valid cars, obtain the total number of track nodes based on the track where the car is located, and calculate the head and tail positions of the car. The six levels of safety distances set for the car, including three levels forward and three levels backward, are converted into warning track points according to fixed point spacing. The warning zones are divided forward, including long distance, medium distance, and emergency stop warning zones, with the front of the car as the reference, and backward, including long distance, medium distance, and short distance warning zones, with the rear of the car as the reference. Traverse all track points within the warning area. If a vehicle other than this vehicle is detected, trigger the corresponding level of warning signal. The warning signals of each track are logically ORed to output a total of six levels of safety warning signals for each vehicle, including three levels of forward warning and three levels of backward warning.

[0012] Furthermore, by combining collision detection results and safe distance warning signals, the positioning, direction, start and stop of the vehicle are controlled to move it to the target workstation, specifically including: Direction determination: Based on the track where the trolley is located and the current workstation number, a unique direction of travel is determined; Direction control: In automatic mode, outputs forward or reverse commands based on driving direction signs; Path tracking: The vehicle moves point by point according to speed pulses, and stops moving when it approaches the target and synchronizes its position information; Interlocking data acquisition: Collects external safety signals, warning signals, and collision signals to form a comprehensive interlocking status; Safety protection: Based on the warning and collision status, the vehicle is prohibited from moving in the dangerous direction; Simulation debugging: In simulation mode, manual adjustment of position, angle, track point position and trajectory parameters is supported; Status management: Generate and output the working status of the vehicle, including start, run, stop, fault, and emergency stop; Workstation matching: Traverse the target workstation table, match the target location, and output a stop signal when the target location is reached; Location translation: Based on the track point index, convert and output coordinates, angles, and workstation information; Final output: Outputs vehicle control commands, safety signals, and complete position and status information.

[0013] According to a second aspect, one embodiment provides a two-dimensional monorail trolley motion control system, the system comprising: The basic data layer is used to generate basic track data containing basic track path location information based on the track paving algorithm. Based on the obtained track foundation data, key workstation attribute information is added to the track foundation path points to generate track data containing workstation information. The initialization layer is used to perform orbit parameter and state initialization based on the obtained orbit data; The perception layer is used to collect the status information of the vehicle in real time, calculate the coverage area of ​​the vehicle on the track based on the status information, and update the occupancy status of the track points. The data processing layer is used to merge data from the common areas of different tracks to unify the occupancy status of track points in the common areas. The safety layer polls each point on each track and counts the number of cars occupying each point. If the number of cars occupying a single point is greater than 1, a collision risk is determined. The collision signal flags of all cars occupying the corresponding point are set, and the collision signals generated by each track are fused to output the final collision detection result. Based on the safety distance requirements, the safety distance is converted into the track point span, the range of warning points in front and behind the trolley is calculated, and whether there are obstacles within the corresponding warning point range is detected. If an obstacle is detected, a safety distance warning signal is generated. The control layer combines collision detection results and safe distance warning signals to control the car's positioning, direction, start and stop, and move it to the target workstation.

[0014] Furthermore, the system also includes: a PLC controller and WinCC visual monitoring software; The PLC controller is used to execute all algorithms, acquire signals, perform logic operations, and output instructions. The WinCC visual monitoring software is used to display the internal and external track layout, trolley dynamic position, workstation status, collision warning, interlock status, and operation log in real time, and provides parameter configuration and manual control interfaces.

[0015] This application provides a two-dimensional single-track trolley motion control method and system, which has the following beneficial effects: 1. Addressing insufficient position mapping accuracy: By combining a path point pre-generation algorithm (from single points, straight tracks, and curved track paving blocks) and hardware feedback (encoders, proximity switches), data is processed in the track initialization and trolley status acquisition modules. This transforms position mapping accuracy from single-sided control relying on encoders to multi-faceted system control, effectively overcoming the cumulative encoder error caused by mechanical vibration and track wear, and compensating for the inability of proximity switches to identify non-station areas.

[0016] 2. Addressing the lack of multi-parameter synchronization: A collaborative acquisition and correlation algorithm for "target position - destination position - running speed" was designed at the data processing and control layers. The dispatch center can use this algorithm to grasp the vehicle's trajectory, including target position, destination position, and running speed, achieving synchronous acquisition and processing of multiple parameters and meeting the requirements for precise control of the vehicle's trajectory.

[0017] 3. Addressing incomplete status feedback: The status feedback content has been expanded in the data processing layer and interface display programs. In addition to the current position, it now includes the target position, destination position, and workstation interaction status. The WinCC interface can comprehensively display the relevant status information of the vehicle, eliminating the need for operators to frequently switch between the PLC and WinCC interface to verify information, thus improving operational efficiency and accuracy.

[0018] 4. Addressing low visualization: The WinCC interface program combines track data and trolley status data to present the track grid distribution, trolley real-time position, and running trajectory in an intuitive graphical manner. Operators can directly observe the operation of the track and trolley, meeting the control requirements of the new energy production line for "high precision, high transparency, and high reliability," facilitating rapid management and control.

[0019] 5. For simplified fault diagnosis: A correlation analysis algorithm based on "fault location - parameter deviation - track status" was designed at both the safety and data processing layers. This eliminates reliance solely on abnormal signals to trigger alarms, enabling rapid fault location. By analyzing parameter deviations and track status, it reduces dependence on manual fault diagnosis and improves efficiency.

[0020] 6. Addressing the issue of inadequate interlocking mechanisms: External device signals (such as workstation door switches and material detection sensors) are integrated into the interlocking control logic at both the safety and control layers. This avoids safety hazards such as material falling or equipment collisions caused by abnormal external signals, such as workstation doors not being closed, thus improving the system's safety and reliability. Attached Figure Description

[0021] Figure 1 A flowchart illustrating a motion control method for a two-dimensional single-track trolley according to an embodiment of the present invention; Figure 2 This invention provides a WINCC intelligent vehicle human-machine interface in a two-dimensional single-track vehicle motion control method according to an embodiment of the present invention. Detailed Implementation

[0022] The present invention will now be described in further detail with reference to specific embodiments and accompanying drawings. Similar elements in different embodiments are referred to by associated similar element reference numerals. In the following embodiments, many details are described to facilitate a better understanding of this application. However, those skilled in the art will readily recognize that some features may be omitted in different situations, or may be replaced by other elements, materials, or methods. In some cases, certain operations related to this application are not shown or described in the specification. This is to avoid obscuring the core parts of this application with excessive description. For those skilled in the art, detailed description of these related operations is not necessary; they can fully understand the related operations based on the description in the specification and general technical knowledge in the art.

[0023] Furthermore, the features, operations, or characteristics described in the specification can be combined in any suitable manner to form various embodiments. At the same time, the steps or actions in the method description can be rearranged or adjusted in a manner obvious to those skilled in the art. Therefore, the various orders in the specification and drawings are only for the clear description of a particular embodiment and do not imply a necessary order, unless otherwise stated that a particular order must be followed.

[0024] The first embodiment of this invention provides a motion control method for a two-dimensional single-track trolley, which is described below in conjunction with... Figure 1 and Figure 2 Please provide a detailed explanation.

[0025] In step S100, track foundation data containing track foundation path location information is generated based on the track paving algorithm; In step S200, based on the obtained track base data, key workstation attribute information is added to the track base path points to generate track data containing workstation information. In step S300, based on the obtained orbit data, orbit parameters and state initialization are performed; In step S400, the status information of the trolley is collected in real time, and the coverage area of ​​the trolley on the track is calculated based on the status information of the trolley and the occupancy status of the track points is updated. In step S500, the common areas of different tracks are fused to unify the track point occupancy status of the common areas; In step S600, each point on each track is polled and the number of cars occupied at each point is counted. If the number of cars occupied at a single point is greater than 1, a collision risk is determined. The collision signal flags of all cars occupying the corresponding point are set, and the collision signals of cars generated by each track are fused to output the final collision detection result. In step S700, the safety distance is converted into the track point span according to the safety distance requirement, the range of warning points in front and behind the trolley is calculated, and whether there are obstacles within the range of the corresponding warning points is detected. If an obstacle is detected, a safety distance warning signal is generated. In step S800, the collision detection results and safety distance warning signals are combined to control the positioning, direction, start and stop of the trolley, and move it to the target workstation.

[0026] The overall system architecture and execution sequence are as follows: 1. The core execution carrier of the entire system is the PLC controller (such as Siemens S7-1200 / 1500), the terminal (WINCC) serves as the human-machine interface, and the server plays only an auxiliary role. Specific division of labor: PLC controller: Executes all core algorithms (initialization, perception conversion, data processing, safety verification, motion control), and is the "brain" of the system; Terminal (WINCC): Responsible for basic data configuration (such as track parameters, workstation information), status display (cart position, warning signals), and manual command input (such as target workstation setting, simulation control), it is the "human-machine interface"; Server: Optional role, used to store historical data (such as operation logs and fault records) and remotely monitor (such as viewing the status of the vehicle on the web), but does not participate in real-time control.

[0027] The system adopts a layered architecture, organized in a logical closed loop of "data generation → initialization → perception → fusion → security → control". Each module interacts through data flow to form a complete control chain. The following section describes the system's composition, relationships, interaction processes, and topology.

[0028]

[0029] (1) Level 1: Basic Data Layer Core function: Stores the static basic data and pre-generated data required for the system to run, which is the prerequisite for all subsequent logic.

[0030] Implementing entity: 1) Data generation: Engineers configure basic parameters (such as track configuration and workstation range) through the terminal (WINCC), and the PLC executes the "paving block" program to generate a path / workstation array, which is stored in the PLC's memory (such as DB block); 2) Data storage: Static data (such as dot spacing and trolley radius) can be stored in the PLC's persistent database, while dynamically generated path arrays are stored in the PLC's non-persistent database; 3) Server-assisted: Historical path data and workstation array backups can be stored on the server (e.g., uploaded via Ethernet protocol) for traceability and optimization.

[0031] Timing Positioning: The "preprocessing phase" before system startup is only executed during the initial system deployment, track layout changes, or parameter adjustments, and does not participate in the real-time operation cycle.

[0032] (2) Level 2: Initialization layer Core Functions When the system starts up or resets, all dynamic variables, status bits, and track occupancy data are reset to their initial state to ensure that the starting point of operation is consistent.

[0033] Implementing entity: The PLC controller (executing independently without terminal / server intervention) is activated when the system is powered on, the PLC is reset (e.g., triggered by the "FirstScan" initial scan signal), or a "system reset" command is issued from the terminal.

[0034] Timing Positioning: The "first step" of the system startup phase, which follows the basic data layer, is executed only once (or triggered during manual reset), and then enters the "real-time running loop" after completion.

[0035] (3) Level 3: Perception layer Core Functions It collects hardware sensor data and program internal status in real time, converting "physical signals" into "digital variables that the PLC can recognize" to provide input for subsequent processing.

[0036] Implementing entity: Hardware data acquisition: Sensor → Signal conditioning module (such as analog / digital input module) → PLC controller (receives signals through I / O module); State transition: The PLC executes functions such as #StPositionRefresher to convert the raw sensor signals into standardized variables; Terminal assistance: The perceived status of the vehicle, such as position and speed, is uploaded to the terminal (WINCC) for display via PLC.

[0037] Timing Positioning: The "entry point" of the real-time running loop forms a continuous loop with the subsequent "data processing layer", "security layer" and "control layer" (the cycle is usually 10~100ms, depending on the PLC scan cycle).

[0038] (4) Level 4: Data Processing Layer Core Functions Based on the input data from the perception layer, core algorithms such as path tracking, target localization, and track occupancy calculation are executed to generate "intermediate results that can be used for safety verification and motion control".

[0039] Implementing entity: The PLC controller (core computing unit) executes in real time based on the latest data from the sensing layer during each scan cycle. The calculation results are stored in the PLC's DB block (data block) for subsequent layers to access.

[0040] Timing Positioning: The "core link" of the real-time running cycle, following the perception layer, is the "data source" for the safety and control layers, and its calculation cycle is consistent with the PLC scanning cycle (10~100ms).

[0041] (5) Level 5: Security Layer Core Functions Based on the calculation results of the data processing layer, collision detection, hierarchical early warning, and interlocking control are executed, and "safety signals" are output to constrain the action instructions of the control layer to avoid dangerous operations.

[0042] The executing entity is the PLC controller (real-time verification), and safety signals (such as collision and warning signals) are simultaneously output to: Control layer: Constrains action commands; Terminal (WINCC): Displays alarm information (such as "Collision risk!" "Vehicle 2 meters ahead"); Server (optional): Records alarm logs for subsequent analysis.

[0043] Timing Positioning: The real-time running loop's "verification phase," which follows the data processing layer and precedes the control layer, is a necessary verification step in the process of "calculation results → action instructions," ensuring that the instructions output by the control layer are safe and effective.

[0044] (6) Level Six: Control Layer Core Functions Based on the verification results of the security layer, output action commands (forward / backward / stop) to control the car to travel along the path and stop accurately.

[0045] Implementing entity: Instruction generation: The PLC controller generates action instructions based on the safety layer results; Instruction execution: The PLC sends instructions to the trolley drive module (frequency converter, servo controller) through the digital output module (DO) or communication interface (such as Profinet, Modbus), which drives the motor to move; Terminal intervention: In manual mode, the operator issues action commands through the terminal (WINCC), and the PLC receives and executes them (which must be verified by the safety layer).

[0046] Timing Positioning: The "final stage" of the real-time running loop outputs action commands, and the changes in the vehicle's state are re-collected by the perception layer, entering the next closed loop of "perception → processing → safety → control" to achieve continuous driving control.

[0047] 2. The relationship between the components The system exhibits upstream and downstream dependencies, forming a closed loop of "data generation → state awareness → security decision-making → execution control," with the specific relationships as follows: The basic data layer serves as the core data source: the track nodes generated by the paving basic algorithm module are the foundation for all subsequent modules. The workstation paving module then adds workstation logic on top of this, providing the control layer with a dual benchmark of "path + workstation".

[0048] The initialization layer is a prerequisite for system operation: the orbit data initialization algorithm module provides the sensing layer with standardized orbit parameters and state array structures, ensuring that subsequent data acquisition and calculation have a unified carrier.

[0049] The perception layer is the input source for safety and control: the track occupancy data acquired in real time by the vehicle status acquisition algorithm module is the core input for data processing, collision detection, and radar early warning, and directly affects the accuracy of safety decisions.

[0050] The data processing layer is responsible for data consistency: the track data processing module resolves data conflicts in overlapping areas of multiple tracks and provides a unified global view for the security layer.

[0051] The safety layer serves as the decision-making basis for the control layer: the safety signals (collision risk / distance warning) output by the collision detection and radar warning algorithm modules are the key logic for the intelligent vehicle control module to determine "whether to allow operation" and "whether to decelerate / stop".

[0052] The control layer is the system execution terminal: the output of the intelligent vehicle control algorithm module directly affects the vehicle hardware, and its control results (changes in vehicle position) feed back into the perception layer, forming a closed-loop feedback.

[0053] 3. The interaction process of each component The system achieves inter-module interaction through data flow. The core interaction process is as follows: 1) Basic data generation stage The paving basic algorithm module generates TrackDataArr (track node array) through single-point / straight-line / circular arc algorithms and passes it to the workstation paving module; The workstation paving algorithm module calls YfWorkStationDataHandle to calculate the key points of the workstation, generates WorkStationData containing WorkStation (number) and WorkStationcode (encoding), and passes it to the track data initialization module.

[0054] 2) Initialization phase The track data initialization algorithm module receives WorkStationData, calculates the upper and lower bounds (LeftLower / LeftUpper, etc.) and lengths (LeftArrNumber, etc.) of the left / right / down tracks, initializes state variables such as Occupancy (occupancy flag), CarNumber (car number array), and ArrNumStepOverRange (boundary crossing flag), and outputs the initialized Left / Right / Down track array to the car status acquisition module.

[0055] 3) State Awareness and Update Phase The vehicle status acquisition algorithm module receives the Left / Right / Down array and the real-time status of the vehicle (InCar array, ArrNumberStep position, SCW1.%X2 maintenance flag). Filter out non-maintenance / non-boundary vehicles, calculate their coverage area (BuffForLower to CarPoint), update the CarNumber and Occupancy of the corresponding track points, and output the updated track status to the track data fusion module.

[0056] 4) Data fusion stage The track data processing algorithm module receives the updated Left / Right / Down array, calls YfMergeSameArr to merge the CarNumber array in common areas (such as the overlapping parts of the left / right tracks), synchronizes the Occupancy state, and outputs MergedTrackData to the collision detection and radar feedback module.

[0057] 5) Safety Decision-Making Stage Collision detection: Poll each point in MergedTrackData, count AreaCarCount (number of cars in use), and if it is greater than 1, set QCar.ClnSignal=1 (collision signal). Radar warning: Convert the safe distance (e.g., 2 meters) into a point span (SignalStep=CEIL(2 / 0.12)=17), detect CarNumber within the warning range in front of and behind the car, and trigger signals such as FRH=1 (deceleration) and FRHH=1 (emergency stop); The two types of safety signals are combined and then transmitted to the intelligent vehicle control module.

[0058] 6) Control Execution Phase The intelligent vehicle control algorithm module receives safety signals and the target workstation, and sets SCW2.%X26 (1 = backward, 0 = forward) in conjunction with JudgeTrack (direction marker). If a safety signal is triggered (such as ClnSignal=1 or FRHH=1), set StopCarSig=1 (stop); otherwise, control the trolley to run based on the comparison between the current position and the target workstation. The changes in the vehicle's position (ArrNumberStep update) are fed back to the vehicle's status acquisition module, completing the closed loop.

[0059] The application scenarios are described below: Application Scenario 1: Production of Cathode Materials for New Energy - Precision Delivery of Ternary / LFP Raw Materials Scenario Background: The production of cathode materials requires the transportation of raw materials such as lithium source (lithium carbonate), transition metal salt (lithium nickel cobalt manganese oxide), and carbon source from the raw material warehouse to the mixer and sintering furnace. The trolley must operate in a "sealed and corrosion-resistant" track (to avoid moisture / contamination of the raw materials) and must be interlocked with the weighing equipment and mixer to ensure accurate raw material ratio (error ≤ 0.1%), while also meeting the "heavy load, low frequency" requirements of raw material transportation (single vehicle load ≥ 500 kg).

[0060] Technical solution implementation: 1. Corrosion-resistant track compatible with workstations Track generation: A "straight track + right-angle curve" track is laid out along the raw material silo → weighing room → mixing room → sintering furnace using "straight track paving blocks + single-point paving blocks". The track surface is made of 316L stainless steel. The program pre-generates path points (0.12 meters / point) using #TrackDataArr. "Anti-corrosion docking points" are set at the weighing station (WorkStation=201), mixing station (WorkStation=202), and sintering feed inlet (WorkStation=203). The error between the path point coordinates and the equipment feed inlet is ≤0.2mm to avoid raw material spillage and corrosion of the track.

[0061] Heavy load adaptation: Set WinccCarRadius=8 (corresponding to a 0.96-meter vehicle body) to match the size of a 500kg raw material barrel; optimize the drive parameters in the intelligent vehicle control module, reduce the starting acceleration from 0.2m / s² to 0.1m / s², and prevent track deformation or raw material shaking caused by heavy load.

[0062] 2. Weighing interlock and precise batching Equipment Collaboration: Integrate the weighing equipment's "weighing completion signal" and "raw material qualified signal" into the #Interlock logic: When the raw material weighing error exceeds 0.1% (weighing equipment feedback abnormality), the intelligent trolley control module prohibits the trolley from executing the "unloading" command (#Interlock1Buff.MfRun := 1), and at the same time, the WinCC interface displays "Weighing abnormality, trolley 1 paused" to prevent unqualified raw materials from flowing into the mixing process.

[0063] Location traceability: The path point index of the trolley in the "raw material warehouse → weighing room" is recorded by #YfScw.ArrNumberStep. Combined with the coordinate data of #TrackDataArr, the transportation trajectory of each batch of raw materials can be traced, which meets the compliance requirements of "batch traceability" for cathode materials (such as ISO 9001, IATF 16949).

[0064] 3. Safety and environmental adaptability Collision avoidance and dust protection: The collision detection module monitors track occupancy through "AreaCarCount". When the trolley approaches the high-temperature zone of the sintering furnace (path point index 500~550), the radar feedback module triggers "high-temperature zone deceleration" (speed drops from 0.5m / s to 0.2m / s), and at the same time interlocks the sintering furnace "furnace door switch": the trolley is prohibited from approaching if the furnace door is not closed.

[0065] Fault diagnosis: In response to the "high corrosivity" of the positive electrode material, the fault correlation analysis algorithm can link "the sensor signal of the trolley 2 at station 202 is lost" with "track corrosion detection data", prompting "check the anti-corrosion coating of the proximity switch at station 202" to reduce downtime caused by corrosion.

[0066] Application Scenario 2: Production of Cathode Materials for New Energy - Transfer of Semi-finished Products After Sintering Scenario: After sintering, the cathode material needs to be transferred from the sintering furnace (outlet temperature ≥500℃) to the cooler, screening machine, and magnetic separator. The trolley is required to be resistant to high temperature (track ambient temperature ≤150℃), and to work in "time-coordinated" with the cooler (unloading can only be done after cooling is completed). It is also necessary to avoid "particle size breakage" of the semi-finished product due to vibration during the transfer (which affects the electrochemical performance of the material).

[0067] Technical solution implementation: 1. Track and workstation design in high-temperature zones Track adaptation: A "U-shaped heat-avoiding track" is generated between the sintering furnace outlet and the cooler using "curved paving blocks" to avoid the high-temperature radiation zone of the sintering furnace; a "buffer station" is set at the cooler inlet (WorkStation=301), and WorkStationcode=5 (cooling-specific code) is defined using "station paving blocks". The "cooler start" signal is triggered after the trolley is in place.

[0068] Vibration control: Set "semi-finished product transfer mode" in the intelligent vehicle control module: When YfScw.WorkStation=301, the vehicle speed is fixed at 0.3m / s, and the pulse frequency is reduced by #YfPulse1 (from 20Hz to 10Hz) to reduce vibration during start / stop, and the semi-finished product breakage rate is reduced from 5% to 0.5%.

[0069] 2. Timing coordination and quality control Equipment interlock: Integrate the cooling machine's "cooling complete signal" and "temperature met signal" (temperature ≤50℃ after cooling) into the #Interlock logic: Only when the cooling machine reports "temperature met" will the intelligent vehicle control module allow the vehicle to execute the "unload" command, thus preventing high-temperature semi-finished products from damaging the screening machine.

[0070] Quality traceability: Add a "semi-finished product batch number" field to the #YfScw structure. When the trolley is transporting the product, it records "sintering furnace number → cooler number → batch number" simultaneously. The transport time and equipment information of each batch of semi-finished products can be queried through the WinCC interface, which meets the "full life cycle traceability" requirement of cathode materials.

[0071] 3. Operation and maintenance in high-temperature environments Status monitoring: The WinCC interface has a dedicated "high temperature zone monitoring panel" that displays the car's position in the high temperature zone (path point index) and motor temperature (collected from the motor temperature sensor signal via PLC) in real time. When the motor temperature is ≥80℃, a "cooling warning" is automatically triggered to prompt the operator to check the cooling fan.

[0072] Track occupancy optimization: The intelligent map module sets a "single lane exclusive" logic in the high-temperature zone (index 500~550): only one car is allowed to enter at the same time, avoiding equipment overload caused by multiple cars staying in the high-temperature zone.

[0073] The overall process overview and the function details of each module are as follows: The core data carrier of the entire system is the **TrackDataArr array** (which stores information such as the coordinates, workstation, and occupancy status of track points). Each module revolves around this array, and the overall process sequence is as follows: The algorithm modules are as follows: Paving Basic Algorithm Module → Workstation Paving Algorithm Module → Track Data Initialization Algorithm Module → Car Status Acquisition and Track Occupancy Update Algorithm Module → Track Data Processing Algorithm Module → Collision Detection Algorithm Module → Radar Feedback and Safe Distance Control Algorithm Module → Intelligent Car Control Algorithm Module.

[0074] I. Detailed Description of Each Module Module 1: Paving Foundation Module – Underlying Algorithm for Track Point Construction Functional positioning: Generates the basic point data (coordinates, angles, and other geometric information) for the track, which is the "skeleton" of the entire map.

[0075] Includes the following programs: single-point paving algorithm, straight-line paving algorithm, and circular arc paving algorithm. Core logic: Calculate the coordinates of the point based on the track type (single point / straight line / circular arc) and populate the TrackDataArr array with basic attributes such as PointX (X coordinate), PointY (Y coordinate), and CarAngle (car angle).

[0076] 1.1 Single-point paving algorithm: Algorithm principle: By directly defining a single two-dimensional coordinate point, the position of the point, the angle of the trolley, and other information are encapsulated into the smallest unit of the track, which is used to construct the key nodes of the track (such as the starting point of the workstation and the turning point).

[0077] step: a. Receive input parameters: target point X coordinate (PointX), Y coordinate (PointY), and car angle (CarAngle); b. Assign the parameters to the temporary buffer structure (BuffTrackDataArr); c. Write the buffered data to the current index (ArrNumber) of the track array (TrackDataArr); d. Increment the index (ArrNumber += 1) to prepare for storing the next node.

[0078] Calculation formula: No complex calculations, the core is the assignment logic: BuffTrackDataArr.PointX = PointX BuffTrackDataArr.PointY = PointY BuffTrackDataArr.CarAngle = CarAngle TrackDataArr[ArrNumber] = BuffTrackDataArr Physical meaning of the parameters:

[0079] 1.2 Straight paving algorithm: Algorithm principle: Generate continuous straight-line nodes along the X-axis or Y-axis according to the relationship between the start and end points, support forward / backward generation, and maintain track continuity through coordinate linear transformation when generating backward. Corresponding document: "Straight Paving.txt".

[0080] Steps: a. Calculate the upper and lower bounds of the track array: tArrayLower = LOWER_BOUND(TrackDataArr, 1), tArrayUpper = UPPER_BOUND(TrackDataArr, 1); b. Judge the relationship between the start and end points: If PointEnd > PointBegin: Forward loop (BEEBEBFor from PointBegin to PointEnd); If PointEnd < PointBegin: Call YfLRealPropCvert to reverse the coordinates and perform a backward loop; If they are equal: Generate a single node (same as single-point paving); c. Determine the generation direction (XYType): XYType = 'Y': X is fixed at Point, and Y changes with the loop variable; XYType = 'X': Y is fixed at Point, and X changes with the loop variable; d. Assign the track number (CurrentOrbit) and coordinates to the buffer structure, write them to the track array and increment the index.

[0081] condition: Input parameters: PointBegin / PointEnd (start and end parameters), XYType (generation direction), CurrentOrbit (track number); Dependency function: YfLRealPropCvert (linear coordinate transformation).

[0082] Calculation formula: The core is the linear interpolation formula of the coordinate reversal function (YfLRealPropCvert): Q = ECH + (ECL - ECH) × (IN - BCH) / (BCL - BCH) in: IN: Input loop variable (e.g., BEEBEBFor); BCH / BCL: Input value upper and lower bounds (PointEnd / PointBegin); ECH / ECL: Output value upper and lower bounds (PointBegin / PointEnd); Q: The transformed coordinate values.

[0083] Formula principle: By using linear mapping, the reverse input values ​​are converted into a forward coordinate order, thus avoiding the disorder of track nodes.

[0084] Physical meaning of the parameters:

[0085] 1.3 Circular Arc Paving Algorithm: Algorithm principle: Quarter-circle arc nodes are generated based on the parametric equation of a circle, and the orientation of the car is determined based on the central angle. step: a. Calculate the length of a quarter circle arc: ArcLength = (π × Radius) / 2, convert to an integer (ArcLength_1); b. Convert the start and end X coordinates to integers and determine if it is an arc (BuffIPointBeginX ≠BuffIPointEndX). c. Generate nodes in a loop (BuffIcounter from 0 to ArcLength_1-1-SbuEndNullStep): d. Skip the initial empty step (BuffIcounter ≥ SbuBegineNullStep); e. Call YfLRealPropCvert to map the X coordinate range; f. Call YfCrlHandle to calculate the Y coordinate (parametric equation) and the central angle (BuffCentralAngle); g. Assign the car angle (CarAngle) according to the range of the central angle; h, write to the track array and increment the index.

[0086] condition: Input parameters: PointBeginX / Y (start point), PointEndX / Y (end point), Radius (radius), XYquadrant (quadrant), Clockwise (clockwise); Limitations: Only supports a quarter-circle; quadrant must be specified.

[0087] Calculation formula: Arc length (quarter circle): ArcLength = 3.14159265358979 × Radius / 2 Principle: Circumference of a circle = 2πR, and the length of a quarter arc is πR / 2.

[0088] Parametric equations of the circle (inside YfCrlHandle): X = Radius × cosθ, Y = Radius × sinθ (adjust the signs according to the quadrant and clockwise, e.g., Y is negative in the fourth quadrant). Central angle calculation: θ = arctan2(Y - Y0, X - X0) ((X0,Y0) are the coordinates of the center of the circle) Formula principle: The central angle θ determines the orientation of the car: the tangent angle differs from the central angle by 90° (e.g., when θ=0°, the tangent is 90°), and the CarAngle is mapped through the angle range.

[0089] Physical meaning of the parameters:

[0090] 2. Workstation Paving Module – A bridge between paths and workstations Workstation planning and coding algorithm: Calculating deceleration, buffering, and stopping points of workstations based on track nodes. Algorithm principle: Based on parameters such as track range and workstation length, the YfWorkStationDataHandle function calculates 5 key workstation locations and assigns codes in a clockwise / counterclockwise direction, supporting workstation name expansion.

[0091] step: a. Calculate the upper and lower bounds of the track array: tArrayLower = LOWER_BOUND(TrackDataArr, 1), tArrayUpper = UPPER_BOUND(TrackDataArr, 1); b. Call YfWorkStationDataHandle to calculate key points: Deceleration points: QDecelerationStep1 (forward), QDecelerationStep2 (reverse); Buffer points: QBufferStep1 (forward), QBufferStep2 (backward); Stop point: QStopStep (core workstation); c. Assign workstation number (WorkStation): For example, QStopStep corresponds to "NumbStation 10"; d. Assign codes based on Clockwise (WorkStationcode): Counterclockwise: QDecelerationStep2→12, QStopStep→10; Clockwise: QDecelerationStep2→8, QStopStep→10; e. Extended workstation name (when WSNameOverSpread?=1): Circularly assign the same name to all nodes between key points.

[0092] condition: Input parameters: TrackDataArr (track array), DistanceBetween2points (distance between two points), Clockwise (direction), WorkStationLength (workstation length); Dependency function: YfWorkStationDataHandle (critical point calculation).

[0093] Calculation formula: YfWorkStationDataHandle's internal core logic (inferred from documentation): Stop point: QStopStep = InStopStep (baseline point, can be zeroed and adjusted); Positive buffer point: QBufferStep1 = QStopStep - 2 × DistanceBetween2points; Positive deceleration point: QDecelerationStep1 = QBufferStep1 - 3 × DistanceBetween2points; Reverse buffer point: QBufferStep2 = QStopStep + 2×DistanceBetween2points; Reverse deceleration point: QDecelerationStep2 = QBufferStep2 + 3×DistanceBetween2points.

[0094] Formula principle: Based on the safety distance design, buffer points (preparing to stop in advance) and deceleration points (decelerating in advance) are set outward from the stopping point. When the directions are different, the code is reversed to ensure logical matching.

[0095] Physical meaning of the parameters:

[0096] 3. Track Data Initialization Module – Prerequisites for System Operation Track parameter and state initialization algorithm: Initialize the parameter range and state array of the track to provide a foundation for subsequent trolley state acquisition and occupancy calculation.

[0097] Algorithm principle: Calculate the upper and lower bounds and length of the track array, initialize arrays such as out-of-bounds flag, occupancy status, and vehicle number, and ensure that the data structure is initialized to the default value.

[0098] step: a. Calculate the orbital parameters (taking the left / right / bottom orbit as an example): Left track: LeftLower = LOWER_BOUND(Left, 1), LeftUpper = UPPER_BOUND(Left,1), LeftArrNumber = LeftUpper - LeftLower + 1; The same applies to the right / lower track; b. Initialize the out-of-bounds flag array: ArrNumStepOverRange[1..10] = 0 (out-of-bounds flags for 10 cars); c. Initialize track state: Left track: loop from LeftLower to LeftUpper, Left[].CarNumber[1..10] = 0, Left[].Occupancy = 0; The same applies to the right / lower track; d. Initialize buffer structures: such as BuffQCar (collision signal buffer) and OccMapFBSignalByIntOfNumberPoint_Buff (warning buffer) set to default values.

[0099] condition: Dependencies: Track arrays (Left / Right / Down, TrackDataArr) generated by the paving module; Input: Total number of cars (CarNumber≤10), Enable flag.

[0100] Calculation formula: Track length: Track length = Upper bound - Lower bound + 1 Principle: The number of valid points is calculated using the array index range.

[0101] Out-of-bounds check initialization: ArrNumStepOverRange[i] = 0 (i=1..10) Principle: The car is assumed not to have crossed the boundary, and will be dynamically updated subsequently.

[0102] Formula principle: Initialization ensures that the array has no garbage data, avoiding abnormal values ​​(such as negative indices or undefined states) during calculation.

[0103] Physical meaning of the parameters:

[0104] 4. Trolley Status Acquisition and Track Occupancy Update Module – Real-time Track Status Sensing The algorithm for vehicle status filtering and track occupancy calculation is as follows: collect vehicle status, filter invalid data, calculate the coverage area of ​​the vehicle on the track, and update the occupancy status.

[0105] Algorithm principle: Based on the car's track, position, and maintenance status, calculate its coverage points on the track, update the track occupancy flag and the corresponding car number, and exclude maintenance / outbound cars.

[0106] step: a. Determining if a vehicle crosses the boundary: Loop through 1 to CarNumber cars, matching the upper and lower bounds of the track according to CurrentOrbit (1 = left, 2 = right, 3 = down); If ArrNumberStep <lower bound or > upper bound, set ArrNumStepOverRange[i] = 1 (out of bounds); b. Filtering cart: Conditions: SCW1.%X2 = 0 (non-repair) and ArrNumStepOverRange[i] = 0 (not out of bounds); c. Calculate the coverage area of ​​the vehicle: Car Point = MIN(ArrNumberStep + WinccCarRadius, Track Length - 1); Rear starting point: BuffForLower = MAX(CarPoint - 2×WinccCarRadius, 0); d. Update track occupancy: Loop through the BuffForLower track points to CarPoint; Write the car number into the CarNumber array; Set Occupancy = 1 (occupied).

[0107] condition: Input parameters: InCar (car state array), WinccCarRadius (car coverage radius), CarNumber (1-10); Filtering rule: Repair (SCW1.%X2=1) or vehicles that have crossed the boundary are not included in the calculation.

[0108] Calculation formula: Car Point = MIN(ArrNumberStep + WinccCarRadius, Track Length - 1) Principle: Limit the coverage area to not exceed the end point of the track to avoid array out-of-bounds errors.

[0109] Rear starting point: BuffForLower = MAX(CarPoint - 2×WinccCarRadius, 0) Principle: Limit the coverage area to no less than the starting point of the track to avoid array out-of-bounds errors.

[0110] Formula principle: WinccCarRadius is the number of points covered by the car on the track (e.g., 14 points), and 2×WinccCarRadius corresponds to the range of points along the entire length of the car.

[0111] Physical meaning of the parameters:

[0112] 5. Track Data Fusion Module – Multi-track Status Integration Module localization: Merging common area data and node status from multiple tracks to provide unified data for collision detection and scheduling systems. Includes the following algorithm models: 5.1 Data Fusion Algorithm for Common Areas of Rail Transit Algorithm principle: Merge common point data (such as overlapping areas) of the left and right tracks to ensure data consistency. step: a. Calculate the common area offset: SubValueCommonTrack = LCommonTrackRight - LCommonTrackLeft; b. Common area of ​​the left track in the loop (LCommonTrackLeft to HCommonTrackLeft): Call YfMergeSameArr(Int) to merge the CarNumber arrays of the left track Left[BuffFor1] and the right track Right[BuffFor1+SubValueCommonTrack]; Synchronously update the CarNumber and Occupancy of the right orbit to the values ​​of the left orbit; Set Occupancy = 1 (the public area is occupied).

[0113] condition: Input: Start and end indices of the common area of ​​the left / right tracks (LCommonTrackLeft / HCommonTrackLeft, etc.); Dependency function: YfMergeSameArr(Int) (merges integer arrays).

[0114] Calculation formula: There is no explicit formula; the core is merging array elements. Right[BuffFor1+SubValueCommonTrack].CarNumber = Left[BuffFor1].CarNumber Right[BuffFor1+SubValueCommonTrack].Occupancy = Left[BuffFor1].Occupancy = 1 Formula principle: The common area is the overlapping part of the left and right tracks. The right track is synchronized with the data of the left track as a reference to ensure data consistency.

[0115] Physical meaning of the parameters:

[0116] 5.2 Node State Fusion Algorithm Algorithm principle: It integrates the node status of multiple tracks (such as two tracks waiting for a workstation) and outputs unified occupancy and trolley number information.

[0117] step: a. Detect the range status of the two tracks respectively: Track 1: YfStCarArrState detects QCarNumberEnum (car number) and QOccupancy (occupancy) of RangeLower1-RangeUpper1; Track 2: Similarly, check RangeLower2-RangeUpper2; b. Data fusion: Call YfMergeSameArr(Int) to merge the QCarNumberEnum of the two tracks; Occupancy flag: QOccupancy = track1.QOccupancy OR track2.QOccupancy; Error flag: ArrError = track1.ArrError OR track2.ArrError; c. Output the fusion results to the scheduling system.

[0118] condition: Input: Track range parameters (RangeLower / RangeUpper), number of cars (CarNumber=4); Dependency functions: YfStCarArrState (range state detection), YfMergeSameArr(Int).

[0119] Calculation formula: Fusion occupancy flag: QOccupancy = Track1.QOccupancy ∨ Track2.QOccupancy Merging error flags: ArrError = Track1.ArrError ∨ Track2.ArrError Formula principle: As long as a node on a track is occupied or malfunctioning, the fusion result is occupied / malfunctioning.

[0120] Physical meaning of the parameters:

[0121] 6. Collision Detection Module – Core of Vehicle Safe Operation Single-point multi-vehicle occupancy collision detection algorithm: detects the collision risk of multiple vehicles occupying a single point on the track and triggers a collision signal.

[0122] Algorithm principle: Poll each point on the track and count the number of cars occupied. If there are ≥2 cars, it is judged as a collision risk. The collision signals of the three tracks are merged.

[0123] step: a. Poll each point on the left / right / bottom track: Initialize the car count at this location (AreaCarCount = 0); Loop through 1 to CarNumber cars. If CarNumber[i] ≠ 0, then AreaCarCount += 1. If AreaCarCount > 1 (multiple vehicles occupying the space): Loop through the numbers of the cars occupying that location; Set the buffer collision signal (BuffQCar[car number].ClnSignal = 1); b. Merging signals from the three tracks: QCar[i].ClnSignal = BuffLeft.BuffQCar[i]∨ BuffRight.BuffQCar[i] ∨BuffDown.BuffQCar[i] (i=1-10).

[0124] condition: Dependency: Output of the track occupancy update module (CarNumber array for Left / Right / Down); Trigger threshold: AreaCarCount>1 (single point ≥ 2 cars).

[0125] Calculation formula: Car count: AreaCarCount = Σ(CarNumber[j] ≠ 0 ? 1 : 0) (j=1 to CarNumber) Principle: Traverse the array of car numbers. Non-zero values ​​indicate that the car occupies the current position. A collision is triggered when the count is ≥2.

[0126] Formula principle: Based on the principle of "single point unique occupation": multiple vehicles are not allowed to exist at the same track point at the same time, otherwise there is a risk of collision.

[0127] Physical meaning of the parameters:

[0128] 7. Radar Feedback and Safe Distance Control Module – Early Warning Mechanism The safe distance is converted into the span of track points, and obstacles in front of and behind the vehicle are detected to trigger deceleration / emergency stop warnings. Safe Distance - Location Transition and Early Warning Detection Algorithm: Algorithm principle: Based on the manufacturer's requirements (2-meter deceleration, 1-meter emergency stop), the distance is converted into the span of the points, the warning range in front and behind the car is calculated, and other cars are detected within the range.

[0129] step: a. Distance-Point Conversion: Convert manufacturer-defined distances (such as FSH) to points: SignalStep = CEIL(SettingDistance / DistanceBetween2points); Example: 2 meters → 2 / 0.12≈16.67 → 17 points (deceleration); 1 meter → 9 points (emergency stop); b. Calculate the position of the trolley: Carhead: CarPoint = MIN(ArrNumberStep + WinccCarRadius, track length - 1); Rear end: CarEndPoint = MAX(CarPoint - 2×WinccCarRadius, 0); c. Calculate the 6 warning ranges: Direction of vehicle direction: FSH (farthest), FRH (middle), FRHH (emergency stop); Rear direction: BRLL (farthest), BRL (middle), BSL (nearest); Example: Emergency stop range for the front of the vehicle: from CarPoint to CarPoint + FRHH_Step; d. Detection and early warning range: If there are non-repair / non-boundary vehicles within the area, set the corresponding warning signal (e.g., FRHH=1); e. Merge the signal into QCar.

[0130] condition: Input parameters: InCar.Setting (distance setting), DistanceBetween2points=0.12 meters (fixed); Filtering rule: Same track occupancy module (not under maintenance, not outside the designated area).

[0131] Calculation formula: Warning point span: SignalStep = CEIL(SettingDistance / DistanceBetween2points) Principle: Rounding up ensures that the safe distance is not less than the set value (avoiding insufficient distance due to decimal places).

[0132] Head-on warning endpoint: CarPoint_Signal = MIN(CarPoint + SignalStep, track length - 1) Rear-end warning start point: CarEndPoint_Signal = MAX(CarEndPoint - SignalStep, 0) Principle: Limit the warning range within the track to prevent array out-of-bounds errors.

[0133] Formula principle: The distance between two points is fixed at 0.12 meters (defined by the manufacturer), and the span of the point corresponds linearly to the actual distance, simplifying distance detection into point range judgment.

[0134] Physical meaning of the parameters:

[0135] 8. Intelligent Vehicle Control Module – Core of the Execution Layer Module positioning: Controls the positioning, direction, start and stop of the vehicle, supporting simulation (debugging) and actual operation (manufacturer feedback). Includes algorithm model: 8.1 Vehicle positioning and steering control algorithm: Algorithm principle: Based on the track array and manufacturer feedback, the HMI coordinates and workstation information of the trolley are updated in real time, and forward (0) / backward (1) is controlled by SCW2.%X26.

[0136] step: a. Determining direction by landmarks: Set JudgeTrack based on CurrentOrbit (track) and WorkStation (workstation) (e.g., LeftLeft=1 means traveling on the left side of the left track); b. Position refresh: Call StPositionRefresher to synchronize the speed, position, and status reported by the manufacturer; c. Direction control: If SCW.%X17=1 (automatic): SCW2.%X26 is set according to JudgeTrack (1 = back, 0 = forward); If SCW.%X17=0 (manual): Manually control SCW2.%X26; d. Target workstation matching: Iterate through the TargetWorkstationTrack array, match TargetWorkstation and get ArrNumberStep (target point); e. Start-stop control: 1. If the current ArrNumberStep reaches the target range, set StopCarSig=1 (stop); 2. If the target is not reached or a cross-track transfer is required, set StopCarSig=0 (run).

[0137] condition: Input parameters: YfScw (car control structure), TrackDataArr_Left / Right / Down (track array), manufacturer feedback signals; Direction mapping: SCW2.%X26=1 → Backward, 0 → Forward.

[0138] Calculation formula: No complex calculations are involved; the core logic is a logical judgment: StopCarSig = (ArrNumberStep ≥ target range) ?1 : 0 Formula principle: By comparing the range of the current point with that of the target point, the start and stop of the trolley are controlled, and special logic is supported when crossing tracks (such as ignoring temporary stops).

[0139] Physical meaning of the parameters:

[0140] 8.2 Algorithm for switching between simulation and actual modes: Algorithm principle: Differentiate between simulation (debugging) and actual operation modes, and control the updating of the car's coordinates and positions separately. step: a. Mode determination: SCW.%X23=1 (simulation), 0 (actual); b. Simulation Mode: Button control coordinates: e.g., "Move Up" → HmiPositionY -= TextJumpStep; Track control: "Previous Step" → ArrNumberStep -= TextJumpStep, "Next Step" → ArrNumberStep += TextJumpStep; c. Actual Mode: Update ArrNumberStep based on the RunningDirection provided by the manufacturer; Move forward: ArrNumberStep += 1, Move backward: ArrNumberStep -= 1; d. Synchronize workstation information: Obtain WorkStation and WorkStationcode from the track array based on ArrNumberStep.

[0141] condition: Simulation mode depends on: SCW4.%X0=1 (manual simulation enable), button input; Actual mode depends on: manufacturer's feedback on the car's current position (manufacturer), and RunningDirection.

[0142] Calculation formula: Simulation mode coordinate adjustment: Move up: HmiPositionY = HmiPositionY - TextJumpStep Move down: HmiPositionY = HmiPositionY + TextJumpStep Trajectory step size: ArrNumberStep = ArrNumberStep ± TextJumpStep Principle: Fixed step size adjustment facilitates manual adjustment of the track and trolley position.

[0143] Physical meaning of the parameters:

[0144] Figure 2 This showcases the WinCC monitoring interface of the trolley dispatching system, used for visual management of the operation of multiple trolleys on the track, workstation status, and overall system dispatching. It can be divided into the following core areas for detailed analysis:

[0145] I. System Architecture and Core Module Terminology 1. Single-point paving block The program unit that generates a single basic path point of the track can independently define the point's coordinates (PointX / PointY), car angle (CarAngle), and track affiliation (CurrentOrbit), and is the smallest data unit for constructing the track.

[0146] 2. Straight paving blocks The program module for generating straight track segments automatically generates a continuous straight path point array (#TrackDataArr) using the start / end coordinates, step size, and direction parameters. It supports forward / reverse generation logic (such as forward traversal when #PointEnd>#PointBegin).

[0147] 3. Paving blocks for curves The program module that generates curved track segments calculates the coordinates of the curve path points based on parameters such as radius, central angle, and clockwise, and associates them with the car's steering angle (matching different angle ranges through CarAngle).

[0148] 4. Workstation paving blocks The module adds workstation attributes to basic path points. Through parameters such as WorkStation (workstation identifier), WorkStationcode (workstation code), and WorkStationNumber (workstation number), it can bind "physical path points" and "process workstations" and supports workstation division based on the number or range of points.

[0149] 5. Track data initialization module The program resets the track parameters when the system starts up, including initializing the range of the left / right / bottom track arrays (#tArray.LeftUpper, etc.), track occupancy status (Occupancy set to 0), and the initial position of the trolley (ArrNumberStep := 0), to ensure consistency during system startup.

[0150] 6. Car status acquisition and track occupancy update module The program collects the vehicle's hardware status (position, speed, operating mode) in real time and updates the track occupancy data synchronously. It uses the #StPositionRefresher function to convert the hardware feedback into path point indices (ArrNumberStep) and marks the occupancy status of the corresponding track points (#Left[...].Occupancy := 1).

[0151] 7. Track Data Fusion Module For the status synchronization procedure of the left / right track common track section (overlapping area), the occupancy data (CarNumber) of different tracks is merged by calculating the index offset (#SubValueCommonTrack) to ensure that the status of the common track section is consistent (e.g., left track point 573 and right track point 1217 are synchronized).

[0152] 8. Collision Detection Module The program detects whether a track point is occupied by multiple vehicles simultaneously by traversing the track array (#Left / #Right / #Down) to count the number of vehicles occupying the track (AreaCarCount). When AreaCarCount > 1, a collision signal is triggered (ClnSignal := 1).

[0153] 9. Radar Feedback and Safe Distance Control Module The program, which simulates radar detection logic, converts physical safety distances (such as 2-meter deceleration and 1-meter emergency stop) into path points (calculated via "DistanceBetween 2points"), defines graded warning parameters such as FSH (forward long distance), FRH (forward medium distance), and FRHH (forward short distance) to achieve multi-vehicle safety distance control.

[0154] 10. Intelligent vehicle control module The core program that controls the movement of the car outputs forward / backward commands (#YfScw.SCW2.%X26) by judging the track direction (JudgeTrack), combines the path point index (ArrNumberStep) to achieve accurate path tracking, and integrates interlocking logic (#Interlock) to prohibit dangerous actions.

[0155] 11. Smart Map The global data model, which integrates track layout, vehicle position, occupancy status, and workstation information, is the core data carrier for collision detection, path planning, and status display. It contains complete arrays of left, right, and bottom tracks and their associated attributes.

[0156] II. Technical Abbreviations and English Acronyms 1. PLC Full English name: Programmable Logic Controller Chinese annotation: Programmable Logic Controller (PLC), the core control unit of the system, executes algorithms such as track generation, vehicle control, and safety logic (e.g., Siemens S7-1200 / 1500 series).

[0157] 2. HMI Full English name: Human-Machine Interface Chinese annotation: Human-machine interface, an interactive device used to visually display track status, trolley position, and receive manual operation instructions.

[0158] 3. WinCC Full English name: Windows Control Center Chinese annotation: Siemens industrial monitoring configuration software. This system is used to build a highly visual monitoring interface, supporting real-time data mapping and alarm display.

[0159] 4. DB block Full English name: Data Block Chinese annotation: Data block, a memory area in a PLC used to store data such as track array (#TrackDataArr) and trolley status (#YfScw), and supports structured data management.

[0160] 5. Modbus-RTU Full English name: Modbus Remote Terminal Unit Chinese annotation: A serial communication protocol used for data transmission between HMI and PLC in traditional systems (this solution has been optimized to a more efficient real-time mapping mechanism).

[0161] 6. OPC Full English name: OLE for Process Control Chinese annotation: Object linking and embedding protocol used for process control, traditionally used by HMI to read PLC parameters (this solution optimizes this through direct data mapping).

[0162] 7.SCW Chinese annotation: Car control word (custom abbreviation), a structure that stores control signals such as car start / stop, direction, mode, etc. (e.g., #YfScw.SCW contains signals such as automatic / manual mode and emergency stop).

[0163] 8.FSH Chinese annotation: Forward Safe High (custom abbreviation), a safety distance classification parameter, corresponding to the farthest warning range (number of path points).

[0164] 9.FRH Chinese annotation: Forward Risk High (custom abbreviation), a safety distance classification parameter, corresponding to a medium warning range.

[0165] 10.FRHH Chinese annotation: Forward Risk High High (custom abbreviation), a safety distance classification parameter, corresponding to the emergency warning range (requiring an emergency stop).

[0166] 11.BRLL Chinese annotation: Backward Risk Low Low (custom abbreviation), a parameter for classifying backward safety distance, corresponding to the emergency warning range.

[0167] 12.BRL Chinese annotation: Backward Risk Low (custom abbreviation), a parameter for classifying backward safety distance, corresponding to a medium-level warning range.

[0168] 13.BSL Chinese annotation: Backward Safe Low (custom abbreviation), a parameter for classifying backward safe distance, corresponding to the farthest warning range.

[0169] 14.DI Full English name: Digital Input Chinese annotation: Digital input, an interface in a PLC module used to acquire signals from proximity switches, limit switches, etc.

[0170] 15.DO Full English name: Digital Output Chinese annotation: Digital output, an interface in a PLC module used to control actuators such as motor start-stop, forward and reverse rotation.

[0171] 16. HSC Full English name: High-Speed ​​Counter Chinese annotation: High-speed counter, a module in PLC used to acquire encoder pulse signals (in this solution, auxiliary positioning and main positioning depend on the path point array).

[0172] III. Core Variables and Structure Terminology 1.#TrackDataArr The orbital data array stores the core parameters of all waypoints, including: oPointX / PointY: X / Y coordinates of the path point; oCarAngle: The steering angle of the car at that point; oCurrentOrbit: Track assignment (1 = left track, 2 = right track, 3 = bottom track); oWorkStation / WorkStationcode / WorkStationNumber: Workstation attribute.

[0173] 2.#YfScw The vehicle control structure (custom name) contains the vehicle's status and control parameters: oArrNumberStep: Current path point index; oCurrentOrbit: Current orbit; oHmiPositionX / HmiPositionY: HMI displays coordinates; oTargetWorkstation: Target workstation; oSCW / SCW2: Control word (including start / stop, direction and other signals).

[0174] 3. #Left / #Right / #Down The left / right / bottom rail occupancy state array, each element contains: oOccupancy: Occupancy status (0 = idle, 1 = occupied); oCarNumber: An array of car numbers occupying this point (supports multi-car detection).

[0175] 4.#BuffTrackDataArr The path point cache structure is used to temporarily store the generated path point parameters, which are written to #TrackDataArr after verification.

[0176] 5.#tArray The track array range structure stores the upper and lower bounds (LeftLower / LeftUpper, etc.) and length (LeftArrNumber) of the left / right / bottom track array, which are used for traversal and out-of-bounds checks.

[0177] 6. #OccMapFBSignalByIntOfNumberPoint The radar warning parameter structure stores the safe distance parameters (number of path points) for each vehicle, such as FSH / FRH / FRHH.

[0178] 7.#QCar The vehicle status output structure includes collision signals (ClnSignal) and radar warning signals (FSH / FRH, etc.), which are used for safety logic and interface display.

[0179] IV. Explanation of Key English Vocabulary 1. Occupancy Chinese annotation: Occupancy status, a Boolean parameter describing whether a track point is occupied by the trolley (0 = free, 1 = occupied).

[0180] 2. Cyclic Chinese annotation: Cyclic mode, the parameter ("Cyclic?") used to define whether the workstation is a cyclically repeating path segment (such as a repeating workstation on a circular track).

[0181] 3. ZeroClearing Chinese annotation: Zeroing mode, workstation parameter reset command (e.g., when #ZeroClearing is TRUE, the workstation number / code is reset to 0).

[0182] 4. BufferStep Chinese annotation: Buffer step size, the transition path point before and after the station (e.g., QBufferStep1 is the buffer point before the station, used for deceleration preparation).

[0183] 5. Deceleration Step Chinese annotation: Deceleration step size, the deceleration trigger point in front of the workstation (e.g., QDecelerationStep1 is used to trigger the deceleration of the trolley).

[0184] 6. Standby Chinese annotation: Alternative parameters, auxiliary information for path points (such as storing arc length in curve paving blocks).

[0185] 7. Offset Chinese annotation: Offset, a fine-tuning parameter used when calculating curve path points (e.g., #Offset is used to correct curve fitting errors).

[0186] 8. CentralAngle Chinese annotation: Central angle, an angle parameter (unit: degrees) used in curve calculations to determine the degree of curvature of a curve segment.

[0187] 9. Pulse Chinese annotation: Pulse, the unit of signal output by the encoder, used in this system to assist in verifying the accuracy of path point positioning.

[0188] 10. Interlock Chinese annotation: Interlocking, a safety logic for multi-device collaboration (such as the linkage control between a trolley and a workstation door to prevent dangerous actions).

[0189] The above examples illustrate the present invention only to aid in understanding it and are not intended to limit the scope of the invention. Those skilled in the art can make various simple deductions, modifications, or substitutions based on the principles of this invention.

Claims

1. A motion control method for a two-dimensional single-track trolley, characterized in that, The method includes: Generate track foundation data containing track foundation path location information based on the track paving algorithm; Based on the obtained track foundation data, key workstation attribute information is added to the track foundation path points to generate track data containing workstation information. Based on the obtained orbit data, perform orbit parameter and state initialization; Real-time collection of vehicle status information; calculation of the vehicle's coverage area on the track based on the vehicle status information; and updating of track point occupancy status. Data from common areas of different tracks is merged to unify the occupancy status of track points in common areas; Poll each point on each track and count the number of cars occupying each point. If the number of cars occupying a single point is greater than 1, a collision risk is determined. Set the collision signal flag of all cars occupying the corresponding point, fuse the car collision signals generated by each track, and output the final collision detection result. Based on the safety distance requirements, the safety distance is converted into the track point span, the range of warning points in front and behind the trolley is calculated, and whether there are obstacles within the corresponding warning point range is detected. If an obstacle is detected, a safety distance warning signal is generated. Based on the collision detection results and the safety distance warning signal, the system controls the positioning, direction, start and stop of the vehicle, and moves it to the target workstation.

2. The motion control method for a two-dimensional single-track trolley as described in claim 1, characterized in that, Based on the track paving algorithm, track foundation data containing track foundation path location information is generated, specifically including: The track paving algorithm includes a single-point paving algorithm, a straight-line paving algorithm, and a circular arc paving algorithm; The single-point paving algorithm is used to generate a single basic path point for the track and independently define the coordinates, trolley angle, and track affiliation of the point. The straight-line paving algorithm is used to generate straight track segments. It automatically generates an array of continuous straight-line path points by using the start / end coordinates, step size, and direction parameters, and supports forward / reverse generation logic. The circular arc paving algorithm is used to generate quarter-circle track segments based on the parametric equation of a circle, and to determine the orientation of the trolley based on the central angle.

3. The motion control method for a two-dimensional single-track trolley as described in claim 1, characterized in that, Based on the obtained track baseline data, key workstation attribute information is added to the track baseline path points to generate track data containing workstation information, specifically including: Based on the operational requirements, identify multiple key points including deceleration point 1, deceleration point 2, buffer point 1, buffer point 2, and stop point. Assign a corresponding fixed workstation name and workstation number to each key point. Batch fill all track points between key locations with the same workstation name to achieve continuous workstation coverage.

4. The motion control method for a two-dimensional single-track trolley as described in claim 1, characterized in that, Based on the obtained orbit data, orbit parameter and state initialization is performed, specifically including: Obtain the starting index (upper bound) and ending index (lower bound) of the array for each track. Calculate the total number of nodes (track length) for each track by subtracting the lower bound index from the upper bound and adding 1. Iterate through all the cars and set the out-of-bounds flag of all cars to 0, indicating that no car has crossed the boundary in the initial state; Iterate through all nodes of each track, and clear the occupancy status and car number of each track node to zero, so that the initial state of all track nodes is free and no car occupancy. The trolley position, coordinates, track number, and workstation information are restored to the track start point; the system enters the initial ready state for normal operation.

5. The motion control method for a two-dimensional single-track trolley as described in claim 1, characterized in that, Real-time collection of vehicle status information; calculation of the vehicle's coverage area on the track based on the vehicle status information; and updating of track point occupancy status. Specifically, this includes: Real-time collection of information on the trolley's track, location, and maintenance status; exclusion of trolleys under maintenance or that have crossed the boundary. Traverse all valid trolleys that are not under maintenance or have crossed boundaries. Calculate the end point of the trolley's coverage and the start point of the trolley's coverage based on the trolley's current location index and coverage radius. Mark all track locations between the trolley's head and tail as occupied and write the corresponding trolley number into the location information to complete the real-time occupancy status update for each track.

6. The motion control method for a two-dimensional single-track trolley as described in claim 1, characterized in that, Data fusion is performed on the common areas of different tracks to unify the occupancy status of track points in the common areas. Specifically, this includes: Determine the common track segment index for different tracks, and obtain the common track segment index offset between different tracks by calculating the difference between the starting indices of the common track segments for different tracks; Using the data of one of the shared track segments as a benchmark, the shared track segments of different tracks are aligned by index offset, the trolley number information is merged, and the occupancy status is forcibly synchronized to ensure that the occupancy status and trolley number of the shared track segments on different tracks are completely consistent.

7. The motion control method for a two-dimensional single-track trolley as described in claim 1, characterized in that, Based on the safety distance requirements, the safety distance is converted into the track point span. The range of warning points before and after the trolley is calculated, and obstacles are detected within the corresponding warning point range. If an obstacle is detected, a safety distance warning signal is generated, specifically including: Traverse all valid cars, obtain the total number of track nodes based on the track where the car is located, and calculate the head and tail positions of the car. The six levels of safety distances set for the car, including three levels forward and three levels backward, are converted into warning track points according to fixed point spacing. The warning zones are divided forward, including long distance, medium distance, and emergency stop warning zones, with the front of the car as the reference, and backward, including long distance, medium distance, and short distance warning zones, with the rear of the car as the reference. Traverse all track points within the warning area. If a vehicle other than this vehicle is detected, trigger the corresponding level of warning signal. The warning signals of each track are logically ORed to output a total of six levels of safety warning signals for each vehicle, including three levels of forward warning and three levels of backward warning.

8. The motion control method for a two-dimensional single-track trolley as described in claim 1, characterized in that, Based on the collision detection results and safe distance warning signals, the system controls the car's positioning, direction, start and stop to move it to the target workstation. Specifically, this includes: Direction determination: Based on the track where the trolley is located and the current workstation number, a unique direction of travel is determined; Direction control: In automatic mode, output forward or reverse commands based on driving direction signs; Path tracking: The vehicle moves point by point according to speed pulses, and stops moving when it approaches the target and synchronizes its position information; Interlocking data acquisition: Collects external safety signals, warning signals, and collision signals to form a comprehensive interlocking status; Safety protection: Based on the warning and collision status, the vehicle is prohibited from moving in the dangerous direction; Simulation debugging: In simulation mode, manual adjustment of position, angle, track point position and trajectory parameters is supported; Status management: Generate and output the working status of the vehicle, including start, run, stop, fault, and emergency stop; Workstation matching: Traverse the target workstation table, match the target location, and output a stop signal when the target location is reached; Location translation: Based on the track point index, convert and output coordinates, angles, and workstation information; Final output: Outputs vehicle control commands, safety signals, and complete position and status information.

9. A two-dimensional single-track trolley motion control system, characterized in that, The system includes: The basic data layer is used to generate basic track data containing basic track path location information based on the track paving algorithm. Based on the obtained track foundation data, key workstation attribute information is added to the track foundation path points to generate track data containing workstation information. The initialization layer is used to perform orbit parameter and state initialization based on the obtained orbit data; The perception layer is used to collect the status information of the vehicle in real time, calculate the coverage area of ​​the vehicle on the track based on the status information, and update the occupancy status of the track points. The data processing layer is used to merge data from the common areas of different tracks to unify the occupancy status of track points in the common areas. The safety layer polls each point on each track and counts the number of cars occupying each point. If the number of cars occupying a single point is greater than 1, a collision risk is determined. The collision signal flags of all cars occupying the corresponding point are set, and the collision signals generated by each track are fused to output the final collision detection result. Based on the safety distance requirements, the safety distance is converted into the track point span, the range of warning points in front and behind the trolley is calculated, and whether there are obstacles within the corresponding warning point range is detected. If an obstacle is detected, a safety distance warning signal is generated. The control layer combines collision detection results and safe distance warning signals to control the car's positioning, direction, start and stop, and move it to the target workstation.

10. A two-dimensional monorail trolley motion control system according to claim 9, characterized in that, The system also includes: a PLC controller and WinCC visual monitoring software; The PLC controller is used to execute all algorithms, acquire signals, perform logic operations, and output instructions. The WinCC visual monitoring software is used to display the internal and external track layout, trolley dynamic position, workstation status, collision warning, interlock status, and operation log in real time, and provides parameter configuration and manual control interfaces.