Cap (Customer) asked a question.

BRX Modbus Addressing to I/O Link

I'm struggling to get a Grasp as to how BRX talks to Modbus Addressing..

 

I'm Using I/O Link form IFM.. I'm using an AL1343 Modbus Master.. It's able to Read 8 Ports of Data. This Unit is Set up to Read Analog Data from Pressure or Flow Sensors..

 

Port 1 Data will come in Modbus Register 1000 through1002 with Modbus Register 1100 through 1101 will be Modbus Output.

Register 1002 will have the 16 Bits of Data of the Pressure or Flow Data for Port 1.

 

Port 2 Data will be simulat to Port 1, except it will be Referenced by a 2.. so 2000 through 2002, and 2100 through 2101

 

Ditto with port 3.. on to Port 8

 

BRX wants the Read Holding Regesters to be ofset by 3000.. How do I get down to Modbus 1000?..

 

Some of the Stored Data for the Errors and History is down into the Registers of 200 and Such.. How do I get there?..

 

Do-More had Excel Offset table to get the Register proper.. Does Do-More use that same Encoding Scheme?

 

Cap


  • Garry (Customer)

    Hi @Cap (Customer)​,

    BRX Do-More Series PLC – Modbus Address Map

    The following table shows the Coil/Register numbers and the associated BRX Do-More PLC address for Modbus.

    Coil/Register Numbers Data Addresses Type Do-More PLC (BRX) Table Name

    00001-09999 0000 to 270E Read-Write MC1 to MC1023 Discrete Output Coils

    10001-19999 0000 to 270E Read-Only MI1 to MI1023 Discrete Input Contacts

    30001-39999 0000 to 270E Read-Only MIR1 to MIR2047 Analog Input Registers

    40001-49999 0000 to 270E Read-Write MHR1 to MHR2047 Analog Output Holding Registers

     

    Note: The BRX Do-More Series PLC uses the Modbus area to communicate. This is because having direct access to the digital I/O can be dangerous when connected via Ethernet to the internet. Data must move in and out of this area via the PLC program.

     

    I made up this chart in the following post.

    https://accautomation.ca/brx-plc-advancedhmi-communication-modbus-tcp/

     

    Regards,

    Garry

    https://accautomation.ca/

    Expand Post
  • HOST_franji1 (HOST Engineering)

    Not sure why your Modbus Master has fixed addressing. This is not normal. Also, the addressing for Modbus is well defined - it appears your documentation is using some strange (hex addressing on the wire?). Please do NOT CONFUSE FUNCTION CODEs with Addressing. FC 3 is Read Holding Registers (which start with 4xxxx), but FC 16 is Write Multiple Holding Registers (which still start with 4xxxx).

     

    Modbus addressing is as follows (per the Modbus specification - has nothing to do with Do-more):

     

    Modbus Discrete Outputs start with a leading 0 (e.g. 00001 is the first Discrete output)

    Modbus Discrete Inputs start with a leading 1 (e.g. 10001 is the first Discrete input)

    Modbus Input Registers start with a leading 3 (e.g. 30001 is the first 16-bit Input Register)

    Modbus Holding Registers start with a leading 4 (e.g. 40001 is the first 16 bit Holding Register).

     

    Please provide

    1. What FC Function Code(s) you are wanting to initiate by the Master
    2. What Addresses you think you require by your Master (usually this is a requirement of a Slave, but are not a simple plain device like a valve, so PLCs can be VERY configurable - again - not sure why your Master limits this, but I've seen strange implementations for Master and Slave, so I digress).
    Expand Post
  • HOST_franji1 (HOST Engineering)

    Sorry, I think I misunderstood. It appears that this product is an I/O Link Master, but it has a Modbus/TCP GATEWAY function to I/O LINK SLAVEs, hence AL1343 is the Modbus SLAVE (functioning as a Gateway), hence the fixed addressing.

     

    Is this the correct understanding

  • Cap (Customer)

    Slowly getting things to come to life..

     

    It looks like the Documents written by IFM, show only the Offset Registers, not the Actual Register Number. When they say register 200 for a Data Read, they really mean a 30200 Read.. So a 'Read' of 200 on a Function Call of 3, will give me the Proper Location..

     

    And.. in this Pressure Sensor configuration, the actual pressure is the second Register (201), with the First Register being the Error/Status Code(200) .. AND.. the Pressure sent is a 14 Bit Signed Value Shifted to the Left 2 Bits.. To read the number you can Divide by Four, or Change your Constant by 4.

     

    The Number Transferred for this Pressure Sensor is native BAR Readings.. So it end up it's a 13 Bit Plus Sign -1 to +1 Bar Signal coming out of the ModBus Data.. Then I get to change that to my Engineering Unit ( Ft Water in this Case ).

     

    Getting things to work.. next is to tackle the Flow Meters.. Looks like they are Native L3/h Native Mod Buss Data.. 16 Bits Signed Data.. But I need to Purchase one and hook it up to see..

     

    AND all of this is on the BRX Simulator running my New Wastewater Program I'm writing in the Lap Top, talking to the IFM IO Link Modules by way of the E-Net port on the lap top.. Sitting at my Desk.. Not out on the Field!! Not sure how I'll test the Flow Meter..

     

    WAY Cool!

     

    Thanks All..

     

    Cap

     

    Expand Post
    • Garry (Customer)

      Sounds like an interesting project.

      Thanks for the update.

      Garry