EP0197893A1 - Device for removing a conditional bar on the operation of a lock - Google Patents

Device for removing a conditional bar on the operation of a lock Download PDF

Info

Publication number
EP0197893A1
EP0197893A1 EP86810154A EP86810154A EP0197893A1 EP 0197893 A1 EP0197893 A1 EP 0197893A1 EP 86810154 A EP86810154 A EP 86810154A EP 86810154 A EP86810154 A EP 86810154A EP 0197893 A1 EP0197893 A1 EP 0197893A1
Authority
EP
European Patent Office
Prior art keywords
time
data
program
nxte
lifting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
EP86810154A
Other languages
German (de)
French (fr)
Other versions
EP0197893B1 (en
Inventor
François Jolidon
Willy Richard
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
RELHOR
Original Assignee
RELHOR
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CH1375/85A external-priority patent/CH664794A5/en
Priority claimed from FR8507476A external-priority patent/FR2582037A1/en
Application filed by RELHOR filed Critical RELHOR
Priority to AT86810154T priority Critical patent/ATE49449T1/en
Publication of EP0197893A1 publication Critical patent/EP0197893A1/en
Application granted granted Critical
Publication of EP0197893B1 publication Critical patent/EP0197893B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00896Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys specially adapted for particular uses
    • G07C9/00912Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys specially adapted for particular uses for safes, strong-rooms, vaults or the like
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00658Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated by passive electrical keys
    • G07C9/00674Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated by passive electrical keys with switch-buttons

Definitions

  • the present invention relates to the field of protection of security enclosures and it relates, more particularly, to a device for lifting a conditional ban on the operation of a lock, in particular of a safe, vault or other. protected enclosure.
  • the primary problem posed by such an installation is the determination of the time windows corresponding to the lifting of prohibitions, which is preferably done automatically and without the personnel who use the protected enclosure daily, being able to modify the data of the windows. at least in the sense of enlarging them.
  • This impossibility for the personnel to open the protected enclosure constitutes for them an additional security, since an attack outside the lifting windows of prohibition can thus be thwarted by the then inherent impossibility of the system of being able to be opened.
  • time windows can be modified according to circumstances such as the modification of the opening hours of the counters of a bank, the establishment of a night sale in a department store, or another establishment the closing period due to holidays, for example.
  • Such an adaptation must naturally be carried out by authorized persons who may or may not be those belonging to the personnel who usually use the protected enclosure.
  • the subject of the invention is therefore a device for lifting a conditional prohibition on the operation of a lock, in particular a safe, vault or other protected enclosure, comprising electro-mechanical blocking means which under the control of an electronic circuit are capable of imposing the prohibition or the lifting of the prohibition of operation of said lock, characterized in that said electronic control circuit comprises a memory in which is stored a time program intended to be executed cyclically and defining at least one time window for lifting a ban and means associated with this memory for periodically comparing the official time with the times surrounding said time window and means for controlling said blocking means to block or release said lock when there is tied between official time and said times.
  • the prohibition lifts for the operation of the lock are determined according to the official time so that the windows which frame the prohibition lifts can be fixed simply by entering a time in the device. opening and closing time.
  • Figs. 1 and 2 respectively represent the front face of a safe and the internal face of the door of the latter.
  • the lock assembly of this safe is conventional, it is not useful to give here a detailed description or a complete representation. It suffices to note that this lock assembly 1 comprises a linkage 2 provided with bolts 3 and which can be moved from a locking position to an unlocking position and vice versa using a steering wheel 4.
  • a lock including the trunk is shown in 5 and whose bolt is shown in 6 can be actuated using a conventional key through a keyhole 7, this lock can of course be as complex as may be desired in the context of the security to be assured with regard to the contents of the safe.
  • the bolt 6 cooperates with a bar 8 of the linkage 2, this bar being here slidably mounted in the horizontal direction and comprising a rack 9 with which a pinion 10 mounted on the flywheel 4 cooperates.
  • the device according to the invention makes it possible to oppose the operation of this linkage 2 a second locking element 11 whose control determines the lifting of prohibition on condition of the opening of the lock of the safe. Indeed, although this is only shown very briefly in FIG. 2, it can be seen that the locking element 11 can move vertically and thus prevent sliding in the direction of opening of the linkage 2 by entering a cutout 12 which is at the rear of the bar 8.
  • the second locking element 11 is motorized and controlled by an electronic circuit 13 to which are connected on the one hand a control keyboard 14 and on the other hand a display device 15, the keyboard being inside the door, while the display device comprises two display fields appearing respectively on either side of the latter.
  • the locking element 11 is produced in the form of a slide mounted axially movable in a guide 16 of a frame 17 formed on the door of the safe.
  • the latter also has a corridor 18 in which the bar 8 of the linkage 2 slides and on which the guide 16 opens so that the slide 11 can oppose the recoil movement of the bar 8 when leaving the guide 16, it is placed across corridor 18.
  • This movement is controlled by an engine assembly 19 comprising an actual engine 20, a lever 21 articulated on the frame 17 and a cam 22 mounted on the output shaft of the engine 20 and provided with an eccentric guide groove 23 in the shape of an arc of a circle, groove in which slides a pin 24 integral with the lever 21.
  • the lever 21 is attached by its free end to the lower end of the slide 11 and like the pin 24 is located at half of the lever 21, it is understood that if the motor 20 is actuated, the lever can raise the slide 11 while the pin moves in the guide groove 23 and that the reverse movement causes the descent of this slide.
  • Fig. 4 shows a simplified diagram of the electronic circuit which is used with the mechanical device which has just been described.
  • the bar 8 the slide 11 driven by the motor 22, the keyboard 14 and the display device 15.
  • the latter, as well as the keyboard 14, constitute 'peripherals of a microprocessor 30 which is also connected to a time-based circuit 31, to a memory 32 of the RAM / ROM type and to an amplifier circuit 33 responsible for supplying energy to the motor 22 when a command comes to it for this purpose from the microprocessor 30.
  • the keyboard 14 comprises the usual numeric keys 34, shift keys 35 to allow successively acting on the data appearing in the boxes of the display field, to the left and to the right, a modification key 36, a key 37, a "delete” key 38 and a “delete” key 39.
  • the keyboard 14 is intended to allow the introduction of programming data into the electrical circuit according to procedures which can be carried out either by the user daily from the safe, either by an authorized person, whereby the latter must have a secret code, in principle unknown to the daily user. Since such procedures for access by a user code are known in the art of microcomputers, it is not necessary to describe them in detail here.
  • the display device 15 comprises eight display fields, the four fields grouped on the right are intended for indicating the time and the four fields on the left respectively indicate from right to left: the day of the week (1 to 7), the relative week (0 to 3), this concept being explained later, the opening or closing of the safe (the opening condition being represented here), and finally the indication of the instantaneous operating mode of the electronic circuit. It should be noted that this display device 15 is of the interactive type and therefore allows a dialogue between the operator of the keyboard 14 and the display device 15, in particular during a modification of the programming of the following device. the invention.
  • Fig. 5 shows a diagram as a function of time illustrating an example of operation that can be executed by the device according to the invention.
  • the curve a in this diagram represents a basic weekly program which is cyclical and which therefore returns in principle every week.
  • each day presents two opening windows, respectively between 10 and 12 hours and between 1400 and 1800 hours.
  • This program is pre-established by an authorized person having the secret access code, the daily user being unable to edit. It should be noted that in the example which will be described in the continued, up to four of these opening windows can be programmed each day. Thus, this program determines beforehand the lifting periods prohibiting the opening of the lock.
  • this lifting of the ban may be subject to certain other conditions which may be imposed either by the authorized person or by the daily user, which is illustrated by curves b and c in fig. 5.
  • the basic weekly program for curve a can be inhibited for a period ranging from several hours to a few weeks.
  • this inhibition is not cyclical, but must be programmed by the authorized person step by step and be automatically deleted after its execution.
  • the so-called imposed inhibition (since the daily user cannot erase it) can be useful for example to prohibit opening during a holiday period, a holiday bridge associated with a public holiday, etc.
  • inhibition can be given in "relative" weeks (which are from 0 to 3 in number), in days (from 1 to 7), in hours and minutes between the start time and the end time inhibition.
  • “relative” weeks which are from 0 to 3 in number
  • days from 1 to 7
  • hours and minutes between the start time and the end time inhibition.
  • the imposed inhibition period begins on Tuesday at 8.30 am and ends on Friday at 6 am.
  • Curve c represents the "chosen” inhibition, that is to say selectable by the daily user who does not have the secret access code. This inhibition can be useful when the user must be absent during the day for one or more periods, which is the case in the example shown for the day on Monday. Indeed, the opening ban is established between 10.00 a.m. and 11.30 a.m. and from 4.30 p.m. to 6 p.m.
  • Curve d thus represents the effective opening periods or periods of lifting of prohibition which are hatched for greater clarity.
  • fig. 5 represents only a single example of determining the programming of the lifting of the ban, any other combination of the opening and closing periods which can be chosen as required, either by the authorized programmer or by the user. daily. Furthermore, at any time, if one is inside the enclosure, immediate opening and closing can be requested by both types of operators.
  • Fig. 6 schematically represents the organization of the RAM part of the memory 32 in which the data which are essential for the implementation of the invention are stored.
  • the weekly program is recorded in a maximum of 112 bytes in the example shown, this program being used cyclically week after week.
  • Each day can be assigned four ban lifting windows, numbered F, to F., each window requiring for its definition two bytes for opening and two bytes for closing.
  • Another memory field is intended to contain variable parameters, some of which occupy three bytes and others of which occupy only two.
  • Fig. 7 shows two examples of groups of bytes used for this memory organization.
  • the upper part of fig. 7 represents the content of two bytes, hereinafter called “short” data, used for the definition of opening or closing a window F, at F 4 , while the lower part represents a group of three bytes corresponding to "long" data.
  • the first byte of a short datum contains the units of the minutes (0 to 9) on four bits, the four most significant bits being assigned to the tens of minutes (0 to 5).
  • the second byte comprising in its four least significant bits, the units of hours (0 to 9), the next two bits being assigned to the tens of hours (0 to 2), the remaining bits corresponding respectively to variables P and S can each admit two states 0 and 1.
  • the bit P, when it is at 1, means that the short datum in question is programmed and, when it is at zero, that this datum is not programmed.
  • the bit S, when it is at 1 means that after processing this data, the slider 11 (fig. 2 and 3) must be lowered to unblock the passage of the bar 8, while when this bit is at zero , the reverse movement must be triggered.
  • Long data has in its first two bytes the same information as that used to define a short data, while the third byte of long data defines in its four least significant bits the days of the week (0 to 6) and in the other four bits "relative weeks" (0 to 3).
  • relative week means the days extending from today to today + 6 days for the first week numbered 0, the days of relative week no 1 extending from today + 7 days to today + 13 days, etc.
  • the relative week can start on any day of the calendar week, that is to say in relation to the weekly program defined in memory 32 .
  • Figs. 8a to 8c represent the flowchart of the main program implemented in the microprocessor 30.
  • This main program comprises a certain number of subroutines as well as a calculation loop which takes place in the last phase of the execution of this main program.
  • This calculation loop itself comprises a certain number of subroutines which will all be described in detail below.
  • the main program consists essentially of four parts, the first of which calculates the time (fig. 8a), the second of which essentially aims to compare the current time with the NXTE data defining the previously calculated event, the third part ensuring the actual control of the movement of the slider 11 as a function of the constraints imposed by the program, and the fourth part being the calculation loop of which we have just spoken.
  • the main program is executed every half-second under the control of a signal which is applied to the microprocessor 30 by the time base 31.
  • the latter can be formed by a conventional division chain controlled by a quartz oscillator.
  • a test is first carried out at 51 to find out whether the content of a register of seconds SECS is equal to. 119. It will be noted in passing that the program makes use of a certain number of registers which, conventionally, form part of the microprocessor 30.
  • test is negative, the content of the register is - incremented by one at 52 and the program ends at 53 until the next half-second is triggered. If, on the other hand, the test is positive, the number zero is placed in the SECS register (operation 54). .
  • the number examined during test 51 is a function of the frequency with which one wishes to execute the main program and it can be different from once every two minutes.
  • a test is carried out at 55 to determine whether the first byte of the HRAC data contained in the memory 32 (units and tens of minutes) is equal to 59. If the test proves negative , the content of the byte in question is incremented by one at 56 and the program switches to a "long comparison" subroutine 57 (fig. 8b), a detailed description of which will be given below.
  • test 55 proves positive, the number 0 is placed in the aforementioned byte at 58 and the program passes to a test 59 to determine whether the content of the second byte of the HRAC data contains a number of hours equal to 23 If the test is negative, the content of this byte is incremented by one at 60 and the program also goes to subroutine 57. If the test is positive, the number zero is placed in the byte in question in 61. This obviously means that we go from one day to the next day, because the time then corresponds to midnight.
  • the program then goes through three subroutines 62, 63 and 64 called "relative week update program", a detailed description of which will be given below (fig. 8b).
  • the program goes to a test 65 to determine whether the content of the days part of byte 3 of the HRAC data is equal to 6. If the test proves negative, the content of this part of byte 3 is incremented by one at 66 and the program goes to subroutine 57. On the other hand, if the test proves positive, zero is placed in the part concerned by byte 3 (operation 67) and the program also goes to subroutine 57.
  • the sub-program 57 corresponds to the long comparison CDL, according to the procedure of FIG. 11, of the variable HRAC and of the variable NXTE which is, expressed in hourly data, the time at which the next event will take place, this variable having been calculated before. She depends therefore of the time program of curve a of FIG. 5 and of the constraints introduced by the inhibitions imposed and chosen, according to curves b and c of this same figure.
  • the main program ends and the device waits for the next initialization of the program by returning to the initialization operation 50 when half a second has passed.
  • the main program will execute its third part to place the slider 11 in the position required by the data obtained after the execution of the sub-program 57.
  • a test is carried out at 68. to determine the value at which the bit S of the variable NXTE is established. If this bit is at zero, the circuit generates a "logically closed" signal at 69, which does not yet mean that the motor 20 driving the slider 11 will be actuated in the closing direction. Indeed, it is first necessary to examine in which position the slide is located. After passing a test in 70, the usefulness of which will be explained later, and assuming that the answer to this test is negative, a test is carried out to determine in what position the slide 11 is actually in relation to the positions of the switches 26 and 27. If it is then found that the slider is open, the motor is triggered according to operation 72 and the slider is raised by the motor 20 controlled by the microprocessor through the amplifier 33. The program passes then on the “calculation of the next event” loop 73. If the tests 70 and 71 prove to be positive, the program also passes on this same loop 73, by the common operation 74.
  • test 68 proves to be affirmative, the same operations take place, but this time with respect to the state of opening of the slide 11, the program passing through the operations 75 to 78 which all end equally on loop 73.
  • the device places the slide in the position required by the constraints illustrated in FIG. 5 as a function of the variable NXTE previously calculated, after which, during the fourth part, the device will examine what is the nature of the next event and calculate exactly the next variable NXTE which is then stored in memory 32 to be used during of the execution of the next routine 57 leading to the comparison with the current time.
  • a CDL subroutine 81 is performed between the NXTE datum and the content of the two bytes corresponding to the INH1 datum. If, following this comparison, it turns out that INH1 is not programmed, is greater than the variable NXTE (corresponding to this instant at the moment) or is equal to this data, the program switches to a following subroutine 82 called "localization in the weekly program" - (LPH; see fig. 12b).
  • the comparison of the subroutine 81 leads to note that INH1. East. lower than NXTE, which means that the current time is either in an imposed inhibition period or before this period, it is to be determined by the CDL 82 subroutine which is a long comparison between INHO and NXTE if the current time is within or before the imposed muting period. If the subroutine 83 determines that it is still before the inhibition period, the program goes to the subroutine 82. On the other hand, if it turns out that there is equality between the two data, the program goes to operation 84 (fig.
  • subroutine 82 determines whether the data contained at this instant in the NXTE bytes, according to operation 80 (fig. 12a) falls into an opening window of the corresponding day of the basic weekly program (fig. 5), and to determine if there is an event of the corresponding day which follows this data.
  • the subroutine 82 is initialized at 85 and the first operation 86 consists in placing in a register of the microprocessor JR the bits of the third byte of the data NXTE (which therefore correspond to today), then during 'a operation 87 of placing the number zero in another register NE of the microprocessor.
  • the contents of the registers JR and NE are then used as pointer to the bytes of memory 32 in which the weekly program is stored - (curve a in fig. 5).
  • the content of the bytes designated by the pointer (in this case, for example, the two opening bytes of window F, which are then extracted from the memory) is subjected to a comparison subroutine at 88 according to the process. table illustrated in fig. 9.
  • the parity of the number NE is representative of the opening or closing state of a window, an odd number corresponding obligatorily at the opening and a number even at a closing, it being understood that in the example represented, at most four successive openings and closings can occur, the number NE of the events therefore being at most equal to eight.
  • NXTE and PROG JR, NE
  • the content of the NE register is incremented by one at 89 and a test is performed at 90 to determine if NE is equal to the maximum number of possible events scheduled in the weekly schedule, this number being therefore eight in the example described. If this test proves negative, the program loops back to subroutine 88 to extract from memory the second event of the day pointed to by the registers JR and NE. A new comparison is then performed on NXTE, i.e. the current time and PROG (JR, NE).
  • the program performs a new test at 91 to determine whether NE is even or odd. If NE is even, we are faced with a second case, namely that the slide is in its closed position and that there is an event. of the program that will succeed at the moment that day. If, on the other hand, the test carried out in 91 turns out to be positive, we are faced with a third case corresponding to the opening position of the slide 11 and the programming, that day, of the end of the window in presence.
  • the program continues as previously described with regard to the finding of equality of the two corresponding data. If, finally, the subroutine 88 establishes that PROG (JR, NE) is not programmed, the program passes to a test 92 to examine the parity of the number NE. If this number is even, we are in the presence of case no 1 and otherwise we are in the presence of a case no 4 corresponding to the opening position of the slide 11, that is to say the The current time is in an opening window and this window lasts until midnight of the current day.
  • the subroutine 82 gives rise to four possible cases which will be examined successively now.
  • the program switches to an RDPF 93 (Search for Beginning of Next Window) subroutine, the operations of which have been detailed in FIG. 14 to which we will now refer.
  • the subroutine 93 is initialized at 94 and the first operation consists in placing the value zero in the register NE (operation 95). Then, a test is carried out to determine if NE is equal to the maximum number of events of the day (operation 96). If the test 96 establishes the inequality, the program passes to a test 97 to determine the program bit P of the PROG data item (JR, NE).
  • test at 98 proves positive, the NE register is incremented by one unit at 100 and the program loops back to test 96 and the operations previously described are repeated.
  • This subroutine is called when we are looking for the next event in the basic weekly program and when, having already reached the last scheduled event of the day we are working on, we must go to the day following.
  • this subroutine we use an auxiliary variable NC which aims to avoid that in the absence of a program we change more than seven times a day.
  • the subroutine 101 after initialization at 102, performs a test 103 to determine if the content of the register NC is equal to 7. If this is the case, it is an error which is signaled on the device d 'display and which results in putting the slide 11 in the open position, which is also the case each time an error is observed during the course of the program.
  • test 103 If the test 103 is negative, the register NC is incremented by one unit (operation 104) and the number zero is placed in the register NE. Then, a test is performed in 105 to determine whether the content of the JR register is equal to 6. If this test proves positive, the number zero is placed in the JR register and if not, this register is incremented by one unit (operations 106 and 107). Then, operation 108 consists in transferring the content of the register JR into the corresponding bits of the data NXTE of the memory 32. Then, a test is carried out in 109 to check the equality between the content of the register JR and the day of HRAC data. If this test proves negative, the program loops back to test 97 of the subroutine 93 (fig. 14) and if not, the number of the NXTE data item corresponding to the week is incremented by one unit (operation 110 ) after which we also go back to test 97.
  • the program switches to a subroutine 111 (fig. 12b) which consists in making a long comparison between the content of the bytes of the NXTE data which then does not correspond at present, but at a calculated value and the INHO data. If this comparison determines that INHO is not programmed or if NXTE precedes INH0, the program goes to operation 112 which consists in placing the value 1 in the bits P and S of the data NXTE, which completes the calculation of this given. If, on the other hand, the comparison establishes equality between NXTE and INH0, or if NXTE succeeds INHO, a new long comparison is carried out in 113 between INH0 and INH1. If INH1 succeeds INHO, the program goes to operation 84 (fig. 12e). In the other three cases, this is an error (operation 114) and a zero is placed in the PNXTE bit.
  • case no. 3 corresponds to the open position of the slide and the programming of the end of the window in progress
  • case 4 also corresponds to the slide opening position, the window being established until midnight.
  • the program switches to a new subroutine 118 for short comparison between the data item PROG (JR, NE) (see subroutine 82) and the data item AJT1. If AJT1 is not programmed, if it is equal to PROG - (JR, NE) or if AJT1 succeeds PROG (JR, NE) the program also loops back to subroutine 93. On the other hand, if PROG (JR, NE) succeeds AJT1, the values of minutes and hours of this data are transferred in the corresponding bits of the NXTE bytes of memory 32 (operation 119). After this operation, the program loops back to the long comparison subroutine 111 to complete the other bits of the data NXTE during operation 112, or to detect errors (operation 114).
  • test carried out in 116 being negative, a short comparison is also carried out on the data NXTE and AJT1 (subroutine 120), but in this case it is only when NXTE - (current time) precedes AJT1 that we pass to operation 119, the three other cases leading to loopback on the subroutine 93. If the tests 115 and 116 prove to be positive, the same comparison operations are carried out on the data AJT0 in accordance with the subroutines 121, 122 and 123 (fig. 12d).
  • subroutines 121 and 122 When subroutines 121 and 122 establish either that AJT0 is not programmed, or that NXTE is greater than AJT0, or that the two data are equal, the program switches to an RFFA search end of window subroutine Current (Fig. 16). The program also switches to this subroutine 124 at the end of the execution of the subroutine 123 when it turns out that AJT0 is not programmed or when AJT0 is greater than PROG (JR, NE).
  • the purpose of the subroutine RFFA 126 is to find the end of the current window, to allow the end of this window to place in the "S" bit of the NXTE signal, the value 0 having the purpose of causing the mo, uvement of the slide 11 in the closing direction.
  • the subroutine 124 (FIG. 16) runs almost entirely like the subroutine 93 in accordance with the operations 94 to 101 already described with reference to FIG. 14. The difference consists in that, at the end of the running of the subroutine 101 (fig. 15), that is to say when the test 109 turns out to be negative or that the updating of the bits of the NXTE signal corresponding to the number of weeks, is carried out according to operation 110, the subroutine 124 performs a test 127 to determine whether the bit P of the PROG datum, (JR NE) is equal to 1, being recalled that this datum was retrieved from memory based on the contents of the JR and NE registers.
  • JR NE bit P of the PROG datum
  • tests 128 and 129 are carried out on the hour and minute values of the PROG data item (JR, NE) to check whether these values are equal to zero. If tests 128 and 129 prove to be negative, zero values are introduced into the corresponding bits of the bytes of the NXTE data item, in accordance with operation 130, after which the program reconnects to the program 73 for calculating the next event (fig. . 12d). If tests 128 and 129 are both positive, this means that, in one particular case, an opening window has been programmed which overlaps midnight. It is then necessary to search for the next event of the new day, so that the value NE is incremented according to operation 100.
  • the operations 127 to 130 therefore aim to avoid that, when the opening is programmed to overlap midnight, the slider is not successively brought into the closed position and into the open position, but remains on the contrary in the open position, despite the fact that in reality, at midnight, by convention, the slider 11 must always be in its closed position.
  • the program - switches to a long comparison subroutine 131 to check if the current value of the given NXTE does not correspond to an INH0 datum, that is to say with an imposed start of inhibition.
  • INH ⁇ data is not programmed or if it succeeds to NXTE or if it; is equal to INH0, values of 1 and 0 are respectively placed in the bits P and S of the data NXTE - (operation 132), after which the calculation of NXTE is completed.
  • this data is placed in the bytes of NXTE (operation 133), after which the same bit values are placed in the bits P and S of NXTE according to the operation 132.
  • the same operation is carried out if, after a test 134 made after finding an error in the subroutine 101 taking place in the context of the execution of the program 124 (fig. 16), it is checked whether the bit P of the data INH0 is equal to 1. If this is not the case, 0 is placed in this bit and there is an error.
  • the operation 84 already mentioned consists in placing the value 'INH1 in the bytes NXTE, after which the subroutine 82 is executed to locate this data in the weekly program.
  • the subroutine 82 ends in case no 1 or in case no 2, we will execute the subroutine 93 to find the start of the consecutive window. If cases no 3 or no 4 occur, values 1 are respectively placed in bits P and S of the data NXTE and the calculation of the next event ends. If the subroutine 93 results in the observation of an error, the value zero is placed in the bit P of the data item NXTE and an error is noted (operations 136 and 137).
  • the subroutine ends. If programmed, it is checked during test 140 whether the day value of the HRAC data corresponds to the day value of the data examined. If it does not match, the routine ends. If it corresponds, it is checked during test 141 if the week value of the data examined is equal to zero. If this is the case, the value zero is placed in the bit P of the data examined. On the other hand, if this is not the case, the week value of the data examined is decremented by one unit (operations 142 and 143, respectively) after which, the subroutine in question ends and the operations reconnect to the main program.
  • the request signal can be presented at any time, a signal which can possibly be associated with a special code known only to authorized persons. If the opening is so requested, the algorithm of figs. 18a and 18b impose a period limited to the possibility of opening, although this opening does not occur until after the waiting period mentioned above.
  • the timing algorithm of Figs. 18a and 18b consists, after an initialization at 144, of first examining a transition of the request signal using tests 145, 146 and 147. These tests consist in examining the state of a flag FR which is established to zero after test 146 (operation 148) or to one (149).
  • a test is performed at 150 to determine if there is an error. If this test is negative, we will examine in 151 if there is a logical opening. In the positive case, a test is carried out to examine whether the variable TEMP is equal to zero, this variable being the set value corresponding to the delay time which is here three minutes. If the TEMP variable is equal to zero, the motor 20 is controlled in the opening direction (operation 153), after which the TEMP variable receives the value 3. If tests 151 and 152 prove to be negative, the motor 20 is controlled in the closing direction (operation 154) which also loops back to operation 155 for adjusting the TEMP variable. Then the program continues by updating a TEMPO variable to its initial value of 120 half-seconds executed during operation 156 appearing in FIG. 18b.

Abstract

1. Device for removing a conditional ban on the operation of a lock assembly (5, 8) in particular for a safe, strong box or other protected enclosure, this lock assembly comprising a rod linkage (2) which can be moved between a locked position and an unlocked position, and a lock (5) for preventing the movement of the rod linkage from the locked position to the unlocked position, said device comprising electro-mechanical blocking means (11, 19) which under control of an electronic circuit (14, 30 to 33) are adapted to place or remove the ban on the operation of said lock assembly, characterized in that said electro-mechanical blocking means act on said rod linkage and in that said electronic control circuit (14, 30 to 33) includes a memory (32) in which is stored a time schedule program to be cyclically executed and defining at least one time slot of ban removal (F1 to F4 ), means associated with said memory arranged to compare periodically the time of day (HRAC) with the moment (NXTE) framing said time slot and means (30, 33) controlling the blocking means thereby to block or release said rod linkage (2) when there is equality between the time of day and said moments.

Description

La présente invention est relative au domaine de la protection d'enceintes de sécurité et elle concerne, plus particulièrement, un dispositif de levée d'interdiction conditionnelle de la manoeuvre d'une serrure, notamment d'un coffre-fort, chambre forte ou autre enceinte protégée.The present invention relates to the field of protection of security enclosures and it relates, more particularly, to a device for lifting a conditional ban on the operation of a lock, in particular of a safe, vault or other. protected enclosure.

A l'heure actuelle, il est fréquent que l'on impose à la possibilité d'ouverture d'une enceinte protégée des fenêtres temporelles afin d'éviter, dans toute la mesure du possible, les violations criminelles de la protection et l'exposition à des dangers importants des personnels de service.Currently, it is common to impose the possibility of opening a protected enclosure of time windows in order to avoid, as far as possible, criminal breaches of protection and exposure to significant dangers for service personnel.

Ainsi, a-t-on déjà associé aux serrures des moyens de blocage qui en interdisent la manoeuvre pendant certaines périodes de la journée même pour les personnes qui possèdent la clé de la serrure ou le code d'ouverture si celle-ci est à commande plus complexe. Comme de cette manière, les périodes de levée d'interdiction sont réduites au minimum, les risques de violation sont évidemment plus faibles.Thus, have we already associated with locks blocking means which prohibit its operation during certain periods of the day even for people who have the key to the lock or the opening code if it is to order more complex. As in this way the periods of lifting of the ban are reduced to a minimum, the risks of violation are obviously lower.

Le problème primordial que pose une telle installation est la détermination des fenêtres temporelles correspondant aux levées d'interdiction, qui est fait de préférence de manière automatique et sans que le personnel qui se sert quotidiennement de l'enceinte protégée, puisse modifier les données des fenêtres tout au moins dans le sens de l'élargissement de celles-ci. Cette impossibilité pour le personnel d'ouvrir l'enceinte protégée constitue pour lui une sécurité supplémentaire, car une attaque en dehors des fenêtres de levée d'interdiction peut ainsi être déjouée par l'impossibilité alors inhérente du système de pouvoir être ouvert. Même, l'injonction d'ouvrir l'enceinte protégée sous la menace des armes ne peut alors conduire à l'ouverture, car le personnel disposant de la clé ou du code d'ouverture n'est pas à même de provoquer l'ouverture.The primary problem posed by such an installation is the determination of the time windows corresponding to the lifting of prohibitions, which is preferably done automatically and without the personnel who use the protected enclosure daily, being able to modify the data of the windows. at least in the sense of enlarging them. This impossibility for the personnel to open the protected enclosure constitutes for them an additional security, since an attack outside the lifting windows of prohibition can thus be thwarted by the then inherent impossibility of the system of being able to be opened. Even, the injunction to open the protected enclosure under the threat of weapons cannot then lead to the opening, because the personnel having the key or the opening code is not able to cause the opening .

Il est par ailleurs souhaitable que les fenêtres temporelles puissent être modifiées en fonction des circonstances telles que la modification des horaires d'ouverture des guichets d'une banque, l'instauration d'une nocturne de vente dans un magasin à grande surface, ou pour un autre établissement la période de fermeture en raison des congés, par exemple. Une telle adaptation doit naturellement être réalisée par des personnes autorisées qui pourront ou ne pourront pas être celles appartenant au personnel se servant habituellement de l'enceinte protégée.It is also desirable that the time windows can be modified according to circumstances such as the modification of the opening hours of the counters of a bank, the establishment of a night sale in a department store, or another establishment the closing period due to holidays, for example. Such an adaptation must naturally be carried out by authorized persons who may or may not be those belonging to the personnel who usually use the protected enclosure.

C'est à ce problème de créer un système du type susindiqué .que l'invention tente d'apporter une solution en fournissant un dispositif de levée d'interdiction adaptable facilement, d'un usage commode, et d'une grande flexibilité quant à ses possibilités d'installation sur des enceintes protégées de toute nature.It is to this problem of creating a system of the aforementioned type. That the invention attempts to provide a solution by providing an easily adaptable ban lifting device, of convenient use, and of great flexibility as to its installation possibilities on protected enclosures of all kinds.

L'invention a donc pour objet un dispositif de levée d'interdiction conditionnelle de la manoeuvre d'une serrure, notamment d'un coffre-fort, chambre forte ou autre enceinte protégée, comprenant des moyens électro-mécanique de blocage qui sous la commande d'un circuit électronique sont capables d'imposer l'interdiction ou la levée d'interdiction de manoeuvre de ladite serrure, caractérisé en ce que ledit circuit électronique de commande comprend une mémoire dans laquelle est stockée un programme horaire destiné à être exécuté cycliquement et définissant au moins une fenêtre temporelle de levée d'interdiction et des moyens associés à cette mémoire pour comparer périodiquement l'heure officielle aux instants encadrant ladite fenêtre temporelle et des moyens pour commander lesdits moyens de blocage pour bloquer ou libérer ladite serrure lorsqu'il y a égalité entre l'heure officielle et lesdits instants.The subject of the invention is therefore a device for lifting a conditional prohibition on the operation of a lock, in particular a safe, vault or other protected enclosure, comprising electro-mechanical blocking means which under the control of an electronic circuit are capable of imposing the prohibition or the lifting of the prohibition of operation of said lock, characterized in that said electronic control circuit comprises a memory in which is stored a time program intended to be executed cyclically and defining at least one time window for lifting a ban and means associated with this memory for periodically comparing the official time with the times surrounding said time window and means for controlling said blocking means to block or release said lock when there is tied between official time and said times.

Grâce à ces caractéristiques, les levées d'interdiction de la manoeùvre de la serrure sont déterminées en fonction de l'heure officielle de sorte que les fenêtres qui encadrent les levées d'interdiction peuvent être fixées simplement en introduisant dans le dispositif une heure d'ouverture et une heure de fermeture.Thanks to these characteristics, the prohibition lifts for the operation of the lock are determined according to the official time so that the windows which frame the prohibition lifts can be fixed simply by entering a time in the device. opening and closing time.

L'invention sera mieux comprise à l'aide de la description qui va suivre d'un exemple de réalisation, en faisant référence aux dessins annexés sur lesquels:

  • -la fig. 1 représente schématiquement la face avant d'un coffre-fort comportant l'ensemble de serrure suivant l'invention;
  • - la fig. 2 est une vue également schématique de la face intérieure de la porte de coffre-fort;
  • -la fig. 3 est une représentation schématique plus détaillée du dispositif de blocage de la serrure;
  • -la fig. 4 est un schéma simplifié du circuit électronique de commande de la serrure suivant l'invention;
  • -la fig. 5 est un diagramme représentant un exemple de programme hebdomadaire pouvant régir les périodes de levée d'interdiction de manoeuvre de la serrure;
  • -la fig. 6 est une représentation schématique du contenu de la mémoire RAM utilisée dans le circuit électronique;
  • -la fig. 7 montre le contenu de plusieurs octets de la mémoire respectivement pour définir des données "courtes" et des données "longues";
  • -les fig. 8a à 8c montrent l'organigramme du programme principal exécuté par le micro- processeur de l'ensemble de serrure suivant l'invention;
  • -la fig. 9 représente le principe d'un sous-programme de comparaison;
  • -la fig. 10 est un organigramme d'un sous-programme de comparaison sur des données courtes;
  • -la fig. 11 est un organigramme d'un sous-programme de comparaison sur des données longues;
  • -les fig. 12a à 12e forment ensemble l'organigramme du sous-programme de "calcul de prochain événement";
  • -la fig. 13 représente l'organigramme d'un sous-programme permettant de déterminer la relation entre l'heure actuelle et le programme hebdomadaire préétabli;
  • -la fig. 14 représente l'organigramme d'un sous-programme de "recherche de début d'une prochaine fenêtre";
  • -la fig. 15 représente l'organigramme d'un sous programme de "saut d'un jour";
  • -la fig. 16 représente l'organigramme d'un sous-programme de "recherche de la fin d'une fenêtre actuelle";
  • -la fig. 17 représente l'organigramme d'un sous-programme de "mise à jour-de semaine relative";
  • -les fig. 18a et 18b représentent ensemble un organigramme de sous-programme de temporisation.
The invention will be better understood with the aid of the description which follows of an exemplary embodiment, with reference to the appended drawings in which:
  • - fig. 1 schematically represents the front face of a safe comprising the lock assembly according to the invention;
  • - fig. 2 is also a schematic view of the interior face of the safe door;
  • - fig. 3 is a more detailed schematic representation of the locking device for the lock;
  • - fig. 4 is a simplified diagram of the electronic circuit for controlling the lock according to the invention;
  • - fig. 5 is a diagram representing an example of a weekly program capable of governing the periods for lifting the prohibition on operating the lock;
  • - fig. 6 is a schematic representation of the content of the RAM memory used in the electronic circuit;
  • - fig. 7 shows the content of several bytes of the memory respectively to define "short" data and "long"data;
  • - fig. 8a to 8c show the flow diagram of the main program executed by the microprocessor of the lock assembly according to the invention;
  • - fig. 9 shows the principle of a comparison subroutine;
  • - fig. 10 is a flow diagram of a comparison routine on short data;
  • - fig. 11 is a flow diagram of a comparison routine on long data;
  • - fig. 12a to 12e together form the flowchart of the "next event calculation"subroutine;
  • - fig. 13 shows the flowchart of a sub-program making it possible to determine the relationship between the current time and the pre-established weekly program;
  • - fig. 14 shows the flowchart of a "search for start of a next window"subroutine;
  • - fig. 15 shows the flowchart of a "one day jump"subroutine;
  • - fig. 16 shows the flowchart of a "search for the end of a current window"subroutine;
  • - fig. 17 shows the flowchart of a "relative week-update"subroutine;
  • - fig. 18a and 18b together represent a timing subroutine flowchart.

Dans la description qui va suivre, l'invention est explicitée à l'aide d'un exemple qui concerne spécifiquement un coffre-fort. Cependant, cet exemple n'est nullement limitatif, l'invention pouvant être- appliquée chaque fois qu'il s'agit d'assurer la commande sous condition d'une serrure pour la protection d'une enceinte pouvant être obturée par un élément de fermeture.In the description which follows, the invention is explained with the aid of an example which specifically relates to a safe. However, this example is in no way limiting, the invention being able to be applied each time it is a question of ensuring the control under the condition of a lock for the protection of an enclosure which can be closed by an element of closing.

Les fig. 1 et 2 représentent respectivement la face avant d'un coffre-fort et la face intérieure de la porte de ce dernier. L'ensemble de serrure de ce coffre-fort étant classique, il n'est pas utile d'en donner ici une description détaillée ou une représentation complète. Il suffit de noter que cet ensemble de serrure 1 comporte une tringlerie 2 munie de pênes 3 et pouvant être déplacée d'une position de verrouillage à une position de déverrouillage et inversement à l'aide d'un volant 4. Une serrure dont le coffre est représenté en 5 et dont le pêne est représenté en 6 peut être actionné à l'aide d'une clé classique à travers un trou de serrure 7, cette serrure pouvant bien entendu être aussi complexe qu'on peut le souhaiter dans le cadre de la sécurité à assurer vis-à-vis du contenu du coffre.Figs. 1 and 2 respectively represent the front face of a safe and the internal face of the door of the latter. The lock assembly of this safe is conventional, it is not useful to give here a detailed description or a complete representation. It suffices to note that this lock assembly 1 comprises a linkage 2 provided with bolts 3 and which can be moved from a locking position to an unlocking position and vice versa using a steering wheel 4. A lock including the trunk is shown in 5 and whose bolt is shown in 6 can be actuated using a conventional key through a keyhole 7, this lock can of course be as complex as may be desired in the context of the security to be assured with regard to the contents of the safe.

Le pêne 6 coopère avec une barre 8 de la tringlerie 2, cette barre étant ici montée coulissante dans le sens horizontal et comportant une crémaillère 9 avec laquelle coopère un pignon 10 monté sur le volant 4.The bolt 6 cooperates with a bar 8 of the linkage 2, this bar being here slidably mounted in the horizontal direction and comprising a rack 9 with which a pinion 10 mounted on the flywheel 4 cooperates.

On conçoit que la manoeuvre de la tringlerie 2 à l'aide du volant 4 est interdite lorsque la serrure est fermée (pêne 6 dans sa position haute, comme représentée).It is understood that the operation of the linkage 2 using the steering wheel 4 is prohibited when the lock is closed (bolt 6 in its high position, as shown).

Le dispositif suivant l'invention permet d'opposer à la manoeuvre de cette tringlerie 2 un second élément de verrouillage 11 dont la commande détermine la levée d'interdiction sous condition de l'ouverture de la serrure du coffre-fort. En effet, bien que cela ne soit représenté que très sommairement à la fig. 2, on voit que l'élément de verrouillage 11 pouvant se déplacer verticalement et empêcher ainsi le coulissement dans le sens de l'ouverture de la tringlerie 2 en pénétrant dans une découpe 12 qui se trouve à l'arrière de la barre 8. Comme il sera expliqué par la suite, le second élément de verrouillage 11 est motorisé et commandé par un circuit électronique 13 auquel sont reliés d'une part un clavier de commande 14 et d'autre part un dispositif d'affichage 15, le clavier se trouvant à l'intérieur de la porte, alors que le dispositif d'affichage comprend deux champs d'affichage apparaissant respectivement de part et d'autre de celle-ci.The device according to the invention makes it possible to oppose the operation of this linkage 2 a second locking element 11 whose control determines the lifting of prohibition on condition of the opening of the lock of the safe. Indeed, although this is only shown very briefly in FIG. 2, it can be seen that the locking element 11 can move vertically and thus prevent sliding in the direction of opening of the linkage 2 by entering a cutout 12 which is at the rear of the bar 8. As it will be explained later, the second locking element 11 is motorized and controlled by an electronic circuit 13 to which are connected on the one hand a control keyboard 14 and on the other hand a display device 15, the keyboard being inside the door, while the display device comprises two display fields appearing respectively on either side of the latter.

En se référant maintenant à la fig. 3, on va décrire, également très sommairement, un agencement possible de la partie mécanique du dispositif de blocage de la serrure suivant l'invention, les détails de réalisation apparaissant clairement au spécialiste à partir de la description qui va suivre de cette représentation.Referring now to FIG. 3, we will describe, also very briefly, a possible arrangement of the mechanical part of the locking device of the lock according to the invention, the details of embodiment appearing clearly to the specialist from the description which follows of this representation.

L'élément de verrouillage 11 est réalisé sous la forme d'un coulisseau monté mobile axialement dans un guide 16 d'un bâti 17 ménagé sur la porte du coffre-fort. Ce dernier présente également un couloir 18 dans lequel coulisse la barre 8 de la tringlerie 2 et sur lequel débouche le guide 16 de manière que le coulisseau 11 puisse s'opposer au mouvement de recul de la barre 8 lorsqu'en sortant du guide 16, elle se place en travers du couloir 18.The locking element 11 is produced in the form of a slide mounted axially movable in a guide 16 of a frame 17 formed on the door of the safe. The latter also has a corridor 18 in which the bar 8 of the linkage 2 slides and on which the guide 16 opens so that the slide 11 can oppose the recoil movement of the bar 8 when leaving the guide 16, it is placed across corridor 18.

Ce mouvement est commandé par un ensemble moteur 19 comprenant un moteur proprement dit 20, un levier 21 articulé sur le bâti 17 et une came 22 montée sur l'arbre de sortie du moteur 20 et pourvue d'une gorge de guidage excentrique 23 en forme d'arc de cercle, gorge dans laquelle coulisse une goupille 24 solidaire du levier 21. Le levier 21 est attaché par son extrémité libre à l'extrémité inférieure du coulisseau 11 et comme la goupille 24 se trouve située à la moitié du levier 21, on conçoit que si le moteur 20 est actionné, le levier peut soulever le coulisseau 11 pendant que la goupille se déplace dans la gorge de guidage 23 et que le mouvement inverse provoque la descente de ce coulisseau. Il est à noter que lorsque la barre 8 se trouve dans une position dans laquelle elle obture le guide 16, le coulisseau 11 peut être sollicité vers sa position de blocage grâce à la présence d'un ressort 25 qui se trouve monté autour de la queue du coulisseau 11 et qui est comprimé lorsque le moteur est entraîné dans le . sens de la levée du coulisseau 11. Par conséquent, lorsque dans ces conditions, la barre retourne dans sa position de fermeture (vers la droite sur la figure), le coulisseau 11 est immédiatement amené à se placer en travers du couloir 18 pour s'opposer -à tout nouveau mouvement dans le sens de l'ouverture de la barre 8.This movement is controlled by an engine assembly 19 comprising an actual engine 20, a lever 21 articulated on the frame 17 and a cam 22 mounted on the output shaft of the engine 20 and provided with an eccentric guide groove 23 in the shape of an arc of a circle, groove in which slides a pin 24 integral with the lever 21. The lever 21 is attached by its free end to the lower end of the slide 11 and like the pin 24 is located at half of the lever 21, it is understood that if the motor 20 is actuated, the lever can raise the slide 11 while the pin moves in the guide groove 23 and that the reverse movement causes the descent of this slide. It should be noted that when the bar 8 is in a position in which it closes the guide 16, the slide 11 can be urged towards its locking position thanks to the presence of a spring 25 which is mounted around the tail. of the slide 11 and which is compressed when the motor is driven in the. direction of lifting of the slide 11. Consequently, when under these conditions, the bar returns to its closed position (to the right in the figure), the slide 11 is immediately brought to be placed across the passage 18 to oppose - any new movement in the direction of opening of the bar 8.

L'ensemble que l'on vient de décrire comporte encore quatre interrupteurs 26 à 29 qui ont les fonctions suivantes:

  • -interrupteur 26: il est placé en dessous du guide 16 pour constater que le coulisseau 11 se trouve dans sa position inférieure;
  • -interrupteur 27: il coopère avec le levier 21 pour fournir un signal lorsque le levier 21 se trouve dans sa position supérieure; par conséquent, lorsque l'interrupteur 26 est fermé, le coulisseau se trouve en bas et lorsque J'interrupteur 27 est .fermé, le coulisseau se trouve en haut.
  • -interrupteur 28: il constate une "volonté d'ouverture", c'est-à-dire qu'il est actionné par l'extrémité arrière de la barre 8 pour constater que le volant 4 a été déplacé dans le sens de l'ouverture, alors que le coulisseau 11 se trouve encore dans .sa position haute;
  • -interrupteur 29: il constate que la barre 8 est effectivement dans sa position arrière (coffre ouvert).
The assembly just described further comprises four switches 26 to 29 which have the following functions:
  • -switch 26: it is placed below the guide 16 to note that the slide 11 is in its lower position;
  • -switch 27: it cooperates with the lever 21 to provide a signal when the lever 21 is in its upper position; therefore, when the switch 26 is closed, the slider is at the bottom and when the switch 27 is closed, the slider is at the top.
  • -switch 28: it finds a "will to open", that is to say that it is actuated by the rear end of the bar 8 to note that the steering wheel 4 has been moved in the direction of the opening, while the slide 11 is still in its upper position;
  • -switch 29: he finds that the bar 8 is effectively in its rear position (boot open).

La fig. 4 représente un schéma simplifié du circuit électronique qui est utilisé avec le dispositif mécanique qui vient d'être décrit. On reconnaît sur cette figure la barre 8, le coulisseau 11 entraîné par le moteur 22, le clavier 14 et le dispositif d'affichage 15. Ce dernier, ainsi que le clavier 14, constituent des' périphériques d'un microprocesseur 30 qui est également connecté à un circuit à base de temps 31, à une mémoire 32 du type RAM/ROM et à un circuit amplificateur 33 chargé de fournir l'énergie au moteur 22 lorsqu'une commande lui provient à cet effet du microprocesseur 30.Fig. 4 shows a simplified diagram of the electronic circuit which is used with the mechanical device which has just been described. We recognize in this figure the bar 8, the slide 11 driven by the motor 22, the keyboard 14 and the display device 15. The latter, as well as the keyboard 14, constitute 'peripherals of a microprocessor 30 which is also connected to a time-based circuit 31, to a memory 32 of the RAM / ROM type and to an amplifier circuit 33 responsible for supplying energy to the motor 22 when a command comes to it for this purpose from the microprocessor 30.

Le clavier 14 comporte les touches numériques 34 habituelles, des touches de décalage 35 pour permettre d'agir successivement sur les données apparaissant dans les cases du champ d'affichage, vers la gauche et vers la droite, une touche de modification 36, une touche de confirmation 37, une touche "suppression" 38 ainsi qu'une touche "effacement" 39. Le clavier 14 est destiné à permettre l'introduction des données de programmation dans le circuit électrique selon des procédures qui peuvent être effectuées soit par l'utilisateur quotidien du coffre-fort, soit par une personne autorisée, moyennant quoi cette dernière doit disposer d'un code secret, en principe inconnu de l'utilisateur quotidien. De telles procédures d'accès par un code d'utilisateur étant connues dans la techniques des micro-ordinateurs,' il n'est pas nécessaire d'en faire une description détaillée ici.The keyboard 14 comprises the usual numeric keys 34, shift keys 35 to allow successively acting on the data appearing in the boxes of the display field, to the left and to the right, a modification key 36, a key 37, a "delete" key 38 and a "delete" key 39. The keyboard 14 is intended to allow the introduction of programming data into the electrical circuit according to procedures which can be carried out either by the user daily from the safe, either by an authorized person, whereby the latter must have a secret code, in principle unknown to the daily user. Since such procedures for access by a user code are known in the art of microcomputers, it is not necessary to describe them in detail here.

Le dispositif d'affichage 15 comporte huit champs d'affichage dont les quatre champs regroupés à droite sont destinés à l'indication de l'heure et dont les quatre champs de gauche indiquent respectivement de droite à gauche: le jour de la semaine (1 à 7), la semaine relative (0 à 3), ce concept étant expliqué par la suite, l'ouverture ou la fermeture du coffre (la condition d'ouverture étant représentée ici), et enfin l'indication du mode de fonctionnement instantanée du circuit électronique. Il est à noter que ce dispositif d'affichage 15 est du type inter-actif et permet donc un dialogue entre l'opérateur du clavier 14 et le dispositif d'affichage 15, notamment au cours d'une modification de la programmation du dispositif suivant l'invention.The display device 15 comprises eight display fields, the four fields grouped on the right are intended for indicating the time and the four fields on the left respectively indicate from right to left: the day of the week (1 to 7), the relative week (0 to 3), this concept being explained later, the opening or closing of the safe (the opening condition being represented here), and finally the indication of the instantaneous operating mode of the electronic circuit. It should be noted that this display device 15 is of the interactive type and therefore allows a dialogue between the operator of the keyboard 14 and the display device 15, in particular during a modification of the programming of the following device. the invention.

La fig. 5 représente un diagramme en fonction du temps illustrant un exemple de fonctionnement pouvant être exécuté par le dispositif suivant l'invention. La courbe a de ce diagramme représente un programme hebdomadaire de base qui est cyclique et qui revient donc en principe toutes les semaines. Dans le cas représenté, chaque jour présente deux fenêtres d'ouverture, respectivement entre 10 et 12 heures et entre 1400 et 1800 heures, Ce programme est préétabli par une personne autorisée disposant du code d'accès secret, l'utilisateur quotidien ne pouvant le modifier. Il est à noter que dans l'exemple qui va être décrit dans la suite, on peut programmer chaque jour jusqu'à quatre de ces fenêtres d'ouverture. Ainsi, ce programme détermine au préalable les périodes de levée d'interdiction de l'ouverture de la serrure.Fig. 5 shows a diagram as a function of time illustrating an example of operation that can be executed by the device according to the invention. The curve a in this diagram represents a basic weekly program which is cyclical and which therefore returns in principle every week. In the represented case, each day presents two opening windows, respectively between 10 and 12 hours and between 1400 and 1800 hours. This program is pre-established by an authorized person having the secret access code, the daily user being unable to edit. It should be noted that in the example which will be described in the continued, up to four of these opening windows can be programmed each day. Thus, this program determines beforehand the lifting periods prohibiting the opening of the lock.

Cependant, cette levée d'interdiction peut être soumise à certaines autres conditions qui peuvent être imposées soit par la personne autorisée, soit par l'utilisteur quotidien, ce qui est illustré par les courbes b et c de la fig. 5. En examinant d'abord la courbe b, le programme de base hebdomadaire de la courbe a peut être inhibé pendant une durée allant de plusieurs heures à quelques semaines. Contrairement au programme de base, cette inhibition n'est pas cyclique, mais doit être programmée par la personne autorisée coup par coup et être automatiquement effacée après son exécution. L'inhibition dite imposée (puisque l'utilisateur quotidien ne peut l'effacer) peut être utile par exemple pour interdire l'ouverture pendant une période de vacances, un pont de congé associé à une journée fériée, etc.. Dans l'exemple décrit, l'inhibition peut être donnée en semaines "relatives" (qui sont de 0 à 3 en nombre), en jours (de 1 à 7), en heures et en minutes entre l'instant de début et l'instant de fin d'inhibition. Dans l'example de la fig. 5, on suppose que la période d'inhibition imposée commence le mardi à 8.30 heures et se termine le vendredi à 6.00 heures.However, this lifting of the ban may be subject to certain other conditions which may be imposed either by the authorized person or by the daily user, which is illustrated by curves b and c in fig. 5. By first looking at curve b, the basic weekly program for curve a can be inhibited for a period ranging from several hours to a few weeks. Unlike the basic program, this inhibition is not cyclical, but must be programmed by the authorized person step by step and be automatically deleted after its execution. The so-called imposed inhibition (since the daily user cannot erase it) can be useful for example to prohibit opening during a holiday period, a holiday bridge associated with a public holiday, etc. In the example described, inhibition can be given in "relative" weeks (which are from 0 to 3 in number), in days (from 1 to 7), in hours and minutes between the start time and the end time inhibition. In the example of fig. 5, it is assumed that the imposed inhibition period begins on Tuesday at 8.30 am and ends on Friday at 6 am.

La courbe c représente l'inhibition "choisie", c'est-à-dire sélectionnable par l'utilisateur quotidien qui ne dispose pas du code d'accès secret. Cette inhibition peut être utile lorsque l'utilisateur doit s'absenter dans la journée pendant une ou plusieurs périodes, ce qui est le cas dans l'exemple représenté pour la journée du lundi. En effet, l'interdiction d'ouverture est établie entre 10.00 heures et 11.30 heures et de 16.30 heures à 18.00 heures.Curve c represents the "chosen" inhibition, that is to say selectable by the daily user who does not have the secret access code. This inhibition can be useful when the user must be absent during the day for one or more periods, which is the case in the example shown for the day on Monday. Indeed, the opening ban is established between 10.00 a.m. and 11.30 a.m. and from 4.30 p.m. to 6 p.m.

La courbe d représente ainsi les périodes d'ouverture effectives ou périodes de levée d'interdiction qui sont hachurée pour plus de clarté.Curve d thus represents the effective opening periods or periods of lifting of prohibition which are hatched for greater clarity.

Bien entendu, la fig. 5 ne représente qu'un seul exemple de détermination de la programmation de la levée d'interdiction, toute autre combinaison des périodes d'ouverture et de fermeture pouvant être choisies en fonction des besoins, soit par le programmeur autorisé, soit par l'utilisateur quotidien. Par ailleurs, en tout temps, si l'on est à l'intérieur de l'enceinte, l'ouverture et la fermeture immédiates peuvent être demandées par les deux types d'opérateurs.Of course, fig. 5 represents only a single example of determining the programming of the lifting of the ban, any other combination of the opening and closing periods which can be chosen as required, either by the authorized programmer or by the user. daily. Furthermore, at any time, if one is inside the enclosure, immediate opening and closing can be requested by both types of operators.

Il est encore à noter que la programmation des instants d'ouverture et de fermeture ou de levée d'interdiction ou d'interdiction ne doit être confondue avec la programmation du micro-processeur 30 dont on va maintenant décrire le fonctionnement à l'aide des organigrammes des figures 8a à 18b.It should also be noted that the programming of the opening and closing times or of lifting of prohibition or prohibition should not be confused with the programming of the microprocessor 30, the operation of which will now be described using flowcharts of Figures 8a to 18b.

Toutefois, il convient tout d'abord d'examiner le contenu de la mémoire 32 où tout au moins de la partie essentielle de cette mémoire qui contient à la fois les données de programmation de la levée d'interdiction comme décrites ci-dessus, que le programme régissant le fonctionnement du micro- processeur 30.However, it is first of all necessary to examine the content of the memory 32 where at least the essential part of this memory which contains both the programming data of the lifting of prohibition as described above, that the program governing the operation of the microprocessor 30.

La fig. 6 représente schématiquement l'organisation de la partie RAM de la mémoire 32 dans laquelle sont stockées les données qui sont essentielles pour la mise en oeuvre de l'invention. Le programme hebdomadaire y est consigné dans 112 octets au maximum dans l'exemple représenté, ce programme étant utilisé cycliquement semaine après semaine. A chaque jour peuvent être affectées quatre fenêtres de levée d'interdiction, numérotées F, à F., chaque fenêtre nécessitant pour sa définition deux octets pour l'ouverture et deux octets pour la fermeture.Fig. 6 schematically represents the organization of the RAM part of the memory 32 in which the data which are essential for the implementation of the invention are stored. The weekly program is recorded in a maximum of 112 bytes in the example shown, this program being used cyclically week after week. Each day can be assigned four ban lifting windows, numbered F, to F., each window requiring for its definition two bytes for opening and two bytes for closing.

Un autre champ de la mémoire est destiné à contenir des paramètres variables dont certains occupent trois octets et dont d'autres n'en occupent que deux.Another memory field is intended to contain variable parameters, some of which occupy three bytes and others of which occupy only two.

La fig. 7 représente deux exemples de groupes d'octets utilisés pour cette organisation de la mémoire.Fig. 7 shows two examples of groups of bytes used for this memory organization.

La partie supérieure de la fig. 7 représente le contenu de deux octets, appelés ci-après donnée "courte", utilisés pour la définition d'une ouverture ou d'une fermeture d'une fenêtre F, à F4, tandis que la partie inférieure représente un groupe de trois octets correspondants à une donnée "longue".The upper part of fig. 7 represents the content of two bytes, hereinafter called "short" data, used for the definition of opening or closing a window F, at F 4 , while the lower part represents a group of three bytes corresponding to "long" data.

Le premier octet d'une donnée courte comporte sur quatre bits les unités des minutes (0 à 9), les quatre bits les plus significatifs étant affectés aux dizaines de minutes (0 à 5). Le deuxième octet comportant dans ses quatre bits les moins significatifs, les unités d'heures (0 à 9), les deux bits suivants étant affectés aux dizaines d'heures (0 à 2), les bits restants correspondant respectivement à des variables P et S pouvant admettre chacun deux états 0 et 1. Le bit P, lorsqu'il est à 1 signifie que la donnée courte en question est programmée et, lorsqu'il est à zéro, que cette donnée n'est pas programmée. Le bit S, lorsqu'il est à 1, signifie qu'après traitement de cette donnée, le coulisseau 11 (fig. 2 et 3) doit être descendu pour débloquer le passage de la barre 8, tandis que lorsque ce bit est à zéro, le mouvement inverse doit être déclenché.The first byte of a short datum contains the units of the minutes (0 to 9) on four bits, the four most significant bits being assigned to the tens of minutes (0 to 5). The second byte comprising in its four least significant bits, the units of hours (0 to 9), the next two bits being assigned to the tens of hours (0 to 2), the remaining bits corresponding respectively to variables P and S can each admit two states 0 and 1. The bit P, when it is at 1, means that the short datum in question is programmed and, when it is at zero, that this datum is not programmed. The bit S, when it is at 1, means that after processing this data, the slider 11 (fig. 2 and 3) must be lowered to unblock the passage of the bar 8, while when this bit is at zero , the reverse movement must be triggered.

Une donnée longue comporte dans ses deux premiers octets les mêmes informations que celles utilisées pour définir une donnée courte, tandis que le troisième octet de la donnée longue définit dans ses quatre bits les moins significatifs les jours de la semaine (0 à 6) et dans les quatre autres bits les "semaines relatives" (0 à 3).Long data has in its first two bytes the same information as that used to define a short data, while the third byte of long data defines in its four least significant bits the days of the week (0 to 6) and in the other four bits "relative weeks" (0 to 3).

Le concept "semaine relative" signifie les jours qui s'étendent d'aujourd'hui à aujourd'hui + 6 jours pour la première semaine numérotée 0, les jours de la semaine relative no 1 s'étendant d'aujourd'hui + 7 jours à aujourd'hui + 13 jours, etc.. En d'autres termes, la semaine relative peut commencer à une journée quelconque de la semaine du calendrier, c'est-à-dire par rapport au programme hebdomadaire défini dans la mémoire 32.The concept "relative week" means the days extending from today to today + 6 days for the first week numbered 0, the days of relative week no 1 extending from today + 7 days to today + 13 days, etc. In other words, the relative week can start on any day of the calendar week, that is to say in relation to the weekly program defined in memory 32 .

Dans les organigrammes qui vont être décrits ci-après, les données suivantes sont utilisées en tant que variables, ces données pouvant être stockées provisoirement dans la partie inférieure de la zone de mémoire apparaissant sur la fig. 6. Ainsi:

  • -PROG (JR, NE) représente la donnée du programme hebdomadaire de base correspondant à l'événement NE du jour JR (donnée courte), 0≦JR≦6 et 0≦NE≦7 dans l'exemple décrit.
  • - HRAC représente la donnée contenant l'heure actuelle, mise constamment à jour par une partie du programme du microprocesseur (donnée longue).
  • -NXTE représente normalement la donnée définissant l'instant du prochain événement, cette donnée étant le résultat d'un calcul définissant cet événement en fonction des contraintes ou conditions imposées, soit par le programmeur autorisé, soit par l'utilisteur quotidien comme autant de dérogations au programme hebdomadaire qui est défini au préalable. Il s'agit ici d'une donnée longue.
  • -AJTO représente la donnée définissant le début d'une inhibition choisie par l'utilisateur quotidien - (AJT pour "ajout"). C'est donc le début d'une fermeture supplémentaire que l'utilisateur quotidien peut faire intervenir dans une fenêtre pour le jour actuel en cours (donnée courte).
  • - AJT1 représente la donnée définissant la fin d'une inhibition choisie à' l'ouverture. C'est également une donnée courte.
  • -INHO et INH1 représentent les données contenant respectivement le début et la fin d'une période d'inhibition imposée par le programmeur autorisé. Ce sont des données longues.
In the flowcharts which will be described below, the following data are used as variables, this data being able to be temporarily stored in the lower part of the memory area appearing in FIG. 6. So:
  • -PROG (JR, NE) represents the data of the basic weekly program corresponding to the NE event of the day JR (short data), 0 ≦ JR ≦ 6 and 0 ≦ NE ≦ 7 in the example described.
  • - HRAC represents the data containing the current time, constantly updated by a part of the microprocessor program (long data).
  • -NXTE normally represents the data defining the instant of the next event, this data being the result of a calculation defining this event according to the constraints or conditions imposed, either by the authorized programmer or by the daily user as so many derogations to the weekly program which is defined beforehand. This is long data.
  • -AJTO represents the data defining the start of an inhibition chosen by the daily user - (AJT for "addition"). It is therefore the start of an additional shutdown that the daily user can call in a window for the current day in progress (short data).
  • - AJT1 represents the data defining the end of a selected inhibition at ' opening. It is also short data.
  • -INHO and INH1 represent the data respectively containing the beginning and the end of a period of inhibition imposed by the authorized programmer. These are long data.

Pour expliquer le traitement des parties significatives-des données longues et courtes, les organigrammes utilisent les désignations de variables suivantes:

  • -Mi (x) représente la partie "minutes" de la variable x, où x peut être l'une des données suivantes: HRAC, NXTE, AJT0, AJTA, INH0, INH1, PROG - (JR, NE).
  • -Hr (x) représente la partie "heures" de la variable x.
  • -P (x) représente le bit de la variable x qui indique si la donnée est programmée ou non.
  • -S (x) représente le bit de la variable x qui indique le sens du mouvement du coulisseau 11 associé à la donnée en question.
To explain the processing of significant parts - long and short data, the flowcharts use the following variable designations:
  • -Mi (x) represents the "minutes" part of the variable x, where x can be one of the following data: HRAC, NXTE, AJT0, AJTA, INH0, INH1, PROG - (JR, NE).
  • -Hr (x) represents the "hours" part of the variable x.
  • -P (x) represents the bit of the variable x which indicates whether the data is programmed or not.
  • -S (x) represents the bit of the variable x which indicates the direction of movement of the slide 11 associated with the data in question.

Les quatre parties de variable portent sur des données courtes x, et ces parties peuvent également être affectées aux deux premiers octets de chaque donnée longue yqui peut être l'une des données suivantes:

  • -HRAC, NXTE, INH0, INH1,
  • ces données étant complétées par:
  • -JR (y) qui représente la partie "jours"
  • -Sm (y) qui représente la partie "semaines".
The four variable parts relate to short data x, and these parts can also be assigned to the first two bytes of each long data y which can be one of the following data:
  • -HRAC, NXTE, INH0, INH1,
  • these data being supplemented by:
  • -JR (y) which represents the "days" part
  • -Sm (y) which represents the "weeks" part.

Les fig. 8a à 8c représentent l'organigramme du programme principal mis en oeuvre dans le micro-processeur 30. Ce programme principal comporte un certain nombre de sous-programmes ainsi qu'une boucle de calcul qui se déroule dans la dernière phase de l'exécution de ce programme principal. Cette boucle de calcul comporte elle-même un certain nombre de sous-programmes qui seront tous décrits en détail ci-après.Figs. 8a to 8c represent the flowchart of the main program implemented in the microprocessor 30. This main program comprises a certain number of subroutines as well as a calculation loop which takes place in the last phase of the execution of this main program. This calculation loop itself comprises a certain number of subroutines which will all be described in detail below.

Le programme principal est constitué essentiellement de quatre parties dont la première assure le calcul de l'heure (fig. 8a), dont la seconde a essentiellement pour but de confronter l'heure actuelle à la donnée NXTE définissant l'événement calculé auparavant, la troisième partie assurant la commande proprement dite du mouvement du coulisseau 11 en fonction des contraintes imposées par le programme, et la quatrième partie étant la boucle de calcul dont on vient de parler.The main program consists essentially of four parts, the first of which calculates the time (fig. 8a), the second of which essentially aims to compare the current time with the NXTE data defining the previously calculated event, the third part ensuring the actual control of the movement of the slider 11 as a function of the constraints imposed by the program, and the fourth part being the calculation loop of which we have just spoken.

Le programme principal est exécuté toutes les demi-secondes sous la commande d'un signal qui est appliqué au micro-processeur 30 par la base de temps 31. Ce dernier peut être constitué par une chaîne de division classique pilotée par un oscillateur à quartz.The main program is executed every half-second under the control of a signal which is applied to the microprocessor 30 by the time base 31. The latter can be formed by a conventional division chain controlled by a quartz oscillator.

Lors de l'initialisation en 50 (fig. 8a), un test est tout d'abord effectué en 51 pour savoir si le contenu d'un registre de secondes SECS est égal à . 119. On notera au passage que le programme fait usage d'un certain nombre de registres qui, de façon classique, font partie du micro-processeur 30..During initialization at 50 (fig. 8a), a test is first carried out at 51 to find out whether the content of a register of seconds SECS is equal to. 119. It will be noted in passing that the program makes use of a certain number of registers which, conventionally, form part of the microprocessor 30.

Si le test est négatif, le contenu du registre est - incrémenté d'une unité en 52 et le programme prend fin en 53 jusqu'au déclenchement de la demi-seconde suivante. Si, par contre, le test s'avère positif, le nombre zéro est placé dans le registre SECS (opération 54).. If the test is negative, the content of the register is - incremented by one at 52 and the program ends at 53 until the next half-second is triggered. If, on the other hand, the test is positive, the number zero is placed in the SECS register (operation 54). .

On comprend que le nombre examiné au cours du test 51, choisi ici à 119 (120, c'est-à-dire 2 minutes) est fonction de la fréquence à laquelle on souhaite faire exécuter le programme principal et elle peut être différente d'une fois toutes les deux minutes.It is understood that the number examined during test 51, chosen here at 119 (120, that is to say 2 minutes) is a function of the frequency with which one wishes to execute the main program and it can be different from once every two minutes.

Le contenu du registre SECS étant établi à zéro, un test est effectué en 55 pour déterminer si le premier octet de la donnée HRAC contenu dans la mémoire 32 (unités et dizaines de minutes) est égal à 59. Si le test s'avère négatif, le contenu de l'octet en question est incrémenté d'une unité en 56 et le programme passe sur un sous-programme "comparaison longue" 57 (fig. 8b) dont une description détaillée sera donnée ci-après. Si le test 55 s'avère positif, le nombre 0 est placé dans l'octet précité en 58 et le programme passe sur un test 59 pour déterminer si le contenu du deuxième octet de la donnée HRAC contient un nombre d'heures égal à 23. Si le test s'avère négatif, le contenu de cet octet est incrémenté d'une unité en 60 et le programme passe également au sous-programme 57. Si le test s'avère positif, le nombre zéro est placé dans l'octet en question en 61. Cela signifie évidemment que l'on passe d'une journée à la journée suivante, car l'heure correspond alors à minuit.The content of the SECS register being set to zero, a test is carried out at 55 to determine whether the first byte of the HRAC data contained in the memory 32 (units and tens of minutes) is equal to 59. If the test proves negative , the content of the byte in question is incremented by one at 56 and the program switches to a "long comparison" subroutine 57 (fig. 8b), a detailed description of which will be given below. If the test 55 proves positive, the number 0 is placed in the aforementioned byte at 58 and the program passes to a test 59 to determine whether the content of the second byte of the HRAC data contains a number of hours equal to 23 If the test is negative, the content of this byte is incremented by one at 60 and the program also goes to subroutine 57. If the test is positive, the number zero is placed in the byte in question in 61. This obviously means that we go from one day to the next day, because the time then corresponds to midnight.

Le programme passe ensuite par trois sous-programmes 62, 63 et 64 appelés "programme de mise à jour de semaines relatives" dont une description détaillée sera donnée ci-après (fig. 8b).The program then goes through three subroutines 62, 63 and 64 called "relative week update program", a detailed description of which will be given below (fig. 8b).

Cette mise à jour étant effectuée le cas échéant, le programme passe sur un test 65 pour déterminer si le contenu de la partie jours de l'octet 3 de la donnée HRAC est égal à 6. Si le test s'avère négatif, le contenu de cette partie de l'octet 3 est incrémenté d'une unité en 66 et le programme passe sur le sous-programme 57. Par contre, si le test s'avère positif, zéro est placé dans la partie concemée de l'octet 3 (opération 67) et le programme passe également au sous-programme 57.This update being carried out if necessary, the program goes to a test 65 to determine whether the content of the days part of byte 3 of the HRAC data is equal to 6. If the test proves negative, the content of this part of byte 3 is incremented by one at 66 and the program goes to subroutine 57. On the other hand, if the test proves positive, zero is placed in the part concerned by byte 3 (operation 67) and the program also goes to subroutine 57.

D'une façon générale, au cours du déroulement du programme dans son ensemble, des comparaisons doivent être effectuées entre des données horaires représentant les variables qui peuvent se présenter au fur et à mesure. Ces comparaisons peuvent être réalisées sur des données longues et des données courtes et peuvent donner lieu, en supposant que l'une des données est désignée par A et l'autre désignée par B, à quatre résultats qui sont illustrés sur la fig. 9, qui est un sous-programme général "C" de comparaison, le détail des sous-programmes correspondants CDC et CDL apparaissant respectivement sur les fig. 10 et 11. Comme il s'agit de données horaires, les quatre résultats peuvent être les suivants: A précède B, (C1), A et B sont synchrones - (C2), A succède à B (C3) et enfin B n'est pas programmé (C4), c'est-à-dire que son bit P est à zéro.In general, during the course of the program as a whole, comparisons must be made between hourly data representing the variables which may arise as and when. These comparisons can be performed on long data and short data and can give rise, assuming that one of the data is designated by A and the other designated by B, to four results which are illustrated in FIG. 9, which is a general subroutine "C" for comparison, the details of the corresponding subroutines CDC and CDL appearing respectively in FIGS. 10 and 11. As these are hourly data, the four results can be as follows: A precedes B, (C1), A and B are synchronous - (C2), A succeeds B (C3) and finally B n is not programmed (C4), that is to say that its P bit is at zero.

La comparaison de donnée courte (CDC) se déroule donc de la façon suivante (fig. 10). Après initialisation (CDC1), un test est effectué en CDC2 pour contrôler la valeur "1" " du bit P de la donnée B. Si ce test s'avère négatif, B n'est pas programmé et on peut passer à l'opération suivante. Par contre si le test s'avère positif, un nouveau test est effectué en CDC3 pour déterminer si la valeur "heure" de la variable B est supérieure, égale ou inférieure à la valeur "heure" de la variable A. A défaut d'égalité, le même test est effectué sur les valeurs des minutes des deux variables (CDC4), ce dont il résulte les constatations C1 et C3. Si les valeurs des minutes des deux variables sont égales, on obtient le résultat C2.The comparison of short data (CDC) thus proceeds as follows (fig. 10). After initialization (CDC1), a test is performed in CDC2 to check the value "1" "of bit P of data B. If this test proves negative, B is not programmed and we can proceed to the operation On the other hand, if the test proves positive, a new test is performed in CDC3 to determine if the "hour" value of variable B is greater than, equal to or less than the "hour" value of variable A. Otherwise of equality, the same test is performed on the values of the minutes of the two variables (CDC4), which results in the findings C1 and C3 If the values of the minutes of the two variables are equal, we obtain the result C2.

S'il s'agit de variables correspondant à des données longues, il s'ajoute au sous-programme CDC deux tests complémentaires (sous-programme CDL) portant respectivement sur les valeurs de jours et de semaines des variables A et B, ces test étant indiqués par les références CDL5 et CDL6 sur la fig. 11, les autres opérations identiques au sous-programme CDC portant les références CDL1 à CDL4.In the case of variables corresponding to long data, two additional tests (CDL sub-program) are added to the CDC subroutine relating respectively to the day and week values of the variables A and B, these tests being indicated by the references CDL5 and CDL6 in fig. 11, the other operations identical to the CDC subroutine bearing the references CDL1 to CDL4.

En revenant maintenant sur la fig. 8b on voit que le sous-programme 57 correspond à la comparaison longue CDL, selon la procédure de la figure 11, de la variable HRAC et de -la variable NXTE qui est, exprimée en données horaires, l'heure à laquelle le prochain événement va avoir lieu, cette variable ayant été calculée auparavant. Elle dépend donc du programme horaire de la courbe a de la figure 5 et des contraintes introduites par les inhibitions imposées et choisies, selon les courbes b et c de cette même figure.Returning now to FIG. 8b we see that the sub-program 57 corresponds to the long comparison CDL, according to the procedure of FIG. 11, of the variable HRAC and of the variable NXTE which is, expressed in hourly data, the time at which the next event will take place, this variable having been calculated before. She depends therefore of the time program of curve a of FIG. 5 and of the constraints introduced by the inhibitions imposed and chosen, according to curves b and c of this same figure.

Si, lors de l'exécution du sous-programme 57, il s'avère que la variable NXTE n'est pas programmée ou qu'elle est inférieure ou supérieure à la variable HRAC, le programme principal prend fin et le dispositif attend l'initialisation suivante du programme en retournant à l'opération d'initialisation 50 lorsqu'une demi seconde s'est écoulée. Par contre, lorsqu'il y a égalité entre les deux variables, le programme principal va exécuter sa troisième partie pour placer le coulisseau 11 dans la position exigée par les données obtenues après l'exécution du sous-programme 57.If, during the execution of subroutine 57, it turns out that the variable NXTE is not programmed or that it is lower or higher than the variable HRAC, the main program ends and the device waits for the next initialization of the program by returning to the initialization operation 50 when half a second has passed. On the other hand, when there is equality between the two variables, the main program will execute its third part to place the slider 11 in the position required by the data obtained after the execution of the sub-program 57.

Ainsi, un test est effectué en 68. pour déterminer à quelle valeur s'est établie le bit S de la variable NXTE. Si ce bit est à zéro, le circuit engendre un signal "fermé logiquement" en 69, ce qui ne veut pas encore dire que le moteur 20 entraînant le coulisseau 11 sera actionné dans le sens de la fermeture. En effet, il convient d'abord d'examiner dans quelle position se trouve le coulisseau. Après avoir passé un test en 70, dont l'utilité sera expliquée par la suite, et en admettant que la réponse à ce test est négative, un test est effectué pour déterminer dans quelle position se trouve réellement le coulisseau 11 en fonction des positions des interrupteurs 26 et 27. Si alors on constate que le coulisseau est ouvert, le moteur est déclenché selon l'opération 72 et le coulisseau est soulevé par le moteur 20 commandé par.le micro- processeur à travers l'amplificateur 33. Le programme passe alors sur la boucle "calcul du prochain événement" 73. Si les tests 70 et 71 s'avèrent positifs, le programme passe également sur cette même boucle 73, par l'opération commune 74.Thus, a test is carried out at 68. to determine the value at which the bit S of the variable NXTE is established. If this bit is at zero, the circuit generates a "logically closed" signal at 69, which does not yet mean that the motor 20 driving the slider 11 will be actuated in the closing direction. Indeed, it is first necessary to examine in which position the slide is located. After passing a test in 70, the usefulness of which will be explained later, and assuming that the answer to this test is negative, a test is carried out to determine in what position the slide 11 is actually in relation to the positions of the switches 26 and 27. If it is then found that the slider is open, the motor is triggered according to operation 72 and the slider is raised by the motor 20 controlled by the microprocessor through the amplifier 33. The program passes then on the “calculation of the next event” loop 73. If the tests 70 and 71 prove to be positive, the program also passes on this same loop 73, by the common operation 74.

Si le test 68 s'avère affirmatif, les mêmes opérations se déroulent, mais cette fois-ci vis-à-vis de l'état d'ouverture du coulisseau 11, le programme passant par les opérations 75 à 78 qui aboutissent tous également sur la boucle 73.If the test 68 proves to be affirmative, the same operations take place, but this time with respect to the state of opening of the slide 11, the program passing through the operations 75 to 78 which all end equally on loop 73.

On constate donc que lorsque les trois premières parties du programme principal ont été exécutées, le dispositif place le coulisseau dans la position exigée par les contraintes illustrées sur la fig. 5 en fonction de la variable NXTE précédemment calculée, après quoi, au cours de la quatrième partie, le dispositif va examiner quelle est la nature du prochain événement et en calculer exactement lavariable NXTE suivante qui est alors stockée dans là mémoire 32 pour être utilisées lors de l'exécution du prochain sous-programme 57 conduisant à la comparaison avec l'heure actuelle.It can therefore be seen that when the first three parts of the main program have been executed, the device places the slide in the position required by the constraints illustrated in FIG. 5 as a function of the variable NXTE previously calculated, after which, during the fourth part, the device will examine what is the nature of the next event and calculate exactly the next variable NXTE which is then stored in memory 32 to be used during of the execution of the next routine 57 leading to the comparison with the current time.

On va maintenant décrire cette quatrième partie, c'est-à-dire la boucle de programme 73 servant à calculer le donnée NXTE traduisant les coordonnées horaires du prochain événement devant se dérouler. Cette boucle est initialisée en 79 (fig. 12a) et la première opération consiste à placer dans la mémoire 32 à l'emplacement de la donnée NXTE, la donnée HRAC de l'heure actuelle élaborée au cours de la première partie du programme principal (fig. 8a).We will now describe this fourth part, that is to say the program loop 73 used to calculate the data NXTE translating the hourly coordinates of the next event to take place. This loop is initialized at 79 (fig. 12a) and the first operation consists in placing in memory 32 at the location of the NXTE datum, the HRAC datum of the current time worked out during the first part of the main program ( fig. 8a).

Ensuite est effectué un sous-programme CDL en 81 entre la donnée NXTE et le contenu des deux octets correspondant à la donnée INH1. Si, à la suite de cette comparaison, il s'avère que INH1 n'est pas programmé, est supérieur à la variable NXTE (correspondant à cet instant à l'heure actuelle) ou est égal à cette donnée, le programme passe sur un sous-programme suivant 82 appelé "localisation dans le programme hebdomadaire" - (LPH; voir fig. 12b).Next, a CDL subroutine 81 is performed between the NXTE datum and the content of the two bytes corresponding to the INH1 datum. If, following this comparison, it turns out that INH1 is not programmed, is greater than the variable NXTE (corresponding to this instant at the moment) or is equal to this data, the program switches to a following subroutine 82 called "localization in the weekly program" - (LPH; see fig. 12b).

Si, par contre, la comparaison du sous-programme 81 conduit à constater que INH1. est. inférieur à NXTE, ce qui signifie que l'heure actuelle se situe, soit dans une période d'inhibition imposée, soit avant cette période, il s'agit de déterminer par le sous-programme CDL 82 qui est une comparaison longue entre INHO et NXTE si l'heure actuelle est située dans la période d'inhibition imposée ou avant cette période. Si le sous-programme 83 détermine que l'on est encore avant la période d'inhibition, le programme passe sur le sous-programme 82. En revanche, s'il s'avère qu'il y a égalité entre les deux données, le programme passe sur l'opération 84 (fig. 12e) qui consiste à placer la donnée INH1, c'est-à-dire la fin de la période d'inhibition imposée dans les octets de la mémoire 32 correspondant à la variable NXTE chassant de ces octets la donnée HRAC qui y était précédemment stockée. On décrira plus loin les opérations suivant cette introduction dans les octets NXTE selon l'opération 84.If, on the other hand, the comparison of the subroutine 81 leads to note that INH1. East. lower than NXTE, which means that the current time is either in an imposed inhibition period or before this period, it is to be determined by the CDL 82 subroutine which is a long comparison between INHO and NXTE if the current time is within or before the imposed muting period. If the subroutine 83 determines that it is still before the inhibition period, the program goes to the subroutine 82. On the other hand, if it turns out that there is equality between the two data, the program goes to operation 84 (fig. 12e) which consists in placing the data INH1, that is to say the end of the inhibition period imposed in the bytes of memory 32 corresponding to the variable NXTE driving of these bytes the HRAC data which was previously stored there. The operations following this introduction will be described later in the NXTE bytes according to operation 84.

On va maintenant décrire le sous-programme LPH 82 en se référant plus particulièrement à la fig. 13.We will now describe the LPH 82 subroutine with particular reference to FIG. 13.

Le sous-programme 82 a pour but de déterminer si la donnée contenue à cet instant dans les octets NXTE, selon l'opération 80 (fig. 12a) tombe dans une fenêtre d'ouverture du jour correspondant du programme hebdomadaire de base (fig. 5), et de déterminer s'il existe un événement du jour correspondant qui succède à cette donnée. Le sous-programme 82 est initialisé en 85 et la première opération 86 consiste à placer dans un registre JR du micro-processeur les bits du troisième octet de la donnée NXTE (qui correspondent donc au jour d'aujourd'hui), puis lors d'une opération 87 de placer le nombre zéro dans une autre registre NE du micro-processeur. Les contenus des registres JR et NE sont alors utilisés comme pointeur des octets de la mémoire 32 dans lesquels est stocké le programme hebdomadaire - (courbe a de la fig. 5). Le contenu des octets désigné par le pointeur (en l'occurence ce sont par exemple les deux octets d'ouverture de la fenêtre F, qui sont alors extraits de la mémoire) est soumis à un sous-programme de comparaison en 88 selon le processus de comparaison illustré sur la fig. 9.The purpose of subroutine 82 is to determine whether the data contained at this instant in the NXTE bytes, according to operation 80 (fig. 12a) falls into an opening window of the corresponding day of the basic weekly program (fig. 5), and to determine if there is an event of the corresponding day which follows this data. The subroutine 82 is initialized at 85 and the first operation 86 consists in placing in a register of the microprocessor JR the bits of the third byte of the data NXTE (which therefore correspond to today), then during 'a operation 87 of placing the number zero in another register NE of the microprocessor. The contents of the registers JR and NE are then used as pointer to the bytes of memory 32 in which the weekly program is stored - (curve a in fig. 5). The content of the bytes designated by the pointer (in this case, for example, the two opening bytes of window F, which are then extracted from the memory) is subjected to a comparison subroutine at 88 according to the process. table illustrated in fig. 9.

Avant d'examiner les résultats possibles de la comparaison effectuée par le sous-programme 88, il est utile de signaler que la parité du nombre NE est représentative de l'état d'ouverture ou de fermeture d'une fenêtre, un numéro impair correspondant obligatoirement à l'ouverture et un numéro pair à une fermeture, étant entendu que dans l'exemple représenté, au maximum quatre ouvertures et fermetures successives peuvent se produire, le nombre NE des événements étant donc au maximum égal à huit.Before examining the possible results of the comparison carried out by the subroutine 88, it is useful to note that the parity of the number NE is representative of the opening or closing state of a window, an odd number corresponding obligatorily at the opening and a number even at a closing, it being understood that in the example represented, at most four successive openings and closings can occur, the number NE of the events therefore being at most equal to eight.

Si la comparaison effectuée rèvèle que NXTE et PROG (JR, NE) sont égaux, le contenu du registre NE est incrémenté d'une unité en 89 et un test est effectué en 90 pour déterminer si NE est égal au nombre maximal des événements possibles programmés dans le programmé hebdomadaire, ce nombre étant donc de huit dans l'exemple décrit. Si ce test s'avère négatif, le programme reboucle sur le sous-programme 88 pour extraire de la mémoire le deuxième événement du jour sur lequel pointent les registres JR et NE. Une nouvelle comparaison est alors effectuée sur NXTE, c'est-à-dire l'heure actuelle et PROG (JR, NE).If the comparison carried out reveals that NXTE and PROG (JR, NE) are equal, the content of the NE register is incremented by one at 89 and a test is performed at 90 to determine if NE is equal to the maximum number of possible events scheduled in the weekly schedule, this number being therefore eight in the example described. If this test proves negative, the program loops back to subroutine 88 to extract from memory the second event of the day pointed to by the registers JR and NE. A new comparison is then performed on NXTE, i.e. the current time and PROG (JR, NE).

Si à la suite du test 90 il s'avère que NE est égal à 8, on se trouve devant un premier cas pouvant résulter du sous-programme 82. En effet, on saura alors que le coulisseau 11 se trouve dans sa position fermée et qu'aucun événement du programme hebdomadaire ne succède à l'heure du jour actuelle ce jour-là.If following test 90 it turns out that NE is equal to 8, we are faced with a first case which may result from sub-program 82. Indeed, we will then know that the slide 11 is in its closed position and that no event in the weekly program follows the current time of day on that day.

Si la comparaison effectuée par le sous-programme 88 indique que l'heure actuelle (NXTE) précède PROG (JR, NE), le programme effectue un nouveau test en 91 pour déterminer si NE est pair ou impair. Si NE est pair, on se trouve devant un deuxième cas, à savoir que le coulisseau est dans sa position fermée et qu'il y a un événement . du programme qui va succéder à l'heure actuelle ce jour-là. Si, par contre, le test effectué en 91 s'avère positif, on se trouve devant un troisième cas correspondant à la position d'ouverture du coulisseau 11 et la programmation, ce jour-là, de la fin de la fenêtre en présence.If the comparison made by the subroutine 88 indicates that the current time (NXTE) precedes PROG (JR, NE), the program performs a new test at 91 to determine whether NE is even or odd. If NE is even, we are faced with a second case, namely that the slide is in its closed position and that there is an event. of the program that will succeed at the moment that day. If, on the other hand, the test carried out in 91 turns out to be positive, we are faced with a third case corresponding to the opening position of the slide 11 and the programming, that day, of the end of the window in presence.

Si la comparaison effectuée par le sous-programme 88 aboutit à établir que l'heure actuelle succède à PROG (JR, NE), le programme continue comme précédemment décrit à propos de la constatation d'égalité des deux données correspondantes. Si, enfin, le sous-programme 88 établit que PROG (JR, NE) n'est pas programmé, le programme passe sur un test 92 pour examiner la parité du nombre NE. Si ce nombre est pair, on se trouve en présence du cas no 1 et dans le cas contraire on se trouve en présence d'un cas no 4 correspondant à la position d'ouverture du coulisseau 11, c'est-à-dire l'heure actuelle se trouve dans une fenêtre d'ouverture et cette fenêtre dure jusqu'à minuit du jour en cours. Ainsi, en se référant de nouveau à la fig. 12b, on voit que le sous-programme 82 donne lieu à quatre cas possibles qui vont être examinés successivement maintenant.If the comparison carried out by the subroutine 88 results in establishing that the current time succeeds PROG (JR, NE), the program continues as previously described with regard to the finding of equality of the two corresponding data. If, finally, the subroutine 88 establishes that PROG (JR, NE) is not programmed, the program passes to a test 92 to examine the parity of the number NE. If this number is even, we are in the presence of case no 1 and otherwise we are in the presence of a case no 4 corresponding to the opening position of the slide 11, that is to say the The current time is in an opening window and this window lasts until midnight of the current day. Thus, referring again to FIG. 12b, it can be seen that the subroutine 82 gives rise to four possible cases which will be examined successively now.

Si le sous-programme 82 conduit au cas no 1 ou no 2, le programme passe sur un sous-programme RDPF 93 (Recherche de Début de Prochaine Fenêtre) dont les opérations ont été détaillées sur la fig. 14 à laquellé on va se référer maintenant. Le sous-programme 93 est initialisé en 94 et la première opération consiste à placer dans le registre NE la valeur zéro (opération 95). Ensuite, un test est effectué pour déterminer si NE est égal au nombre maximum d'événements du jour (opération 96). Si le test 96 établit l'inégalité, le programme passe sur un test 97 pour déterminer le bit de programme P de la donnée PROG (JR, NE). Si ce bit est égal à un, un test est effectué en 98 pour déterminer la parité du nombre NE et si ce test s'avère négatif, les valeurs de minutes et d'heures de la donnée PROG (JR, NE) sont introduites dans les bits correspondants des trois octets du signal NXTE en repoussant les données de l'heure actuelle qui s'y trouvaient auparavant - (opération 99). Ensuite le programme reboucle sur le programme principal.If the subroutine 82 leads to case no. 1 or no. 2, the program switches to an RDPF 93 (Search for Beginning of Next Window) subroutine, the operations of which have been detailed in FIG. 14 to which we will now refer. The subroutine 93 is initialized at 94 and the first operation consists in placing the value zero in the register NE (operation 95). Then, a test is carried out to determine if NE is equal to the maximum number of events of the day (operation 96). If the test 96 establishes the inequality, the program passes to a test 97 to determine the program bit P of the PROG data item (JR, NE). If this bit is equal to one, a test is carried out in 98 to determine the parity of the number NE and if this test proves negative, the values of minutes and hours of the data PROG (JR, NE) are introduced into the corresponding bits of the three bytes of the NXTE signal by pushing back the current time data which was there previously - (operation 99). Then the program loops back to the main program.

Si le test en 98 s'avère positif, le registre NE est incrémenté d'une unité en 100 et le programme reboucle sur le test 96 et les opérations précédemment décrites se répètent.If the test at 98 proves positive, the NE register is incremented by one unit at 100 and the program loops back to test 96 and the operations previously described are repeated.

Si le résultat du test 96 est positif ou si celui du test 97 est négatif, le programme passe sur un sous-programme SDJ 101 appelé sous-programme de "saut d'un jour" que l'on va examiner maintenant en se référant à la fig. 15.If the result of the test 96 is positive or if that of the test 97 is negative, the program passes to a subroutine SDJ 101 called subroutine of "day jump" which we will now examine with reference to fig. 15.

Ce sous-programme est appelé lorsque l'on cherche le prochain événement du programme hebdomadaire de base et que, ayant déjà atteint le dernier événement programmé du jour sur lequel on est en train de travailler, il faut passer au jour suivant. Dans ce sous-programme on utilise une variable auxiliaire NC qui a pour but d'éviter, qu'en l'absence de programme on change plus de sept fois de jour.This subroutine is called when we are looking for the next event in the basic weekly program and when, having already reached the last scheduled event of the day we are working on, we must go to the day following. In this subroutine we use an auxiliary variable NC which aims to avoid that in the absence of a program we change more than seven times a day.

Le sous-programme 101, après initialisation en 102, effectue un test 103 pour déterminer si le contenu du registre NC est égal à 7. Si c'est le cas, il s'agit d'une erreur qui est signalée sur le dispositif d'affichage et qui a pour conséquence la mise dans la position d'ouverture du coulisseau 11, ce qui est d'ailleurs le cas chaque fois qu'une erreur est constatée lors du déroulement du programme.The subroutine 101, after initialization at 102, performs a test 103 to determine if the content of the register NC is equal to 7. If this is the case, it is an error which is signaled on the device d 'display and which results in putting the slide 11 in the open position, which is also the case each time an error is observed during the course of the program.

Si le test 103 s'avère négatif, le registre NC est incrémenté d'une unité (opération 104) et le nombre zéro est placé dans le registre NE. Puis, un test est effectué en 105 pour déterminer si le contenu du registre JR est égal à 6. Si ce test s'avère positif, le nombre zéro est placé dans le registre JR et dans le cas contraire, ce registre est incrémenté d'une unité (opérations 106 et 107). Puis, l'opération 108 consiste à transférer le contenu du registre JR dans les bits correspondant de la donnée NXTE de la mémoire 32. Ensuite, un test est effectué en 109 pour vérifier l'égalité entre le contenu du registre JR et le jour de la donnée HRAC. Si ce test s'avère négatif, le programme reboucle sur le test 97 du sous-programme 93 (fig. 14) et dans le cas contraire, le nombre de la donnée NXTE correspondant à la semaine est incrémenté d'une unité (opération 110) après quoi on repasse également sur le test 97.If the test 103 is negative, the register NC is incremented by one unit (operation 104) and the number zero is placed in the register NE. Then, a test is performed in 105 to determine whether the content of the JR register is equal to 6. If this test proves positive, the number zero is placed in the JR register and if not, this register is incremented by one unit (operations 106 and 107). Then, operation 108 consists in transferring the content of the register JR into the corresponding bits of the data NXTE of the memory 32. Then, a test is carried out in 109 to check the equality between the content of the register JR and the day of HRAC data. If this test proves negative, the program loops back to test 97 of the subroutine 93 (fig. 14) and if not, the number of the NXTE data item corresponding to the week is incremented by one unit (operation 110 ) after which we also go back to test 97.

A l'issue de l'opération 99 du sous-programme 93, le programme passe sur un sous-programme 111 (fig. 12b) qui consiste à effectuer une comparaison longue entre le contenu des octets de la donnée NXTE qui correspond alors non pas à l'heure actuelle, mais à une valeur calculée et la donnée INHO. Si cette comparaison détermine que INHO n'est pas programmé ou si NXTE précède INH0, le programme passe sur l'opération 112 qui consiste à placer dans les bits P et S de la donnée NXTE la valeur 1, ce qui complète le calcul de cette donnée. Si, par contre, la comparaison établit l'égalité entre NXTE et INH0, ou si NXTE succède à INHO, une nouvelle comparaison longue est effectuée en 113 entre INH0 et INH1. Si INH1 succède à INHO, le programme passe sur l'opération 84 (fig. 12e). Dans les trois autres cas, il s'agit d'une erreur (opération 114) et un zéro est placé dans le bit PNXTE.At the end of the operation 99 of the subroutine 93, the program switches to a subroutine 111 (fig. 12b) which consists in making a long comparison between the content of the bytes of the NXTE data which then does not correspond at present, but at a calculated value and the INHO data. If this comparison determines that INHO is not programmed or if NXTE precedes INH0, the program goes to operation 112 which consists in placing the value 1 in the bits P and S of the data NXTE, which completes the calculation of this given. If, on the other hand, the comparison establishes equality between NXTE and INH0, or if NXTE succeeds INHO, a new long comparison is carried out in 113 between INH0 and INH1. If INH1 succeeds INHO, the program goes to operation 84 (fig. 12e). In the other three cases, this is an error (operation 114) and a zero is placed in the PNXTE bit.

On va maintenant examiner le déroulement des opérations lorsque, lors de l'exécution du sous-programme 82 (fig. 12b), les cas no 3 et 4 sont constatés en rappelant que le cas no 3 correspond à la position ouverte du coulisseau et la programmation de la fin de la fenêtre en cours, tandis que le cas no 4 correspond également à la position d'ouverture du coulisseau, la fenêtre étant établie jusqu'à minuit.We will now examine the flow of operations when, during the execution of the subroutine 82 (fig. 12b), cases no. 3 and 4 are noted, recalling that case no. 3 corresponds to the open position of the slide and the programming of the end of the window in progress, while case 4 also corresponds to the slide opening position, the window being established until midnight.

Lorsque le cas no 3 est constaté, le programme passe sur un test en 115 (fig. 12c), alors que si c'est le cas no 4, on effectue un test en 116, les tests 115 et 116 ayant pour but de déterminer si l'ordre d'ouverture existe. Si le test 115 s'avère négatif, un sous-programme 117 de comparaison courte est effectué entre la donnée NXTE qui est ici la donnée correspondant à l'heure actuelle et la donnée AJT1 qui est relative à une inhibition choisie. Si cette dernière donnée n'est pas programmée ou si elle est égale ou inférieure à la donnée NXTE, le programme reboucle sur le sous-programme 93 (fig. 12b). Si, par contre, AJT1 est supérieur à NXTE, le programme passe à un nouveau sous-programme 118 de comparaison courte entre la donnée PROG (JR, NE) (voir sous-programme 82) et la donnée AJT1. Au cas où AJT1 n'est pas programmée, si elle est égale à PROG - (JR, NE) ou encore si AJT1 succède à PROG (JR, NE) le programme reboucle également sur le sous-programme 93. Par contre, si PROG (JR, NE) succède à AJT1, les valeurs de minutes et d'heures de cette donnée sont transférées dans les bits correspondant des octets NXTE de la mémoire 32 (opération 119). Après cette opération, le programme reboucle sur le sous-programme 111 de comparaison longue pour compléter les autres bits de la donnée NXTE lors de l'opération 112, ou pour déceler des erreurs (opération 114).When case no 3 is noted, the program goes on to a test at 115 (fig. 12c), whereas if this is case no 4, a test is carried out at 116, tests 115 and 116 having the aim of determining if the opening order exists. If the test 115 proves negative, a subroutine 117 of short comparison is carried out between the data item NXTE which is here the data item corresponding to the current time and the item of data AJT1 which relates to a selected inhibition. If this last datum is not programmed or if it is equal to or less than the NXTE datum, the program loops back to subroutine 93 (fig. 12b). If, on the other hand, AJT1 is greater than NXTE, the program switches to a new subroutine 118 for short comparison between the data item PROG (JR, NE) (see subroutine 82) and the data item AJT1. If AJT1 is not programmed, if it is equal to PROG - (JR, NE) or if AJT1 succeeds PROG (JR, NE) the program also loops back to subroutine 93. On the other hand, if PROG (JR, NE) succeeds AJT1, the values of minutes and hours of this data are transferred in the corresponding bits of the NXTE bytes of memory 32 (operation 119). After this operation, the program loops back to the long comparison subroutine 111 to complete the other bits of the data NXTE during operation 112, or to detect errors (operation 114).

Le test effectué en 116 étant négatif, une comparaison courte est également effectuée sur les données NXTE et AJT1 (sous-programme 120), mais dans ce cas c'est seulement lorsque NXTE - (heure actuelle) précède AJT1 que l'on passe à l'opération 119, les trois autres cas conduisant au rebouclement sur le sous-programme 93. Si les tests 115 et 116 s'avèrent positifs, les mêmes opérations de comparaison sont effectuées sur la donnée AJT0 conformément aux sous-programmes 121, 122 et 123 (fig. 12d).The test carried out in 116 being negative, a short comparison is also carried out on the data NXTE and AJT1 (subroutine 120), but in this case it is only when NXTE - (current time) precedes AJT1 that we pass to operation 119, the three other cases leading to loopback on the subroutine 93. If the tests 115 and 116 prove to be positive, the same comparison operations are carried out on the data AJT0 in accordance with the subroutines 121, 122 and 123 (fig. 12d).

Lorsque les sous-programmes 121 et 122 établissent soit que, AJT0 n'est pas programmé, soit que NXTE est supérieur à AJT0, soit encore que les deux données sont égales, le programme passe sur un sous-programme RFFA de Recherche Fin de Fenêtre Actuelle (Fig. 16). Le programme passe également sur ce sous-programme 124 à l'issue de l'exécution du sous-programme 123 lorsqu'il s'avère que AJT0 n'est pas programmé ou lorsque AJT0 est supérieur à PROG (JR, NE).When subroutines 121 and 122 establish either that AJT0 is not programmed, or that NXTE is greater than AJT0, or that the two data are equal, the program switches to an RFFA search end of window subroutine Current (Fig. 16). The program also switches to this subroutine 124 at the end of the execution of the subroutine 123 when it turns out that AJT0 is not programmed or when AJT0 is greater than PROG (JR, NE).

Si la comparaison établie lors du déroulement du sous-programme 122 aboutit à établir que AJT0 est supérieur à NXTE, les valeurs de minutes et d'heures de la donnée AJT0 sont placées les bits correspondants de octets de la donnée NXTE en remplacement des valeurs correspondantes de l'heure actuelle HRAC (Opération 125). De même, si, après-le déroulement du sous-programme 123 il s'avère que AJT0 est supérieur à PROG (JR, NE), la valeur de minutes et d'heure de cette donnée sont placées dans les bits correspondants de la donnée NXTE de la mémoire 32 (opération 126).If the comparison established during the course of the sub-program 122 results in establishing that AJT0 is greater than NXTE, the values of minutes and hours of the data AJT0 are placed the corresponding bits of bytes of the data NXTE in replacement of the corresponding values of the current HRAC (Operation 125). Likewise, if, after the execution of the subroutine 123 it turns out that AJT0 is greater than PROG (JR, NE), the value of minutes and hours of this data are placed in the corresponding bits of the data NXTE of memory 32 (operation 126).

Le sous-programme RFFA 126 a pour but de rechercher la fin de la fenêtre actuelle, pour permettre à la fin de cette fenêtre de placer dans le bit "S" du signal NXTE, la valeur 0 ayant pour but de provoquer le mo,uvement du coulisseau 11 dans le sens de la fermeture.The purpose of the subroutine RFFA 126 is to find the end of the current window, to allow the end of this window to place in the "S" bit of the NXTE signal, the value 0 having the purpose of causing the mo, uvement of the slide 11 in the closing direction.

Le sous-programme 124 (fig. 16) se déroule pratiquement entièrement comme le sous-programme 93 conformément aux opérations 94 à 101 déjà décrites à propos de la fig. 14. La différence consiste en ce que, à l'issue du déroulement du sous-programme 101 (fig. 15), c'est-à-dire lorsque le test 109 s'avère négatif ou que la mise à jour des bits du signal NXTE correspondant au nombre de semaines, est effectuée selon l'opération 110, le sous-programme 124 effectue un test 127 pour déterminer si le bit P de la donnée PROG, (JR NE) est égal à 1, étant rappelé que cette donnée a été extraite de la mémoire en fonction du contenu des registres JR et NE. Si ce test 127 s'avère positif, deux tests successifs 128 et 129 sont effectués sur les valeurs d'heures et de minutes de la donnée PROG (JR, NE) pour vérifier si ces valeurs sont égales à zéro. Si les tests 128 et 129 s'avèrent négatifs, des valeurs zéro sont introduites dans les bits correspondants des octets de la donnée NXTE, conformément à l'opération 130, après quoi le programme rebranche sur le programme 73 de calcul du prochain événement (fig. 12d). Si les tests 128 et 129 sont tous les deux positifs, cela veut dire que, selon un cas particulier, on a programmé une fenêtre d'ouverture qui chevauche minuit. Il faut alors rechercher l'événement suivant de la nouvelle journée, de sorte que l'on incrémente la valeur NE selon l'opération 100.The subroutine 124 (FIG. 16) runs almost entirely like the subroutine 93 in accordance with the operations 94 to 101 already described with reference to FIG. 14. The difference consists in that, at the end of the running of the subroutine 101 (fig. 15), that is to say when the test 109 turns out to be negative or that the updating of the bits of the NXTE signal corresponding to the number of weeks, is carried out according to operation 110, the subroutine 124 performs a test 127 to determine whether the bit P of the PROG datum, (JR NE) is equal to 1, being recalled that this datum was retrieved from memory based on the contents of the JR and NE registers. If this test 127 proves positive, two successive tests 128 and 129 are carried out on the hour and minute values of the PROG data item (JR, NE) to check whether these values are equal to zero. If tests 128 and 129 prove to be negative, zero values are introduced into the corresponding bits of the bytes of the NXTE data item, in accordance with operation 130, after which the program reconnects to the program 73 for calculating the next event (fig. . 12d). If tests 128 and 129 are both positive, this means that, in one particular case, an opening window has been programmed which overlaps midnight. It is then necessary to search for the next event of the new day, so that the value NE is incremented according to operation 100.

Les opérations 127 à 130 ont donc pour but d'éviter que, lorsque l'ouverture est programmée pour chevaucher minuit, le coulisseau ne soit pas amené successivement dans la position de fermeture et dans la position d'ouverture, mais reste au contraire dans la position d'ouverture, malgré le fait qu'en réalité, à minuit, par convention, le coulisseau 11 doit toujours être dans sa position de fermeture.The operations 127 to 130 therefore aim to avoid that, when the opening is programmed to overlap midnight, the slider is not successively brought into the closed position and into the open position, but remains on the contrary in the open position, despite the fact that in reality, at midnight, by convention, the slider 11 must always be in its closed position.

Si, après le déroulement du sous-programme 124, aucune erreur n'est constatée, le programme - (fig. 12d) passe sur un sous-programme de comparaison longue 131 pour vérifier si la valeur actuelle de là donnée NXTE ne correspond pas à une donnée INH0, c'est-à-dire avec un début d'inhibition imposée.If, after the execution of the subroutine 124, no error is noticed, the program - (fig. 12d) switches to a long comparison subroutine 131 to check if the current value of the given NXTE does not correspond to an INH0 datum, that is to say with an imposed start of inhibition.

Si la donnée INHφ n'est pas programmée ou s'il succède à NXTE ou encore s'il; est égal à INH0, des valeurs de 1 et 0 sont respectivement placées dans les bits P et S de la donnée NXTE - (opération 132), après quoi le calcul de NXTE s'achève.If the INHφ data is not programmed or if it succeeds to NXTE or if it; is equal to INH0, values of 1 and 0 are respectively placed in the bits P and S of the data NXTE - (operation 132), after which the calculation of NXTE is completed.

Si, par contre, la donnée NXTE s'avère succéder à INH0, cette donnée est placée dans les octets de NXTE (opération 133), après quoi les mêmes valeurs de bits sont placées dans les bits P et S de NXTE selon l'opération 132. La même opération est effectuée si, après un test 134 fait après constatation d'une erreur dans le sous-programme 101 se déroulant dans le cadre de l'exécution du programme 124 (fig. 16), on vérifie si le bit P de la donnée INH0 est égal à 1. Si tel n'est pas le cas, 0 est placé dans ce bit et on constate une erreur.If, on the other hand, the data NXTE turns out to succeed INH0, this data is placed in the bytes of NXTE (operation 133), after which the same bit values are placed in the bits P and S of NXTE according to the operation 132. The same operation is carried out if, after a test 134 made after finding an error in the subroutine 101 taking place in the context of the execution of the program 124 (fig. 16), it is checked whether the bit P of the data INH0 is equal to 1. If this is not the case, 0 is placed in this bit and there is an error.

En revenant sur la fig. 12a, en cas d'égalité entre NXTE et INHo au cours du déroulement du sous-programme 83, NXTE se trouve dans une période d'inhibition. Le coulisseau 11 se trouve alors dans sa position fermée et il faut rechercher le début de la première fenêtre qui suit la fin de l'inhibition. Le programme se poursuit alors de la façon suivante (fig. 12e).Returning to fig. 12a, in the event of a tie between NXTE and INHo during the course of subprogram 83, NXTE is in a period of inhibition. The slider 11 is then in its closed position and it is necessary to search for the start of the first window which follows the end of the inhibition. The program then continues as follows (fig. 12e).

L'opération 84 déjà mentionnée consiste à placer dans les octets NXTE la valeur'INH1, après quoi est exécuté le sous-programme 82 pour localiser cette donnée dans le programme hebdomadaire.The operation 84 already mentioned consists in placing the value 'INH1 in the bytes NXTE, after which the subroutine 82 is executed to locate this data in the weekly program.

Si le sous-programme 82 aboutit au cas no 1 ou au cas no 2, on va exécuter le sous-programme 93 pour rechercher le début de la fenêtre consécutive. Si les cas no 3 ou no 4 se présentent, des valeurs 1 sont respectivement placées dans les bits P et S de la donnée NXTE et le calcul du prochain événement prend fin. Si le sous-programme 93 aboutit à la constatation d'une erreur, la valeur zéro est placée dans le bit P de la donnée NXTE et une erreur est constatée (opérations 136 et 137).If the subroutine 82 ends in case no 1 or in case no 2, we will execute the subroutine 93 to find the start of the consecutive window. If cases no 3 or no 4 occur, values 1 are respectively placed in bits P and S of the data NXTE and the calculation of the next event ends. If the subroutine 93 results in the observation of an error, the value zero is placed in the bit P of the data item NXTE and an error is noted (operations 136 and 137).

On va maintenant revenir sur le programme principal et plus précisément sur les sous-programmes 62, 63, 64 apparaissant sur la fig. 8b. Il a déjà été indiqué que les inhibitions imposées utilisent une notion de semaine relative dont la définition a été donnée. Etant donné cette relàtivité, la variable qui l'a décrite varie avec la progression du temps, de sorte que, lorsque l'on passe d'un jour à l'autre, il faut mettre à jour les données qui contiennent l'indication de la semaine relative, à savoir les données NXTE, INHO et INH1. C'est précisément le rôle des sous-programmes MJSR 62, 63 et 64 qui sont les mêmes et que l'on n'a représentés qu'une seule fois sur la fig. 17. Après initialisation en 138, ce sous-programme vérifie tout d'abord si la donnée en question est programmée par le test 139. S'il n'est pas programmé, le sous-programme prend fin. S'il est programmé, on vérifie au cours du test 140 si la valeur de jour de la donnée HRAC correspond à la valeur de jour de la donnée examinée. Si elle ne correspond pas, le sous-programme prend fin. S'il correspond, on vérifie au cours du test 141 si la valeur de semaine de la donnée examinée est égale à zéro. Si c'est le cas, la valeur zéro est placée dans le bit P de la donnée examinée. Par contre, si ce n'est pas le cas, la valeur de semaine de la donnée examinée est décrémentée d'une unité (opérations 142 et 143, respectivement) après quoi, le sous-programme en question prend fin et les opérations rebranchent sur le programme principal.We will now return to the main program and more precisely to the subroutines 62, 63, 64 appearing in FIG. 8b. It has already been indicated that the inhibitions imposed use a notion of relative week, the definition of which has been given. Given this relativity, the variable which described it varies with the progression of time, so that, when going from one day to another, it is necessary to update the data which contain the indication of the relative week, namely the NXTE, INHO and INH1 data. It is precisely the role of the MJSR 62, 63 and 64 subroutines which are the same and which have been represented only once in FIG. 17. After initialization at 138, this subroutine first checks whether the data in question is programmed by the test 139. If it is not programmed, the subroutine ends. If programmed, it is checked during test 140 whether the day value of the HRAC data corresponds to the day value of the data examined. If it does not match, the routine ends. If it corresponds, it is checked during test 141 if the week value of the data examined is equal to zero. If this is the case, the value zero is placed in the bit P of the data examined. On the other hand, if this is not the case, the week value of the data examined is decremented by one unit (operations 142 and 143, respectively) after which, the subroutine in question ends and the operations reconnect to the main program.

On va maintenant décrire les fig. 18a et 18b qui sont relatives à la temporisation à l'ouverture du coulisseau 11. L'algorithme correspondant est exécuté chaque demi-seconde après le calcul de l'heure (fig. 8a).We will now describe fig. 18a and 18b which relate to the time delay at the opening of the slide 11. The corresponding algorithm is executed every half-second after the time has been calculated (fig. 8a).

Dans la description qui précède des algorithmes régissant le programme du micro-processeur 30, on a utilisé plusieurs notions d'ouverture et de fermeture (levée d'interdiction ou interdiction) qui sont les suivantes:

  • 1. L'ouverture au sens du progamme. Se présente lorsque le temps actuel HRAC se trouve entre les limites d'une fenêtre d'ouverture du programme;
  • 12. L'ouverture théorique. Est l'ouverture au sens du programme, éventuellement restreinte par une inhibition imposée. Au sens théorique, l'appareil est ouvert si l'heure actuelle se trouve entre les limites d'une fenêtre d'ouverture et ne se trouve pas entre les limites de la période d'inhibition imposée, éventuellement programmée.
  • 3. L'ouverture logique. A l'extérieur des fenêtres d'ouverture théorique, l'appareil est logiquement fermé; à l'intérieur des fenêtres d'ouverture théorique, l'appareil peut être logiquement ouvert ou logiquement fermé, soit par action manuelle, soit par le jeu des inhibitions choisies.
  • 4. L'ouverture physique. Correspond à l'état du coulisseau 11 déplacé par le moteur. Dans un dispositif suivant l'invention dépourvu de système de temporisation, l'ouverture physique correspond à l'ouverture logique. Cependant il est possible de prévoir une temporisation et, dans ce cas, l'ouverture logique définit la période pendant laquelle un signal . externe de requête d'ouverture est pris en considération et donne lieu, après une période d'attente programmable, à une ouverture physique d'une durée standard de trois minutes par exemple.
In the foregoing description of the algorithms governing the program of the microprocessor 30, several concepts of opening and closing (lifting of prohibition or prohibition) have been used which are as follows:
  • 1. Openness in the sense of the program. Occurs when the current HRAC time is between the limits of a program opening window;
  • 12. Theoretical opening. Is the opening in the sense of the program, possibly restricted by an imposed inhibition. In a theoretical sense, the device is opened if the current time is between the limits of an opening window and is not between the limits of the imposed inhibition period, possibly programmed.
  • 3. The logical opening. Outside the theoretical opening windows, the device is logically closed; inside the theoretical opening windows, the device can be logically open or logically closed, either by manual action or by the play of the selected inhibitions.
  • 4. The physical opening. Corresponds to the state of the slide 11 moved by the motor. In a device according to the invention without a timing system, the physical opening corresponds to the logical opening. However, it is possible to provide a time delay and, in this case, the logical opening defines the period during which a signal. external opening request is taken into account and gives rise, after a programmable waiting period, to a physical opening of a standard duration of three minutes for example.

Le signal de requête peut être présenté à n'importe quel instant, signal qui peut être éventuellement associé à un code spécial connu des personnes autorisées seulement. Si l'ouverture est ainsi demandée, l'algorithme des fig. 18a et 18b impose une durée limitée à la possibilité d'ouverture, encore que cette ouverture ne se présente qu'après la période d'attente mentionnée ci-dessus. L'algorithme de temporisation des fig. 18a et 18b consiste, après une initialisation en 144, à examiner d'abord une transition du signal de requête à l'aide des tests 145, 146 et 147. Ces tests consistent à examiner l'état d'un drapeau FR qui est établi à zéro après le test 146 (opération 148) ou à un (149).The request signal can be presented at any time, a signal which can possibly be associated with a special code known only to authorized persons. If the opening is so requested, the algorithm of figs. 18a and 18b impose a period limited to the possibility of opening, although this opening does not occur until after the waiting period mentioned above. The timing algorithm of Figs. 18a and 18b consists, after an initialization at 144, of first examining a transition of the request signal using tests 145, 146 and 147. These tests consist in examining the state of a flag FR which is established to zero after test 146 (operation 148) or to one (149).

- Après l'opération 148, un test est effectué en 150 pour déterminer s'il y a erreur. Si ce test est négatif, on va examiner en 151 s'il y a ouverture logique. Dans le cas positif, un test est effectué pour examiner si la variable TEMP est égale à zéro, cette variable étant la valeur de consigne correspondant à la durée de temporisation qui est ici de trois minutes. Si la variable TEMP est égale à zéro, le moteur 20 est commandé dans le sens de l'ouverture (opération 153), après quoi la variable TEMP reçoit la valeur 3. Si les tests 151 et 152 s'avèrent négatifs, le moteur 20 est commandé dans le sens de la fermeture (opération 154) qui reboucle également sur l'opération 155 d'ajustement de la variable TEMP. Alors le programme se poursuit par la mise à jour d'une variable TEMPO à sa valeur initiale de 120 demi-secondes exécutées lors de l'opération 156 apparaissant sur la fig. 18b. - After operation 148, a test is performed at 150 to determine if there is an error. If this test is negative, we will examine in 151 if there is a logical opening. In the positive case, a test is carried out to examine whether the variable TEMP is equal to zero, this variable being the set value corresponding to the delay time which is here three minutes. If the TEMP variable is equal to zero, the motor 20 is controlled in the opening direction (operation 153), after which the TEMP variable receives the value 3. If tests 151 and 152 prove to be negative, the motor 20 is controlled in the closing direction (operation 154) which also loops back to operation 155 for adjusting the TEMP variable. Then the program continues by updating a TEMPO variable to its initial value of 120 half-seconds executed during operation 156 appearing in FIG. 18b.

Après l'opération 149, qui consiste à établir un 1 pour le drapeau FR, on examine s'il y a erreur en 157, après quoi on vérifie si la variable TEMPO est égale à zéro. Dans le cas négatif, la variable est décrémentée d'une unité en 159, après quoi, cette variable est de nouveau confrontée à la valeur zéro dans le test 160.After operation 149, which consists in establishing a 1 for the flag FR, it is examined whether there is an error in 157, after which it is checked whether the variable TEMPO is equal to zero. In the negative case, the variable is decremented by a unit at 159, after which this variable is again confronted with the value zero in test 160.

Si ce test s'avère positif, on vérifie, lors du test .161, si la variable TEMP1 est égale à zéro. Dans le cas négatif, cette valeur est décrémentée d'une unité (opération 162), après quoi on vérifie de nouveau, lors du test 163, si cette variable est égale à zéro. Dans le cas positif, le moteur 20 est commandé dans le sens de la fermeture (opération 164) et le programme reboucle sur l'opération 156. Dans le cas contraire, un nouveau test en 165 est effectué sur la variable TEMP1 pour vérifier s'il est égal à 3. Dans le cas négatif, le programme rebou- cie sur l'opération 156. Dans le cas contraire, le moteur 20 est commandé dans le sens de l'ouverture (opération 166). Enfin, si le test 161 s'avère positif, le programme reboucle sur le programme principal.If this test proves positive, we check, during the test .161, if the variable TEMP1 is equal to zero. In the negative case, this value is decremented by one unit (operation 162), after which we check again calf, during test 163, if this variable is equal to zero. In the positive case, the motor 20 is controlled in the closing direction (operation 164) and the program loops back to operation 156. Otherwise, a new test at 165 is carried out on the variable TEMP1 to check if it is equal to 3. In the negative case, the program returns to operation 156. Otherwise, the motor 20 is controlled in the opening direction (operation 166). Finally, if test 161 proves positive, the program loops back to the main program.

Claims (11)

1. Dispositif de levée d'interdiction conditionnelle de la manoeuvre d'une serrure (5, 8), notamment d'un coffre-fort, chambre forte ou autre enceinte protégée, comprenant des moyens électromécaniques de blocage (11, 19) qui sous la commande d'un circuit électronique (14, 30 à 33) sont capables d'imposer l'interdiction ou la levée d'interdiction de manoeuvre de ladite serrure, caractérisé en ce que ledit circuit électronique de commande (14, 30 à 33) comporte une mémoire - (32) dans laquelle est stockée un programme horaire destiné à être exécuté cycliquement et définissant au moins une fenêtre temporelle de levée d'interdiction (F, à F.) des moyens associés à cette mémoire pour comparer périodiquement l'heure officielle (HRAC) aux instants (NXTE) encadrant ladite fenêtre temporelle et de moyens (30, 33) pour commander lesdits moyens de blocage pour bloquer, respectivement libérer ladite serrure lorsqu'il y a égalité entre l'heure officielle et lesdits instants.1. Device for lifting a conditional ban on the operation of a lock (5, 8), in particular a safe, vault or other protected enclosure, comprising electromechanical blocking means (11, 19) which under the control of an electronic circuit (14, 30 to 33) are capable of imposing the prohibition or the lifting of prohibition of operation of said lock, characterized in that said electronic control circuit (14, 30 to 33) includes a memory - (32) in which is stored a time program intended to be executed cyclically and defining at least one time window for lifting a ban (F, to F.) of the means associated with this memory for periodically comparing the time official (HRAC) at times (NXTE) framing said time window and means (30, 33) for controlling said blocking means to block, respectively release said lock when there is equality between the official time and said times. 2. Dispositif suivant la revendication 1, caractérisé en ce que ledit circuit électronique comporte un microprocesseur (30) programmé pour donner l'heure officielle (HRAC) et pour effectuer ladite comparaison à des intervalles réguliers.2. Device according to claim 1, characterized in that said electronic circuit comprises a microprocessor (30) programmed to give the official time (HRAC) and to carry out said comparison at regular intervals. 3. Dispositif suivant la revendication 2, caractérisé en ce que chacun desdits instants est défini dans ladite mémoire (32) à l'aide d'une donnée (NXTE) comprenant des valeurs numériques de minutes, d'heures et le cas échéant de jour et de semaine, une information (P) établissant si cette donnée entre dans le programme horaire ou non et une information (S) définissant dans quel sens les moyens de blocage doivent être commandés, à savoir dans le sens d'une interdiction ou dans le sens d'une levée d'interdiction de la manoeuvre de la serrure (5).3. Device according to claim 2, characterized in that each of said instants is defined in said memory (32) using a datum (NXTE) comprising numerical values of minutes, hours and if necessary of day and during the week, information (P) establishing whether this data enters the time program or not and information (S) defining in which direction the blocking means must be controlled, namely in the direction of a ban or in the sense of a lifting ban on the operation of the lock (5). 4. Dispositif suivant la revendication 3, caractérisé en ce que ledit microprocesseur (30) est programmé pour, après chaque constatation d'égalité entre l'heure officielle (HRAC) et un instant (NXTE) du programme horaire cyclique, extraire de la mémoire (32), la donnée correspondant à l'instant suivant de ce programme horaire, et pour vérifier l'égalité de cette nouvelle donnée et l'heure officielle (HRAC) au rythme desdits intervalles réguliers.4. Device according to claim 3, characterized in that said microprocessor (30) is programmed to, after each finding of equality between the official time (HRAC) and an instant (NXTE) of the cyclic time program, extract from the memory (32), the data corresponding to the next instant of this time program, and to check the equality of this new data and the official time (HRAC) at the rate of said regular intervals. 5. Dispositif suivant l'une quelconque des revendications précédentes, caractérisé en ce que les données stockées dans ladite mémoire (32) comportent également des données définissant des intervalles de temps au cours desquels la levée d'interdiction prévue par ledit programme horaire cyclique est inhibée (INHO, INH1, AJTO, AJT1).5. Device according to any one of the preceding claims, characterized in that the data stored in said memory (32) also include data defining time intervals during which the lifting of prohibition provided by said cyclic time program is inhibited (INHO, INH1, AJTO, AJT1). 6. Dispositif suivant la revendication 5 lorsqu'elle dépend de l'une quelconque des revendications 2 à 4, caractérisé en ce que ledit microprocesseur - (30) est également programmé pour, lors de chaque opération de comparaison, vérifier si l'instant suivant prévu par ledit programme horaire cyclique tombe au cours d'un intervalle correspondant à une inhibition de la levée d'interdiction.6. Device according to claim 5 when it depends on any one of claims 2 to 4, characterized in that said microprocessor - (30) is also programmed to, during each comparison operation, check whether the next instant provided for by said cyclical time program falls during an interval corresponding to an inhibition of the lifting of prohibition. 7. Dispositif suivant la revendication 6, caractérisé en ce que ledit microprocesseur (30) est connecté à un dispositif de communication interactif (14, 15) et en ce qu'il est programmé pour permettre rintro- duction à postériori des données définissant les intervalles d'inhibition (INH0, INH1, AJT0, AJT1).7. Device according to claim 6, characterized in that said microprocessor (30) is connected to an interactive communication device (14, 15) and in that it is programmed to allow the retrospective introduction of the data defining the intervals inhibition (INH0, INH1, AJT0, AJT1). 8. Dispositif suivant la revendication 7, caractérisé en ce que ledit microprocesseur (30) est programmé pour n'admettre l'introduction à postériori des données d'intervalles d'inhibition que par l'intermédiaire d'un code d'autorisation.8. Device according to claim 7, characterized in that said microprocessor (30) is programmed to admit the retrospective introduction of inhibition interval data only by means of an authorization code. 9. Dispositif suivant l'une quelconque des revendications 1 à 8, caractérisé en ce que ledit programme horaire cyclique est hebdomadaire.9. Device according to any one of claims 1 to 8, characterized in that said cyclical hourly program is weekly. 10. Dispositif suivant l'une quelconque des revendications précédentes, caractérisé en ce qu'il comporte des moyens pour différer l'action sur lesdits moyens de blocage (11, 19) pendant un intervalle de temps prédéterminé s'écoulant après constatation de l'égalité entre l'heure officielle et un instant correspondant à une levée d'interdiction de la manoeuvre de la serrure.10. Device according to any one of the preceding claims, characterized in that it comprises means for delaying the action on said blocking means (11, 19) for a predetermined period of time elapsing after observation of the equality between the official time and an instant corresponding to the lifting of a ban on the operation of the lock. 11. Dispositif suivant l'une quelconque des revendications 2 à 10, caractérisé en ce que ledit micro- processeur (30) est programmé pour déterminer le sens de commande desdits moyens de blocage - (30, 33) vers une interdiction ou une levée d'interdiction de la manoeuvre de la serrure en fonction du nombre d'instants s'étant présentés durant un intervalle de temps prédéterminé.11. Device according to any one of claims 2 to 10, characterized in that said microprocessor (30) is programmed to determine the direction of control of said blocking means - (30, 33) towards a ban or a lifting of 'Prohibition of the operation of the lock according to the number of moments that have appeared during a predetermined time interval.
EP19860810154 1985-03-29 1986-03-27 Device for removing a conditional bar on the operation of a lock Expired - Lifetime EP0197893B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AT86810154T ATE49449T1 (en) 1985-03-29 1986-03-27 DEVICE FOR RELEASING A CONDITIONAL LOCKING CONTROL OF A LOCK.

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CH1375/85A CH664794A5 (en) 1985-03-29 1985-03-29 DEVICE FOR LIFTING A CONDITIONAL PROHIBITION OF THE OPERATION OF A LOCK.
CH1375/85 1985-03-29
FR8507476 1985-05-14
FR8507476A FR2582037A1 (en) 1985-05-14 1985-05-14 Device for lifting the conditional inhibition of the operation of a lock

Publications (2)

Publication Number Publication Date
EP0197893A1 true EP0197893A1 (en) 1986-10-15
EP0197893B1 EP0197893B1 (en) 1990-01-10

Family

ID=25687480

Family Applications (1)

Application Number Title Priority Date Filing Date
EP19860810154 Expired - Lifetime EP0197893B1 (en) 1985-03-29 1986-03-27 Device for removing a conditional bar on the operation of a lock

Country Status (2)

Country Link
EP (1) EP0197893B1 (en)
DE (1) DE3668213D1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2205126A (en) * 1987-05-15 1988-11-30 Fox Thomas Co Ltd An electronic time lock
EP0327145A2 (en) * 1988-02-03 1989-08-09 Omen Metal Products Safe device and mechanism for operating the same
GB2221947A (en) * 1988-08-19 1990-02-21 Sargent & Greenleaf Electronic time lock
US4944170A (en) * 1986-08-20 1990-07-31 Relhor S.A. Device for lifting a time ban on the actuation of a mechanism in a conditional-opening locking system in the event of a breakdown
EP0537009A1 (en) * 1991-10-11 1993-04-14 Ilco Unican, Inc. Door locking system
WO1994022736A1 (en) * 1993-03-26 1994-10-13 Craig Hart Macdougall Time capsule
EP0676519A1 (en) * 1992-09-17 1995-10-11 Total Security Installations Limited A security system including a lock

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3881171A (en) * 1973-12-03 1975-04-29 Mosler Safe Co Vault protected with electronic time and combination lock
US4293915A (en) * 1979-04-16 1981-10-06 Pacific Technology, Inc. Programmable electronic real-time load controller
EP0102346A2 (en) * 1982-07-29 1984-03-07 Wertheim-Werke Aktiengesellschaft Safe protected against false manipulation
US4472789A (en) * 1979-11-09 1984-09-18 General Signal Corporation Vital timer

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3881171A (en) * 1973-12-03 1975-04-29 Mosler Safe Co Vault protected with electronic time and combination lock
US4293915A (en) * 1979-04-16 1981-10-06 Pacific Technology, Inc. Programmable electronic real-time load controller
US4472789A (en) * 1979-11-09 1984-09-18 General Signal Corporation Vital timer
EP0102346A2 (en) * 1982-07-29 1984-03-07 Wertheim-Werke Aktiengesellschaft Safe protected against false manipulation

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ELEKTOR, vol. 9, no. 4, avril 1983, pages 442-450, Canterbury, Kent, GB; "7-day timer/controller", *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4944170A (en) * 1986-08-20 1990-07-31 Relhor S.A. Device for lifting a time ban on the actuation of a mechanism in a conditional-opening locking system in the event of a breakdown
GB2205126A (en) * 1987-05-15 1988-11-30 Fox Thomas Co Ltd An electronic time lock
GB2205126B (en) * 1987-05-15 1992-01-08 Fox Thomas Co Ltd An electronic time lock
EP0327145A2 (en) * 1988-02-03 1989-08-09 Omen Metal Products Safe device and mechanism for operating the same
EP0327145A3 (en) * 1988-02-03 1990-05-30 Omen Metal Products Safe device and mechanism for operating the same
GB2221947A (en) * 1988-08-19 1990-02-21 Sargent & Greenleaf Electronic time lock
GB2221947B (en) * 1988-08-19 1992-08-05 Sargent & Greenleaf Electronic time lock
EP0537009A1 (en) * 1991-10-11 1993-04-14 Ilco Unican, Inc. Door locking system
US5339662A (en) * 1991-10-11 1994-08-23 Ilco Unican, Inc. Door locking system
EP0676519A1 (en) * 1992-09-17 1995-10-11 Total Security Installations Limited A security system including a lock
WO1994022736A1 (en) * 1993-03-26 1994-10-13 Craig Hart Macdougall Time capsule

Also Published As

Publication number Publication date
DE3668213D1 (en) 1990-02-15
EP0197893B1 (en) 1990-01-10

Similar Documents

Publication Publication Date Title
CH664794A5 (en) DEVICE FOR LIFTING A CONDITIONAL PROHIBITION OF THE OPERATION OF A LOCK.
EP0805906B1 (en) Programmable electronic locking device
FR2609086A1 (en) MODIFIABLE THEFT PROTECTION CODE DEVICE FOR MOTOR VEHICLES
FR2567947A1 (en) ACCESS CONTROL SYSTEM FOR SURFACE TEXTURE READING
FR2586447A1 (en) MULTI-ACCESS SECURITY DEVICE
EP0197893B1 (en) Device for removing a conditional bar on the operation of a lock
FR2661021A1 (en) ADJACENT STORAGE SYSTEM USED IN PARTICULAR IN STATIONS OR AIRPORTS.
EP0020247A1 (en) Device for the authorized opening of a door by means of a coded card
EP0147276B1 (en) Coded control devices
FR2582037A1 (en) Device for lifting the conditional inhibition of the operation of a lock
EP0158577B1 (en) Entrance-checking lock for strongrooms
CH690502A5 (en) Programmable operational system for locking / unlocking a timed safety device.
FR2526474A1 (en) Intelligent monitoring system for bank safe deposit room - uses microcomputer to cyclically interrogate individual box lock detectors and to test for abnormal numbers or frequency of openings
EP0443962B1 (en) Method and device for controlling and permitting access to a site or a service
EP0985790B1 (en) Dynamically controlled electronic lock and control system with such a lock
FR2717932A1 (en) Selective delivery and controlled recovery of objects such as keys
FR2467946A1 (en) Electronic door lock using code number - has microprocessor with permanent memory storing emergency access code for use in case of loss of normal access number in live memory
FR2666614A1 (en) OPENING DEVICE FOR OPENING DOORS, ESPECIALLY STORAGE ROOMS AND, IN GENERAL, ALL STRONG DOORS.
EP0724056B1 (en) Remote control device using hertzian, infra-red waves or similar for controlling motorised locking mechanisms
EP0549546B1 (en) Safe for the deposit and withdrawal of valuables
EP0585513B1 (en) System for controlling a process which contains a simultaneity table
FR2729424A1 (en) Electronic permutation lock for door opening with use of magnetic card
FR2705117A1 (en) Programmable electronic lock.
FR2482801A1 (en) Touch sensitive electronic door lock with override facilities - uses MOS devices to provide keys operating series connected switches to activate lock controller when correct numbers are entered
FR2919654A1 (en) Safety equipment room structure for automated teller machine, has intervenor with code access modules for accessing codes of locks of machine management modules nearer to remote management units for intervening on machine management modules

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE CH DE FR GB IT LI LU NL SE

17P Request for examination filed

Effective date: 19861103

17Q First examination report despatched

Effective date: 19880901

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AT BE CH DE FR GB IT LI LU NL SE

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SE

Effective date: 19900110

Ref country code: NL

Effective date: 19900110

Ref country code: AT

Effective date: 19900110

REF Corresponds to:

Ref document number: 49449

Country of ref document: AT

Date of ref document: 19900115

Kind code of ref document: T

REF Corresponds to:

Ref document number: 3668213

Country of ref document: DE

Date of ref document: 19900215

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 19900228

Year of fee payment: 5

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 19900314

Year of fee payment: 5

ITF It: translation for a ep patent filed

Owner name: ING. C. GREGORJ S.P.A.

ITTA It: last paid annual fee
PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 19900331

Ref country code: BE

Effective date: 19900331

GBT Gb: translation of ep patent filed (gb section 77(6)(a)/1977)
NLV1 Nl: lapsed or annulled due to failure to fulfill the requirements of art. 29p and 29m of the patents act
BERE Be: lapsed

Owner name: S.A. RELHOR

Effective date: 19900331

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed
PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Effective date: 19910327

GBPC Gb: european patent ceased through non-payment of renewal fee
PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FR

Effective date: 19911129

REG Reference to a national code

Ref country code: FR

Ref legal event code: ST

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: CH

Payment date: 20020304

Year of fee payment: 17

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20020313

Year of fee payment: 17

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20030331

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20030331

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20031001

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IT

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES;WARNING: LAPSES OF ITALIAN PATENTS WITH EFFECTIVE DATE BEFORE 2007 MAY HAVE OCCURRED AT ANY TIME BEFORE 2007. THE CORRECT EFFECTIVE DATE MAY BE DIFFERENT FROM THE ONE RECORDED.

Effective date: 20050327