![]() |
TG Motion
version 502 - 4034/906 cnc 126
|
The MAIN struct - fixed size of 4096 bytes. More...
#include <tgm.h>
Public Attributes | |
| uint32_t | TGMotion_Version |
| Version of TGM xxx DD MM YY. | |
| uint32_t | TGM_TgMotionCmd |
| volatile uint32_t | Log_Ctrl |
| Control log output texts of TGM. | |
| volatile uint32_t | LogInterpolator_Ctrl |
| Control log output texts from interpolators. | |
| uint32_t | Reserve0 |
| Reserved. | |
| uint32_t | Reserve1 |
| Reserved. | |
| uint32_t | Reserve2 |
| Reserved. | |
| volatile uint32_t | PLC_Ctrl |
| Control PLC ( load, run, stop... ) | |
| uint16_t | PLC_Name [MAX_PLC_FILE_NAME_SIZE] |
| Name of PLC program file (always UNICODE - UTF16) | |
| uint32_t | Size_EEPROM_Memory |
| size of EEPROM memory, zero means size of 512 bytes (compatibility with previous TGM versions) | |
| uint32_t | Number_Servos |
| Actual number of servo drives (from .INI file), read-only. | |
| uint32_t | Number_Dios |
| Actual number of DIO modules (from .INI file), read-only. | |
| uint32_t | TGMmini_internal_dio_idx |
| TGMmini only: Internal DIO index number, otherwise unused. | |
| uint32_t | Number_Interpolators |
| Actual number of interpolators (from .INI file), read-only. | |
| uint32_t | Implemented_Features |
| Additional implemented features (new oscilloscope functions) | |
| uint32_t | Reserve4 |
| Reserved. | |
| uint32_t | Reserve5 |
| reserved | |
| uint32_t | Servo_Tick |
| Counter of servo thread ticks. | |
| uint32_t | Servo_SetCycleTime |
| Adjusted cycle time of servo thread [us]. | |
| uint32_t | Servo_CycleTime |
| Time of execute servo thread [us]. | |
| uint32_t | Servo_MaxCycle_Time |
| calculated maximum of servo loop time | |
| uint32_t | PLC_SetCycleTime_Prg1 |
| Wanted cycle time of PLC program 1 thread [us]. | |
| uint32_t | PLC_CycleTime_Prg1 |
| Time of execute PLC program 1 thread [us]. | |
| uint32_t | PLC_MaxCycleTime_Prg1 |
| Maximal measured execution time PLC program 1 thread [us]. | |
| uint32_t | PLC_SetCycleTime_Prg2 |
| Wanted cycle time of PLC program 2 thread [us]. | |
| uint32_t | PLC_CycleTime_Prg2 |
| Time of execute PLC program 2 thread [us]. | |
| uint32_t | PLC_MaxCycleTime_Prg2 |
| Maximal measured execution time PLC program 2 thread [us]. | |
| uint32_t | PLC_SetCycleTime_Prg3 |
| Wanted cycle time of PLC program 3 thread [us]. | |
| uint32_t | PLC_CycleTime_Prg3 |
| Time of execute PLC program 3 thread [us]. | |
| uint32_t | PLC_MaxCycleTime_Prg3 |
| Maximal measured execution time PLC program 3 thread [us]. | |
| uint32_t | PLC_SetCycleTime_Prg4 |
| Wanted cycle time of PLC program 4 thread [us] (always equal to MAIN::Servo_SetCycleTime) | |
| uint32_t | PLC_CycleTime_Prg4 |
| Time of execute PLC program 4 thread [us]. | |
| uint32_t | PLC_MaxCycleTime_Prg4 |
| Maximal measured execution time PLC program 4 thread [us]. | |
| uint32_t | Act_Timer_CycleTime |
| actual measured main loop cycle time [us] | |
| uint32_t | Min_Timer_CycleTime |
| minimal main loop cycle time | |
| uint32_t | Max_Timer_CycleTime |
| maximal main loop cycle time | |
| uint32_t | Max_Timer_Latency |
| calculated main loop timer latency | |
| uint32_t | Interpolator_SetCycleTime |
| Adjusted cycle time of INTERPOLATOR thread [us]. | |
| uint32_t | Interpolator_CycleTime [FIXED_NUMBER_OF_INTERPOLATORS] |
| Time execute of INTERPOLATORS [us]. | |
| uint32_t | Max_Interpolator_Cycle_Time [FIXED_NUMBER_OF_INTERPOLATORS] |
| calculated maximum of interpolator time | |
| uint32_t | ECAT_ElapsedTime |
| Actual time of execute ECAT packet processing [us]. | |
| uint32_t | Max_ECAT_ElapsedTime |
| Maximal measured execution time of ECAT processing [us]. | |
| uint32_t | PLC_CAN_BaudRate |
| CAN Communications speed for PLC [kbit/s]. | |
| uint32_t | CAN_Transmit_Buffer_Fullness |
| fullness of the CAN transmit buffer, PC: 0 or 1, TGMmini: 0 - 55 | |
| uint32_t | TGMmini_CPU_Temperature |
| TGMmini only: CPU chip temperature in degrees of Celsius, if zero, no measurement done yet. | |
| uint32_t | SafetyEvent |
| uint32_t | SystemTimeDifferenceSum |
| ORed value of all DC slaves system time difference. | |
| uint32_t | EthPacketErrorCounter |
| Counter of receive packet error. | |
| uint32_t | EthNumberOfPackets |
| Actual number of packets for one cycle time. | |
| int64_t | MasterClock |
| 64-bit counter time in nanoseconds till DC started | |
| int64_t | ReferenceClock |
| read 64-bit counter of the first slave with DC | |
| int64_t | MasterClockToReferenceClockDifference |
| MasterClock - ReferenceClock. | |
| int32_t | Distributed_Clock |
| copy of CONFIG_TGMOTION.Distributed_Clock | |
| int32_t | StateDistributedClock |
| State of distributed clock on ETHERCAT 0 = off, 1 = on, -1 = error finding DC slave. | |
| uint16_t | EtherCatDriver [MAX_ECAT_DRIVER_FILE_NAME_SIZE] |
| Name of ETHERCAT driver (UNICODE, PC only) | |
| uint32_t | Found_Total_Number_Of_ECAT_Devices |
| number of found device on ECAT bus | |
| TGM_CHAR | User_Device_Name [MAX_USER_DEVICE_NAME_SIZE] |
| user device name, copied from TGMotion.ini file | |
| std::atomic< uint32_t > | Data_Memory_Access_Lock |
| lock for modbus and Profinet servers (TGMcontroller, TGZ+Motion) | |
| uint32_t | Reserve11 |
| reserved | |
| uint32_t | Reserve12 |
| reserved (padding to 64 bits) | |
The MAIN struct - fixed size of 4096 bytes.
| uint32_t MAIN::SafetyEvent |
safety event value (read-only):
| Value | Description |
|---|---|
| 0 | no safety event |
| 0x36363636 | immediate stop: keep the actual servo positions |
| 0x2A2A2A2A | EtherCAT communication is broken (no link) |
| 0x4E4E4E4E | controlled stop to servo zero speed, set all DIO outputs to zero |
| uint32_t MAIN::TGM_TgMotionCmd |
Special controls to TGM itself: KILL = 0x4C4C494B - exit TGMotion (PC only) RBUS = 0x53554252 - reset EtherCAT bus BOOT = 0x544F4F42 - reboot computer (TGMmini, TGMcontroller, TGZ+Motion) LINI = 0x494E494C - reload INI file (internal TGMotion reset without boot or kill)