Skip to content

Add synchronous high-level Client class#13

Merged
nikteliy merged 1 commit intomainfrom
12-create-synchronous-high-level-client
Feb 9, 2026
Merged

Add synchronous high-level Client class#13
nikteliy merged 1 commit intomainfrom
12-create-synchronous-high-level-client

Conversation

@nikteliy
Copy link
Copy Markdown
Owner

@nikteliy nikteliy commented Feb 9, 2026

  • Implement Client class wrapping S7Comm for simplified PLC communication
  • Add context manager support (enter/exit)
  • Implement core methods:
    • connect/disconnect/close
    • read_area/write_area (string-based addresses)
    • read_multi_vars/write_multi_vars
    • read_szl/read_szl_list
    • get_cpu_state/get_order_code/get_pdu_length
    • plc_stop
  • Add write_area method to S7Comm (single request, no splitting)
  • Fix exception import paths in tests
  • Update .gitignore to exclude .idea/ and .vscode/

- Implement Client class wrapping S7Comm for simplified PLC communication
- Add context manager support (__enter__/__exit__)
- Implement core methods:
  - connect/disconnect/close
  - read_area/write_area (string-based addresses)
  - read_multi_vars/write_multi_vars
  - read_szl/read_szl_list
  - get_cpu_state/get_order_code/get_pdu_length
  - plc_stop
- Add write_area method to S7Comm (single request, no splitting)
- Fix exception import paths in tests
- Update .gitignore to exclude .idea/ and .vscode/
@nikteliy nikteliy linked an issue Feb 9, 2026 that may be closed by this pull request
@nikteliy nikteliy merged commit ef4a9ac into main Feb 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Create synchronous high-level Client

1 participant