# Node red to S7 PLC error \[0x8104\]

**URL:** <https://discourse.nodered.org/t/node-red-to-s7-plc-error-0x8104/65026>\
**Category:** Industrial\
**Created:** [13 July 2022 00:44 UTC](https://discourse.nodered.org/t/node-red-to-s7-plc-error-0x8104/65026 "2022-07-13T00:44:42Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Vctr32](https://avatars.discourse-cdn.com/v4/letter/v/48db29/32.png) [@Vctr32](https://discourse.nodered.org/u/Vctr32)\
**Post date:** [13 July 2022 00:44 UTC](https://discourse.nodered.org/t/node-red-to-s7-plc-error-0x8104/65026/1 "2022-07-13T00:44:42Z")

</div>

Hi,  
I'm using a pc with windows 7 as my nodered host, and connecting to a S7 416-3 via ethernet through a CP 443-1.  
I've already created some variables, ( DBW and DBX) and I can write the Int numbers in the DBW and also read the DBW state, but when I try to write bits in any of my DBX variables, it raises the error "Error: PLC error [0x8104]: This service is not implemented on the module or a frame error was reported."  
The most weird part is that I'm able to read those DBX variables, meaning that this may not be a syntax error.  
I've tried to copy the syntax declaration in the Help option, but wasn't the problem.

---

<div class="post-metadata">

**Author:** ![nico25](https://avatars.discourse-cdn.com/v4/letter/n/d2c977/32.png) [@nico25](https://discourse.nodered.org/u/nico25)\
**Post date:** [13 July 2022 05:02 UTC](https://discourse.nodered.org/t/node-red-to-s7-plc-error-0x8104/65026/2 "2022-07-13T05:02:52Z")

</div>

Hi Vctr32,

are you sure, that you´re not trying to wirte into an optimized-access DB?  
Found this in the Siemens-Forum:

> Use Online & diagnostics to perform a Reset to Factory Settings and mark the box labeled "Delete password for protection of confidential PLC configuration data."

---

<div class="post-metadata">

**Author:** ![KarolisL](https://avatars.discourse-cdn.com/v4/letter/k/a4c791/32.png) [@KarolisL](https://discourse.nodered.org/u/KarolisL)\
**Post date:** [13 July 2022 07:22 UTC](https://discourse.nodered.org/t/node-red-to-s7-plc-error-0x8104/65026/3 "2022-07-13T07:22:42Z")

</div>

> [@Vctr32](#):
>
> "Error: PLC error [0x8104]: This service is not implemented on the module or a frame error was reported."

Which S7 communication node are you using? I would suggest [node-red-contrib-s7 (node) - Node-RED](https://flows.nodered.org/node/node-red-contrib-s7)

S7-300/400 series doesn't have Optimised block access.

Usually to have connection to S7 PLC you have to consider:

When connecting to S7-300/400 Slot should be the same as shown in Simatic manager HW configuration. CP443-1 case the default is 3.

S7-1200/1500 series uses Slot number 1.

---

<div class="post-metadata">

**Author:** ![Vctr32](https://avatars.discourse-cdn.com/v4/letter/v/48db29/32.png) [@Vctr32](https://discourse.nodered.org/u/Vctr32)\
**Post date:** [13 July 2022 16:03 UTC](https://discourse.nodered.org/t/node-red-to-s7-plc-error-0x8104/65026/4 "2022-07-13T16:03:56Z")

</div>

Yes, s7 400 doesn't have this acces, and there's no protection in the block

---

<div class="post-metadata">

**Author:** ![Vctr32](https://avatars.discourse-cdn.com/v4/letter/v/48db29/32.png) [@Vctr32](https://discourse.nodered.org/u/Vctr32)\
**Post date:** [13 July 2022 16:06 UTC](https://discourse.nodered.org/t/node-red-to-s7-plc-error-0x8104/65026/5 "2022-07-13T16:06:42Z")

</div>

I'm using this node already (node-red-contrib-s7)  
The connection was set as the hardware configuration, and in my case is also port 3.

---

<div class="post-metadata">

**Author:** ![KarolisL](https://avatars.discourse-cdn.com/v4/letter/k/a4c791/32.png) [@KarolisL](https://discourse.nodered.org/u/KarolisL)\
**Post date:** [13 July 2022 18:44 UTC](https://discourse.nodered.org/t/node-red-to-s7-plc-error-0x8104/65026/6 "2022-07-13T18:44:36Z")

</div>

To be honest I've never seen this fault myself.

Could you share your code?

I could only offer an workaround, if you are working with a lot of bools, then gather them into words.  
If only a few - then, write as int or byte and based on this value change to TRUE or FALSE

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [11 September 2022 18:44 UTC](https://discourse.nodered.org/t/node-red-to-s7-plc-error-0x8104/65026/7 "2022-09-11T18:44:50Z")

</div>

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.
