Hi, I need some advice on whether it is possible to do something about this, or whether there is any point in messing around at all, and the solution is lying on the floor and just needs to be picked up, namely I have a fairly old calculator (summator), from Metronic, model FP-210. In my case it is connected to a water meter, the water meter has a pulse output to which the Metronic is connected. This way you can see locally what the current flow is and the sum of the 'scooped' cubic metres.
This Metronic has an RS485 port, the transmission flies in ModBus ASCII, and consequently I would like to have a remote reading of this indicator, the problem is that the SCADA I am using does not get along with the Metronic due to lack of support for ModBus ASCII . I managed to get along remotely (on the table) with such an FP-210 via the Hercules program. The query for the current flow looks as follows:
<ESC>81D<CR>
Here, the value 81 is the address of the device
The query for the counter values (there are two) looks like this:
<ESC>81L<CR>
I have uploaded screen shots of the answers from the FP-210 in the attachments.
The highlighted value "197.8" in the red frame in the "1_flow" file is the current flow, while the two frames in the "2_totaliser" file are the values of the first and second counters ("0000130952").
This is where the stumbling blocks start, well is it possible to read these values every, say, 2 minutes, convert these responses on the fly so that you only get what is marked with rectangles and finally dump these values as registers in ModBus TCP to be read by the master? I hope it is possible to understand what I mean....
I've recently discovered a software called Node-Red and I thought maybe it would be possible to make it so that I could write a program in this Node-Red that would be responsible for reading and converting the data from the pointer (i.e. be the master for the FP-210) and at the same time dump this data (already after conversion, as raw numbers) into its Modbus registers and be a slave device for my PC, and then I could do the reading in SCADA over ModBus TCP.
I have a raspberry version 4 and an RS485<->USB converter for testing.
With the Node-Red program itself I have already worked a bit, I have already managed to read another indicator after ModBus RTU . The only thing is that you have to somehow force this program to issue the query as <ESC>81D<CR> and <ESC>81L<CR> and convert to raw numbers....
Ideally, he would have exposed this data as Input Registers 64bit
I have seen that there are ModBus ASCII to ModBus RTU converters, I bought two for a trial but it did nothing and I returned them. Replacing these indicators is out of the question for the time being, as the situation is what it is and forces one to find the cheapest possible solution, for this locally the current flow and the status of the counters must be visible.
I hope I have described my problem fairly clearly, if something could be done about it I would be happy. I have looked for some information on the internet, but nobody seems to have encountered this conundrum yet. Perhaps there is another way to achieve a satisfactory result and I am unnecessarily experimenting?
This Metronic has an RS485 port, the transmission flies in ModBus ASCII, and consequently I would like to have a remote reading of this indicator, the problem is that the SCADA I am using does not get along with the Metronic due to lack of support for ModBus ASCII . I managed to get along remotely (on the table) with such an FP-210 via the Hercules program. The query for the current flow looks as follows:
<ESC>81D<CR>
Here, the value 81 is the address of the device
The query for the counter values (there are two) looks like this:
<ESC>81L<CR>
I have uploaded screen shots of the answers from the FP-210 in the attachments.
The highlighted value "197.8" in the red frame in the "1_flow" file is the current flow, while the two frames in the "2_totaliser" file are the values of the first and second counters ("0000130952").
This is where the stumbling blocks start, well is it possible to read these values every, say, 2 minutes, convert these responses on the fly so that you only get what is marked with rectangles and finally dump these values as registers in ModBus TCP to be read by the master? I hope it is possible to understand what I mean....
I've recently discovered a software called Node-Red and I thought maybe it would be possible to make it so that I could write a program in this Node-Red that would be responsible for reading and converting the data from the pointer (i.e. be the master for the FP-210) and at the same time dump this data (already after conversion, as raw numbers) into its Modbus registers and be a slave device for my PC, and then I could do the reading in SCADA over ModBus TCP.
I have a raspberry version 4 and an RS485<->USB converter for testing.
With the Node-Red program itself I have already worked a bit, I have already managed to read another indicator after ModBus RTU . The only thing is that you have to somehow force this program to issue the query as <ESC>81D<CR> and <ESC>81L<CR> and convert to raw numbers....
Ideally, he would have exposed this data as Input Registers 64bit
I have seen that there are ModBus ASCII to ModBus RTU converters, I bought two for a trial but it did nothing and I returned them. Replacing these indicators is out of the question for the time being, as the situation is what it is and forces one to find the cheapest possible solution, for this locally the current flow and the status of the counters must be visible.
I hope I have described my problem fairly clearly, if something could be done about it I would be happy. I have looked for some information on the internet, but nobody seems to have encountered this conundrum yet. Perhaps there is another way to achieve a satisfactory result and I am unnecessarily experimenting?