Creating a Modbus Map

dskplc

Member
Join Date
Aug 2013
Location
New Zealand
Posts
119
Hello,

I am trying to create a modbus map for Modicon PLC BMXP342020. I am using UnityPro software. Does anyone know how to do create this map? Thanks in advance for any help.
 
G'day,

easy peasy with the M340. In Unity, double click the processor in the configuration tab in the structural view on the left of the unity window. this opens up a couple tabs on the right for the processor.

in the configuration tab, on the right is a section for memory management. Select the radio button next to "Mixed Topological & State Ram". then define how many registers you want for each. If you're interfacing this PLC to some other modbus device, I'd suggest using 0x and 4x registers only for the mapping table.

Now to actually build your table, all you do is create variables (either an array, DDT or even single variables and give them an address. For example, to create 3 words at addresses 400001, 400002 and 400003 you simple create 3 variables and set the addresses to %MW0, %MW1, %MW2.

Unity uses IEC style addresses, which are offset by 1 compared to traditional modbus addresses. %MW for 4x holding registers, %M for 0x coils.

Hope that helps. what will be reading / writing to this map? If it's one of the "NZ made" RTUs like a Qtech XL4 or Abbey Systems RTU then there are a few other tricks to use. PM me if this is what you're doing.
 
Hello Saffa, thank very much for your reply. I am using Unity Pro version 8 and maybe there are some differences…


“In the configuration tab, on the right is a section for memory management. Select the radio button next to "Mixed Topological & State Ram".



There is not a button next to "Mixed Topological & State Ram" so after that I am lost.


Thank you in advance for anymore ideas.
[FONT=&quot]Best regards.

[/FONT]
 
Hello Saffa, I realized that there are different versions of the processor I am using (BMXP342020)and some do not have the option to choose "Mixed Topological & State Ram" in the processor configuration tab. Now that I have chosen that I am confused on the difference between the modbus addressing and addressing using %rack/module/channel for the variables? Best regards.
 
^if you use mixed addressing you can directly read input status with modbus 1x and 3x commands

If you use default setting (on older unity versions it was not even possible change setting), you have to copy %I and %IW variables from card (binary and analog inputs ) to some modbus addresseng first before you can read them.
 
Hello, thank you for your reply. Still wondering how to address my variables in modbus though if I have addressed my variables using %rack/slot/bit format. For example, if I have digital input variable in a digital card in slot 3 of rack 0, I have addressed it as %I0.1.0. How would this look in modbus? Best regards.
 
I normally just do a move from the real I/O to M% or MW% space. However, if you do want to read directly from the I/O registers then i think they are just sequential. I.e. first 16 point digital input card gives you 100001 through to 100016, next card gives you 100017 thru to 100032, etc etc.
 

Similar Topics

Hi All, I am new to Modbus so please be kind. I have a Modbus temperature sensor (R444A0). Details of the R444A01 Digital display Modbus...
Replies
1
Views
1,909
The idea here is to provide for a brief rapid influx of message codes while preventing sequentially repeating the same message. i.e. if two...
Replies
23
Views
675
Hello everyone, In a factory where we installed Citect 7.20 the computer began to show the first signs of end of life. They never considered...
Replies
0
Views
73
Hi everyone, I'm a last year student at the university in Ghent, and for my thesis i need to write a TwinCAT program that writes data to a .daq...
Replies
0
Views
140
When I go to create a new module in Studio 5000 I can't enter any information for the IP Address or change any other fields. Is there any fix to...
Replies
1
Views
253
Back
Top Bottom