REMOTE CONTROL SYSTEMS

Abstract: A remote control system comprises a controller (4) and a plurality of remote modules (2) connected in series with the controller. A data packet is generated by the controller and this includes a module counter portion. The packet passes from module to module. Each module increments the module counter portion before passing the data packet to the next module. A module address is derived for each module from the value of the module counter at that module.

Description: REMOTE CONTROL SYSTEMS This invention relates to remote control systems comprising a central controller (Master) and a plurality of remote modules (Slaves) responsive to instructions from the controller. Systems of this type are used, for example, for controlling lighting, heating, or ventilating in large buildings. In such systems the controller can send status enquiries to all the remote modules in the building and can receive back from these modules data as to the status of the systems they are controlling, e.g. is a light on or off. The controller may then send out instructions to specific modules to cause them to control the apparatus (lights), to which they are connected in a desired manner. In existing remote control systems all the modules are typically connected to a bus along which instructions pass. Each module is given a unique address and each instruction for a module is coupled with an address identifying the module for which that instruction is intended. It will be appreciated that when such a system is installed it is necessary to pre-programme each module with its unique address and to have some knowledge of where that module has been installed. In another form of known system modules are connected in a ring and a token is passed from module to module. When the token is latched in a module a status enquiry can be sent from the controller to that module and the status data sent back to the controller. An instruction may then be sent to that module if it is desired to change its status. In a preferred embodiment of the present invention all the modules are connected in series with the controller, and a data packet, including instructions for modules, passes through each the module in turn. Part of the data packet comprises a module counter which is incremented as the packet passes through each module. By examining the status of the module counter a module is able to derive its location (address) in the loop of modules and can thus determine whether an instruction included in the data packet is intended for that particular module. The invention is defined in the appended claims to which reference should now be made. A preferred embodiment of the present invention will now be described, in detail, by way of example, with reference to the accompanying drawings in which: Figure 1 is a schematic diagram of a controller and associated remote modules; Figure 2 is a block diagram of a module of the type used in Figure 1; Figure 1 shows how a plurality of modules 2 are connected in series with a controller 4 in a loop. Each module and the controller has a serial input and a serial output. A data packet generated by the controller passes from its serial output to the serial input of the first module in the loop. The data passes through the module, one byte at a time, and is then available at the output of the module. There is, however, a lag between input and output of, for example, 3 bits. Thus the front end of a data packet will have left a module before the end has entered that module. Once a data packet has passed through all the modules in the loop it returns to the controller 4. The time taken for the head of a data packet to pass round a ring of modules will be (module delay) x (number of modules), i.e. at 9600 band with a 3 bit module delay the head of a data packet will travel right round the ring in about 18ms. The data packet, (known as the notepad) sent out by the controller comprises three main portions. These are an instruction portion, a module counter, and an address and data portion. The whole packet is terminated by an end code. When the notepad reaches the first module in the loop the module counter is incremented. The instruction portion is then decoded and acted upon if it is addressed to the module number indicated by the current value of the module counter. The instruction can be an instruction to, for example, switch on a single light or a batch of lights, i.e. all those between modules 1 and 8. Alternatively it may be a status enquiry of the modules which will cause the status of each module in turn to be written into the address and data portion of the notepad if there has been a change in module status. Thus as the notepad passes round the loop the address and data portion increase in size as more information is written into it. In Figure 2 there is shown a block diagram of a module and its operation can be better explained with reference to this. The module comprises an input 6 receiving data packets which have passed through other modules in the chain and which were originally generated by the controller. Each packet passes to a distributor which sends the module counter data to a counter incrementor 8. The distributor 7 sends the instruction portion of the notepad to an instruction decoder 10 and the address and data portion to a status decoder 12. The counter incrementor 8 has an output coupled to the instruction decoder 10 and to the status decoder 12, Thus the instruction decoder and the status decoder have available the current value of the module counter. The instruction decoder 10 decodes the instruction portion of the notepad. In a lighting control system this instruction may comprise, for example, turn on lights. The data section of the address and data portion of the notepad will include information as to the lights to be switched on. Thus by comparing the addresses and lights to be switched on with the current module address the instruction decoder can compute whether or not the instruction is to be acted upon by that particular module. If it is then the relevant instruction is sent to a control unit 14 which will implements the instruction. If the instruction is a status enquiry the instruction decoder sends an enable signal to the status decoder 12 which receives data from the control unit as to its status. The status decoder also receives the current value of the module counter and the address and data portion of the notepad. The status decoder will write into the address and data portion the current module address and the status of the apparatus which it is controlling. Usually this will only happen if there has been a change in status since the last enquiry. Thus as the notepad passes around the ring the address and data portion of the notepad will increase in size. The current value of the module counter, the instruction, and the address and data portion are recombined in a combiner 16 and then passed to the next module in the chain via an output 18. Each module may be implemented in a conventional gate array on a single chip. Alternatively, for a more intelligent module, a microprocessor could be used. It will be appreciated from the above description that in use each module is able to work out its address (the module counter value) from its position in the ring, i.e. the data which arrives at the ring includes a module counter which that module uses to derive its own address. There is therefore no need for any unique address to be pre-programmed into a module and when modules are being installed in a building management system, for e.g. lighting control, identical modules can be installed at each location. In the current system a switch status notepad is 10 bytes long and is transmitted round the ring at 9600 band with a delay of 3 bits per module. The notepad includes a reset sequence, headers, the module counter and the inverse of every byte as an error check. For a module to add a switch status onto the end of a notepad as it passes through a module it first changes the end of the notepad byte to a continue byte. It then adds a module number byte of status information and a new end of notepad byte. This means that the three bytes and their inverses are added on for each module that has a change of status. Thus, if two modules have a change of status in a 60 module ring it will add 12 bytes to the notepad making it 22 bytes long. This means that the time taken for the notepad to pass round the ring, assuming a delay of 3 bits per module, is 18 + 22 = 40ms, approx. When the notepad is received back by the controller a switch notepad can be generated to control the lights to be switched. This resultant notepad is 10 bytes long plus 4 bytes for every module to be addressed. If 6 modules needed to turn lamps on or off this would require a 34 byte notepad which would take approximately 34ms to pass round the ring. Thus the total time from a switch being pressed to a light being turned on would be about 75ras. In practice, however, longer is required because delays are introduced to improve immunity to switching noise etc. If there is little activity in the system then, after it has received a status notepad, indicating the change of status of one or more of the modules, the controller can issue a command notepad asking these modules to varify their status. This could be done 10 or 20 times and the system could still easily respond within 200ms. This is a check on the status received. The system described above is thus self-addressing. That is to say there is no need for any module to be preprogrammed with a unique address. Each module will derive its own address from its position in the ring as determined by the module counter included in a data packet passing around the ring.

Claims: Claims 1. A remote control system comprising a controller and a plurality of remote modules connected in series with the controller, wherein a data packet which includes a module counter portion is generated by the controller and passes from module to module, each module comprises means to increment the module counter portion before passing the data packet to the next module, and each module further comprises means to derive a module address for that module from the value of the module counter at that module. 2. A remote control system according to claim 1 in which each module comprises means to add status data for that module to the data packet before the data packet is passed to the next module, wherein the status data includes the derived module address. 3. A remote control system according to claim 1 or 2 in which each module comprises means to decode an instruction received in a data packet and means to execute the instruction in dependence on a comparison between a module address included in the data packet and the module address derived by that module. 4. A module for use in a remote control system comprising an input means for receiving a data packet and output means for sending out a data packet, wherein each data packet includes a module counter portion, the module comprising means to increment the module counter as it passes through the module and means to derive a module address for that module from the value of the module counter at that module. 5. A module for use in a remote control system substantially as herein described.

Inventors: WILLIAMS EDWARD, WILLIAMS, EDWARD
Applicants: DELMATIC LTD, WILLIAMS EDWARD, DELMATIC LIMITED, WILLIAMS, EDWARD
Application year: 1994
Main classification: G05B19
IPC codes: G05B19, H04Q9