# # matplc.conf - configuration file # # the speed of the light-chasing (interval in miliseconds) # # Note that the chaser_st/chaser_il program has no knowledge # of time. We can nevertheless control the scrolling speed # by telling the PLC how often (i.e. the repetion period) # the module should be run. # # The period value is given in milliseconds! # chaser_iec: scan_period = 0.3 [PLC] #synch the modules, so as to not hog the cpu... synch chaser_iec -> vitrine synch vitrine -> chaser_iec synch_start chaser_iec # shared memory map section [PLC] # run the modules!!! # # Note: the Kbd module cannot run as a deamon, as it reads the # terminal's keyboard. It is therefore launched in the demo script. #module Kbd ../basic/kbd # Uncomment the 'chaser_il' to use the module generated # from the chaser_il.il program written in IL , or the # 'chaser_st' for the program written in ST. # Note that only one, and exactly one of the following # two lines must enabled, while the other is commented out. #module chaser_iec "./chaser_st" module chaser_iec "./chaser_il" module vitrine "../../mmi/curses/vitrine" module plcshutdown "../../lib/util/plcshutdown" # P O I N T S # ----------- # # These are also specified in the PLC section. However, it's not specified # whether they are inputs or outputs here - that should be specified in the # section(s) relating to the I/O modules. (That way, a point can be both an # input and an output, or it can be output in several places. Also, some # points are just internal coils and don't get input or output at all.) # # syntax: # point name "full name" owner at offset.bit # # where: # point = 'point' identifier # name = Name used to refer to the point throughout the PLC # full name = More extensive description of the point # This might be displayed by various diagnostic tools. # owner = Name of the module with write permission on the point # at = 'at' identifier # offset = location of word in the globalmap that holds the point's state # bit = the bit in the word (0-31), that holds the point's state point L "lights" chaser_iec 4 point left "<- (key L)" Kbd point right "-> (key R)" Kbd point quit "quit (key Q)" Kbd point_alias L1 "light 1" L 0 point_alias L2 "light 1" L 1 point_alias L3 "light 1" L 2 point_alias L4 "light 1" L 3 # read in the configuration of the display # (this might equally well be simply specified here, but for the sake of # demonstration it's in a separate file) *include vitrine.conf # note: the following section is only used by the keyboard module from the # mmi/kbd directory; if you are not on the linux console, the kbd.c program # from this directory is used instead, which doesn't use this [Kbd] # format: # key keycode point # for now, keycode must be numeric key 38 left key 19 right key 16 quit # no debugging messages quiet = 1 [plcshutdown] # configure which point will be used to shutdown the plc quit_pt = quit # specify period for all the shutdown module, so it doesn't hog the CPU plcshutdown: scan_period = 0.01