Link tags from Schneider plc to ignition via modbus tcp connection

Hi Kevin
I have tried both ways. Reverse Word Order checked and not checked… same bad reading

If you can get a valid reading out of a third party Modbus utility like modscan it’s usually pretty easy to figure out the correct address and settings in Ignition from there.

Got it… I will try to do that.
Thanks.

Hi Kevin, I was able to get a valid reading using the ShortBus Modbus Scanner.

Main settings:
Option "0-Based" checked
Result format: Floating Point

Any idea how could I set it to ignition ? Thanks a lot

See below:

I missed this in your original post - you are not using the right address designators.

Try 1.HRF220 and 1.HRF240, maybe plus 1, maybe with or without the reverse order.

Note the “F” in the address designating it a Float and causing the driver to read 2 registers for each value.

1 Like

Thanks a lot. It worked fine!

teste33

Using:
1.HRF<Address+1> and checked “Reverse Order”

Thanks. :+1: :+1:

I think you can get rid of the +1 offset by turning on zero-based addressing (or turning off one-based addressing, I forget which way it is displayed) in the Modbus driver settings in Ignition.

Yeah! I found it

the tag configuration is now: 1.HRF<Address>

Hi Kevin
One more time I need some help on same topic.
I have some other tags I would like to retrieve the data, previously I got some %MW tags, now it is: %I and %Q as below:

Do you know how to refer the tag address to Modbus? I0.4.7.0 or Q0.5.4.0

image

I read some topics as Mr PTurmel mentioned: “%QW as an HR, and the %IW as an IR. %Q is accessible as C, and %I is accessible as DI”

But I did not understand how to refer the address.
Thanks.

No, sorry, I’m not familiar with these Schneider PLCs and I do not know how they map their own addresses into Modbus tables or whether it even happens automatically or not.

OK. Thanks. When I figure out how, I will share here

Hey @tarcio.sales.

I don’t think it is possible with the Ignition Modbus driver. We always have to manually map those addresses to %M addresses. The other option is to set the racks up where they use %I and %M addresses sequentially. Hope this helps!

I dug about a bit on the Schneider site and found the M340 manual. Per that manual:

  • %Mzzz => Czzz
  • %MWzzz => HRzzz
  • %Izzz => DIzzz
  • %IWzzz => IRzzz

It wasn’t clear from the manual if those are one-based or zero-based, but from the other results in this topic, I suspect it is zero-based.

Hi @pturmel
I got it when I read your first post but what I did not understand how to map the address number
E.g:
%I0.4.9.0
You said I have to use: DIzzz but what’s the zzz ? 0490 or 0.4.9.0 or 049.0 etc… That’s my doubt! Thanks for your help.

@brandon1, thanks for your reply. I read some topics that says what you mentioned. I’d have to assign the %I to %M. I will await the Mr Pturmel’s reply to make sure it’s not possible.
However, could you please tell me how to assign the %I to %M, I’m not familiar with Schneider PLC. Thanks a lot.

I don’t know. I don’t use Schneider products. Lack of support for masked writes in current products suggest they’ve gone way downhill since my time working with Modicon processors. (Ancient history).

I gather the format with the dots is expressing rack.slot.word.bit. There must be some configuration in the PLC that associates the starting bit of an input module with a %Izzz, and the rest are sequential. The Modbus specification just uses one number, from 0 to 65535, to identify any given bit or word.

1 Like