Real-time Linux / Windows Simulator

The threads are assigned to the cores in the real-time configuration of the CNC. Parameterisation takes place in rt_conf.lis.

Example

example

Parameterisation example: rt_conf.lis

# ****************************************

#

#  RT configuration

#

# ****************************************

#  LINUX      [1; 99]   1   highest

#  RTX        [0; 127]  127 highest

#  VXWORKS    [0; 255]  0   highest

#  WindowsCE  [0; 255]  0   highest, 9 CANopen, 10-15 CNC, 16-64 PLC

#

# trace bit : 0 - off, 1 - DTR on COM1, 2 - RTS on COM1, 3 - DTR on COM2, 4 - RTS on COM2

#

#

interrupt_source                        1    # 1 == internal timer, 2 == external IRQ, 3 == external semaphore

cycle_time                           2000    # cycle time in micro s

time_slice                           1000

windows_time                            0    # 0 turned off

schedule                                1    # Standard

#

thread[0].name                             GEO1

thread[0].context_info                     0

thread[0].cycle                            2000

thread[0].priority                         31 # HIGHEST

thread[0].error_on_overflow                1

thread[0].function[0].name                 task_int

thread[0].function[0].calls_per_cycle      1

thread[0].function[0].trace_bit            1

#

thread[1].name                             BACKGROUND

thread[1].context_info                     4

thread[1].cycle                            1000

thread[1].priority                         34 # NORMAL

thread[1].error_on_overflow                0

thread[1].function[0].name                 task_rnd

thread[1].function[0].calls_per_cycle      1

thread[1].function[0].trace_bit            3

#

thread[2].name                             MMI_DRIVER

thread[2].context_info                     6

thread[2].cycle                            12000

thread[2].priority                         35

thread[2].error_on_overflow                0

thread[2].function[0].name                 task_mmi_driver

thread[2].function[0].calls_per_cycle      1

thread[2].function[0].trace_bit            0

#

thread[3].name                             COM

thread[3].context_info                     5

thread[3].cycle                            4000

thread[3].priority                         35

thread[3].error_on_overflow                0

thread[3].function[0].name                 task_com

thread[3].function[0].calls_per_cycle      1

thread[3].function[0].trace_bit            4

#

thread[4].name                             GEO2

thread[4].context_info                     1

thread[4].cycle                            2000

thread[4].priority                         31 # HIGHEST

thread[4].error_on_overflow                1

[0].function[0].name                 task_int

thread[4].function[0].calls_per_cycle      1

thread[4].function[0].trace_bit            1

#

# external_thread[0].semaphore_name     external_sps

# external_thread[0].cycle              10000

#

End