Communication Problem with Moscad RTU (8XXXXXX)

H

Thread Starter

Hassan Tariq

We are facing a problem while communicating with Motrola Moscad RTU CPU 300. It has modbus protocol and we are able to bring around 300 modbus registers using kepware opc server but there are some addresses like 8XXXXX which does not look to be standard modbus addresses. And also we are not able to get these registers values using modbus protocol. These are around 50 registers.

These registers are getting the data from Omni Flow computer but as these are defined in Moscad RTU so ideally these registers should be available on modbus protocol as well. But Unfortunately we are not able access the values of these tags through modbus.

if anyone knows how to bring these registers values into an opc server or other application/driver then please do let me know.

Any help in this regard will be really appreciated.

Regards,
Hassan Tariq
 
Are you sure it is 8XXXXX and NOT 8XXXX? If it is 8XXXXX then you could target from 800001 to 865536 in Modbus.

Maybe if you could link us to the Omni Flow Computer Modbus manual we could help.

Just guessing but an 8XXXXX series might imply IEEE Double Precision floats. But any flow computer I have seen that supports IEEE Double Precision also supports the same data in IEEE Single Precision float even though internally the value is originally IEEE Double Precision float.

All flow accumulators must originate from IEEE Double Precision because if you increment a Single Precision volume with small increments you introduce accumulation errors.
 
Hassan,

I am not familiar with Omniflow computers, but I assume what you are saying is the Omniflow device provides data to the Moscad and you are trying to read this data from the Moscad with Kepware OPC on some SCADA central...

In general, the Moscad side of modbus will allow access only to the first 32 tables in the moscad. There are ways (by shortening the maximum size of all the tables) to access 64 tables.

But the address range will not go up to 8xxxxx.

If the data you are trying to read from the Moscad resides in some table with a table number greater than 31 (table numbers are 0-based), you will need to make sure the data you are trying to scan is in some table in the range of 0-31. This could be done by adding a column of mapped values in a table in the 0-31 range, and mapping those table entries to the data in the higher numbered table. Then you would need to modify the ladder to scan that mapped value column at some repeating point in the application.

As best I know, the highest modbus address possible in a Moscad is 465536.

jack
 
Hello,

While Omni flow computers can respond to standard MODBUS, for some of its register, it natively is not MODBUS.

It uses a variant named Enron MODBUS.

Standard MODBUS does not define an 8X register area.

You would need to "move" the data into a register range and with the correct type, to access the 8X via MODBUS.

Good luck,

Mark
http://www.peakhmi.com
 
I forgot to add that PeakHMI can access all the registers in the Omni flow computer and can publish them via the built-in OPC server.

Mark
 
H

Hassan Tariq

Yes your assumption is correct. Moscad RTU is connnected with Omni Flow Computer and then we are using kepware to communicate with Moscad RTU and then this kepware is providing the data to the HMI.

I also found that these register are already defined in Table18 of the RTU database. Another important point is that they have old taylor hmi which communicates with this RTU and brings all the data including register starts with 8XXXXX. Apparently from taylor configuration it looks it is reading all data on modbus protocol.Because the device name is same for standard modbus registers and registers starts with 8XXXXX.

Thanks.

Regards,
Hassan Tariq
 
Well, I don't know anything about Taylor HMI, but...

Modbus addressing in Moscad is based on either of these two formulas:

Absolute addressing:

(2048 * table number) + (256 * column number) + row number.

OR

Modicon Modbus Addressing:

(2048 * table number) + (256 * column number) + row number + 1 + register type additive:

Coil: 0
Contact: 100000
Integer Register: 300000 (read-only)
Holding Register: 400000

Table, Column, and row numbers are zero-based for either formula.

Hope that helps.
 
Bonjours ,

Est ce que possible de communiquer Moscad L et SOFREL S550 ?

Si oui .quel sont les étapes nécessaires dans la partie configuration de MOSCAD .

et merci
 
Top