Posts by debjitghosh

    Hi,


    I am currently running Twincat 3.1.4022.22. I have a C++ module that connects to TwinCAT.


    I was able to run the ADS server example (https://infosys.beckhoff.com/e…7021598582264587.html&id=) and can copy the ADS Port number from the Parameter (Online) section that I can then use in my C# application successfully.


    However, does anyone know how the C# code can acquire the ADS port programmatically instead of manually? The ADS port currently gets randomly generated and assigned automatically each time TwinCAT is activated in "Run Mode".


    Thanks,
    Debjit

    Hi,


    I am currently running Twincat 3.1.4022.22. I have a C++ module that connects to TwinCAT.


    I was able to run the ADS server example (https://infosys.beckhoff.com/e…7021598582264587.html&id=) and can copy the ADS Port number from the Parameter (Online) section that I can then use in my C# application successfully.


    However, does anyone know how the C# code can acquire the ADS port programmatically instead of manually? The ADS port currently gets randomly generated and assigned automatically each time TwinCAT is activated in "Run Mode".


    Thanks,
    Debjit

    I didn't miss it. I didn't need to go any further into the LB because:


    HB = 25


    HB * 256 = 25 * 256 = 6400


    which is exactly what I had said in the first place: "I have tried low byte + high byte * 256 [..] but that doesn't work as the high byte per these values comes to 25 [HB = 25] and 25 * 256 = 6400"


    I am not sure what your point is.

    Hi Panic Mode,


    Thanks for your response.


    Unfortunately, I haven't been able to find much useful documentation which is why I am looking for help on this forum. What I do know is that the 1:1 mapping of bits on the Fronius to the KRC4 is done using WoV (using a partially exported project that was provided by a KUKA/Fronius integrator). I have attached a screenshot of the same.


    The document found here https://vdocuments.us/robotinterface4204100616.html contains the following relevant piece of information in the English section page #14:


    Welding current (real value): During welding, transmits the welding current measured (between 0-1000A). The value on the field bus is between 0 - 65535. In idle, the HOLD value becomes the welding current command value immediately after welding.


    To your second point about my mismatched calculation, I was converting the byte "00011001" to an integer value which is indeed 25.


    Perhaps more generally, has anyone encountered decimal values passed as "Low Byte and High Byte" to the KRC4?


    Thanks,
    Debjit

    Hi everyone,


    I have a Fronius welder that's connected to my KRC4 whose variables are mapped using WoV. Some of the weld parameters are boolean (1 bit), some are unsigned short integer (1 byte) and some are decimal (2 bytes - high byte and low byte).


    I am able to process the boolean and the integers easily. However, I am having trouble parsing the decimal variables that are stored as Low Byte and High Byte where each of those are stored individually as bits. For instance, I am seeing 100A current on the Fronius welder side that maps to the following 16 bits with their corresponding address:


    IN[297] : 1
    IN[298] : 0
    IN[299] : 0
    IN[300] : 1


    IN[301] : 1
    IN[302] : 0
    IN[303] : 0
    IN[304] : 1


    IN[305] : 1
    IN[306] : 0
    IN[307] : 0
    IN[308] : 1


    IN[309] : 1
    IN[310] : 0
    IN[311] : 0
    IN[312] : 0


    IN[297] - IN[304]: Low Byte
    IN[305] - IN[312]: High Byte


    I have tried low byte + high byte * 256 per https://www.robot-forum.com/ro…able/msg119040/#msg119040 but that doesn't work as the high byte per these values comes to 25 and 25 * 256 = 6400. Any help with this conversion between bits to decimal values will be much appreciated.


    WoV: V5.0.5_Build0600
    KRC4: 8.3.25
    Fronius: RCU5000i

    Hi all,


    Here's my current configuration:


    KRC4 - 8.3.25
    EtherCAT - EL6695-1001
    WorkVisual - V5.0.5_Build0600
    EthernetKRL 2.2.6.140


    There are two questions I would appreciate your help with:


    1. Can the KRC4 Output DWORDs be mapped to REAL or is UDINT/DINT/DWORD the only options? By editing the signal at the provider, that was all I was able to achieve. [attached screenshot]


    2. Now working with the UDINT/DINT/DWORD data types, I am trying to read in $AXIS_ACT_MEAS.A1 that's an E6AXIS structure which is currently being read in as a 32bit UDINT value due to which I am (1) losing precision and (2) losing the sign. I am aware that the bit mapping needs to be done right. Does anyone have tested code that I can use for this data type conversion in KRL?


    I appreciate your help with this.

Advertising from our partners