How to transfer 32bit REAL value from Siemens PLC to IRC5 without RAPID
Dear Experts,
I am sending multiple analog values as 16-bit WORD and 32-bit DWORD from a Siemens S7-1200 PLC to the ABB IRC5, and all are working fine. For 16-bit WORD, I simply use the SWAP block in the Siemens PLC, and on the ABB side, I use an Unsigned without any Min/Max logical, physical, or bit values. The 16-bit WORD values are received correctly on the ABB FlexPendant screen.
For 32-bit DWORD, I first convert the REAL value to DINT in the Siemens PLC and then apply the SWAP function before sending it to the ABB IRC5. On the ABB side, I use the same Unsigned, without any Min/Max logical, physical, or bit values, and all values are received correctly on the ABB FlexPendant screen.
My question is: If I want to send directly a REAL value (with decimals) to the ABB IRC5, what changes do I need to make on the Siemens side, and what modifications are required on the ABB side? I have tried to send REAL value directly with the SWAP function from Siemens PLC and used two's complement on the ABB side with some Max logical and bit values of 2,147,483,647, but I failed to get the correct value. I would like to do it without RAPID or group Input. Thanks.
Best regards,
Tech Ahmed
For 32-bit DWORD, I first convert the REAL value to DINT in the Siemens PLC and then apply the SWAP function before sending it to the ABB IRC5. On the ABB side, I use the same Unsigned, without any Min/Max logical, physical, or bit values, and all values are received correctly on the ABB FlexPendant screen.
My question is: If I want to send directly a REAL value (with decimals) to the ABB IRC5, what changes do I need to make on the Siemens side, and what modifications are required on the ABB side? I have tried to send REAL value directly with the SWAP function from Siemens PLC and used two's complement on the ABB side with some Max logical and bit values of 2,147,483,647, but I failed to get the correct value. I would like to do it without RAPID or group Input. Thanks.
Best regards,
Tech Ahmed
Tagged:
0
Comments
-
I am confused because you described what would be an analog representation of the IO mapping but then went on to mention a group input.Lee Justice0
-
Hi ...When here in the company we created a data sending protocol with packet confirmation and sent the data via socket.Do some research, maybe you can use it like this, you can send a lot of things using this service.Good work0
-
Dear experts,
I have used data mapping e.g. (15-31) for 16-bits WORD in the I/O system editor in Robot Studio and e.g. (32-63) for 32-bit DWORD. Thanks
0 -
Not sure but maybe you have to do word swap aswell. You can do it in EIO.cfg instead of in plc.
Map ”0-31” can be byte/word swapped by writing ”24-31,16-23,8-15,0-7”.
-----------------
David
Swedish freelance ABB robot programmer0 -
I still don't know if you mapped a group or analog.Lee Justice0
-
Hi Lee,
It is mapped an analog input (not a group). Thanks.0
Categories
- All Categories
- 5.6K RobotStudio
- 398 UpFeed
- 20 Tutorials
- 13 RobotApps
- 299 PowerPacs
- 405 RobotStudio S4
- 1.8K Developer Tools
- 250 ScreenMaker
- 2.8K Robot Controller
- 327 IRC5
- 65 OmniCore
- 7 RCS (Realistic Controller Simulation)
- 821 RAPID Programming
- 8 AppStudio
- 3 RobotStudio AR Viewer
- 19 Wizard Easy Programming
- 105 Collaborative Robots
- 5 Job listings