Send data using modbus tcp protocol from node-red to a PLC

I have a lot more experience with PLCs and Modbus than with Node-Red, although I do have a Modbus TCP connection from a Node-Red device (Raspberry Pi) to a PLC/HMI so...

The older Modbus documentation, especially for PLCs, refers to systems comprising "Modbus Masters" and "Modbus Slaves". A PLC can be Master or Slave, and actually can be both at the same time. If you PLC refers to data mapped as Registers 40000-40100 for example, your PLC is acting as Modbus Slave.

A Modbus Master sends a request/command to a Slave, and the Slave responds, either returning the requested data or executing a Write command.
In line with modern definitions:
Modbus Master = Client and
Modbus Slave = Server.

The Server (Slave) is passive, creating a space comprising multiple Modbus "Registers" which can be Bits or Words (16 bit). Since Modbus is an open standard there are hundreds of variations to include double Words (32 bit) and Floats (in 32 bit).

The Clients (Masters) actively poll the Server, either to retrieve data (Registers) or to write data in the Server.

To do any and all of this in Node-Red, just install the node-red-contrib-modbus and you're ready to go. You shouldn't have to worry about permissions etc. The Host Server you specify in your Client-Nodes will almost certainly to Port 502, but that is the port the Server is listening on, NOT the port on your client.

Anything else you want to know about Modbus can be found here... https://modbus.org/
Hope this helps!