S7-300 comms with another device over Ethernet

That looks like a modbus TCP to modbus RTU gateway?

The S7300 requires a license for its modbus TCP blocks. I think the block exists under Communications -> Other -> Modbus TCP, but you need to contact your Siemens rep for a license for each CPU.

In the newer 1200 and 1500, modbus TCP is free.
 
That looks like a modbus TCP to modbus RTU gateway?

The S7300 requires a license for its modbus TCP blocks. I think the block exists under Communications -> Other -> Modbus TCP, but you need to contact your Siemens rep for a license for each CPU.

In the newer 1200 and 1500, modbus TCP is free.

Under Comms -> Other on my TIA Portal I have the option for MODBUSPN.

In the description it says "Communicate via Profinet as Modbus TCP server or client".

Is this the block you mean, or is it the MB_SERVER block which doesn't appear?

Thanks
 
Last edited:
MODBUSPN - Modbus TCP comms for S7-300, S7-400 over integrated interface
MODBUSCP - same but for comms over ethernet CP.

MB_SERVER and MB_CLIENT is Modbus TCP communication blocks for S7-1200, S7-1500 PLC
 
OK so I have started to try and get this up an running but not having much luck.

For testing I have actually setup a red lion DSPSX with the ethernet protocol MODBUS TCP/IP Slave.

What I cannot figure out is what to do with the MODBUSPN instruction. Siemens have sent me an example (https://support.industry.siemens.com/cs/gb/en/view/75330636)

but what is confusing me is the values in the DBs. They all have a default start value so where are the values I need actually coming from. Am I just supposed to change the start value to the value I want?

For example, the start value under the SIMATIC 300(Client) then DB1 for the tag START_ADDRESS I assume is the address of the holding register I am pointing too? So would I set the start value to 400001?

Thanks!
 
Start address should be memory address. For 400001 it should be 0.
Modbus address is memory address + offset. In case of holding register offset is 400001.
If you want to read address 402001.
Data type should be 3 (function 3 - read holding register)
Start address 2000
Length 1 (request for 1 register)
 
Start address should be memory address. For 400001 it should be 0.
Modbus address is memory address + offset. In case of holding register offset is 400001.
If you want to read address 402001.
Data type should be 3 (function 3 - read holding register)
Start address 2000
Length 1 (request for 1 register)

Thanks - do you have an example of one of these blocks you would be willing to share?
 

Similar Topics

I have set up comms between an S7-1512SP-1 PN plc programmed with TIA v17 and an S7-314C programmed with Simatic S7 using GET and PUT blocks in...
Replies
4
Views
556
I have an S7-300 and an HMI. The HMI is the only device that talks over Profinet through the CP343-1 module. It's run fine for a couple of years...
Replies
2
Views
504
Hi, Has anybody setup a system as follows before, Siemens are telling me it should be fine. But I cannot get comms. S7-314C 2PN/DP -...
Replies
3
Views
2,378
Just wondering if anyone has managed to set up safety Comms between two safety s7-300 controllers. With one programmed via Tia portal and one...
Replies
1
Views
2,164
Hi I have an old Siemens S7-300 plc with a CPU313C. The firmware version is 2.0.12 so am presuming its an oldie. I have a model elevator...
Replies
5
Views
1,817
Back
Top Bottom