PLC %MW modbus addressing

marcolino76

Member
Join Date
Dec 2019
Location
Padova
Posts
4
Hello I read your info about modbus addressing with %MW register.
I have a PLC with registers
PLC ADDR: MW4513 and the machine constructor write MODBUS ADDR: 44514
If I read the value with TCP modbus i read the exactoly value on the address 4513 Modbus ( 1st byte ) and I don't understand why.
Then I need to write 1 in the 7th bit of %MW10100 from my supervisor software, but if I make an or in the 10100 modbus adr or 50101 ( 10100 + 40001 ) it doesn't work.



I try to read and write %MW registers in a prototype situation by nodejs node-red Modbus Module, than it will be defintively fixed by a Java application


Can someone hel me please ?
Thanks
 
Thanks for this response :


%MW10100 is on so called extended memory area on modbus. Originally modbus had 9999 registers. and numbering was 40001 to 49999.
Then there is extended addressing, which is 10000 and over addressing.
But it isn't 50000 as modbus have only 0X,1X, 3X and 4X starting addressing.
Adresses from 10001 starts from 410001 which is %MW10000 on Schneider CPU.
So %MW10100 is finded from modbus 410099 address

And %MW1100 is 41099 address, but it can also writed 401099 on extended addressing
%MW0..%MW9999 can be 5 or 6 numbers on modbus
%MW10000 and over is allways 6 numbers on modbus
 
Agreed.

(4)xxxx is usually called 5 digit addressing; max register value = (4)9999

Extended addressing, (4)xxxxx, is usually called 6 digit addressing; max register value = (4)65536

Same with the other memory area designations.
 
For Schneider PLC modbus adressing is usually
0x is for %Mx bits (Read/write)
1x is also %Mx bits (only read)
3x is for %MWx words (only read)
4x is for %MW words (read/write)

But on some PLC 1x is pointing to discrete inputs (%Ix) and 3x is pointing to analog input area (%IWx).

M340 also have system words, which can be used for offsetting modbus addressing from %M and %MWx address. By default offset is 0 and modbus and %M and %MW-areas have difference of 1.

(And this is because modbus addressing starts from 1 and %M and %MW is starting from %M0 and %MW0 (zero)
 
To make modbus offset of 1 on m340 or m580 plcs create 4 variables with address %SW138, %SW139, %SW140, %SW141 and make the value of all of them = “1”
 

Similar Topics

Apologies for not being the best IDEC programmer. I recently was doing some inspections on a site that had 3 FC6A IDEC processors. The issue is...
Replies
0
Views
98
Good morning fellow sea captains and wizards, I am being asked to do the above and obtain 4 values from each slave, I know about the MRX and MWX...
Replies
32
Views
876
I'm a beginner in the automation field and I've set up an automation system connecting several devices (datalogger, radio, etc.) via Modbus RS485...
Replies
5
Views
224
Hello gentlemen, Im working on a small project on TIA Portal, about establishing a Modbus TCP connection between my ET200SP plc and a socomec...
Replies
12
Views
329
I am having a problem communicating my PLC with Drive via Modbus connection. I start by opening the port and there is no problem, but then when I...
Replies
6
Views
219
Back
Top Bottom