Skip to content

S7 protocol error 0x81/0x04 on ALL data access (DB, Merkers, Inputs) — CPU 1510SP-1 PN, firmware V2.9.4, TIA Portal V17 #844

Description

@AnassGE

Summary

I cannot find any location in TIA Portal V17 to enable "Permit access with
PUT/GET communication from remote partner" for a CPU 1510SP-1 PN running
firmware V2.9.4. As a result, every third-party read via python-snap7 fails
with the same S7 protocol error, except basic device identification.

Hardware / Software

  • CPU: SIMATIC ET200SP, CPU 1510SP-1 PN
  • Firmware: V2.9.4
  • Engineering software: TIA Portal V17
  • Python: 3.14.2
  • python-snap7: 3.1.2
  • Connection: client.connect(ip, 0, 1) — Rack 0, Slot 1, direct Ethernet, ping OK (<1ms)

CPU configuration confirmed

  • Access level: Full access (no protection) — confirmed twice, including after a full hardware+software rebuild and redownload
  • DB1 (DB_Camera_IA): Optimized block access UNCHECKED (standard access)
  • Protection & Security > Connection mechanisms: "Only allow secure PG/PC
    and HMI communication" is UNCHECKED
  • No "Permit access with PUT/GET communication from remote partner"
    checkbox is visible anywhere on the Connection mechanisms page, nor
    anywhere else in Protection & Security, regardless of window size,
    scrolling, or toggling the secure-communication checkbox on/off.
  • Security settings > Users and roles > Users: only shows
    "" — no "Anonymous" user exists (this system appears to
    only apply from TIA Portal V19 / firmware V3.1 onward, per Siemens FAQ
    109925755, which does not seem to apply to this V17/V2.9.4 combination).

Diagnostic performed

Full download + hardware/software rebuild + memory reset (MRES) + CPU
restart performed before testing. Confirmed CPU in RUN, ERR LED off, no
diagnostic buffer errors related to configuration.

Ran a diagnostic script testing multiple read operations:

Test Result
get_cpu_info() (identification) OK
get_cpu_state() S7 protocol error (0x81/0x04)
mb_read(0, 1) (Merker) Same error
eb_read(0, 1) (physical input) Same error
list_blocks() Same error (USERDATA 0x8104)
db_read(1, 0, 6) Same error
db_read(1, 2, 2) (target read) Same error

Exact error message:
S7 protocol error (class=0x81, code=0x04): This service is not implemented
on the module or a frame error was reported

Question

  1. On TIA Portal V17 with CPU firmware V2.9.4, where exactly is "Permit
    access with PUT/GET communication from remote partner" located, if not
    on the standard Connection mechanisms page?
  2. Could this be related to S7CommPlus becoming the default protocol for
    firmware >= V2.9, requiring a different client/protocol on the Python
    side instead of classic PUT/GET?

Any pointer to the exact menu path or an alternative approach compatible
with this firmware would be greatly appreciated. Thank you.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions