Siemens PLC Integration to an IOT Device

I have S7-300 (315-2PN/DP) PLC with 2 CP-340 Cards. 34 Energy Meters are looped and connected to these CP Cards. I also have CP 343-1 Card to connect it to SCADA PC. Now I want to acquire data of these Energy Meter on my proprietary IOT Device. But it can only take data on Modbus RTU or Modbus TCP/IP. I don't want to hamper the existing network.

Please suggest a suitable way to do it.

Thank you
Maybe you should use SIEMENS IOT2040 that can communicate with S7 PLC or Modbus TCP connection and can be use with Node-Red that can communicate with MQTT for IoT device.
I don't know what functionality the listed model numbers represent; whether they're even Modbus capable or if they run some other protocol.

But if the existing network is a Modbus network and the network is Modbus RTU over RS-485, then your IoT device would be 2nd master on the network, which is prohibited by Modbus serial spec because two masters on the same RS-485 network make a hash of everything. If the current master can:

- operate as a simultaneous Modbus slave
- and it has a 2nd serial port

then it can very likely make the field data available to your IoT (running as a Modbus master) which could fetch the field data from the current Master operating as a concurrent Modbus slave on the 2nd network.

If your IoT is a Modbus/TCP master then have it poll the energy meters. Yes, it adds more traffic on the network.

Does your IoT convert the ModBus protocol to MQTT? If this is the case, is it possible to remove the PLC? Your IoT device will read the data via ModBus and send the data to the broker (with MQTT protocol). In some new PLCs, the MQTT protocol may be embedded.
Two Options:
  1. Option A: Get open-source driver that to convert Siemens S7 Data Client Protocol to ModbusTCP. You'd have to develop this conversion, and run this little converter to act as a middleware on your SCADA PC / if possible run this tool within your "proprietary" IOT device.
  2. Option B: Integrate all those energy meters directly to your "proprietary" IOT device through ModbuTCP and ModbusRTU as these energy meters should have Modbus. If there is no Modbus on these energy meters, then Option A is an easy way out.

We have already done such integration for more than 70 meters of different make - directly connected to Enyantrik's iQuisition Industrial IoT platform - the same platform has Siemens S7 Data Client driver and can publish data in ModbusTCP so your "proprietary" IOT device can read from this platform. Send email to [email protected] if you want further assistance on the issue.
My answer is late but I hope this can help those people are facing the same situation.
We had a project for monitoring solar inverters from mobile devices. The customer want to be able to see inverter's status from anywhere with a internet connection. We have completed the project in this way. With a SIMATIC IOT2050, we collect data from 4 solar inverter using modbus tcp/ip. Then we send those data to a MQTT broker that hosted in a VPS. For the VPS, we buy a cheap local VPS which costs around 10 dollars per month. We put all MQTT Broker and backend services on that VPS. The whole project costs supper cheap but the performance is amazing.
I decided to share my knowledge to my friends by writing a blog. The blog talks about industrial IoT and relevant. Like this one, I am showing 3 steps to configure SIMATIC IOT2050, SIMATIC IOT2040 for very beginners. But they all in Vietnamese now as it is my native language. You guys can try google translate. If any help needed, just email me for help.