Real Data From PLC to Analog Input in the Robot

MartinesXXX
MartinesXXX Valencia

Hi all,

i am sharing I/O values between a S7-1200 and Abb robot IRC5 through Profinet I/O)

If i send  a 1 ( Data Type INT in S7-1200) i recieve 1.5 in the ABB robot (Analog Input) (i swap the bytes correctly)


and if i send a 1.0 (data type Real in S7-1200) i recieve  1.065.353.000 in the ABB robot (Analog Input) with same swaping as before. Without swaping robot recieve  32831.5


i want to send real values and read correctly in the ABB robot, any clue?


thanks in advance 

Comments

  • DenisFR
    DenisFR FRANCE ✭✭✭
    Hello,
    Don't forget to set Min and Max Logical Value.
    What I've done:
          -Name "AiOffS_X_TPB1" -SignalType "AI" -Device "PN_Internal_Device"\
          -DeviceMap "208-223" -MaxLog 327.67 -MinLog -327.68



  • lemster68
    lemster68 United States ✭✭✭
    What bit size have you configured?  8, 16?  You mentioned swapping the bytes so I have to ask.  If it is a matter of big-endian to little-endian then you do not have to map starting with the lower bit, you can map from, for example, 32-17.
    Lee Justice
  • MartinesXXX
    MartinesXXX Valencia
    the analog input is a32 bits signal. If i define the limtits, for example -10000 and 10000, 0 is 0 but 100.0 is 5230.17 and 300 is 5546, the scale is not linear
  • lemster68
    lemster68 United States ✭✭✭
    Can you post the actual part of the eio.cfg for that signal?
    Lee Justice
  • DenisFR
    DenisFR FRANCE ✭✭✭
    edited August 2020
    Hello,
    32bits = -2147483648 to 2147483647
    So you can set it to -MaxLog 21474.83647 -MinLog -21474.83648
    Don't use Real in PLC because this is a special format.