Author Topic: Schneider M Seires Modbus TCP/IP  (Read 3690 times)

gtechwi

  • Newbie
  • *
  • Posts: 3
    • View Profile
Schneider M Seires Modbus TCP/IP
« on: May 13, 2016, 04:21:51 PM »
Hi, I am working with the new Schneider M series PLC, specifically the M221.

I got Advanced HMI to work well with holding registers, %MW, using Modbus 40000 address

Also got the %M to work with 10000 address.

My question is, how to address the inputs %I, and outputs %Q

Any info is appreciated, thanks

Archie

  • Administrator
  • Hero Member
  • *****
  • Posts: 5262
    • View Profile
    • AdvancedHMI
Re: Schneider M Seires Modbus TCP/IP
« Reply #1 on: May 13, 2016, 04:32:57 PM »
If it is a coil that uses function code 1, be sure the first digit of the address is a 0

gtechwi

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: Schneider M Seires Modbus TCP/IP
« Reply #2 on: May 13, 2016, 04:37:27 PM »
so to clarify your statement...for PLC coil %Q.1.....use Modbus address 01001...?

Archie

  • Administrator
  • Hero Member
  • *****
  • Posts: 5262
    • View Profile
    • AdvancedHMI
Re: Schneider M Seires Modbus TCP/IP
« Reply #3 on: May 13, 2016, 05:02:12 PM »
I can't answer that for the specific PLC, but from a Modbus perspective, the first coil would be addressed by 00001

If the PLC documentation says %Q0.1 uses a Modbus offset of 1000 (or 1001 depending on the offset), then your Modbus address would be 01001

gtechwi

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: Schneider M Seires Modbus TCP/IP
« Reply #4 on: May 13, 2016, 08:30:15 PM »
OK... from your comment, "the 'first coil' would be addressed by 00001"

So, "from Modbus perspective", is this the first coil used in the ladder? If I have a coil addressed in the program as %Q0.1, and a following coil addressed as %M0.1, would the Modbus addresses be 00001, and 00002, respectively? My conundrum is how to separate real world output coils from internal coils.

I was able to read and write to the internal %M.x coils using modbus 00001 etc, but couldn't figure out how to address the real world PLC outputs.

Pending your reply, I'll look up the documentation on my PLC next week ,and get you a screen capture of it

Archie

  • Administrator
  • Hero Member
  • *****
  • Posts: 5262
    • View Profile
    • AdvancedHMI
Re: Schneider M Seires Modbus TCP/IP
« Reply #5 on: May 13, 2016, 08:36:42 PM »
This will all depend on how your PLC maps its real world outputs to a Modbus address. That should be in the documentation for the PLC.

coffin_dodger

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: Schneider M Seires Modbus TCP/IP
« Reply #6 on: February 10, 2018, 09:57:21 AM »
OK... from your comment, "the 'first coil' would be addressed by 00001"

So, "from Modbus perspective", is this the first coil used in the ladder? If I have a coil addressed in the program as %Q0.1, and a following coil addressed as %M0.1, would the Modbus addresses be 00001, and 00002, respectively? My conundrum is how to separate real world output coils from internal coils.

I was able to read and write to the internal %M.x coils using modbus 00001 etc, but couldn't figure out how to address the real world PLC outputs.

Pending your reply, I'll look up the documentation on my PLC next week ,and get you a screen capture of it

Yes this happens which I find strange, for example;

I create 2 rungs in SoMachine with 2 outputs (1 on each rung driven by individual inputs) "%Q0.0" and "%Q0.15" respectively. I create 2 pilotlights in my HMI, one to read 10001 and one to read 10015, and it doesnt work for 10015, however when I change the address 10015 to 10002 it works.

Still can't understand why.