Data transmission method and system of solid waste sorting equipment, terminal and storage medium
By using a hybrid scheduling mechanism of basic classification identifiers and dynamic priority tags in solid waste sorting equipment, the latency and jitter problems of traditional Ethernet in heterogeneous data transmission are solved, thereby improving the sorting accuracy and efficiency of the sorting equipment.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- BINZHOU BANGBAO CHEM CO LTD
- Filing Date
- 2026-03-27
- Publication Date
- 2026-06-05
AI Technical Summary
Traditional industrial Ethernet cannot meet the real-time and deterministic transmission requirements of heterogeneous data in solid waste sorting equipment, resulting in a decrease in sorting accuracy and efficiency.
By adding basic classification identifiers and dynamic priority tags to data packets, and dynamically adjusting priorities in conjunction with network link status information, a hybrid scheduling mechanism of time-aware shaping and credit shaping is adopted to ensure the timely transmission of critical data packets.
It enables refined hierarchical transmission of heterogeneous data streams, reduces instruction transmission latency and jitter, and improves the execution accuracy and recycling purity of sorting equipment.
Smart Images

Figure CN122160343A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of data transmission technology, and specifically relates to a data transmission method, system, terminal and storage medium for solid waste sorting equipment. Background Technology
[0002] With the increasing demands for solid waste resource utilization, modern sorting lines have evolved into intelligent systems with multiple devices working collaboratively. Screening equipment, magnetic separators, optical separators, and other equipment each perform their specific functions on the line, optimizing overall efficiency through data interaction. In particular, intelligent equipment such as optical separators need to complete material identification, position calculation, and transmit trigger commands to the actuator valves within milliseconds. The real-time and deterministic nature of data transmission directly affects sorting accuracy.
[0003] However, traditional industrial fieldbuses or standard industrial Ethernet have significant shortcomings in this scenario. On one hand, sorting data exhibits a clear heterogeneity: it includes periodic synchronization commands from programmable logic controllers, burst event data triggered by materials, and a large amount of equipment status monitoring and production management information. The requirements for latency, jitter, and bandwidth vary greatly among these different data types. On the other hand, standard Ethernet uses a best-effort transmission mode. When the large volume of image streams generated by the vision system competes for network resources with critical control commands, it can easily lead to command delays or jitter. In high-speed sorting scenarios with hundreds of sorting operations per second, a delay of even a few milliseconds can mean sorting failure, severely impacting recycling purity and efficiency.
[0004] Therefore, there is an urgent need for a method that can meet the special data transmission requirements of solid waste sorting equipment. Summary of the Invention
[0005] In view of the above-mentioned shortcomings of the prior art, the present invention provides a data transmission method, system, terminal and storage medium for solid waste sorting equipment to solve the above-mentioned technical problems.
[0006] In a first aspect, the present invention provides a data transmission method for a solid waste sorting device, comprising: Based on the functional type of the sorted data, a tag containing a basic classification identifier and a dynamic priority marker is added to the data packet of the sorted data at the data source end; wherein, the dynamic priority marker is dynamically calculated and generated according to the real-time urgency of the current business. Before sending the data packet, obtain the link status information of the local network, and adjust the dynamic priority tag in the data packet's label according to the link status information and the real-time urgency of the data packet's service. The network switch receives data packets with tags and schedules the data packets to a matching transmission queue according to the tags; The transmission queue includes a first queue, a second queue, a third queue, and a fourth queue. The first queue uses time-aware shaping to exclusively occupy the transmission window; the second queue is based on dynamic priority priority scheduling; and the third queue uses credit shaping for bandwidth allocation. When a data packet in the second queue carries the highest dynamic priority flag, it is allowed to preempt the transmission of the fourth queue.
[0007] In an optional implementation, based on the functional type of the sorted data, a label containing a basic classification identifier and a dynamic priority marker is added to the data packets of the sorted data at the data source end, including: Based on the functional type of the sorted data, the basic classification identifiers are divided into at least four categories: synchronous control flow, real-time event flow, process awareness flow, and background management flow, and a corresponding fixed code is assigned to each category. For real-time event streams, after the intelligent processing unit of the optical sorter identifies the target material, it calculates the latest allowed network arrival time of the instruction data packet based on the current conveyor belt speed, the physical distance between the target material position and the actuating valve, and maps the remaining time to a dynamic priority flag. For synchronous control flow, packets are marked with the highest basic class and fixed highest dynamic priority when generated; For process-aware flows and background management flows, the corresponding basic categories and default lower dynamic priorities are marked by device drivers or application software.
[0008] In one optional implementation, based on the functional type of the sorted data, the basic classification identifier is divided into at least four categories: synchronous control flow, real-time event flow, process-aware flow, and background management flow, and a corresponding fixed code is assigned to each category, including: The sorting data that directly participates in the closed-loop control of the equipment, has strict periodicity, and has a delay tolerance of less than microseconds is identified as the synchronous control flow; Sorting data triggered by material identification events, containing execution instructions, and with a latency tolerance in the millisecond range, are identified as real-time event streams; The sorted data used for equipment status monitoring and process parameter acquisition, which is periodic but has a delay tolerance higher than the preset delay tolerance threshold, is identified as process sensing flow. The sorted data used for non-real-time management functions such as production statistics, report generation, and remote access is identified as the backend management flow.
[0009] In an optional implementation, before sending the data packet, link state information of the local network is obtained, and the dynamic priority tag in the data packet's label is adjusted according to the link state information and the real-time urgency of the data packet's service, including: Deploy link-state beacon generators on access layer switches in critical network segments. The beacon generators periodically broadcast link-state report frames. The report frames include at least the instantaneous occupancy rate of each priority queue on the port, the estimated maximum delay for traffic other than the synchronization control flow, and the global timestamp synchronized with the network master clock. Before sending real-time event stream data packets, the data source listens for or actively queries the link status report frames of the next-hop switches on the target path to obtain the current estimated network latency. The remaining service time of the data packet is compared with the estimated network delay plus safety margin; if the remaining service time is greater than the estimated network delay plus safety margin, it is sent according to the originally calculated dynamic priority mark; if the remaining service time is close to or less than the estimated network delay plus safety margin, the dynamic priority mark of the data packet is increased by one or more levels.
[0010] In an optional implementation, if the remaining service time is close to or less than the network estimated delay plus a safety margin, the dynamic priority label of the data packet is raised by one or more levels, including: A multi-level dynamic priority mapping table is preset, with each level corresponding to an urgency level and a corresponding numerical label; The escalation level is determined based on the difference between the remaining service time and the estimated network latency plus safety margin: when the difference is less than the first threshold and greater than or equal to the second threshold, it is escalated by one level; when the difference is less than the second threshold and greater than or equal to the third threshold, it is escalated by two levels; when the difference is less than the third threshold, it is escalated to the highest dynamic priority level. The safety margin is a fixed preset value, or it can be dynamically adjusted based on the historical transmission success rate of the queue where the data packet is located.
[0011] In one optional implementation, the network switch receives tagged data packets and schedules the data packets to a matching transmission queue based on the tags, including: When a network switch receives a data packet, it parses the tag field in the Ethernet frame header and extracts the basic classification identifier and dynamic priority tag. According to the preset queue mapping rules, data packets carrying different basic classification identifiers are scheduled to the corresponding physical or logical queues: data packets carrying the basic identifier of synchronous control flow are scheduled to the first queue; data packets carrying the basic identifier of real-time event flow are scheduled to the corresponding priority sub-queue in the second queue group according to their dynamic priority marking; data packets carrying the basic identifier of process awareness flow are scheduled to the third queue; and data packets carrying the basic identifier of background management flow are scheduled to the fourth queue. The queue mapping rules are stored in the configuration register of the switch or dynamically issued by the central network controller. Within the second queue, services are provided according to the priority order of each sub-queue, with data packets from higher-priority sub-queues being sent first. During cross-queue scheduling, the dynamic priority flag serves as the basis for scheduling between sub-queues within the second queue group, and is also used to trigger the preemption mechanism. That is, only when the data packet of the highest priority sub-queue in the second queue group carries the highest dynamic priority flag is it qualified to preempt the transmission of the fourth queue.
[0012] In an alternative implementation, when a network switch parses a packet and finds that the label field of the packet is corrupted or contains undefined encoding, the packet is scheduled to the fourth queue by default.
[0013] Secondly, the present invention provides a data transmission system for a solid waste sorting device, comprising: The tag generation module is used to add tags containing basic classification identifiers and dynamic priority markers to the data packets of sorted data at the data source end according to the functional type of the sorted data; wherein, the dynamic priority markers are dynamically calculated and generated according to the real-time urgency of the current business. The tag adjustment module is used to obtain the link status information of the local network before sending the data packet, and adjust the dynamic priority tag in the tag of the data packet according to the link status information and the real-time urgency of the service of the data packet. The data scheduling module is used by the network switch to receive data packets with tags and schedule the data packets to a matching transmission queue according to the tags. The transmission queue includes a first queue, a second queue, a third queue, and a fourth queue. The first queue uses time-aware shaping to exclusively occupy the transmission window; the second queue is based on dynamic priority priority scheduling; and the third queue uses credit shaping for bandwidth allocation. When a data packet in the second queue carries the highest dynamic priority flag, it is allowed to preempt the transmission of the fourth queue.
[0014] Thirdly, a terminal is provided, including: Memory, used to store the data transmission program of the solid waste sorting equipment; The processor is configured to implement the data transmission method of the solid waste sorting device as provided in the first aspect when executing the data transmission program of the solid waste sorting device.
[0015] Fourthly, a computer-readable storage medium is provided, on which a data transmission program for a solid waste sorting device is stored, wherein when the data transmission program for the solid waste sorting device is executed by a processor, the steps of the data transmission method for the solid waste sorting device as provided in the first aspect are implemented.
[0016] The beneficial effects of this invention lie in the fact that the data transmission method, system, terminal, and storage medium for solid waste sorting equipment provided by this invention, through the coordinated setting of basic classification identifiers and dynamic priority markers, achieve refined hierarchical transmission of heterogeneous data streams in solid waste sorting scenarios. The basic classification identifiers, based on the hierarchical role of data in the control loop, divide synchronous control streams, real-time event streams, process awareness streams, and background management streams into different main queues, ensuring physical isolation between high-real-time data and low-sensitivity data at the queue level to avoid mutual interference. The dynamic priority markers further differentiate the urgency within the real-time event stream, dynamically adjusting based on real-time parameters such as material location and conveyor belt speed, ensuring that the most urgent instructions receive the highest forwarding authority. This collaborative mechanism of the two identifiers ensures a deterministic transmission window for periodic control instructions through basic classification, while enabling flexible preemption of sudden events through dynamic priority, thus solving the defect that critical instructions are easily affected by network congestion in the standard Ethernet best-effort transmission mode. Based on the hybrid scheduling method of two identifiers, the instruction transmission delay and jitter are effectively reduced in millisecond-level sorting scenarios, and the execution accuracy of intelligent equipment such as optical sorting is improved, thereby significantly improving the recycling purity and overall efficiency of solid waste sorting. Attached Figure Description
[0017] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0018] Figure 1 This is a schematic flowchart of a method according to an embodiment of the present invention.
[0019] Figure 2 This is a schematic flowchart illustrating the adjustment of dynamic priority flags according to an embodiment of the present invention.
[0020] Figure 3 This is a schematic block diagram of a system according to an embodiment of the present invention.
[0021] Figure 4 This is a schematic diagram of the structure of a terminal provided in an embodiment of the present invention. Detailed Implementation
[0022] To enable those skilled in the art to better understand the technical solutions of this invention, the technical solutions of the embodiments of this invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this invention, and not all embodiments. Based on the embodiments of this invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of this invention.
[0023] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains. The terminology used herein in the description of the invention is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention.
[0024] The data transmission method of the solid waste sorting equipment provided in this embodiment of the invention is executed by a computer terminal, and correspondingly, the data transmission system of the solid waste sorting equipment runs in the computer terminal.
[0025] Figure 1 This is a schematic flowchart illustrating a method according to an embodiment of the present invention. Wherein, Figure 1 The implementing entity can be a data transmission system for solid waste sorting equipment. Depending on different requirements, the order of steps in this flowchart can be changed, and some steps can be omitted.
[0026] like Figure 1 As shown, the method includes: S1. Based on the functional type of the sorted data, add a label containing a basic classification identifier and a dynamic priority marker to the data packet of the sorted data at the data source end; wherein, the dynamic priority marker is dynamically calculated and generated according to the real-time urgency of the current business. S2. Before sending the data packet, obtain the link status information of the local network, and adjust the dynamic priority tag in the tag of the data packet according to the link status information and the real-time urgency of the service of the data packet; S3. The network switch receives data packets with tags and schedules the data packets to a matching transmission queue according to the tags; The transmission queue includes a first queue, a second queue, a third queue, and a fourth queue. The first queue uses time-aware shaping to exclusively occupy the transmission window; the second queue is based on dynamic priority priority scheduling; and the third queue uses credit shaping for bandwidth allocation. When a data packet in the second queue carries the highest dynamic priority flag, it is allowed to preempt the transmission of the fourth queue.
[0027] In one embodiment of the present invention, based on step S1, the following will provide a possible embodiment and describe its specific implementation in a non-limiting manner.
[0028] S101. Classification and Coding of Basic Classification Identifiers Based on the hierarchical role and real-time requirements of sorting data in the solid waste sorting control closed loop, the basic classification identifiers are divided into four basic categories, and a unique fixed code is assigned to each category. The specific determination principle is as follows: Synchronous control flow: Sorting data that directly participates in the closed-loop control of the equipment, has strict periodicity, and has a delay tolerance in the microsecond range (e.g., <100μs) is identified as synchronous control flow. Examples include start / stop commands, speed adjustment commands, and parameter setting commands sent by a programmable logic controller (PLC) to each sorting device. This type of data is assigned a fixed code of 001 and is given the highest scheduling priority when the data packet is generated.
[0029] Real-time event stream: Sorting data triggered by material identification events, containing execution instructions, and with a latency tolerance in the millisecond range (e.g., 1-10ms) is defined as a real-time event stream. For example, after an optical sorter identifies a target material (such as a PET bottle or aluminum can), it sends an injection instruction containing the material coordinates and the trigger time to the actuator valve. This type of data is assigned a fixed code 010.
[0030] Process-aware streams: Sorting data used for equipment status monitoring and process parameter acquisition, which is periodic but has a high latency tolerance (e.g., >100ms), are defined as process-aware streams. Examples include real-time feedback data from each sorting device, such as motor current, speed, temperature, material level, blockage status, and fault alarm data. This type of data is assigned a fixed code 011.
[0031] Background Management Flow: Sorted data used for non-real-time management functions such as production statistics, report generation, and remote access is designated as background management flow. Examples include production statistics for each discharge port, equipment energy consumption data, and production report data. This type of data is assigned a fixed code of 100.
[0032] The aforementioned fixed code is written into the Priority Code Point (PRI) field of the Virtual Local Area Network (VLAN) tag in the Ethernet frame, or the Flow Identifier field of the Time Sensitive Networking (TSN) protocol, with a length of 3 binary bits, and reserved for future expansion of the code value (such as 101, 110, 111).
[0033] S102. Dynamic Priority Marker Generation for Real-Time Event Streams For real-time event streams, after the intelligent processing unit of the optical sorter identifies the target material, it performs the following steps to generate dynamic priority tags: When the vision recognition system of the optical sorting machine detects target materials (such as PET bottles, aluminum cans, and other recyclable materials) on the conveyor belt, it immediately generates a recognition event for that material. The intelligent processing unit obtains the current position of the material in the image coordinate system and maps it to the physical coordinate system of the conveyor belt through a pre-calibrated coordinate transformation relationship, thereby obtaining the physical distance between the current position of the material and the actuator valve. (Unit: m). This distance is calculated taking into account the direction of the conveyor belt, the relative position of the material and the air valve, and the spray coverage of the air valve.
[0034] The intelligent processing unit communicates with the encoder of the conveyor belt drive system via fieldbus or directly to obtain the current conveyor belt speed in real time. (Unit: m / s). To ensure calculation accuracy, the speed value is usually calculated as a moving average of multiple encoder pulse cycles to filter out instantaneous fluctuations.
[0035] Based on the above parameters, the latest allowed network arrival time for this instruction data packet is calculated. (Absolute global time), calculated using the following formula:
[0036] in: The current global time is obtained through a high-precision time synchronization protocol in the network (such as IEEE 802.1AS-2020) to ensure that all devices in the network have a unified nanosecond-level time base; This indicates the transmission time required for the material to move from its current position to the position of the actuating valve, i.e., the estimated time for the material to reach the valve's injection zone. For safety margins, this includes the response time of the actuator (such as the mechanical delay of the valve from receiving the command to completing the injection), the fixed delay of signal transmission at the physical layer, and the processing overhead within the intelligent processing unit. In this embodiment, The margin can be calibrated according to the actual system, for example, 2ms. For high-speed sorting scenarios (hundreds of sorting per second), this safety margin can be appropriately reduced to 1ms; for low-speed sorting of large materials, it can be increased to 5ms to ensure reliability.
[0037] Calculate the remaining time between the current time and the latest allowed network arrival time. :
[0038] The remaining time This indicates the maximum tolerable end-to-end transmission delay for the instruction data packet under current network transmission conditions. If the total delay from the sender to the actuator valve exceeds [a certain threshold], [the delay will be considered]. If this happens, the air valve will miss the optimal time to spray the target material, resulting in sorting failure.
[0039] Through the above calculations, the intelligent processing unit converts the material movement parameters in the physical world into time constraints for network transmission, providing a quantitative basis for subsequent dynamic priority mapping. The shorter the remaining time, the higher the real-time requirement of the instruction data packet, and the higher its processing priority needs to be obtained in the network.
[0040] Remaining time Mapped to dynamic priority flags This embodiment employs a threshold interval mapping method, pre-setting multiple remaining time threshold intervals. Each interval corresponds to a dynamic priority level; the shorter the remaining time, the higher the dynamic priority level. The specific mapping rules are as follows:
[0041] Among them, 7 represents the highest dynamic priority and 3 represents the lowest dynamic priority. The dynamic priority flag is written into the data frame header along with the basic classification identifier (010) and then sent.
[0042] In addition, the data packet payload of the real-time event stream also embeds the generation timestamp. (Right now ) and business deadline This allows for coordinated scheduling of subsequent network devices.
[0043] S103. Marking rules for synchronous control flow Synchronous control flow is the basic data flow for realizing equipment interlocking control and coordinated operation in solid waste sorting production lines, and it has strict periodicity and extremely high real-time requirements.
[0044] (1) Data characteristics and range of synchronous control flow Synchronous control flow mainly includes periodic control commands sent by programmable logic controllers (PLCs) or distributed control systems (DCS) to various sorting devices. Examples include: start / stop commands and vibration frequency adjustment commands for screening equipment; excitation current adjustment commands for magnetic separators; start / stop and speed adjustment commands for conveyor belts; and emergency stop interlock commands for the entire line. Typical characteristics of this type of data are: strict periodicity (usually millisecond or microsecond-level periods), fixed data packet length (usually tens of bytes), extremely low latency tolerance (generally required to be less than 100 microseconds), and no packet loss or out-of-order delivery allowed.
[0045] (2) Allocation of basic classification identifiers and dynamic priority markers According to the basic classification identifier partitioning rules defined in S101, the synchronization control flow is assigned basic classification identifier 001. Simultaneously, its dynamic priority flag is fixed at the highest level, 7. This setting is based on the following technical considerations: Highest level of protection: Dynamic priority flag 7 indicates that the data packet enjoys the highest scheduling priority in the entire network, and no network congestion or queue backlog can affect its transmission.
[0046] Fixed value rather than dynamic calculation: Synchronous control flow does not participate in the dynamic priority calculation process described in S102 because its urgency is constant, meaning that every control command within each cycle has equal importance, and there is no concept of "more urgent". Dynamic calculation would instead introduce unnecessary processing delays and uncertainties.
[0047] Hierarchical relationship with other data flows: The fixed highest level ensures that the synchronous control flow always takes precedence over the real-time event flow (the highest dynamic priority is 7 but may be downgraded) and the process-aware flow, which is in line with the basic principle of "safety first" in industrial control.
[0048] (3) Specific implementation of the tag During packet generation, the PLC or motion controller's protocol stack, when constructing the Ethernet frame, writes the basic classification identifier 001 and the dynamic priority flag 7 into the PRI field of the VLAN tag (occupying 3 bits, binary 111 represents 7). For networks using the TSN protocol, these flags can also be written into the IEEE 802.1Qbv flow identifier or the IEEE 802.1Qci flow filtering rules. The marking process is completed at the hardware level, ensuring nanosecond-level time accuracy and not affecting the generation cycle of control commands.
[0049] (4) Processing privileges on the transmission path Synchronization control flow packets carrying this tag enjoy the highest processing privileges in network switches: during the enqueue phase, they directly enter the highest priority sub-queue of the first queue (TAS queue); during the scheduling phase, they enjoy a dedicated transmission window reserved by Time-Aware Shaping (TAS), unaffected by the credit values or preemption mechanisms of other queues; when transmitting across devices, all switches and terminal devices on the path process them according to the principle of "synchronization control flow priority," ensuring deterministic transmission across the entire network. This privileged design guarantees the absolute reliability of the solid waste sorting line during critical operations such as emergency shutdowns and parameter synchronization.
[0050] S104. Marking rules for process-aware flow and back-end management flow Process-aware streams and back-end management streams are non-real-time or weakly real-time data, with relatively relaxed requirements for latency and jitter. Therefore, a static low-priority labeling strategy is adopted.
[0051] (1) Labeling rules for process-aware flow The process sensing flow mainly includes real-time status monitoring data and process parameters uploaded by each sorting device, such as: motor current of the drum screen, amplitude and frequency of the vibrating screen, excitation current and temperature of the magnetic separator, instantaneous flow rate of the belt scale, material level height of the level gauge, and various fault alarm signals (non-emergency, such as motor overheat warning). This type of data is characterized by: periodicity (usually on the order of seconds or hundreds of milliseconds), moderate data volume (tens to hundreds of bytes), and tolerance for certain delays (hundreds of milliseconds to seconds) and fluctuations.
[0052] According to the classification rules of S101, the process-aware flow is assigned the basic classification identifier 011. Its dynamic priority flag is set to the default lower level 2 (value range 0-7, 7 being the highest). The setting rules are as follows: Static low priority: Process-aware streams do not participate in dynamic priority calculations; all data packets are uniformly marked with a dynamic priority of 2. This is because the real-time requirement for status monitoring data is consistency: the motor temperature at the current moment is of equal importance to the temperature at the previous moment, and there is no need to dynamically adjust the priority based on the content.
[0053] Bandwidth Guarantee Requirement: Although the priority is low, the process awareness stream still requires a certain amount of bandwidth guarantee to ensure that the monitoring system can continuously acquire device status. Therefore, this data stream is scheduled to the third queue and uses a credit shaping (CBS) mechanism to allocate a fixed minimum bandwidth to it through preset credit value parameters (such as sending slope and idle slope).
[0054] Implementation: The device's built-in smart sensor, remote I / O module, or device controller driver automatically adds the basic classification identifier 011 and dynamic priority flag 2 when generating data packets. The flag writing location is the same as in S103.
[0055] (2) Marking rules for background management flow The back-end management workflow mainly includes non-real-time data used for production management, statistical analysis, and remote access, such as daily output statistics for each discharge port, cumulative equipment uptime, energy consumption data, production reports, video monitoring streams (non-real-time playback), and configuration interface data for remote access. This type of data is characterized by: burstiness or periodicity (minute-level or hour-level), large data volume (potentially exceeding kilobytes), high latency tolerance (second-level to minute-level), and insensitivity to jitter.
[0056] According to the S101 classification rules, the backend management flow is assigned a basic classification identifier of 100. Its dynamic priority flag is set to the lowest level of 1 (value range 0-7, lowest valid non-zero value; 0 can be reserved for future expansion). The setting rules are as follows: Lowest Priority: Background management flows have the lowest transmission priority in the network and can only be sent when all higher priority queues (first, second, and third queues) are idle. This ensures that background data does not interfere with the transmission of real-time control and production monitoring data.
[0057] No bandwidth guarantee: The backend management flow does not employ credit shaping or any bandwidth guarantee mechanism, relying entirely on the network's idle bandwidth for transmission. When network congestion occurs, these data packets may be delayed or dropped (reliability is guaranteed by upper-layer protocols, such as TCP retransmission).
[0058] Implementation: The network protocol stack of the host computer monitoring software, Manufacturing Execution System (MES) client, or data server adds a basic classification identifier of 100 and a dynamic priority flag of 1 when generating data packets. For abnormal data packets with corrupted tag fields or undefined encodings, they are scheduled to the fourth queue by default according to the S301 rules and processed in the same way as the background management flow.
[0059] (3) Reasons why the two types of data streams do not participate in dynamic priority calculation Neither the process-aware flow nor the background management flow participates in the dynamic priority calculation described in S102, nor is it affected by the adaptive promotion mechanism in S203. The main technical reason is: Computational resource conservation: Dynamic priority calculation involves solving real-time parameters such as conveyor belt speed and material position, which consumes the computing power of the intelligent processing unit. Solid waste sorting sites have numerous process sensing devices and backend servers; if all of them were to participate in dynamic calculation, it would result in enormous computational overhead and network signaling burden.
[0060] Demand matching: The core objective of the dynamic priority mechanism is to solve the real-time transmission problem of the "most urgent events". However, the latency requirements of process awareness streams and back-end management streams are flexible. Dynamically increasing their priority will not bring actual benefits, but may instead crowd out the resources of real-time event streams.
[0061] System stability: Static low-priority strategies make the network behavior of these two types of data flows predictable, facilitating bandwidth planning and troubleshooting for network engineers. Dynamic changes increase the complexity of network behavior and may lead to unpredictable interactive effects.
[0062] Please refer to Figure 2 In one embodiment of the present invention, based on step S2, the following will provide a possible embodiment and describe its specific implementation in a non-limiting manner.
[0063] S201. Deploy the link state beacon generator In critical segments of the solid waste sorting production line, such as the access layer switches connecting all optical sorting machine vision systems and actuating valves, a lightweight service is deployed as a local link status beacon generator. This beacon generator maintains high-precision time synchronization with the network master clock (using the IEEE 802.1AS-2020 protocol, with a synchronization accuracy better than ±100ns) and periodically (e.g., every 100 microseconds) broadcasts link status report frames.
[0064] The link status report frame broadcast by the link status beacon generator is encapsulated in Ethernet and consists of the following fields: a 14-byte frame header with a destination address set to a broadcast or multicast address to ensure all listening nodes can receive it; followed by an 8-byte timestamp field, recording the global time synchronized with the network's master clock in nanoseconds, used by the receiver to accurately calculate link delay; a 2-byte port number field identifying the physical port of the switch corresponding to this report; an 8-byte queue occupancy field, representing the instantaneous occupancy rate of a priority queue (range 0-100%), reflecting the real-time congestion status of the 8 queues within the port; a 4-byte estimated maximum delay field, representing the estimated maximum delay time for traffic other than the synchronization control flow in microseconds, dynamically calculated based on queue length, available bandwidth, and scheduling algorithm; a 4-byte reserved field for future functional expansion; and finally, a 4-byte checksum field for frame transmission integrity verification. This report frame, broadcast periodically, provides crucial network status information to the data source, forming the basis for dynamic priority adaptive adjustment.
[0065] The formula for calculating the estimated maximum delay is as follows:
[0066] In the formula, This is the maximum frame length (usually 1522 bytes). The total length of data waiting to be sent in the current queue. For the available bandwidth of the port, The average queuing delay introduced by queue scheduling (which can be calculated based on the scheduling algorithm model of the switch chip).
[0067] S202. Data source obtains link status information. Before sending real-time event stream data packets, the data source (such as the intelligent processing unit of an optical sorter) performs the following operations to obtain the current network status: First, determine the next-hop switch on the target path. The data source maintains a routing table or obtains the address of the next-hop switch leading to the actuator valve via a neighbor discovery protocol.
[0068] Then, listen for the link status report frames periodically broadcast by the switch, or actively send a query request to obtain the latest link status information. To improve efficiency, the data source can cache the most recently received link status reports locally, with the cache validity period set to 1.5 times the beacon period (e.g., 150 microseconds), and relisten after the timeout.
[0069] Extract key parameters from link status report frames: Current network estimated latency (Unit: μs) Report frame generation timestamp (Unit: ns) S203. Dynamic priority adaptive adjustment The data source dynamically adjusts priorities based on the acquired network status information and the real-time urgency of the data packets. The specific steps are as follows: Step 1: Calculate the remaining time for the service Remaining business time The calculation formula is the same as S102 in Example 1:
[0070] in, This is the service dead time (absolute global time) for this instruction data packet. This is the current global time.
[0071] Step 2: Calculate the benchmark value Adding a safety margin to the estimated network latency yields the benchmark value. :
[0072] In the formula, the safety margin This is used to compensate for transmission delay, processing delay, and clock synchronization error of data packets from the current node to the next-hop switch. In this embodiment, It can be set to a fixed value (e.g., 100μs) or dynamically adjusted based on the historical transmission success rate of the queue containing the data packets. The dynamic adjustment formula is as follows:
[0073] In the formula, Based on a safety margin (e.g., 50 μs). This represents the success rate of data packet transmission in this queue over the past second. This is an adjustment factor (e.g., 0.5). As the transmission success rate decreases, the safety margin automatically increases to more conservatively assess network conditions.
[0074] Step 3: Compare the judgment with the priority increase Remaining business time Compared with the benchmark value Comparison: like ( To determine the threshold, for example, take... If the percentage is 10%, it indicates that the current network condition is good and the data packets have sufficient time to arrive, then the original calculated dynamic priority will be used for marking. send; like This indicates that the network may not be able to guarantee that data packets arrive on time, and their dynamic priority needs to be increased.
[0075] Priority promotion levels are based on the difference between the remaining time of the business and the benchmark value. Confirmed. This embodiment uses a multi-threshold mapping method. The number of dynamic priority upgrade levels is determined based on the difference Δ between the remaining service time and the comparison benchmark value. The specific rules are as follows: When the difference Δ is less than zero, it indicates that there is sufficient remaining service time, and no priority upgrade is performed. The data packet is processed according to the original dynamic priority P. dyn Send; when the difference Δ is greater than or equal to zero but less than the first threshold Δ1, it is promoted one level, and the final dynamic priority is min(P). dyn +1,7); When the difference Δ is greater than or equal to the first threshold Δ1 but less than the second threshold Δ2, it is increased by two levels, and the final dynamic priority is min(P). dyn +2,7); When the difference Δ is greater than or equal to the second threshold Δ2, it is directly promoted to the highest dynamic priority 7. This hierarchical promotion mechanism ensures that when network congestion intensifies, the most urgent data packets can obtain the highest priority processing authority commensurate with their urgency.
[0076] Among them, threshold and This is set according to the system's real-time requirements. In this embodiment, we take... , .
[0077] For example, the original dynamic priority of a real-time event stream data packet was 5 (corresponding to...) Current network estimated latency Safety margin ,but .calculate ,satisfy Therefore, it is promoted by 1 level, and the final dynamic priority becomes 6.
[0078] Step 4: Encapsulate and send The adjusted dynamic priority flag is written to the VLAN tag PRI field in the data frame header (overwriting the original value), while the basic classification identifier remains unchanged. The data packet is then encapsulated and sent to the network.
[0079] The aforementioned priority adaptive adjustment process is executed at the network card driver or hardware level on the data source side to ensure extremely low processing overhead (usually within microseconds) and to not affect the timeliness of real-time event stream transmission.
[0080] In one embodiment of the present invention, based on step S3, the following will provide a possible embodiment and describe its specific implementation in a non-limiting manner.
[0081] S301. Packet Parsing and Exception Handling When a network switch receives a data packet, it first parses the tag field in the Ethernet frame header to extract the basic classification identifier and dynamic priority flag. In this embodiment, the tag field is located in the Priority Code Point (PRI) area of the IEEE 802.1Q VLAN tag, and is 3 bits long. The high 2 bits are used to represent the basic classification identifier, and the low 1 bit, together with part of the basic classification identifier, constitutes the dynamic priority flag, or a dedicated bit field in the flow identifier field of the TSN protocol.
[0082] During the parsing process, the switch performs an integrity check: first, it verifies the Ethernet frame checksum is correct, and then checks whether the encoded value of the tag field is within the system's predefined legal range. If a corrupted tag field is detected (e.g., a checksum failure) or contains undefined encoding (i.e., encoding values not registered in the system configuration, such as binary 101, 110, or 111), the packet is considered an abnormal packet and is scheduled to the fourth queue (background management flow queue) for processing by default. This abnormal handling mechanism avoids packet loss or misscheduling due to tag errors, ensuring network robustness.
[0083] S302. Queue Mapping Based on Basic Classification Identifiers The switch maintains preset queue mapping rules internally. These rules can be stored in the switch's configuration register as static configuration, or dynamically distributed by the central network controller via the TSN protocol (e.g., centralized configuration using NETCONF / YANG or IEEE 802.1Qcc protocols). According to the rules, packets carrying different basic classification identifiers are mapped to corresponding physical or logical queues. First queue (synchronization control flow queue): Data packets carrying the synchronization control flow basic identifier (coded 001) are scheduled to the first queue. This queue uses a time-aware shaping (TAS) mechanism to exclusively occupy transmission bandwidth within a periodic time window preset by the central network controller, ensuring deterministic microsecond-level latency.
[0084] The second queue group (real-time event stream queue): Data packets carrying the real-time event stream basic identifier (encoded 010) are mapped to the corresponding priority sub-queues within the second queue group according to their dynamic priority tags. In this embodiment, the second queue group is internally divided into multiple priority sub-queues (e.g., 8 sub-queues), with dynamic priority tags 0-7 corresponding to sub-queue levels from low to high. The specific mapping rule is as follows: data packets with dynamic priority tags 0 and 1 enter the lowest priority sub-queue (sub-queue 0); tags 2 and 3 enter the lower priority sub-queue (sub-queue 1); tags 4 and 5 enter the middle priority sub-queue (sub-queue 2); tag 6 enters the higher priority sub-queue (sub-queue 3); and tag 7 enters the highest priority sub-queue (sub-queue 4). The switch places the data packet at the tail of the corresponding sub-queue for scheduling based on the dynamic priority tag carried by the data packet. The higher the dynamic priority tag, the higher the priority level of the sub-queue it enters, thus obtaining higher priority service in subsequent scheduling.
[0085] The third queue (process-aware flow queue): Data packets carrying the basic identifier (coded 011) of the process-aware flow are scheduled to the third queue. This queue uses a credit shaping (CBS) mechanism to shape traffic according to preset bandwidth allocation parameters (such as idle slope and sending slope) to ensure that process monitoring data receives stable bandwidth protection, while avoiding the impact of sudden traffic on high-priority queues.
[0086] Fourth queue (Background Management Flow Queue): Packets carrying the background management flow basic identifier (encoded 100) are scheduled to the fourth queue. This queue uses a standard best-effort scheduling strategy, only granting a transmission opportunity when a higher priority queue is idle.
[0087] S303. Dynamic Scheduling and Preemption Mechanism During scheduling within and across queues, the switch employs a hybrid scheduling strategy, which includes sub-queue priority scheduling, cross-queue credit shaping, and preemption triggering.
[0088] (1) Subqueue scheduling within the second queue group Within the second queue group, the scheduler strictly follows the priority order of the sub-queues. That is, it always prioritizes processing packets in the highest priority non-empty sub-queue, and packets within the same sub-queue are sent according to a first-in, first-out (FIFO) principle. For example, if there are packets waiting in the highest priority sub-queue (sub-queue 4), the scheduler will continuously send packets from that sub-queue until it is empty, and then move on to the next highest priority sub-queue (sub-queue 3). This strict priority scheduling ensures that the most urgent real-time event stream packets (carrying the highest dynamic priority flag) receive minimal queuing latency.
[0089] (2) Cross-queue scheduling and preemption mechanism During cross-queue scheduling, the first queue uses time-aware shaping and has a periodic, independent transmission window, unaffected by other queues. When the transmission window of the first queue closes, the scheduler performs integrated scheduling among the second, third, and fourth queue groups.
[0090] Credit Shaping Collaboration: Both the second and third queue groups employ a credit shaping mechanism, each maintaining its own credit value balance. The scheduler rotates queues based on their credit value balances and queue status. The credit value balance reflects the queue's historical bandwidth usage, with queues having higher credit values receiving transmission opportunities, thus achieving fair bandwidth allocation.
[0091] Preemption Trigger Conditions: The preemption mechanism is designed specifically for the highest priority real-time event streams. Preemption is triggered when the following conditions are met simultaneously: ① No synchronization control stream in the first queue is currently being transmitted (i.e., not within the TAS protection window); ② The head packet of the highest priority sub-queue (sub-queue 4) in the second queue group carries the highest dynamic priority flag (flag value 7); ③ The credit value of the sub-queue containing this packet allows transmission (i.e., the credit value is non-negative). When the above conditions are met, the scheduler allows the highest priority packet to preempt the currently transmitting lower priority packet. The preemption operation is performed at the interframe gap of the Ethernet frame, i.e., immediately inserting the highest priority packet for transmission after the currently transmitted smallest frame (e.g., 64 bytes) is completed. The credit value balance of the preempted stream (e.g., a packet being transmitted from the third or fourth queue) is frozen at the point of interruption. After the high-priority packet is transmitted, its credit value is restored, and transmission resumes from the point of interruption, thus avoiding long-term unfairness caused by preemption.
[0092] Through the above-mentioned hybrid scheduling mechanism, this invention achieves fine-grained scheduling of heterogeneous data streams in a solid waste sorting network environment: the first queue ensures deterministic synchronization control; the second queue group ensures that the most urgent real-time event streams receive the lowest latency through sub-queue priorities and preemption mechanisms; the third queue receives bandwidth guarantees; and the fourth queue utilizes idle bandwidth.
[0093] In some embodiments, the data transmission system of the solid waste sorting equipment may include multiple functional modules composed of computer program segments. The computer programs of each program segment in the data transmission system of the solid waste sorting equipment may be stored in the memory of a computer terminal and executed by at least one processor to perform (see details). Figure 1 (Description) The data transmission function of solid waste sorting equipment.
[0094] In this embodiment, the data transmission system of the solid waste sorting equipment can be divided into multiple functional modules according to its functions, such as... Figure 3As shown. The module referred to in this invention is a series of computer program segments that can be executed by at least one processor and perform a fixed function, and is stored in memory. In this embodiment, the functions of each module will be described in detail in subsequent embodiments.
[0095] The tag generation module is used to add tags containing basic classification identifiers and dynamic priority markers to the data packets of sorted data at the data source end according to the functional type of the sorted data; wherein, the dynamic priority markers are dynamically calculated and generated according to the real-time urgency of the current business. The tag adjustment module is used to obtain the link status information of the local network before sending the data packet, and adjust the dynamic priority tag in the tag of the data packet according to the link status information and the real-time urgency of the service of the data packet. The data scheduling module is used by the network switch to receive data packets with tags and schedule the data packets to a matching transmission queue according to the tags. The transmission queue includes a first queue, a second queue, a third queue, and a fourth queue. The first queue uses time-aware shaping to exclusively occupy the transmission window; the second queue is based on dynamic priority priority scheduling; and the third queue uses credit shaping for bandwidth allocation. When a data packet in the second queue carries the highest dynamic priority flag, it is allowed to preempt the transmission of the fourth queue.
[0096] Figure 4 The data transmission method for the solid waste sorting equipment provided in this application embodiment can be applied to a terminal. Those skilled in the art will understand that the terminal structure involved in the embodiments of this invention does not constitute a limitation on the terminal. The terminal may include more or fewer components than shown in the figures, or combine certain components, or have different component arrangements. Specifically, the terminal 400 may include: a processor 410, a memory 420, and a communication unit 430. These components communicate through one or more buses. Those skilled in the art will understand that the server structure shown in the figures does not constitute a limitation on the invention; it may be a bus topology or a star topology, and may include more or fewer components than shown in the figures, or combine certain components, or have different component arrangements.
[0097] The present invention also provides a computer storage medium, wherein the computer storage medium may store a program, which, when executed, may include some or all of the steps provided in the embodiments of the present invention. The storage medium may be a magnetic disk, an optical disk, a read-only memory, or a random access memory, etc.
[0098] The same or similar parts between the various embodiments in this specification can be referred to mutually. In particular, the terminal embodiments are basically similar to the method embodiments, so the description is relatively simple, and the relevant parts can be referred to the description in the method embodiments.
[0099] In the embodiments provided by this invention, it should be understood that the disclosed systems and methods can be implemented in other ways. For example, the system embodiments described above are merely illustrative. For instance, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between systems or modules may be electrical, mechanical, or other forms.
[0100] The modules described as separate components may or may not be physically separate. The components shown as modules may or may not be physical modules; that is, they may be located in one place or distributed across multiple network modules. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.
[0101] In addition, the functional modules in the various embodiments of the present invention can be integrated into one processing module, or each module can exist physically separately, or two or more modules can be integrated into one module.
[0102] Although the present invention has been described in detail with reference to the accompanying drawings and preferred embodiments, the present invention is not limited thereto. Various equivalent modifications or substitutions can be made to the embodiments of the present invention by those skilled in the art without departing from the spirit and essence of the invention, and such modifications or substitutions should all be within the scope of the present invention. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should also be covered within the protection scope of the present invention.
Claims
1. A data transmission method for a solid waste sorting device, characterized in that, include: Based on the functional type of the sorted data, a tag containing a basic classification identifier and a dynamic priority marker is added to the data packet of the sorted data at the data source end; wherein, the dynamic priority marker is dynamically calculated and generated according to the real-time urgency of the current business. Before sending the data packet, obtain the link status information of the local network, and adjust the dynamic priority tag in the data packet's label according to the link status information and the real-time urgency of the data packet's service. The network switch receives data packets with tags and schedules the data packets to a matching transmission queue according to the tags; The transmission queue includes a first queue, a second queue, a third queue, and a fourth queue. The first queue uses time-aware shaping to exclusively occupy the transmission window; the second queue is based on dynamic priority priority scheduling; and the third queue uses credit shaping for bandwidth allocation. When a data packet in the second queue carries the highest dynamic priority flag, it is allowed to preempt the transmission of the fourth queue.
2. The method according to claim 1, characterized in that, Based on the functional type of the sorted data, add tags containing basic classification identifiers and dynamic priority markers to the data packets at the data source end, including: Based on the functional type of the sorted data, the basic classification identifiers are divided into at least four categories: synchronous control flow, real-time event flow, process awareness flow, and background management flow, and a corresponding fixed code is assigned to each category. For real-time event streams, after the intelligent processing unit of the optical sorter identifies the target material, it calculates the latest allowed network arrival time of the instruction data packet based on the current conveyor belt speed, the physical distance between the target material position and the actuating valve, and maps the remaining time to a dynamic priority flag. For synchronous control flow, packets are marked with the highest basic class and fixed highest dynamic priority when generated; For process-aware flows and background management flows, the corresponding basic categories and default lower dynamic priorities are marked by device drivers or application software.
3. The method according to claim 2, characterized in that, Based on the functional type of the sorted data, the basic classification identifiers are divided into at least four categories: synchronous control flow, real-time event flow, process-aware flow, and background management flow. A corresponding fixed code is assigned to each category, including: The sorting data that directly participates in the closed-loop control of the equipment, has strict periodicity, and has a delay tolerance of less than microseconds is identified as the synchronous control flow; Sorting data triggered by material identification events, containing execution instructions, and with a latency tolerance in the millisecond range, are identified as real-time event streams; The sorted data used for equipment status monitoring and process parameter acquisition, which is periodic but has a delay tolerance higher than the preset delay tolerance threshold, is identified as process sensing flow. The sorted data used for non-real-time management functions such as production statistics, report generation, and remote access is identified as the backend management flow.
4. The method according to claim 1, characterized in that, Before sending the data packet, the link state information of the local network is obtained, and the dynamic priority tag in the data packet is adjusted according to the link state information and the real-time urgency of the service, including: Deploy link-state beacon generators on access layer switches in critical network segments. The beacon generators periodically broadcast link-state report frames. The report frames include at least the instantaneous occupancy rate of each priority queue on the port, the estimated maximum delay for traffic other than the synchronization control flow, and the global timestamp synchronized with the network master clock. Before sending real-time event stream data packets, the data source listens for or actively queries the link status report frames of the next-hop switches on the target path to obtain the current estimated network latency. The remaining service time of the data packet is compared with the estimated network delay plus safety margin; if the remaining service time is greater than the estimated network delay plus safety margin, it is sent according to the originally calculated dynamic priority mark; if the remaining service time is close to or less than the estimated network delay plus safety margin, the dynamic priority mark of the data packet is increased by one or more levels.
5. The method according to claim 4, characterized in that, If the remaining service time is close to or less than the network estimated delay plus safety margin, the dynamic priority marking of the data packet will be raised by one or more levels, including: A multi-level dynamic priority mapping table is preset, with each level corresponding to an urgency level and a corresponding numerical label; The escalation level is determined based on the difference between the remaining service time and the estimated network latency plus safety margin: when the difference is less than the first threshold and greater than or equal to the second threshold, it is escalated by one level; when the difference is less than the second threshold and greater than or equal to the third threshold, it is escalated by two levels; when the difference is less than the third threshold, it is escalated to the highest dynamic priority level. The safety margin is a fixed preset value, or it can be dynamically adjusted based on the historical transmission success rate of the queue where the data packet is located.
6. The method according to claim 1, characterized in that, A network switch receives tagged data packets and schedules the data packets to a matching transmission queue based on the tags, including: When a network switch receives a data packet, it parses the tag field in the Ethernet frame header and extracts the basic classification identifier and dynamic priority tag. According to the preset queue mapping rules, data packets carrying different basic classification identifiers are scheduled to the corresponding physical or logical queues: data packets carrying the basic identifier of synchronous control flow are scheduled to the first queue; data packets carrying the basic identifier of real-time event flow are scheduled to the corresponding priority sub-queue in the second queue group according to their dynamic priority marking; data packets carrying the basic identifier of process awareness flow are scheduled to the third queue; and data packets carrying the basic identifier of background management flow are scheduled to the fourth queue. The queue mapping rules are stored in the configuration register of the switch or dynamically issued by the central network controller. Within the second queue, services are provided according to the priority order of each sub-queue, with data packets from higher-priority sub-queues being sent first. During cross-queue scheduling, the dynamic priority flag serves as the basis for scheduling between sub-queues within the second queue group, and is also used to trigger the preemption mechanism. That is, only when the data packet of the highest priority sub-queue in the second queue group carries the highest dynamic priority flag is it qualified to preempt the transmission of the fourth queue.
7. The method according to claim 6, characterized in that, When a network switch parses a packet and finds that the label field of the packet is corrupted or contains undefined encoding, it will schedule the packet to the fourth queue by default.
8. A data transmission system for a solid waste sorting device, characterized in that, include: The tag generation module is used to add tags containing basic classification identifiers and dynamic priority markers to the data packets of sorted data at the data source end according to the functional type of the sorted data; wherein, the dynamic priority markers are dynamically calculated and generated according to the real-time urgency of the current business. The tag adjustment module is used to obtain the link status information of the local network before sending the data packet, and adjust the dynamic priority tag in the tag of the data packet according to the link status information and the real-time urgency of the service of the data packet. The data scheduling module is used by the network switch to receive data packets with tags and schedule the data packets to a matching transmission queue according to the tags. The transmission queue includes a first queue, a second queue, a third queue, and a fourth queue. The first queue uses time-aware shaping to exclusively occupy the transmission window; the second queue is based on dynamic priority priority scheduling; and the third queue uses credit shaping for bandwidth allocation. When a data packet in the second queue carries the highest dynamic priority flag, it is allowed to preempt the transmission of the fourth queue.
9. A data transmission terminal for a solid waste sorting device, characterized in that, include: Memory, used to store the data transmission program of the solid waste sorting equipment; A processor, used to execute the data transmission program of the solid waste sorting device, implements the steps of the data transmission method of the solid waste sorting device as described in any one of claims 1-7.
10. A computer-readable storage medium storing a computer program, characterized in that, The readable storage medium stores a data transmission program for a solid waste sorting device, which, when executed by a processor, implements the steps of the data transmission method for the solid waste sorting device as described in any one of claims 1-7.