Hey there! I am currently testing out Rockwell's AOI for reading Modbus TCP, specifically version 2.04. The connection to the Modbus server appears to be successful. I am attempting to read holding register 1000 using function code 3 and a count of 3. When using Modbus Poll, I am able to read the data without any issues. However, when monitoring in Studio 5000, the data is not visible. The transaction code indicates a successful connection with a "1". Is the data supposed to be under the .LocalAddress parameter? I noticed that the default value for .LocalAddress is "0" - should I change this? The manual did not provide clear guidance on this. Could someone please review my setup? I have attached a screenshot for reference.
Easily access your data by updating the .LocalAddress parameter in Gate_01_Data.HoldRegisters_4xxx. With a simple adjustment to 5, your data will now reside in Gate_01_Data.HoldRegisters_4xxx[5] - Gate_01_Data.HoldRegisters_4xxx[7].
While working with Gate_01_Data, your data will be stored between the indexes HoldRegisters_4xxx[0] to HoldRegisters_4xxx[2]. If you decide to modify the .LocalAddress parameter to a value like 5, then your data will be located between HoldRegisters_4xxx[5] to HoldRegisters_4xxx[7]. Indeed, the manual did not provide this specific information, so thank you for bringing it up. A query arises when exploring Gate_01.Data - it displays a vast array of registers. Is there an alternative within the AOI to reduce the number of tags generated?
Is it possible to exceed the maximum of 5 transactions per AOI as stated in the manual by modifying the raC_UDT_ModbusClientTransaction[5] array size? Has anyone successfully increased the transaction limit of this AOI through software modifications?
The 5 transaction limit is set based on performance, as transactions are carried out sequentially. The array size can be adjusted, and the AOI will adapt to this change automatically. When it comes to data size, you can modify the number of registers and the code will validate it. However, if you modify Boolean arrays to 0 and 1, you will need to manually define limits. Despite this, booleans require minimal memory space and can be kept unchanged if desired.
Hi there! When using Rockwell's AOI for Modbus TCP, the data you're looking for after a successful transaction isn't hidden under the .LocalAddress parameter - that generally refers to the source address. You should be looking for the data under the .InputData or .OutputData parameters based on whether you're reading from or writing to the server. The .LocalAddress parameter default value of '0' should be fine, as it usually doesn't require any changes unless there are specific address-based restrictions. I'd advise checking your data pointers again and see if you've missed anything. Hope this helps!
Hi there! It seems like you're on the right track, but you could be missing a small detail. I've used Rockwell's AOI for Modbus TCP, too. Even though you're receiving a successful transaction code, the .LocalAddress parameter should typically point to where in your program you want to store the data being read from the Modbus server, rather than being the location of the data itself. So, it's not where you'll directly see the incoming data. You'll need to specify a location in the PLC tags for the data to transfer to. Remember to match the data type properly in your tags. Hope that helps clarify things!
Hey there! I've had a similar issue with my Rockwell's AOI too. I believe your data should be under your .Data parameter instead of .LocalAddress. The .LocalAddress typically refers to the Modbus slave address. You shouldn't need to change the .LocalAddress parameter. The lack of data visibility might be due to incorrect Modbus mapping or incorrect data type definition. Also, make sure you're using the right data type in Studio 5000 that matches your Modbus Register data type. I hope that helps!
It sounds like you're on the right track with the Modbus TCP setup! If youβre able to read the data correctly with Modbus Poll, the issue likely lies in how you're accessing that data in Studio 5000. The .LocalAddress parameter does typically define the starting register to read from, so setting it to match the address of the register you're interested in is crucial. Make sure the addressing aligns with what you're expecting. Also, double-check the data structure and ensure you're mapping those registers correctly in your AOI. If all else fails, reviewing the logs for any error codes or enabling any debug modes might shed some light on what's going wrong. Good luck!
β 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: Answer: This could be due to configuration settings such as the .LocalAddress parameter. Check if the data is supposed to be under the .LocalAddress parameter and consider changing the default value if necessary.
Answer: Answer: Review your setup and configuration in Studio 5000, ensuring that all parameters are correctly set up, especially the .LocalAddress parameter. Make sure to follow any specific guidelines provided in the manual.
Answer: Answer: Double-check the configuration settings in Studio 5000, including the .LocalAddress parameter, to ensure that the data is being correctly mapped and displayed. Consider reaching out to Rockwell support for further assistance if needed.
Join hundreds of satisfied customers who have transformed their maintenance processes.
Sign up today and start optimizing your workflow.