Académique Documents
Professionnel Documents
Culture Documents
The program.
The program gets all its information from Argus over the network when in operation
and makes no contribution to the logical operation of the interlocks. It just reports
what it is told.
The program currently updates at 5 Hz.
The program gets its knowledge of which room it is in from the name of the computer
e.g. CERBERUS00 to CERBERUS07. CERBERUS0 is the test / spare machine (however
IP addresses are allocated to machines and PLCs by hand).
The code makes some consistency checks on the data to see if something has failed
(reported as BROKEN on the layout diagram). If it finds an inconsistency it reports it
on the screen immediately and if it is present for more than one second (to allow for
the possibility of network messages getting out of phase) it beeps (through the
speakers) once each time round the loop until the failure is rectified. The checks are
If a door is reported from two different rooms and the data is in conflict.
If a shutter is reported from two different rooms and the data is in conflict.
If a shutter is showing both fully open and fully closed at the same time.
The tripped and hazardous state either side of an open shutter are not the
same.
A door is open and not overridden and the room or rooms either side of the
door are not tripped.
A laser is on in a room or enclosure and the room or enclosure is not
hazardous.
The program attempts to report any errors in the commands (mistyping or correctly
typed but in the wrong position) in the layout file.
Wave files (.wav) can be generated to report a laser about to come on, a laser on, a
shutter about to open and a room tripped. These files will vary with the name of the
item and will need to be re-recorded as the configuration changes. These items are
reported in the room in which the device is located, any room connected to that room
through an open shutter and room 0 (the control room). This can be turned off with
the Sound keyword.
The layout of the door / wall display follows the CLF agreed document.
The program is configured from a text table in a file called layout.txt without any
change to the compiled code. It can be configured for any laser configuration currently
with an upper limit of up to 20 rooms and 100 each of doors, shutters, lasers and
enclosures (although this upper limit can be trivially changed, almost without limit).
Numbers need not be contiguous.
The file Layout.txt.
The whole program is defined by a text file called layout.txt which can be saved and
restored for different application using operating system commands.
It can be entered / edited using any text editor e.g. Notepad, Word (provided it is
saved as a .txt file) etc.
There is a command per line. Line breaks are not allowed.
Each line terminated by a semi-colon (;).
Anything after the semi-colon is treated as a comment.
An exclamation mark (!) at the beginning of a line defines that line as a comment.
Separators are a space or a / (which ever helps to make sense of the command).
Commands can occur in any order (but it is wise to group them). Not all commands
are necessary (e.g. if a door is not overridable, omit the overridden bit position).
The program counts the number of items (e.g. rooms, doors etc.) - you do not have to
enter the information separately. The first reference to an item adds it to the list.
The definition of bit position is a sequence of three numbers
The first is the room number providing the information (0 to No. of rooms 1);
The second is the word number in the array of bytes send by that room; and
The third is the bit position in the byte (0 to 15, 0 being the least significant bit)
e.g. 1/4/2 means room 1 / word 4 / bit 2
The definition of colour is three numbers being the percentage setting of the Red,
Green and Blue guns in that order e.g. 100/100/100 is white, 0/0/0 is black, 100/0/0
is pure red 0/100/0 is pure green and 0/0/100 is pure blue.
Titles can be followed by comments telling you about the state of that item, e.g. the
title of a door or enclosure can be followed by Overridden, a laser by On? indicating
it is about to come on (CF shutter also), a room by searching etc.
A (rather basic) pattern of the bits is written to the screen to act as a diagnostic to the
working of the program. This could be removed in future issues if required.
TestMode
This switches the program into a stand alone test mode enabling Cerberus to be set up
and tested on your local computer; giving you the opportunity to change the bit
information. When it is commented out ( !TestMode ) the program will run in
production mode and get its bit information from Argus over the network.
There are no parameters (and, remember, the line must end with a semi-colon).
Recording
This turns on the recording of (and the ability to playback) the changes in the bit
pattern with a date and time stamp (not yet implemented).
BitPattern
This defines where the bit pattern (and the test bits check box) is drawn on the screen.
It is followed by 4 numbers (left, top, width and height).
MainTitle
This defines the text and position of the main title on the screen. It can be followed by
the keyword Title or CastelOKBitPosition.
The title consists of the title, the state of the Castel keys (OK), the date and time, and a
spin wheel to indicate the program is running. It is drawn in black.
Colour
This defines the colours of the items on the layout screen. It is followed by one of the
key words from Room, Background, Hazardous, Door, Shutter, Laser, LaserFill,
Enclosure, EnclosureFill, OnBit and OffBit and then followed by 3 numbers in the
range 0 to 100 being the percentage settings of the Red, Green and Blue guns in that
order. All colours (as defined by the key words) must be defined.
Message
This defines a message to be written to the layout screen at the specified position in
the specified colour when a bit is set. It is followed by a number in the range 0 to 99
and keywords Title, Colour, or MessageBit. Title is of the format of Title with an
optional integer at the end defininf the font size (if it is missing the default is 8 point).
Colour is followed by the foreground and background colours in the format of
Colour. Messagebit is followed by On or Off and a bit in the format of Bit.
Room
This defines the parameters for a room. It is always followed by the room number and
can then be followed by a key word from Title, Corners, NotTrippedBitPosition,
HazardousBitPosition, EmptyBitPosition, SearchingBitPosition,
AuthorisingBitPosition, EditInfoBitPosition, ServiceModeBitPosition, Sound,
ShowBeamStops , Connection, IPAddr, EditInfoRoomScreen or DoorDisplay.
A room consists of an outline and a title with the possibility of associated comments.
It is drawn in black.
Door
This defines the parameters for a door. It is always followed by a door number and can
then be followed by a key word from Title, OpenPosition, ClosedPosition, InRoom,
ClosedBitPosition or OverriddenBitPosition.
The door consists of a title with the possibility of associated comments and an open
and close position. It is drawn in red.
Shutter
This defines the parameters for a shutter. It is always followed by a shutter number
and can then be followed by a key word from Title, OpenPosition, ClosedPosition,
InRoom, AlsoInRoom, OpenBitPosition, ClosedBitPosition and
AboutToOpenBitPosition.
The shutter consists of a title with the possibility of associated comments and an open
and close position. It is drawn in blue.
Laser
This defines the parameters for a laser. It is always followed by a laser number and can
then be followed by a key word from Title, Position, Beam, InRoom, OnBitPosition,
ComingOnBitPosition and NoHazardInRoom.
The laser consists of a title with the possibility of associated comments and a
rectangular box with a beam drawn from it. The rectangle is drawn solid if the laser is
on and hollow if it is off. It is drawn in green.
Enclosure
This defines the parameters for an enclosure. It is always followed by an enclosure
number and can then be followed by a key word from Title, Corners, InRoom,
ClosedBitPosition, HazardousBitPosition or OverriddenBitPosition.
The enclosure consists of a title with the possibility of associated comments and a
rectangular box. The rectangle is filled if the enclosure is hazardous and hollow if it is
not. If the enclosure is open then one side is not drawn. It is drawn in purple.
BeamStop
This defines the beam stops whose states are reported on the door displays if
requested. It is always followed by a beam stop number and can then be followed by a
key word from Title, Laser or OpenBitPosition. They are not drawn on the layout
diagram. Laser is a special case (see below)
B.
This defines the corners for rooms (up to 10 corners) and enclosures (up to 4 corners).
They are pairs of numbers indicating the X and Y positions of the corners (it can be
helpful in long lists of numbers to use the / as a separator). The code completes the
line from the first to the final co-ordinate.
NotTrippedBitPosition (used after room)
This defines the bit information that indicated that the room is tripped. It is reported
after the room title and a voice message is issued if not turned off. It is followed by the
bit position (see above).
HazardousBitPosition (used after room)
This defines the bit information that indicated that the room is hazardous. It is
reported after the room title and the room is flood filled with light red. It is followed
by the bit position (see above).
EmptyBitPosition (used after room)
This defines the bit information that indicated that the room is empty. It is reported
after the room title. It is followed by the bit position (see above).
SearchingBitPosition (used after room)
This defines the bit information that indicated that the room is searching. It is
reported after the room title. It is followed by the bit position (see above).
AuthorisingBitPosition (used after room)
This defines the bit information that indicated that the room is authorising. It is
reported after the room title. It is followed by the bit position (see above).
This defines the bit information that indicates that the information for a room on the
door / wall display can be edited. It is set by a protected button the touch screen in
that room. It brings up a box on the layout screen that enables the authorised person
to edit the information and then exit or cancel the operation. It is followed by the bit
position (see above).
EditInfoRoomScreen (used after room}
This indicated the room containing the layout screen which will be used to edit the
information for this room. If it is not specified then it will default to be the same as the
room number.
Sound (used after room)
This defines whether a room will use sound output or not. It is followed by the key
word On or Off.
ShowBeamStops (used after room)
This defines whether the door / wall display for a room will show beam stop
information. It is followed by the key word On or Off.
Connection (used after room)
This defines whether the room is to be used in the laser connections area of the door /
wall display. It is followed by one of the key words None, Laser or TA. The key word
Laser can only occur once and indicated the room that connections will be shown to.
The keyword None indicated the room will not be included in this logic. The key
word TA indicated this room will be shown connected to the laser room if there is a
path through open shutters between them.
IPAddr (used after room)
This is followed by a string containing the IP address (e.g. 172.16.68.3) the address of
the first word for that PLC (e.g. 4000) and the number of words to be transferred (e.g.
50).
DoorDisplay M S X Y (used after room)
This specifies additional rooms (M) door displays to be shown in this room on screen
(S) located at the position X,Y. It is followed by two numbers, M being the additional
room number and S, the screen number. The layout display and the door / room
8
display for this room are always shown on screens 0 and 1 respectively. A graphics
card must be provided to provide enough screens to satisfy this command or these
commands as it can be repeated until all screens are used.
OpenPosition (used after doors and shutters)
This defines the position of the open device. It is followed by 4 numbers showing X1,
Y1, X2 and Y2 for the position on the screen.
ClosedPosition (used after doors and shutters)
This defines the position of the closed device. It is followed by 4 numbers showing X1,
Y1, X2 and Y2 for the position on the screen.
OpenBitPosition (used after shutter)
This defines the bit information that indicated that the item is open in the case of a
door or fully open in the case of a shutter. It is used to draw the device on the screen.
It is followed by the bit position (see above). If a door or shutter is reported from two
rooms enter two values for this bit position, otherwise just enter one.
10
This indicated the position where the beam is drawn. It is followed by four numbers
being X1,Y1, X2 and Y2.
11
12
13
This defines the colour that the hazardous enclosure is filled in.
OnBit (used after Colour)
This defines the colour that the bits are drawn in when they are on.
OffBit (used after Colour)
This defines the colour that the bits are drawn in when they are off.
14
Room 0/0/0;
Background 100/100/100;
Hazardous 100/63/63;
Door 100/0/0;
Shutter 0/0/100;
Laser 0/100/0;
LaserFill 0/100/0;
Enclosure 50/0/50;
EnclosureFill 100/0/100;
OnBit 100/0/0;
OffBit 75/75/75;
0
0
0
0
0
15
Room
Room
Room
Room
Room
Room
Room
0
0
0
0
0
0
0
Connection None;
DoorDisplay 1 2 1290
DoorDisplay 2 3 1300
DoorDisplay 3 4 1310
DoorDisplay 4 5 1320
DoorDisplay 5 6 1330
DoorDisplay 6 7 1340
Room
Room
Room
Room
Room
Room
Room
Room
Room
Room
Room
Room
Room
1
1
1
1
1
1
1
1
1
1
1
1
1
Room
Room
Room
Room
Room
Room
Room
Room
Room
Room
Room
Room
Room
2
2
2
2
2
2
2
2
2
2
2
2
2
Room
Room
Room
Room
Room
Room
Room
Room
Room
Room
Room
Room
Room
3
3
3
3
3
3
3
3
3
3
3
3
3
Room
Room
Room
Room
Room
Room
Room
Room
Room
Room
Room
4
4
4
4
4
4
4
4
4
4
4
10;
20;
30;
40;
50;
60;
16
5
5
5
5
5
5
5
5
5
5
5
5
5
Room
Room
Room
Room
Room
Room
Room
Room
Room
Room
Room
Room
Room
Room
6
6
6
6
6
6
6
6
6
6
6
6
6
6
Door
Door
Door
Door
Door
Door
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Shutter
Shutter
Shutter
Shutter
Shutter
1
1
1
1
1
17
2
2
2
2
2
2
2
2
Shutter
Shutter
Shutter
Shutter
Shutter
Shutter
Shutter
Shutter
3
3
3
3
3
3
3
3
Shutter
Shutter
Shutter
Shutter
Shutter
Shutter
Shutter
Shutter
4
4
4
4
4
4
4
4
Shutter
Shutter
Shutter
Shutter
Shutter
Shutter
Shutter
Shutter
35
35
35
35
35
35
35
35
Laser
Laser
Laser
Laser
Laser
Laser
Laser
0
0
0
0
0
0
0
Laser
Laser
Laser
Laser
Laser
Laser
1
1
1
1
1
1
Laser
Laser
Laser
Laser
Laser
Laser
2
2
2
2
2
2
18
Laser
Laser
Laser
Laser
Laser
Laser
3
3
3
3
3
3
Laser
Laser
Laser
Laser
Laser
Laser
4
4
4
4
4
4
Laser
Laser
Laser
Laser
Laser
Laser
5
5
5
5
5
5
Laser
Laser
Laser
Laser
Laser
Laser
6
6
6
6
6
6
Laser
Laser
Laser
Laser
Laser
Laser
47
47
47
47
47
47
Enclosure
Enclosure
Enclosure
Enclosure
Enclosure
Enclosure
19
C Reason
Next Page - Bit definitions for Test Interlock System (including a blank form).
20
28/2/05
Room
Word
Bit 15
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
10
Item
Meaning
11
Item
Meaning
12
Item
Meaning
Bit 14
Bit 13
Bit 12
Bit 11
Bit 10
Bit 9
Bit 8
21
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
10
Item
Meaning
11
Item
Meaning
12
Item
Meaning
Bit 13
Bit 12
Bit 11
Bit 10
Bit 9
Bit 8
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Osc Rm
Osc Rm
Laser 1
Laser 1
Laser 0
Laser 0
Shut 0
Shut 0
Osc Rm
Osc Rm
Osc Rm
Osc Rm
Osc Rm
Service
Edit Inf
About
On
About
On
Full Cl
Full Op
Authorising
Searching
Empty
Hazard
Tripped
22
Bit 13
Bit 12
Bit 11
Bit 10
Bit 9
Bit 8
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Item
Meaning
Shut 2
Shut 2
Shut 2
Shut 1
Shut 1
Shut 1
Shut 0
Shut 0
Shut 0
Door 0
Door 0
LA1
LA1
LA1
LA1
LA1
About
Full Cl
Full Op
About
Full Cl
Full Op
About
Full Cl
Full Op
Overrid
Open
Authorising
Searching
Empty
Hazard
Tripped
Item
Meaning
Bs2
BS1
BS0
Encl 0
Encl 0
Encl 0
Laser 3
Laser 3
Laser 2
Laser 2
Shut 35
Shut 35
Shut 35
Shut 3
Shut 3
Shut 3
Open
Open
Open
Overrid
Hazard
Open
About
On
About
On
About
Full Cl
Full Op
About
Full Cl
Full Op
Door 21
Door 21
LA1
LA1
Laser
Bs4
Bs3
Overrid
Open
Service
Edit Inf
On
Open
Open
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
10
Item
Meaning
11
Item
Meaning
12
Item
Meaning
23
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
10
Item
Meaning
11
Item
Meaning
12
Item
Meaning
Bit 13
Bit 12
Bit 11
Bit 10
Bit 9
Bit 8
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
LA4
LA4
Laser6
Laser 6
Shut 4
Shut 4
Shut 3
Shut 3
LA4
LA4
LA4
LA4
LA4
Service
Edit Inf
About
On
Full Cl
Full Op
Full Cl
Full Op
Authjor
Search
Empty
Hazard
Tripped
24
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
10
Item
Meaning
11
Item
Meaning
12
Item
Meaning
Bit 13
Bit 12
Bit 11
Bit 10
Bit 9
Bit 8
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Door 21
TAW
TAW
Laser 4
Laser 4
Shut 1
Shut 1
TAW
TAW
TAW
TAW
TAW
Open
Service
Edit Inf
About
On
Full Cl
Full Op
Authjor
Search
Empty
Hazard
Tripped
25
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
10
Item
Meaning
11
Item
Meaning
12
Item
Meaning
Bit 13
Bit 12
Bit 11
Bit 10
Bit 9
Bit 8
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
TAE
TAE
Laser 5
Laser 5
Shut 2
Shut 2
TAE
TAE
TAE
TAE
TAE
Service
Edit Inf
About
On
Full Cl
Full Op
Authjor
Search
Empty
Hazard
Tripped
26
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
Item
Meaning
10
Item
Meaning
11
Item
Meaning
12
Item
Meaning
Bit 13
Bit 12
Bit 11
Bit 10
Bit 9
Bit 8
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
TAP
TAP
Laser 47
Laser 47
Shut 4
Shut 4
Shut 4
TAP
TAP
TAP
TAP
TAP
Service
Edit Inf
About
On
About
Full Cl
Full Op
Authjor
Search
Empty
Hazard
Tripped
27