AB9900 possible register overflow


#1

@anonxoqkdeaj
Bought a AB9900 gateway to get data MODBUS RTU from a PLC over BACnet. 10 consecutive register 40001, 40003, 40005 etc… are sending their values example -10.3 degC, 105.2 PSI, 253.1 psi etc… but once in a while the value of register 40001 will affect 40003, specially when decimal points are used, after this none of the values match whats’ being send from the PLC to the gateway. any ideas? Thank you


#3

@anonxoqkdeaj

It sounds like there may be an overflow happening in that first register. This could be due to a data type or conversion or something else. Can you please share your project so we can take a look at it?

Which version of Anybus Config Manager MAPS are you currently running?

Thanks,

Kyle


#4

I’ll send you the confirmation file on Monday
Thanks for the follow up

Cesar Martinez


#5

#6

#7

Here is the latest configuration I used on this project

Final SV738302.abmaps (53.9 KB)


#8

Thank you. We will evaluate the configuration file.

In the meantime, if you have any other info, like examples, screenshots, etc. that you can add, please send those as well.

Kyle


#9

Kyle,

Attached to this email you will find a PDF file with screen shots for my set up.

  • Anybus Configuration Manager (Maps) – 1.0.31.0

  • Automation Direct PLC P2-550 CPU

Issues:

  • For some reason registers are shifted by 1, e.g 40003 (PLC) goes to 40001 (anybus) etc…

  • Registers do not match the values sent by the PLC.

  • Sample PLC 40003 (-62.2) à Anybus 1st register -62 no decimal point

    3000’s coils, only the first 8 coils work properly and after that 
    3009 affects coils 3017 etc..
    
    3001  à   3001
    
    3002  à   3002
    
    3003  à   3003
    
    3004  à   3004
    
    3005  à   3005
    
    3006  à   3006
    
    3007  à   3007
    
    3008  à   3008
    
    3009  à   3009, 3017
    
    3010  à   3010, 3018
    
    3011  à   3011, 3019
    
    3012  à   3012, 3020
    
    3013  à   3013, 3021, 3025
    
    3014  à   3014, 3022, 3026
    
    3015  à   3015, 3023, 3027
    
    3016  à   3016, 3024, 3028

#10

#12

Do you get the same if you Disable the “Modbus Poll Records”? As Mobus per the specifications are 16-bit registers, the Modbus Poll Records use the standard 16 bit registers (and normally you don’t need to enable such features, the quantity to this is set to 30 registers. But if you look at the Signals list, there it is defines 30 32-bit registers (not sure this causes any conflict in reality) while polling 30 16-bit registers. Can you try disabling?


#13

Hi Kyle,

I’ve tried disabling the Modbus Poll Records, same issue still on going


#14

Hi Cesar,

One thing I have noticed is that you are polling 16-bit registers, but you have the data size set to 32.

Your PLC Modbus server settings are set to ‘Map value to two consecutive 16 Mobus registers’.

You are going to have to either change that to 16 registers or change your register address mappings.

Kyle


#15

Kyle,

I’ve tried changing to a 16 bit format, but still I’m getting the wrong values.

I have tried changing it in both places (PLC and AB9900) either combination still not working ok


#16

I’m going to need an updated project file as well as the Modbus PLC User manual and/or memory mapping in order to help with this. There must be a mistake/mismatch somewhere in the mapping that we need to find.


#17

OK,

Let me know what’s the next step.

Thank you


#18

I need from you:

  1. Updated project file
  2. PLC (Modbus) User manual and memory mapping

Thanks!


#19

Thanks Kyle,

Attached to this email you will find the current project file and the PLC communication’s chapter 6

Our CPU is P2-550 from Automation Direct


#21

In your latest config I am still seeing you putting 32-bit values into two 8-bit registers, so you are overflowing the registers and throwing everything off. If you want to store these 32-bit values, you will need to space out the register addresses, like 1, 5, 9, 13, …


#22

Kyle,

Attached to this email you will find configuration file, register addresses have been changed to 1, 5, 9, 13 etc…

  •      Same problem still there
    
  •      I’ve tried connecting with Modbus TCP, same issues
    

Would it be possible to have a tech support phone call?

Let me know

Final MA737689-RTU.abmaps (54.3 KB)


#23

Yes, of course. You can reach us by phone at 1-312-893-5636 between 08:00 and 17:00 EST Mon - Fri.

I looked at the file and everything seems to be in order now. Can you let me know what you are getting for a result? Is there data which is just the wrong data or an error message, for example. Have you tried the Reading Input Registers command, swapping the byte order, etc.?