Hello everyone, I need assistance in establishing a connection between a Danfoss inverter and an S7-200 CPU 226. When using Microwin, I encountered an error related to the DATA Ptr. Despite trying to assign different VB memory locations (such as vb100, vb1100, vb0), the error message remained consistent. The error message displayed during compilation is as follows: Network 2, row 1, col 2: ERROR 36 - (operand 5) The size or data type is not valid for the instruction operand. The blocks involved are SBR_0 (SBR0), MBUS_CTRL (SBR1), MBUS_MSG (SBR2), MBUSM1 (SBR3), INT_0 (INT0), and MBUSM2 (INT1). The block size is 0 bytes, with 1 error identified. Any advice would be greatly appreciated. Thank you.
I am not familiar with the Modbus library, but based on my understanding, a 'Pointer' in Microwin is indicated by using the '&' symbol. Therefore, instead of using VB100, you should use &VB100. It is unclear if there are additional setup steps required to utilize this memory location as a pointer. For detailed instructions on using the Modbus library with Siemens S7-200, refer to chapter 12 of the Siemens Manual. You can find more information on pointers by searching for the term in the PDF manual: https://cache.industry.siemens.com/dl/files/582/1109582/att_22063/v1/s7200_system_manual_en-US.pdf.
Hi there, it seems as though you're facing a compilation error due to incompatible datatype or size mismatch of the operand used in your S7-200. Given that you've already tried multiple memory locations with no success, I'd suggest double checking your configured data types to ensure they align with the expected data types of the instruction operand in your PLC's programming. Also, don't forget to see if the block size for your subroutine blocks are assigned properly. Your control structure could be causing these issues if it's not configured correctly.
Hey there! It seems like you're experiencing issues related to a mismatch between the data types in your S7-200 CPU and the data you're pulling from the Danfoss inverter. The error message is suggesting that the data size or type of one of your operands (likely involving the DATA Ptr) is incorrect. It's possible that the data from your inverter is being interpreted in the wrong format. Before anything else, I'd recommend confirming whether the data types expected by the SBRs are correctly aligned with the data you're trying to process from the Danfoss inverter. For example, check if integers are not being mistaken for floating point numbers, or vice versa. It could also be helpful to ensure that your memory allocation for these data types is sufficient. Good luck!
It sounds like you're running into a tricky issue! Have you double-checked that the data types you're using for the VB memory locations are compatible with the Danfoss inverter? Sometimes, mismatched types can cause compilation errors like the one you're experiencing. Additionally, ensure that your message structures in the MBUS blocks align with the expected formats for communication with the inverter. It could also help to simplify your connections temporarily to isolate the problem, or even refer to the catalogs or documentation for both the Danfoss and S7-200 to see if there are any specific communication protocols that you might have overlooked. 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: - Error 36 in Microwin indicates that the size or data type is not valid for the instruction operand. It typically relates to issues with assigning VB memory locations in the connection setup.
Answer: - To troubleshoot Error 36, you can try assigning different VB memory locations, such as vb100, vb1100, vb0, to see if that resolves the issue. Additionally, double-check the blocks involved in the setup like SBR_0, MBUS_CTRL, MBUS_MSG, MBUSM1, INT_0, and MBUSM2 for any errors.
Answer: - The common blocks involved in the setup include SBR_0 (SBR0), MBUS_CTRL (SBR1), MBUS_MSG (SBR2), MBUSM1 (SBR3), INT_0 (INT0), and MBUSM2 (INT1). These blocks play a crucial role in establishing the connection and data exchange between the devices.
Join hundreds of satisfied customers who have transformed their maintenance processes.
Sign up today and start optimizing your workflow.