I am currently looking to establish Modbus RTU communication between a 1214C Siemens PLC and two specific slaves: the Schneider PM5110 meter and the Socomec Delphys GP UPS. My goal is to retrieve analogue variables from these slaves by leveraging the PLC's ladder logic blocks. While I have obtained the register lists for each slave, I am unsure whether I need to add a value of 30001 to the address, as suggested on various Modbus RTU resources. Do all Modbus RTU slave manufacturers utilize a base address for communication with the master PLC? I am particularly interested in understanding the processes for the Schneider and Socomec devices. Any insights on this matter would be greatly appreciated. Thank you.
In this scenario, I will be reading three Holding Registers from the Siemens-convention address 1837 using a basic program with the MB_MASTER instruction on the S7-1214C as a Modbus Master/Client and the PM5110 meter as the Modbus Slave. The question arises whether retrieving address 1836 on the S7 will correspond to the 1836th or 1837th Holding Register in the PM5110 memory model. If the second register retrieved has a value of 2000 or greater, it indicates that both Siemens and PM5110 documents use the same addressing scheme. If the first register has a value of 2000 or higher and the third register has a value of 31 or less, it suggests that the PM5110 document uses one-based addressing, while the S7-1214C uses zero-based addressing. If neither case applies, then the third register with a value of 2000 or more signifies that the PM5110 document uses zero-based addressing, and the S7-1214C uses one-based addressing. Background: Modbus communication involves Slave/Server devices that hold Data Tables, and Master/Client devices responsible for data transfer. Each transfer includes the direction, type of data table, address, and length. The Function Code, Address, and Length are used to specify the data transfer. The Function Code encodes the transfer direction and data table, while the address indicates the first element in the Data Table to be transferred. The length refers to the number of data to be transferred. Different prefixes are used for writable coils, read-only discrete inputs, read-only input registers, and writable holding registers. Understanding the Modbus transfer conventions and memory model is crucial to avoid confusion regarding addressing schemes and Data Table interpretations.
Thank you for the valuable information provided. According to the Excel document, in order to retrieve the Active Power Total (register 3060), should I use MB_MASTER with DATA_ADDR (3060) (+-1)? Alternatively, should I use MB_MASTER with DATA_ADDR (3060 + 30001) (+-1) as suggested in the linked resources? Is this usage dependent on the brand? Simplifying Modbus RTU with in-depth explanations and practical examples. This article delves into the Modbus RTU protocol commonly utilized in control systems. Discover more about Modbus and its functionality with insights from Schneider Electric USA.
DukeFleed expressed gratitude for the valuable information provided. To access the Active Power Total (register 3060) as indicated in the Excel document, should I use MB_MASTER with DATA_ADDR (3060) (+-1), or should I follow the method mentioned in the links, which involves using MB_MASTER with DATA_ADDR (30001 + 3060) (+-1)? Is this process brand-specific? Learn about the simplified Modbus RTU protocol with detailed descriptions and examples in this informative article. Gain insights into what Modbus is and how it functions in process control systems. For the S7-1214C MB_MASTER, consider starting with three registers located at holding register address 1836 (or '4'01836) for better communication between the S7-1214C and the device, allowing you to determine the necessary addressing prefix and offset (-1/0/+1).
Upon reviewing the PM5110 Modbus map, I discovered that the registers are one-based instead of zero-based. However, it was unclear whether they are categorized as Input Registers (3)xxxxx or Holding Registers (4)xxxxx. It is common for power meters to utilize Input Registers as there is typically no need to write values to the registers.
From my experience with Modbus RTU communication, I have found that the addition of 30001 to the address largely depends on the manufacturer and specific device - it's not a universal standard. What you're referring to is often utilized since Modbus address space starts at zero, but some Human Machine Interface (HMI) designs start counting from one, hence the addition of 30001. However, Schneider and Socomec may have different ways of dealing with this. I would suggest you take a more direct approach and refer to the specific documentation of your devices or maybe even get in touch with their technical support. They would be able to provide the most accurate information on how their devices handle addressing.
✅ Work Order Management
✅ Asset Tracking
✅ Preventive Maintenance
✅ Inspection Report
We have received your information. We will share Schedule Demo details on your Mail Id.
Answer: - In Modbus RTU communication, adding a value of 30001 to the address is a common practice as it represents the base address. However, it's important to consult the specific register lists provided by Schneider and Socomec for accurate addressing.
Answer: - Most Modbus RTU slave manufacturers adhere to the concept of using a base address for communication with the master PLC. However, it's recommended to verify the addressing conventions specified by individual manufacturers such as Schneider and Socomec.
Answer: - To retrieve analogue variables from Schneider PM5110 meter and Socomec Delphys GP UPS using a Siemens PLC's ladder logic blocks, you need to establish Modbus RTU communication and correctly address the registers based on the provided register lists for each slave device. Make sure to consider any required base address adjustments during the configuration process.
Join hundreds of satisfied customers who have transformed their maintenance processes.
Sign up today and start optimizing your workflow.