0

I've scoured the internet and can't find anything that will fit my needs.

I am trying to figure out if it's possible to set up the PI as a client with a FIFO and have the server read from that FIFO. I have an array of PIs and so I need to have some kind of buffer on the pi, and then need to pull the data off of it.

It does not appear pymodbustcp offers a FIFO option. Are there any other options? It doesn't have to be over TCP, I'm just more familiar with the IOS layers than serial communication.

BBridges
  • 130
  • 14
  • Please provide further details regarding what you are tying to achieve and why you have opted for Modbus (what is the 'server' you mention). It sounds like you may be looking for a messaging protocol (e.g. [mqtt](https://mqtt.org/) or [AMQP](https://www.amqp.org/)) but it depends upon what your 'server' supports and your end goal. – Brits Feb 21 '21 at 07:41
  • I appreciate your time. I'm not sure "why" I'm using Modbus is important. It didn't feel relevant. I'm sorry if it was. As far as the server, I am the one who is writing and building the server. The reason I need Modbus is that it ports into Labview very nicely. As far as the data, I am sending ADC information from an array of about 100 PIs. Due to the sampling rate for the time the sampling is happening, I will need to buffer that data. Thus, I need some kind of FIFO. – BBridges Feb 21 '21 at 14:34
  • I requested background information because providing an answer requires an understanding of what you are trying to accomplish. You are correct that there is a FIFO modbus function (`0x18` Read FIFO Queue) but its not commonly used (I would be surprised if Labview supports it); the function is to "read the contents of a First-In-First-Out (FIFO) queue of register in a remote device" so the Pi's would be the Modbus servers in this setup (and implement the queuing logic). Modbus is a client/server comms protocol; I suspect you are looking for a message bus. – Brits Feb 21 '21 at 20:06

0 Answers0