Hello,
How would I turn my application into a slave? I can do everything but update discrete inputs on my server so an external Client/Master can read them. I know there is an IO config node for the reading/getter nodes but not for the sever itself just like a slave on a PLC.
I don't understand what you mean by mapping to variables. I haven't used it, but my memory is that you can send it messages in the flow to set registers to required values, is that what you mean? If not then give an example of exactly what you want to do.
Its related to this Writing to Flex Server Buffers with Message · Issue #149 · BiancoRoyal/node-red-contrib-modbus · GitHub
Which was implemented. I think its just writing directly to the server node's input with the "special" payload. I'm curious though, what is the difference between the flex server and the standard? Am I able to call the flex server's functions(getCoil/getDiscrete/getHolding/getInput/setCoil/setRegister) at any time? if so, how?
I think I may have misunderstood your requirement. I don't think the server nodes are designed to make node-red into a PLC emulator, but are for testing flows using modbus read and write by providing a server simulator within node-red, which can be accessed from the node-red modbus read and write nodes.
Well not really. The example "Modbus Slave" does exactly what I'm looking for. It uses the server node and creates a flow that acts like a modbus slave. No different that some off-the-self device. All modbus slave devices allow the user to configure the IO(switches, actuators) to internal variables; much like modbus slave firmware modifies memory in a microcontroller. Else, what is the point of having read-only registers space(discrete inputs and input registers) if we cant actually set them to anything. Again, this was solved by allowing the node-red user to inject the server with special payloads. Thanks again.