Help whit MOXA MGate MB3180


I'm a little confused, I have a MOXA MGate MB3180 and I connect to my ignition. this is my first time working with modbus.

I still don't quite understand the language that modbus gives me.

I see this


I have this on ignition

but I don't know how to pass the data I see in the moxa to ignition tags.


1 Like

yes, sorry

The "Choose OPC Item" window you show is part of Ignition's OPC Browser. IA's driver does not allow browsing of the basic address ranges of a connected device. You have to manually enter OPC Item Paths into Ignition tags, based on the documentation of the end-device (on the other side of the Moxa).

The IA driver does allow you to create OPC Item alias with its "Mappings", and those aliases will be browsable. You still need to know what addresses to create as aliases.

My alternate driver (linked in an earlier discussion for you) exposes standard IA-style addressing in the OPC browser, given a list of nodes and the addresses you wish to browse. So even then, you need to know what addresses are meaningful in the end-device (on the other side of the Moxa).

The Modbus protocol is simply too old and stupid to provide any information (through the connection) on what possible registers might be useful. At best, a Modbus device can give errors for addresses that aren't used, but many simply provide zeros. Some will give errors when addresses are accessed in certain combinations. Again, there is no way for Ignition to know any of this (nor with my alternate driver). You simply need the documentation for the end device.

Please share what you know about your end devices (not the Moxa--its purpose is to pass through requests and data to the end devices without any special handling).

1 Like

I check the address rages

I don't undesten how I can creat the tagas

I creat this adreess

In the device documentation, the left hand columns show decimal and hexadecimal addresses that imply zero-based addressing. The default for IA's driver is one-based addressing. You will need to edit the driver to change that setting.

Based on Modpoll's result, you need

  • Unit ID = 1. For manual addressing, this is done with a prefix of 1.

  • The voltage registers appear to be in integer format, possibly with an implied decimal place (if the 1200 represents 120V). The scaling part of that manual likely explains what you need. The double-register values are high-word first, which is normal.

  • Address HR521 is not a double-word value as you mapping implies. It is reserved. Address HR522 is some kind of time constant.


  • Create an OPC tag named PrimaryV in Ignition with OPC Item Path [Modbus]1.HRI513

  • Then more tags with [Modbus]1.HRI515, [Modbus]1.HRI517, [Modbus]1.HRI519

Apply scaling on the Ignition side to deal with the implied decimal point. If you do that, be sure the data type on the Ignition side is set to float or double.

I have a other ask, the start and end is the line o diferent channel (equitment connect) whit we have

I don't understand. Are you asking about the modbus over RS-485 on the other side of the Moxa?

we have a 5 screen connect to a moxa, this screen is connect whit a line or diferent channel


my ask is about this, this is my quantity of channel

Start and end are only meaningful in alias mappings, have nothing to do with unit ID (slave ID), and only have meaning to you. Use the 1., 2., 3., 4., and 5. prefixes to target those five units.

I recommend you not use alias mappings at all. They are a terrible maintenance hassle. Just create your OPC tags in Ignition with manually-constructed Item Paths.

Yes, this means the Quick Client will be useless. If you must have browsing, I recommend using my alternate driver (which is browsable without mappings).


I appreciate your help and I am sorry for so many questions. but this is my first work with this device.

I make OPC tags as you told me but I have a error.

Have you successfully communicated with this device and extracted the data at these addresses using any 3rd party Modbus util, such as modpoll? This would rule out configuration issues or bad addressing information.

edit: oops, I see the screenshot from that util in the middle of the post history. Carry on.

Don't set the source data type on the tag. Use the 1. prefix that is known to work in Modpoll. Did you edit the driver to use zero-based addressing?

Don't use a one-millisecond rate on your scan class. Use just 1000ms until you see how fast it really can poll your tags. (1ms is almost certainly too fast, as you have serial modbus on the other side of the Moxa. If you only have a few tags, you might go as fast as 100ms. See the message in the bottom text block of the diagnostic pop-up.)

no, I don't know how to do this, I sent this point to my supplier but I haven't received a reply.

It isn't something for your supplier to do. You do it in Ignition. Edit your Modbus device in the gateway configuration page and expand its advanced settings. Nothing will work right if one-based versus zero-based is not set right.

ok, thanks.

I do the change but I still have an error in the label.

I think I see a space in the device name part of your OPC Item Path. [ Modbus] should be [Modbus].