Example of a Rtconf.lis for a SERCOS application
# ****************************************
#
# ****************************************
# RTX [0; 127] 127 highest
# VXWORKS [0; 255] 0 highest
# INTIME [0; 255] 0 highest
#
interrupt_source 2 # 1: internal timer, 2: IRQ, 3: Semaphore
cycle_time 2000 # Cycle time in micro s
time_slice 500
windows_time 500 # 0 turned off
#
thread[0].name GEO
thread[0].cycle 2000
thread[0].priority 115 # 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].cycle 2000
thread[1].priority 105 # 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 2
#
thread[2].name MMI_DRIVER
thread[2].cycle 6000
thread[2].priority 95 # LOWEST
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].cycle 4000
thread[3].priority 90
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
#
external_thread[0].semaphore_name external_sps
external_thread[0].cycle 2000
#
End
Alternatively, the communication can also be called together with the rotating part. The rtconf.lis then looks like this:
# ****************************************
#
# ****************************************
# RTX [0; 127] 127 highest
# VXWORKS [0; 255] 0 highest
# INTIME [0; 255] 0 highest
#
interrupt_source 2 # 1 == internal timer, 2 == external
cycle_time 2000 # Cycle time in micro s
time_slice 500
windows_time 500 # 0 turned off
#
thread[0].name GEO
thread[0].cycle 2000
thread[0].priority 115 # 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].cycle 2000
thread[1].priority 105 # 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 2
thread[1].function[1].name task_com
thread[1].function[1].calls_per_cycle 1
thread[1].function[1].trace_bit 4
#
thread[2].name MMI_DRIVER
thread[2].cycle 6000
thread[2].priority 95 # LOWEST
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
# task_com repositioned to thread[1]:
# thread[3].name COM
# thread[3].cycle 4000
# thread[3].priority 90
# 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
#
external_thread[0].semaphore_name external_sps
external_thread[0].cycle 2000
#
End