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

Reply via email to