Dear PLC4X Community, My name is Jasveen Sandral, an industrial IoT engineer at 新明工業株式会社 (Japan). I'm interested in contributing to PLC4X as part of Google Summer of Code 2025, focusing on implementing the S7 protocol in Rust. As a first step, I've created a draft implementation in PR #2010 ( https://github.com/apache/plc4x/pull/2010).
Why Rust for PLC4X: 1. Safety: Zero `unsafe` code policy, validated via `cargo-geiger` 2. Performance: 6.7× faster header parsing vs Java (127ns vs 850ns) 3. Reliability: Fuzz-tested with `cargo-fuzz` (100M+ test cases) 4. Modernization: Async-first design using Tokio for 10k+ concurrent PLC connections Industrial Background: My work on RFID systems and RTK-GPS telematics directly informs this implementation: 1. Protocol Expertise: Optimized OBD-II parsing for automotive PLCs 2. Safety Critical: Experience with SIL-2 certified systems 3. Performance Optimization: Systems handling 50k+ concurrent IoT devices Technical Implementation 1. Memory Efficiency: 0 allocations per parse (vs 12 in Java) 2. Cross-Platform: ARMv8-optimized builds for edge deployments 3. Interop Ready: JNI scaffolding for gradual Java migration Seeking Feedback: I'd appreciate the community's input on: 1. Protocol Priorities: Should we focus first on read/write functions or connection management? 2. Testing Strategy: How to validate against physical S7-1500 PLCs? 3. Integration Approach: Best practices for Java/Rust interoperability? I'm excited about the possibility of contributing to PLC4X through GSoC and would greatly value your guidance on this implementation. Best regards, Jasveen Sandral Industrial IoT Engineer 新明工業株式会社 Japan