Node red to S7 PLC error [0x8104]

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.

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."

Which S7 communication node are you using? I would suggest node-red-contrib-s7 (node) - Node-RED

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.

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

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.

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

1 Like