Dust and Stars - 1992 | Chapter 172 | The Scene and the Check Digit | English
Friday morning, 7:30 AM. The sky hadn't fully brightened. Lin Chen packed the V3.0 terminal, an Ethernet cable, a serial-to-USB ad
Chapter 172: The Scene and the Check Digit
Friday morning, 7:30 AM. The sky hadn't fully brightened. Lin Chen packed the V3.0 terminal, an Ethernet cable, a serial-to-USB adapter, and an old laptop into a shockproof case. He pulled a thick cotton sock onto his left foot, applied a pain-relief patch, and laced his shoes tight. The ibuprofen was still working, pressing the pain down into a dull, heavy film. He picked up the case, locked the door, and headed downstairs. The motion-sensor light in the stairwell was broken, so he traced the wall with his hand, stepping down with his right foot first, then bringing his left to follow. His pace was slow, but the rhythm never faltered.
The early-shift bus was nearly empty, its windows fogged with condensation. He leaned against the back row, the appendix to the Yangtze River Delta project agreement spread across his knees. He ran the RTU-over-TCP frame structure through his mind: function code 0x01, 0x03 for reading registers, followed by two CRC checksum bytes. The V3.0 parser defaulted to truncating the first six bytes; if the extra checksum bits weren't stripped out, the state machine would lock into an infinite loop waiting for a frame tail. Last night, he had rewritten the parse_frame function, adding length pre-judgment and CRC stripping logic. The code had passed three simulation runs without errors. But simulations and the real site were always separated by a chasm. He was used to listing unknown variables in his error log: environmental interference, equipment aging, human error. Today, he would only verify the first.
8:50 AM, at the gate of Phase II of the industrial park. Lao Chen was already standing by the guardhouse, a cigarette between his fingers, next to a middle-aged man in a gray-blue work uniform with graying hair. Lao Chen introduced him: "Director Wu from the factory's equipment department. Lin Chen, the technical liaison for the provincial pilot." Director Wu nodded, said little, and simply pointed deeper into the plant: "The power distribution cabinet is in Zone B. The Ethernet cable is already run to the rack. Handle it yourselves, and don't touch the main circuit."
Lin Chen thanked him and followed him inside. The workshop roared with machinery, the air thick with the smell of machine oil and metal cutting fluid. Beside the Zone B cabinet, he crouched and opened the case. As his left foot touched the ground, the hardened knot in his muscle gave a sharp, sudden spasm. He held his breath, waited for the acute pain to pass, then slowly connected the terminal to the switch. He plugged the Ethernet cable in tight; the indicator light shifted from red to green. He powered on the laptop and established an SSH connection to the terminal.
ping 192.168.10.50 — successful.
telnet 502 — port open.
He launched the packet capture software and started the adaptation layer script. The terminal screen flashed with logs: [INFO] ModbusAdapter initialized. Mode: RTU/TCP auto-detect.
The first frame of data arrived. Length: 12 bytes. The script identified it as RTU mode, stripped the last two CRC bytes, extracted function code 0x03, register address 0x0001, and a read length of 10. Data returned. Parsing successful.
But the log immediately scrolled a warning: [WARN] Register mapping mismatch. Expected: temp_01, Actual: null.
Lin Chen's brow furrowed slightly. According to the address mapping table provided by the factory, 0x0001 corresponded to the winding temperature of Motor No. 1. But the actual returned data was null. He pulled up the raw packet and expanded it in hexadecimal. The address was correct, but the factory PLC's firmware version was older than the documentation indicated, causing a two-register offset. 0x0001 actually pointed to a standby channel; the temperature data was at 0x0003.
Lao Chen stood nearby, checking his watch: "Can you get it aligned? We need to report progress at 9:30."
"Address offset," Lin Chen said quietly. "There's a version gap between the documentation and the actual hardware. I'll adjust the mapping table. Five minutes."
Director Wu leaned in, glancing at the screen: "Old equipment. The schematics haven't matched reality for years. You software guys shouldn't stick so rigidly to the book."
Lin Chen didn't reply. His fingers flew across the keyboard. He opened the V3.0 configuration file, changed the mapping address for temp_01 from 0x0001 to 0x0003, saved it, and restarted the parsing service. The log refreshed. [INFO] Register 0x0003 mapped. Value: 68.5°C. The data stream began to roll steadily, temperature, current, and RPM filling the V3.0 monitoring dashboard one by one.
He stood up, his knees feeling stiff. He couldn't put weight on his left foot, shifting his center of gravity entirely to his right leg. He took out an ice pack and pressed it against his ankle through his trousers. Lao Chen handed him a bottle of mineral water: "Drink up first. The data's transmitting. When can the downtime rate module run?" "It can run now," Lin Chen said, twisting off the cap and taking a sip. "V3.0 has built-in threshold judgment and anomaly flagging. As long as the data stream is continuous, the module automatically calculates MTBF. The 12% tolerance in the bet agreement hinges on this." Director Wu snorted: "The machines are old. False alarms are frequent. Don't go treating normal fluctuations as faults and shutting things down. Whose fault will it be then?" "The false alarm rate will be logged," Lin Chen said, turning the laptop toward him. "After three consecutive false alarms of the same type, the system automatically widens the threshold. It tightens again after manual review. It won't trigger blind shutdowns." Director Wu said nothing more, just nodded. Lao Chen patted his shoulder: "Let it run for now. The provincial department might send inspectors next week. Don't let the data drop."
At 9:40, Lin Chen packed up his tools. The terminal's indicator light blinked steadily, the data stream smooth. He closed the laptop, latched the shockproof case, and walked out of the workshop. Sunlight had already climbed onto the factory's corrugated steel roof. The wind carried the crisp chill of early autumn. He walked slowly back to the bus stop, carefully controlling the force of each step. His left foot had gone numb, but a deep muscle ache was creeping up his calf. He knew this body wouldn't hold out much longer. But the pilot project was already flying the lab's banner, the bet agreement was signed, and the retreat was sealed.
His phone vibrated. A bank SMS: Your account ending in 7749 received a transfer of 8,000.00 RMB at 09:45. Balance: 8,112.60 RMB. The pilot prepayment had arrived. He stared at the numbers, feeling no sense of relief. It only bought three months of consumables and medication. The real ledger was in the system.
At 2:00 PM, he returned to his rented apartment. He exported the terminal logs and ran a preliminary analysis. The false alarm rate was 3.2%, within controllable limits. But deep in the logs, he found an anomalous record: [ERROR] Power fluctuation detected. Voltage drop 15%. Adapter reset.
The plant's voltage was unstable. The V3.0 power module lacked a wide-voltage design; a momentary drop would cause the parsing service to restart. During the restart, three to five seconds of data would be lost. The bet agreement required "continuous monitoring," and data loss would be classified as a system crash. Once or twice was fine, but if it happened frequently, the 12% tolerance wouldn't cover it.
He pulled open a drawer, took out a multimeter and a few capacitors. A wide-voltage circuit required adding a DC-DC voltage regulator module, costing 120 RMB. He had the prepayment, but his brother's medication for next month, his mother's blood pressure pills, and his own pain patches were all calculated down to the penny. 120 RMB could be saved, but not at a critical juncture. He opened his ledger, crossed out the "reserve fund" line, and wrote beside it: Hardware upgrade: 120 RMB. Priority: Highest.
He turned on his computer and searched for "industrial-grade wide-voltage power module 9-36V." Placed the order, paid. Note: Urgent. Then he created a new text document and typed: V3.1 Hardware Modification List: 1. Wide-voltage module replacement; 2. Power-loss data cache (SD card); 3. Watchdog timer.
The smell of stir-frying oil from a neighbor's kitchen drifted through the window. He leaned back in his chair and closed his eyes. The foot pain had faded into background noise. His mind held only circuit diagrams and state machines. Technology wasn't logic written on paper; it was something that had to survive in grease, vibration, and voltage fluctuations. He turned to a fresh page in his error log and wrote: Service restart caused by on-site voltage fluctuation. Countermeasure: hardware wide-voltage + software breakpoint resume. Verification deadline: Before Tuesday.
His phone lit up again. A text from Lao Chen: Provincial department notice moved up. Next Tuesday at 9 AM, expert group will inspect Phase II directly. Requires 72 hours of uninterrupted system operation, data integrity ≥99.5%. Prepare accordingly.
Lin Chen opened his eyes. Seventy-two hours. The wide-voltage module hadn't arrived yet. The SD card cache code hadn't been written. He replied: Received. Hardware upgrade and stress testing will be completed before Tuesday.
Sent. He stood up, walked to the desk, and plugged the multimeter probes into the power interface. The screen lit up, numbers flickering. The next step was a seventy-two-hour countdown. And those three seconds of power loss had to be filled.
More from WayDigital
Continue through other published articles from the same publisher.
Comments
0 public responses
All visitors can read comments. Sign in to join the discussion.
Log in to comment