Address mapping for DL05 PLC

I have a DL05 PLC that I would like to add to my OPC UA Devices. I was hoping to get some help with address mapping as I am very new to Ignition and using PLCs. This is what I have setup so far… I am still looking for a comparison to V1000. I’m also not sure if the V2000 address is right. In Kepware, I had my device setup with V1000 and V2000 as a BCD and X0 as a Boolean. Thanks in advance

Addresses appear to be in octal, so you would need to convert it to decimal, plus whatever the start of range happens to be for I/O.

Timers/Counters/V-Memory would just be converted from octal to decimal.

In all instances, pay attention to the Modbus Data Type. :slight_smile:

V1000, according to the chart is an Input Register. 10008 = 51210, so the Address should be IR512

V2000 is a Holding Register. 20008 = 102410, so the Address should be HR1024

X0 is a Discrete Input. Since it’s right at the start of the range, the Address would be DI2048

2019-06-18_8-23-18

Check out the link below for Modbus addressing types.
https://docs.inductiveautomation.com/display/DOC79/Modbus+Addressing

Thank you that was helpful! This is what I have done… My only issue is that in my project in ignition, my value tag is not reporting my value… it’s source value is staying at 10… Does this mean my addresses aren’t right or is it something else? I do know it’s not a script issue because I have just certified all of the scripts with Ignition 8.0.2

Download modbus_conversion.xls from here

I’m not sure what part of the Excel sheet to use or how to apply the data within… I’m working with a DL-05 and currently trying to figure out why my value tag is just reporting what my “MinCycleTenthSec” memory tag is showing

I think that my addresses seem right

How many tags are you trying to add to Ignition? If it is a small amount, I would add them manually inside the designer.

If you give me a DL-05 tag you are trying to add (e.g. V2000), I can show you how to use the Excel spreadsheet.

Is the location off by one? If so, you may need to check the One-Based Addressing in your device settings. It’s in the ‘Advanced Settings’ portion

I only need 3 tags… I have attached some screen shots of what I’ve done so far… Like I mentioned, I’m very new at this so it could be very wrong lol.

@JordanCClark I had the One-Bassed addressing on, should I uncheck the box?

Which are the three DL-05 tags you want to add?
If one of them is V2000, you type 2000 into B19 and it will give you the holding register (41025) and input register (31025) modbus addresses (let me know if you don’t know whether it is a holding or input register).

You then need to take a look at this page from the Ignition User Manual:
https://docs.inductiveautomation.com/display/DOC80/Modbus+Addressing

E.G. If your DL-05 V2000 is a 16 bit signed Holding Register, then you want this for your “OPC Item Path”: [device_name]HR1025 (you omit the 4 because Ignition sees the HR and does that for you in the background).

Let me know if you don’t understand something, it took a while for me to understand this too!

That helps a lot!! Thank you… So I used the excel sheet and found my address but how do I know the start and end range? I tried using 1200-7377 for V2000, is that correct?

My question is why do you want to do address mapping for 3 tags? Address mapping does not add tags to Ignition tag browser, it adds them to Ignition’s OPC-UA server. This makes it easy to drag and drop tags from the OPC-UA server into the tag browser which can be handy when dealing with a lot of tags and/or you have or in future, expect to have many of the same PLCs connected to Ignition. I would be happy to help map this for you but I don’t think it is what you want/need. What you need is to add each of your 3 OPC-UA Tags Manually inside the designer using https://docs.inductiveautomation.com/display/DOC80/Modbus+Addressing

Another example: X0 is a discrete input, you enter 0 into cell B13 and get modbus address 12049. When you add the tag inside the designer, the OPC Item Path is [device_name]DI2049. Datatype should be boolean.