Showing results 1 to 10 of 10

Thread: Modbus RTU

  1. #1

    Default Modbus RTU

    I have tested connect between Zenon with meter MK6E from EDMI and I have some problem.
    The MK6E has meters registers are 32 bits the meter software will utilise 2 ModBus addresses. The Mk6 Genius meter accepts valid ModBus messages with function code 3- Read Holding Register. The register address ranges from 0001 to 9999 which corresponds to 40001 to 49999. Each register address represents a 16 bit word (2 bytes), so to read a float (4 bytes) requires 2 registers.
    When a request is received the meter will translate that register address into an internal EDMI register. Each ModBus register address refers to a 16 bit word (2 bytes). When reading other data types, like floating point numbers that are 32 bits (4 bytes) wide, there is no standard. ModBus is big-endian, MSB transmitted first, but the 32 and 64 bit numbers are undefined. Most ModBus reading programs have a big-endian or little-endian option, although not all do. To cope with this, the meter also has a big-endian / little-endian option.
    I use the neter to make modbus address to register map (Ex: 9071 to 40169). With the meter software I check the register value (see picture meter). With the modbus poll software, I poll the address 9070 get the right value (see picture modbus) (I tried on different time so the value see not match but it is correctly between software and meter).
    I use zenon to connect with meter, but the Modbus driver only polling with address 9071, at the start-up runtime, the value received seem right , but the value do not update ( variable display spontaneous , global time in driver is 1000 ms..). Other register with type "Float" are worked fine.
    Could you give me some suggestion?
    Attached Thumbnails Attached Thumbnails Modbus.JPG   Meter.JPG  
    Last edited by skywalker : 24th September 2011 at 17:41 Reason: Forget attachment

  2. #2

    Default Re: Modbus RTU

    What offset did you enter at the holding register variable in zenon?


  3. #3

    Default Re: Modbus RTU

    The Meter has software to config modbus address to register. I config the modbus address 9071 to register 0169, and the offset in zenon is 9071.
    Other things, maybe the register is 64 bit, not 32 bit , because the type of register is "Double" that in meter manual "Double precision IEEE 64 floating point number."
    So how can I config the variables with 64bit?
    Zenon version : 6.50 SP1.

    Attached Thumbnails Attached Thumbnails Meter_config.JPG   Meter_modbus.JPG   Meter.JPG  

  4. #4

    Default Re: Modbus RTU


    have you tried with offset 169 in zenon? In your last screenshot, register 169 is shown, I assume for holding register 169.

    Also this screenshot shows 32 bit float for your meter "extension".

    In your final screenshot, which value is the correct value for your meter? The value shown at "float" or the value shown at "double" ?

  5. #5

    Default Re: Modbus RTU

    I have not tried with offset 169, but I think that internal meter address, and each meter address can map to modbus address.
    I have configed that modbus address(9071) -meter register (0169) with option type 32bit float, but in meter test, the correct value show at "double" (98409724968)


  6. #6

    Default Re: Modbus RTU

    OK, thank you.

    What you can do in zenon, is try and use a LREAL instead of a REAL datatype at the variable, and then check if the value changes accordingly.

  7. #7
    Join Date

    Default Re: Modbus RTU

    As far as I know the Modbus driver does not support LREAL (64bit double) by now
    -> this will be possible with zenon version 7

    So if this is a 64bit datatype the only solution by now would be splitting up the 64bit float into 4 UINT variables an then merging them with straton.

    Last edited by herberto : 26th September 2011 at 08:31

  8. #8

    Default Re: Modbus RTU

    actually, I checked this in the beta of version 7, and not zenon 6.51
    sorry for the confusion

  9. #9
    Join Date

    Default Re: Modbus RTU

    I have EDMI Genius meter type MK6N and I want to read the power factor value using modbus scan tool. I need the Meter software you mentioned to configure modbus address to registers

  10. #10

    Default Re: Modbus RTU

    Hi ABDO,

    I cannot help you with the meter software as shown in the screenshots. However with zenon you can configure variables quickly and configure the endianness in the driver configuration.

    Best regards,

Similar Threads

  1. MODBUS RTU convertor
    By khan in forum zenon Network
    Replies: 1
    Last Post: 25th July 2011, 08:11
  2. Real Variable Modbus TCP
    By pkreisel in forum Drivers
    Replies: 1
    Last Post: 15th February 2011, 23:39
  3. 64bit data type in modbus
    By roberto1978 in forum Drivers
    Replies: 7
    Last Post: 12th January 2011, 14:01
  4. Modbus read input status
    By maurodx in forum Drivers
    Replies: 3
    Last Post: 2nd September 2009, 00:21

Posting Rules

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts