In my efforts to modernize an outdated PLC5 system to CLX, I am transitioning to CLX with the old racks on RIO. In Rack 0, I have 4 analog output cards that I am updating by replacing BTR/BTW instructions with MSGs. While most of the cards are working properly, one is presenting an issue. I have carefully reviewed the instructions and tags to ensure everything is accurate, but I am unable to identify the root cause of the problem. The error message displayed is 16#00d3, indicating a discrepancy between the requested length and response length. I have confirmed that the read MSG consists of 13 elements, while the write MSG has 5 elements. The arrays N42[170] and N42[160] have sufficient space. I suspect that the rapid execution trigger may be causing the issue, as it is currently set to operate as quickly as possible.
Welcome to the PLCTalk forum community! When it comes to utilizing the traditional 1756-DHRIO modules during legacy migrations, challenges may arise due to limitations in the number of buffers available to serve them. Beyond sixteen block transfer modules, proper resource management becomes crucial. It is important to avoid overusing MSG instructions for block transfers and instead time them appropriately for your specific application requirements. Are the analog modules in question the 1771-OFE2 modules? And are these the sole BTR/BTW modules in your system? Join the conversation and share your experiences and insights with our thriving forum community.
It appears that your original code included both BTR and BTW control data blocks within the Data File designated for exchanging data with analog modules. The functionality of "control words" has been shifted to MESSAGE data type tags such as CONV_MSG_N42_140 and CONV_MSG_N42_150. In PLC-5 systems, Block Transfer Control data blocks were only 6 words long, making it simple for us humans to follow using 10-word blocks as boundaries. The Block Transfer Write operation transmits data to the 1771-OFE2 module starting from N42[170] with a length of 13 elements (16-bit Integer Words). Therefore, the array must extend to at least N42[182]. Typically, the conversion tool handles this correctly, as indicated by your screenshot showing N42 being 307 elements long. The 1771-OFE2 module always utilized 5-word Reads for status data and 13-word Writes for both analog output values and scaling parameters, suggesting that your configuration appears to be accurate. To ensure correctness, verify that "CONV_MSG_N42_150" is not utilized elsewhere and that the block transfer is directed at the appropriate module.
Welcome to the PLCTalk forum community! When dealing with legacy migrations, utilizing the classic 1756-DHRIO modules can pose challenges due to a limited number of buffers available for servicing them. It is important to carefully manage resources when the number of block transfer modules exceeds sixteen. Avoid overloading MSG instructions for block transfers and instead, time them appropriately for your specific application needs. Are the analog modules in question the 1771-OFE2 modules? Additionally, confirm if these are the only BTR/BTW instructions in your system. In this case, there are a total of five BTW/BTR instructions in the program, consisting of four 1771-OFE2 modules and one 1771-IFE/C module. While all modules and instructions are functioning correctly, an issue has been identified with one OFE2 card.
Ken Roach pointed out that the original code contained a mix of BTR/BTW control data blocks within the Data File name, which were used for data exchange with analog modules. The control words functionality has now been shifted to MESSAGE data type tags such as CONV_MSG_N42_140 and CONV_MSG_N42_150. In the PLC-5 system, Block Transfer Control data blocks were only 6 words long, making it easy for users to follow 10-word block boundaries. The Block Transfer Write operation transmits data to the 1771-OFE2 starting from N42[170] with a length of 13 elements (16-bit Integer Words). Therefore, the array needs to extend at least to N42[182]. Typically, the conversion tool should handle this correctly, as indicated by the screenshot showing N42 to be 307 elements long. For the 1771-OFE2 module, 5-word Reads were used for status data, while 13-word Writes were employed for both analog output values and scaling parameters. It seems that the configuration is accurate, but it is advisable to double-check if "CONV_MSG_N42_150" is utilized elsewhere and ensure that the block transfer is directed towards the correct module. Furthermore, the word length and available space were verified, while the card's slot was confirmed to be 5/0. Although sharing the program for troubleshooting purposes would be helpful, the file size prohibits it. Despite other cards functioning correctly with identical programming, there seems to be an issue that needs to be addressed.
One potential solution is to remove the MESSAGE control tag, adjust its configuration, and reinstall the program. It is possible for these tags to become corrupted during editing. While the alternating BTR/BTW method may seem simple, the PLC-5 offers a more forgiving BT queue and execution sub system compared to the message buffering system shared by ControlLogix and other communication functions. Consider using a timer to schedule the BTW on a regular basis, and run the BTR for diagnostics less frequently. Modifying BTR/BTW can be challenging when they run continuously, as there is no inactive period for Studio 5000 to apply the changes.
It sounds like you're on the right track with your MSGs and addressing the discrepancy, but I’d recommend taking a closer look at how the MSG instructions are timed. If your rapid execution trigger is firing too quickly, it might be messing with the timing of your messages or causing overlapping requests—a common issue with MSGs. It could also be helpful to insert delays or make sure the MSG instructions have completed before initiating another. Additionally, double-check the configuration for your analog card to ensure that it's properly set up for the requested message formats. Sometimes small oversights in the setup can lead to those frustrating error messages!
✅ 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: - Error code 1600d3 indicates a discrepancy between the requested length and response length in the communication between PLC5 and CLX systems.
Answer: - To troubleshoot error 1600d3, carefully review the instructions and tags to ensure accuracy, check the length of read and write messages, verify the available space in the arrays, and consider adjusting the rapid execution trigger settings.
Answer: - Issues with analog output cards during a PLC5 to CLX transition could arise due to differences in communication protocols, instruction sets, or data handling methods between the two systems.
Answer: - The rapid execution trigger set to operate as quickly as possible may lead to timing issues or data transmission discrepancies, possibly causing error 1600d3 during the PLC5 to CLX transition.
Join hundreds of satisfied customers who have transformed their maintenance processes.
Sign up today and start optimizing your workflow.