EXERCISE APPARATUSBackground of the Invention The present invention relates to an exercise apparatus and more particularly, but not exclusively, to a programmeable exercise apparatus.   Resistance training is used for strength, muscular endurance and aerobics, speed and power, muscle toning and body-building. It is generally accepted that when training to improve any of the above, the exercise regimen must be based on the overload principle, i.e. the muscles of the body must be forced to work against greater resistance than that to which they are normally accustomed. The resistance may be isometric, isokinetic (sometimes called variable) or isotonic depending on the purpose of exercise.   Resistance training is typically performed in groups of repetitive exercise movements, wherein each group of movements is called a set and each repetitive movement is called a repetition. Within a single exercise repetition resistance may be applied to concentric (positive) movement and/or eccentric (negative) movement. The magnitude of the concentric and eccentric movements may be varied independently. For example, it has been found that in certain types of exercise, significant strength increases are obtained if the eccentric resistance is increased over the concentric resistance.   Within an exercise set the resistance may be varied from repetition to repetition. For example, the resistance may be progressively increased over the first repetitions and then decreased over the later repetitions. This is sometimes referred to as pyramiding.   Many combinations of movements and resistive forces are possible and the best effect is achieved when the combination is tailored to the application, with applications such as professional body building,  rehabilitation and sport or leisure exercises having differing requirements. For optimum results the exercise apparatus should be set for each particular type of exercise activity and in order to minimize the cost, one piece of equipment should cover the widest possible field of applications.   An important part of any exercise programme is the ability to monitor its progress by way of suitable indications related to duration of the exercise,   number -of    movements executed, energy expended and other useful information. Availability of such feedback information not only enables the progress of the exercise programme to be monitored and controlled simply, but may also be a positive encouragement to the user.   Exercise apparatus currently available use a variety of principles to achieve resistance against which the user must exert himself. Two most common groups of equipment available on the market make use of weights tacks and free weights. Used also in various specific designs are: pneumatic cylinders, hydraulic cylinders, friction devices, electromagnetic brakes, resilient bands and/or springs etc. used singly or in various combinations.   Probably the most popular principle is that which makes use of a weightstack in conjunction with cables, pulleys and levers in order to provide resistance to an operator's muscular movements and efforts.   In equipment making use of a weightstack, it is an advantage that the stack will apply a given force against which the operator must exert himself, almost independently of movement. However, it is a disadvantage of the weightstack that there is an inertia to be overcome, thereby increasing the load on the user when upward weightstack movement is first initiated, or if the weights are accelerated. The resilient bands and springs employed as alternatives to the weightstacks have the  disadvantage that the force applied to the operator varies in accordance with the elongation of the resilient bands or springs.  It is a disadvantage of the other devices, such as pneumatic cylinders, used as alternatives to weightstacks that the resisting force encountered by the operator depends on the speed at which they are operated, as opposed to the almost constant gravitational force provided by the weightstack.   A substantial disadvantage usually associated with each of the above methods of providing resistance is that they do not provide any feedback information to the user about the progress of the exercise programme. Also, it is not known in equipment using the above methods to provide a pre-programmed varying combination of resistances during the course of exercise while at the same time providing one piece of equipment which covers a wide range of applications. Rather, if any change in resistance is desired, the exercise must be stopped temporarily and suitable adjustments made, after which the exercise programme may be resumed. Such a disruption to the continuity of the exercise is most undesirable.  As an alternative, a second person may be used to manipulate the resistance of the exercise apparatus, but this method requires constant presence of the second person and is prone to errors in adjustment. Many attempts have been made to design exercise apparatus with some degree of programmability but to date it is not known for such a piece of apparatus to cover a complete range of applications, while at the same time providing features closely approximating those of the weightstack.   Numerous patents have been issued in the past, which disclose various parts or equipment within the exercise apparatus field. U.S. Pat. No. 3,998,100 to Pizatella et al covers the use of computer control to vary and regulate only the operating speed of the exercising device.    U.S. Pat. No. 3,848,467 to Flavell refers to the partially programmed exercising machine, but the programmed control covered only the end points of the exercising strokes.  Many other specifications disclose the control of speed of movement, examples of which are U.S. Pat. No. 3,465,592 and 3,784,194 to J.J. Perrine for mechanical and hydraulic devices used for speed control. Centrifugal control devices are described in the U.S. Pat. Nos. 3,640,530 and 3,896,672 to Henson et al. An electronic and electromechanical servo system is shown in the Wilson U.S.  Pat. 3,902,480 and Flavell U.S. Pat. No. 3,848,467 and 3,869,121. U.S. Pat. No. 4,354,676 to G.B. Ariel shows a combination machine using a hydraulic cylinder as a source of resistance combined with computerised control and displays. This design, however, is limited to linear movements imposed on it by the use of the hydraulic cylinder/piston combination.   It is the object of the present invention to overcome or substantially ameliorate one or all of the above disadvantages and/or shortcomings.   Summary of the Invention According to a first aspect, the present invention consists in an exercise apparatus comprising a rotational driving device having a variable rotating speed, an exercise element to be directly or indirectly manipulated by a user and driven directly or indirectly by the driving device, and control means to control the speed and torque developed by the driving device and transmitted to exercise element.   In a preferred form of the present invention, there is provided an exercise apparatus including a   D.C.    motor, and a drum rotatably driven by the motor, the drum receiving a flexible cable which is pulled by the user when working against the torque generated by the motor during an exercise programme. The effective torque  developed by said motor a function of the current delivered to the motor, this current being controlled by a suitable motor speed torque control circuit. Thus, by varying the motor current the torque developed will vary and so will the resistance presented to a user who pulls on the cable.   According to another aspect of the present invention, the production of torque by the DC motor in the stalled condition and at low speed is optimised. This is achieved by winding the D.C. motor with a thinner gauge wire and a multiple of the standard number of turns, such that when keeping the D.C. current constant, a corresponding multiple of torque is produced.   According to another aspect, the present invention provides a rewind spring system, for a motor driven shaft carrying a cable drum, comprising a spring housing enclosing a portion of the shaft and connected to a reference frame, and a spring connected at-respective ends to the shaft and the spring housing, wherein when the motor is stationary the spring rotates the shaft to ensure that any cable connected to the drum is fully wound up.   According to another aspect, the present invention provides a cable cassette mechanism for each drum of a system of coaxial motor driven drums, each mechanism comprising an inner shell fixed to a motor shaft, a drum and a spring connected at respective ends to the inner shell and the drum, each drum having wound thereon a cable, the spring being sufficiently tensioned that when a cable on one drum is pulled by a user, each cable which has not been pulled is caused to stay wound on its respective drum by the tension remaining in its spring as the spring is unwound by rotation of the shaft.   According to another aspect the present invention provides a single cable, multiple take off system for a motor driven cable drum comprising a cable passing through  at least two fixed pulleys and at least one floating pulley, the fixed and floating pulley being arranged in an interleaved group along the cable with two of the fixed pulleys being located at the two ends of the group, such that a cable attached to the at least one floating pulley provides an additional take off point in a direction normal to the direction through the two fixed pulleys.   According to another aspect the present invention provides a balanced pulley system comprising a pulley sheave mounted in a pivotable yoke, a pivotal axis of the yoke being tangential to a centre line through a cable passing around the sheave and counterweights being located on an opposite side of the pivotal axis to the sheave to counter balance the weight of the pulley system.   According to another aspect the present invention provides an exercise machine having a dual capability including handle means detachably connected to a force generating mechanism arranged to counteract the force exerted on the handle means by a user, the handle means being detachably connected to guide means such that when the handle means is attached to the guide means exercises may be perfomed in which the path of the handle means is guided and when the handle means is detached from the guide means exercises may be performed in which the path of the handle means is unguided.   The preferred embodiment will also include sensors to measure the performance of the user through parameters, such as rotational speed of the drum, force development in flexible cable and length of the cable unwound. By appropriate selection of the characteristics of the driving device and of the speed/torque controller in conjunction with sensors monitoring performance of the user it is possible to obtain practically constant torque at the output shaft of the driving device which is substantially independent of the rotational speed of the  driving device output shaft. In addition, if required, it is possible to modify operation of the driving device, and thus the output torque, by suitable modification to the software residing in and controlling operation of the digital computer.   The'motor controller can in turn be regulated by a computer programme which holds all relevant information concerning particular exercise to be executed. Further, as the resistance can be controlled by the computer programme, by way of the torque developed by the motor and transmitted to the drum, it is possible to programme any value of the resistance for each movement in the positive or negative direction. It is also a simple matter to programme the computer to provide a gradually increasing or decreasing resistance, or any other desirable resistance profile.   To provide the user with information relevant to the exercise performed, a comprehensive display is provided containing information on exercise progress, elapsed time, expended energy, etc. Data pertinent to the exercise performed is collected by the computer from information existing in the system and also from the sensor coupled to the drum. This sensor detects the drum movement and transmits signals representing positive and negative movements to the computer. Installed internally in the computer is an electronic clock which provides time pulses used by the computer to measure duration of a specific exercise or part of it. Data collected by the computer during the course of exercise may be reviewed and discarded or it may be stored for future reference.   The basic resistance controlling mechanism of the present invention can be used in a variety of frames which are commonly used in the field of exercising, or it may be mounted in a specially designed, multipurpose frame.   The preferred embodiments of the present invention  provide a programmeable exercise apparatus, allowing the user to programme a wide range of exercise patterns including patterns which make use of isotonic, isometric and isokinetic resistance and wherein the resistance associated with positive (concentric) and negative (eccentric) movements of an exercise repetition can be determined independently, as may the resistances associated with each repetition of an exercise set. The preferred embodiment also provides comprehensive feedback of the user's performance and the progress of the exercise, and the apparatus closely approximates the behaviour of equipment based upon a weightstack.  Brief Description of the Drawings Embodiments of the invention will now be described, by way of example, with reference to the accompanying drawings in which: Fig. 1 illustrates a simplified block diagram of an embodiment of the invention; Fig. 2 illustrates the rewind spring of an embodiment of the invention; Fig. 3A and B illustrate the cable cassette mechanism of an embodiment of the invention; Fig. 4 illustrates a cable cassette system using the cable cassette mechanism of the embodiment of Fig. 3; Fig. 5 illustrates a single cable multiple take-off system of an embodiment of the invention; Fig. 6 illustrates the dual capability of the exercise apparatus of an embodiment of the invention; Fig. 7 illustrates a balanced pulley of an embodiment of the invention;   ; Fig. 8   schematically    illustrates a first embodiment of the mechanical component of an exercise machine made in accordance with the present invention; Fig. 9 schematically illustrates a second embodiment of the mechanical component of an exercise machine made in  accordance with the present invention; Fig. 10 illustrates a block functional diagram of the preferred embodiment of the invention; Fig. 11 graphically illustrates an example of resistance variation for positive (concentric) and negative (eccentric) movement in a simple exercise set; Fig. 12 graphically illustrates an example of pyramiding in an exercise set, wherein resistance is varied from repetition to   repetition    Fig. 13 illustrates a block diagram of the motor control interface and sensor interface of the preferred embodiment;   and Figs. 14A, B, C  & D illustrate a flowchart of an example of an exercise control programme for the embodiment of Fig. 10.  Description of the Preferred Embodiment A programmeable exercise apparatus constructed in accordance with one embodiment of the present invention is shown in the diagram of Fig. 1. In this drawing there is an exercise element which is operated by an operator in any appropriate manner. In general, a user interface 10 is provided to enable operation of the exercise element 11 which is driven by an electric motor 13, preferably D.C.  motor. The motor 13 is controlled by a drive control and interface circuit 22 which is arranged to control the motor current in order to maintain the torque in the motor output shaft 15 at a controlled level. By controlling the current delivered to the drive motor 13, the torque applied to the exercise element 11 can be determined using the transfer characteristic of the motor 13 and therefore, by suitably controlling the operating conditions of the drive 13, an exercise programme can be produced which is designed to meet specific requirements of the particular user, that is to say, by increasing the motor current of the drive 13, a greater torque is applied to the exercise  element 11, thereby requiring a greater effort on the part of the user. The use of the electric drive 13 has the advantage in this application that it is easily controlled either remotely or locally.   The exercise apparatus is provided with a sensor 14 which produces a signal representative of the speed, distance and/or direction of movement of the exercise element 11.   The sensor output signa-l   is-    transmitted to a dedicated control processor 20, such as a "single chip" microprocessor or single board computer, via a sensor interface 21, thereby allowing the control processor -to monitor the set of exercises being performed and to control the drive device 13, via a drive control and interface 22, to vary the resistance experienced by the operator in accordance with a predetermined exercise programme which has been entered into the processor 20.  The processor 20 also processes the signal received from the sensor 14 to generate information relating to the number of exercise repetitions, direction and speed of movement, etc. Feedback from sensor 14 is used by the processor 20 to produce a variety of information relevant to the exercise performed, this information being displayed to the user.   A keypad 23 is connected to the control processor 20 to enable entry of control parameters defining a set of exercises, while a display device 24, also connected to the processor 20, enables display of the data as it is entered, in order that it might be verified. The display device is also used to display information relating to the rate at which exercises are being performed, as a form of feedback to the user, together with   motivational    information.   A predefined set of exercises can also be loaded into the control processor 20 from a separate, and possibly  remote, computer 30 via a suitable interface and data communications link 33. In this way, the parameters for a large number of individual sets of exercises may be defined and stored in a storage device 31 associated with the computer 30, and recalled and loaded into the control processor 20 at will. The computer 30 would typically be a personal computer and the storage device 31 would typically be a disk drive or tape recorder, capable of   stbring    digital data. Control of the computer 30 is via aKeyboard 32 through which new exercise parameters may be entered and existing parameters altered. The computer 30 can also be used to store data relating to a user's performance for future reference and comparison.   It will be obvious to persons skilled in the art that many types of electric motors may be used as the drive device 13. In the present embodiment of the invention the drive device is a DC motor.   The exercise apparatus of the present invention requires a motor that has controlled torque. One of the most convenient ways of obtaining a controlled torque of practical magnitude is to pass a controlled current through the windings of a D.C. motor. However, D.C.  motors are optimised for applying significant loads at speed and depend on that speed for cooling.   To optimise the production of torque in the stalled condition and at low speed a method of increasing the torque a standard D.C. motor has been developed. By winding the motor with a thinner gauge wire and a multiple of the standard number of turns and by keeping the D.C.  current constant, a corresponding multiple of torque is produced as indicated in the table below: Normal Twice 3xTurns Motor Turns Motor control current (max. economic) 12A(av) 12A(av) 12A(av)   Normal Twice 3xTurns Motor Turns   .    Demag. current (% of allowed) 15% 30% 45%   .    I2R losses 150W 300W 450W   .    Torque (Max.)   lOnm    20nm   30nm      .    Max. speed 1800rpm 900rpm   60from    Alternatively the same torque can be achieved with less D.C. current, with the advantage that the heat produced is significantly reduced and the demands placed upon the electronic controller are also reduced thereby making it cheaper to produce.  Because the motor is normally   operated- in    the stalled condition or at low speed, normal cooling techniques using an integral fan are ineffective and therefore, to remove heat generated by the windings forced air cooling may also be required and this may result in considerable mechanical modification to the motor housing and assembly.    The modified motor is up to three times as effective in torque production but is far less effective for normal use of providing a load at speed.   In the embodiment of the invention described with reference to Figs. 8, 9 and 10, a cable 110 is employed to transmit the forces exerted by the user through the drum 111 to the motor 113.   It is preferred that when the exercise apparatus is not in use that the cable 110 is fully wound onto the drum 111. However, when there is no electrical current applied to the motor 113, the shaft 115 is free to rotate and the cable 110 will be free to unwind from the drum 111.   Fig. 2 shows a rewind spring system connected to a shaft 315 which may be the motor output shaft 115 ofFig. 8. A hub 302 is connected to the shaft 315 and a spring housing 303 encloses a spring 304, and the hub 302. The spring housing 303 is mounted to a  non-moving part of the exercise equipment, such as for example the motor housing. One end of the spring 304 is connected to the spring housing 303 at connection point 305 and the other end of the spring 304 is connected to the hub 302. The spring 304 has a nearly constant force versus angular displacement and when applied to the shaft 315 it gives an essentially constant torque to the shaft 315 applied in a direction so as to oppose the pull applied to any attached cable by an operator.   In normal operation, when no electrical current is supplied to the shaft   315;    the spring 304 causes the shaft 315 to rotate such that any cable attached to the shaft 315 is fully rewound, for example, onto the drum 111. Therefore, the spring will be designed to operate over a predetermined number of revolutions of the shaft 315.   When electrical current is applied to the motor through the operator making selections on the machines keyboard 23, the motor 113 is controlled to generate a torque equal to the difference between that selected by the operator and that produced by the rewind spring 304.  This arrangement has the advantage that on the return stroke of the cable (following the operator pulling the cable out to the desired position) the rewind speed of the shaft 315 will be enhanced by the action of the rewind spring and thus cable slackness is minimised during the return stroke.   The arrangement also has the ability to generate a smooth controlled low level torque commencing at zero newton-metres due to the fact that the rewind spring contributes to the force exerted against the user.  Therefore by supplying a negative motor torque, the motor will act against the spring enabling accurate torque control down to low levels.   As will be understood to those skilled in the art the  rewind spring 304 could be a flat spring-steel spiral spring, a round spring steel spiral spring, a cylindrical coil spring, a conical spring and even a rubber shock-cord type spring.   A cable cassette system is illustrated in Fig. 3. It has an inner shell 403 which is keyed to the shaft 415.  An outer shell 401 is connected by a spiral spring 404, 406 to the inner shell 403. The outer end of the spring 404, 406 is connected to the inner diameter of the outer shell 401 at connection point 405 and the inner end of the spring 404, 406 is connected to the periphery of the inner shell 401. The spiral spring is preferably flat but other shapes may be used. A cable 407 is connected to the outer shell 401 and is capable of being wound around its periphery. The cable is preferably a flat ribbon cable but other types of cable may be used.   The spring 404, 406 is connected so as to ensure that when the shaft 415 is rotated by the rewind spring 304 such that the cable 407 is fully wound on the outer shell 401, the cassette spring 404, 406 is fully wound and locked and the torque supplied by the shaft 415 is able to be transmitted to the cable via the locked spring 406.   The cassette mechanism is used where a multiplicity of cables are required to be mounted on one shaft 415 or a number of lay shafts 411 connected to the shaft 415 (seeFig. 4) and driven, for example, by means of a drive belt 417, 418. This has the advantage that any one cable 412, 413 can be pulled at any time and the torque will be transmitted to it instantaneously, without having to resort to mechanical or electrical switches or other selection mechanisms.   Each cable   412,    413 is associated with a separate cassette mechanism 414, 416. When one cable 412 is selected and pulled out from its drum the locked spring 406 of cassette 414 transmits the torque of the  shaft 415 to the operator. All other cassette springs unwind 404 from their locked position and maintain their own cables 413 in a rewound position.   With this mechanism the customer appeal is enhanced in that a change of exercise operating position is readily effected without the user having to interact with the machine or make mechanical adjustments.   Fig. 5 illustrates a single cable, multiple take-off system. A single cable 501 connected at one end to a shaft 515 is routed throughout the exercise apparatus via a number of pulleys 503-509 and is capable of being pulled by a user at take off point 510. At take-off point 510, means are provided to ensure that the end of the cable cannot be rewound past a certain fixed point.  Alternatively, the end of the cable 501 may be fixed to the frame of the apparatus.   At any number of points along the path of the cable 501, pulley assemblages may be arranged to transfer the load directly to another cable or any attendant system of pulleys. In this way the direction of application of force can be changed as can the purchase by adjusting the configuration of pulleys.   For the purpose of the example the nominal force in the cable 501 is lkgf. The cable when pulled by a user at take off point 510 will have a force of lkgf. If the cable off at 511, connected to pulley 507, is used then the cable 516 will have an effective force of 2kgf. The system of pulleys to the left of Fig. 5 illustrates how a balanced effective force of 1/2kgf can be derived within the system at two points 512 and 513 for two handed exercises. Even if the cable 514 at point 512 is pulled further out than the cable 514 at point 513 at any one time the effective weight on each end of the cable will be 1/2kgf.   A cassette mechanism may be used if there is more  than one cable connected to the shaft 515. Similarly a rewind spring system may be used to ensure that the cable is rewound and not left hanging when the user has finished an exercise and the motor is switched off.   Where cables exit via a pulley to an operator and there is a requirement for a wide variation in the angle of application of the force, it is necessary to arrange for the exit pulley to swivel in order to optimise the alignment of the cable and minimize resistance.   Usually the swivel axis is aligned with the centre line of a cable directed around the perimeter of a pulley sheave in order to ensure that the cable alignment is correct and to minimize the effects of pulley angle. In such cases the weight of the pulley causes a moment to act about the swivel axis, causing the pulley to flop when a low force is applied to the cable around the pulley. Thus an unwanted load is applied to the cable in the form of a jerk which is annoying to the user.    At low levels of applied load this effect is particularly noticeable and seriously detracts from the attractiveness of the equipment. In such cases it has been found to be advantageous to balance the weight of the pulley and its yoke with a form of counterweight.  Depending on the application, both static and dynamic balancing may be incorporated.   In the type of exercise apparatus described the application of force against the user is achieved by means of cables which do not physically constrain the movements of the user other than in the longitudinal direction of the cable. In such an arrangement a greater level of balance and co-ordination are required on the part of the   user.      The embodiment of Fig. 6 0illustrates how the exercise apparatus can be adapted for guided exercises.   That is, the operator's physical movements are  constrained by the design of the machine. The embodiment of the invention illustrated in Fig. 6 shows a yoke attachment 701 with a lifting bar 702. The cables 703, 704, which are connected to a shaft 115, are connected to the bar 702 which is connected to the yoke by a quick release attachment 707. The yoke is free to pivot about a yoke pivotal axis 708. When an operator lifts the bar 702 which is connected to the yoke 701 the attachment has a guided movement along an arc 709.   It will be understood by persons skilled in the art that the apparatus can be readily and simply converted from a guided to an unguided exercise apparatus. Also the method of constraint is not limited to a yoke but may take many other mechanical forms.   The balanced pulley system will be explained with reference to Fig. 7. A pulley 601 is shown connected to a pulley frame 602. A cable 603 is shown on the periphery of the pulley and the cable is capable of being pulled at various angles about a swivel axis 604.   Counterweights 605 are embedded in the pulley frame assembly 602 on the opposite side of the swivel axis to the pulley and of such a mass as to statically balance the assembly about the swivel axis. The counterweights are preferably two steel rods embedded in the pulley frame, however any suitably heavy material can be used.   Referring to Figs. 8 and 9 two different arrangements are illustrated whereby the effort required by the user may be measured and fed back to the drive control and interface circuit 22. In Fig. 8, the user interface 110 is a cable which is pulled by the user and tension in the cable is measured by passing the cable through a series of rollers 116 which are displaced away from one another as the tension in the cable is increased. The displacement of the rollers is then measured electrically to provide one parameter for the calculation of performance.    Alternatively, referring to Fig. 9, a shaft torsion meter 112 may be used to obtain a similar parameter measurement. Also a strain gauge may be used to measure the pull on one or another of the pulleys.   In the embodiments of Figs. 8 and 9, the exercise element is a drum 111 on which a flexible rope or cable 110 is wound, one end of the cable being attached to the drum 111 and the other being pulled directly by the operator or being connected to a further-interface mechanism such as a set of levers and handlebars. It will be recognised, however, that a set of levers could equally be connected directly to the output shaft of the motor 113.   The rotation of the shaft 115 with the drum 111 on which the rope 110 is wound is monitored by the sensor 114 coupled directly to the shaft or alternatively via a chain drive, toothed belt, meshing gears or other suitable means of transmission 117. In these embodiments, the sensor 114 is a DC generator which transmits a signal to the control interface circuitry via connecting wires. The polarity of the voltage generated by the sensor 114 depends upon the direction of shaft rotation caused by the motion of the rope 110 which is pulled and released by the user, the generated voltage being present at the output of the generator only during shaft rotation (rope 110 movement), while the magnitude of the voltage generated is proportional to the speed of shaft rotation.  Those skilled in the art will recognise that many other types of sensors, or combinations of sensors, may be used to transmit the relevant shaft rotation data, e.g.  bidirectional incremental encoders, binary shaft position encoders (optical or mechanical), AC tachometer generators, etc. may be used with only slight modification to the control interface circuitry but without affecting the main principle of operation of the present invention.  Operation of the motor 113 and thus of the rest of the  apparatus is controlled by programme stored in the control processor 20. The programme running in the control processor 20 will receive from the user suitable instructions concerning the type of the exercise to be performed, the desired resistance, the number of repetitions, etc. and it will control the speed of the motor 113 accordingly, at the same time receiving information from the sensor 114 as to the progress of the exercise.   All data received is constantly processed to provide parameters which are presented to the user on a suitable display device (LED, LCD, etc.) 24 (refer to Fig. 1) or alternatively the parameters may be presented on a video screen or VDU display 34 associated with the computer 30.  It will be apparent to those skilled in the art that any computer may be used as the control processor 20 which directly controls the operation of the apparatus, and examples of suitable types of processor are a single board microcomputer, a personal microcomputer, a minicomputer or a single chip microprocessor with inbuilt RAM and EPROM.  However, with reference to Fig. 10, the control processor 120 will preferably be a dedicated single board microcomputer which may make use of a single chip microprocessor. In the preferred embodiment, the single board microcomputer will include provision for connection to a communications link 133 whereby it can be programmed from a remote computer 130 such as a personal computer or mini computer system.   The complete operation of the exercise apparatus in the preferred embodiment of the present invention will now be described with reference to the block functional diagram in Fig. 10. To begin, the user must enter into the control processor 120 details relating to the exercise set which the user wishes to perform. This information may be entered through the dedicated keypad 123 according  to an exercise pattern held in an EPROM associated with the control processor 120, as one of a group of predefined basic exercise sets. Alternatively, the desired exercise set may be prerecorded on a mass storage medium such as tape or disk associated with a remote computer 130 and loaded into the control processor 120 via the communications link 133 and also by inserting a prerecorded medium directly into   t20    via a disk or tapedrive.  Details of the exercise data entered into   the    control processor 120 can be presented on the dedicated display 124, or when the computer 130 is connected, the same data may be presented on a VDU display 134 associated with the remote computer 130, or it may be displayed on home television equipped with a suitable adaptor.   After receiving the complete set of information required to control the exercise set, the control processor 120 displays a prompt indicating its readiness for use. At this stage the user may press the   "GO"    button (not shown) and will position himself in the place and pose suitable for the exercise to be performed. After short delay, designed to allow the user to move into proper position, the control processor 120 transmits an initiating signal to the motor control interface 122. The motor control interface 122, upon receipt of the initiating signal, applies power to the electric motor 113 just sufficient for the motor to rotate slowly.   This initial slow speed of the motor is designed to prepare the apparatus for normal operation, i.e. to remove any slack from the rope 110 if a rewind spring is not fitted, and to apply on small initial starting torque to the rope. The initial slow rotation of the shaft with the drum is assumed to be in the negative direction and as such will cause the sensor to produce the voltage corresponding to negative movement and in this case it will not be recorded by the control processor 120.     When the user is ready to commence exercise he starts pulling the rope 110 in the positive direction. Positive movement of the rope is detected by the sensor 114 which transmits a signal representative of this motion to the control processor 120 via the sensor interface 121. In response to the detected positive movement, the control processor 120 immediately applies a signal to the motor control interface 122 corresponding to the predetermined resistance for the commencement of the exercise set. The drive current to motor 113 is then changed to the predetermined value which results in the appropriate torque being applied to the drum 111 and in turn the desired resistance being applied to the rope 110.  The motor current may also be adjusted in response to shaft torsion measured by the torsion meter 112 in order to accurately control the effort required by the user, and the measured torsion may also be used in performance calculations. Throughout the duration of the positive movement of the rope a signal is generated at the output of the sensor 114 and the parameters of this signal are monitored by the processor 120 via the interface 121. As soon as movement is completed, the sensor indicates to the processor 120 the completion of the positive motion and the processor then applies a signal to the motor control interface 122 to set the resistance to the value selected for negative movement.  The resistance for negative movement may have been previously selected to be of the same value, smaller or larger than that for positive motion and the control processor resets the motor current accordingly. In the meantime the user will commence negative movement. During negative movement the sensor 114 generates a signal representative of the movement which is monitored by the control processor 120.  Upon completion of the negative movement the control processor registers one complete repetition, updates its  records and resets the drive current of the motor 113 as required for the next positive movement. This sequence of events repeats itself until the prescribed number of repetitions has been completed.  When the prescribed number of repetitions has been completed and if this corresponds to the end of the exercise set, the control processor applies a signal to the motor control interface 122 to lower the motor current to the originally set idling value, completes processing of data collected during the exercise programme and displays the results of the exercise, which would typically include the resistance selected, the number of repetitions set and performed, total time of exercise-time for individual movements, and the value of work done and energy expended, expressed in calories, on the display 124. At this stage the user may either abandon further exercises or may return to a main menu of the control processor and select another exercise.   In its   simple    form the preferred embodiment of the -invention will allow the user to set the exercise parameters, to perform the exercise and to read the final result of the exercise. After terminating the exercise session the data relating to the just completed exercises will usually be lost, although it will be apparent to those skilled in the art that the processor software could be altered without any great difficulty such that data relating to completed exercise sessions was stored for future reference, if this was required, provided that a suitable storage device were connected to the control processor 120. On the same basis, it is possible to prerecord one or a number of different exercise parameters and later load them into the memory of the control processor 120 and execute them in any order.  In particular the function of prerecording and loading, may be achieved by using the computer 130 connected to the control processor 120 via the communications link 133, or  via a manually inserted disk or tape in which case, the exercise set may be defined on the computer 130 via the keyboard 132 and stored in mass storage 131. The newly created exercise set may also be added to a menu of previously recorded exercises and thereafter selected and loaded into the control processor 120 at will. Data relating to a completed exercise set may also be passed back to the computer   130.either    by link or manually transported disk or tape and displayed on the VDU screen 134. It will also be   recognized    that the computer 130 can be simultaneously connected to control processors of a number of different pieces of exercise equipment.   Typically, the parameters which will be displayed to the user on the display 124 would include the number of positive (outward) and negative (inward) movements of the rope 110, or alternatively the number of completed repetitions. When the prescribed number of repetitions has been completed, marking the end of the exercise, all counters are stopped and the programme in the control processor displays the remaining part of information relating to the exercise set including total time elapsed for the exercise (in min. and sec.), total time during which an effort was being exerted (in min. and   sec.)    and work done and energy expended by the user, calculated as a function of the magnitude of resistance (weight) and time of exercise.  At the bottom of the screen, a prompt will appear, asking the user for an instruction as to whether the user wishes to perform another exercise or wishes to terminate the exercise session. In the first case he will be returned to the previously mentioned "Main" menu and in the second case the software will cause the session to be terminated in which case the parameters of the loaded exercise set may also be automatically unloaded. Similar displays may be provided on the VDU monitor 132b connected  to the computer 130, although the display provided on the monitor 132 may also display additional information such as a comparison with a previously executed exercise set.   It will be apparent to those skilled in the art that substantially any desired sequence of exercises and type of resistance, whether isotonic, isometric or isokinetic, may be described in the programme of the control processor and that the exercise apparatus will allow the user to perform those exercises at any time.   Fig.   11    shows an example of the behaviour of the exercise apparatus while operating in a simple exercise routine consisting of a single set of 3 repetitions. The   programme¯was    set to provide 30kg restoring force during positive movements and 40kg during negative movements. It will be noted that after completion of the last (third) repetition the resistance presented drops to the minimal, idling value.   Another example of equipment versatility is shown inFig. 12 where positive pyramiding was provided in the exercise programme. In this type of exercise, after each repetition (or number of repetitions) the resistance is increased in predetermined steps, building up to the desired maximum and again dropping down to the safe, idling value after completion of the predetermined set of exercises.    The setting of the resistance presented to the user is performed by the control processor 120 through the motor control interface 122. The processor generates a suitable binary combination which-is converted by the motor control interface 122 into an electrical signal suitable for controlling of a motor speed controller 125The functional organisation of an example of a sensor interface 121 and motor control interface 122 are presented in Fig. 13, wherein the sensor 114 generates a potential the polarity and magnitude of which are directly  proportional to the direction of rotation and the speed of its rotation respectively. Thus the potential generated by the sensor 114 is amplified by the amplifier 140 and applied to the logic circuits 141 and directly represents the effort of the exercising user.  Logic circuits 141 convert the potential received from the sensor into typical logic patterns and levels as required by the computer for its correct operation, and applies these signals to the control processor 120 via wires 142. The binary signals generated by the logic circuit 141 might, for example, comprise a first signal which only switches to the active state when the sensor 114 is moving in the positive direction and a second signal which only switches to the active state when the sensor 114 is moving in the negative direction. These signals may also carry information relating to the speed of the sensor 114. A distance sensor 143 may be used to measure the direct distance by means of a servo potentiometer connected via a gear reduction mechanism to the motor shaft.  A limit switch sensor 144 in the form of multiple microswitches may be used to detect the cable pull or movement away from the fully wound position of the cable. Other combinations of sensors may be used and include a servo potentiometer alone to measure distance with speed and directional information being derived quantities using distance and time a tachometer used alone to measure speed and direction with distance being derived from speed and time, and the number of switches and the position of the cable from the fully wound position being sensed via the distance measurement.  The control processor 120, in accordance with the parameters of the exercise set being performed, applies a binary combination via wires 150 to the digital-to-analog converter 151 which converts the binary combination and levels into an analog signal at its output 152, related to the-binary value represented on  wires   150    The analog signal 152 is then amplified by amplifier 153 and the output signal 154 is applied to the motor speed controller 125. It will be apparent that the accuracy of the speed setting, and thus accuracy of the setting of the resultant resistance, depends upon resolution of the digital-to-analog converter 151. If, for example, the digital-to-analog converter would cover the whole range of desired motor speeds in four steps only, this will result in a very crude speed   adjustment    changing in steps of 25%.  A wide range of DAC converters are now commercially available and devices are available which will provide very high resolution if it is required. It will be apparent to those skilled in the art that essentially any commercially available DAC unit, most of which provide at least   8-bit    accuracy, will provide sufficient accuracy to meet the requirements of the user of the present invention when coupled with a suitable commercially available motor speed controller 125.   Referring now to Figs. 14A, B, C  & D, an example of a control programme for the control processor 120 of Fig. 10 is illustrated in the form of a flow diagram. The control programme of Fig. 8 is designed as a routine which exists within a main system programme from which it is called, the main programme being responsible for initialisation of the processor and the provision of functions such as the real time clock.   Upon entry into the exercise control routine atSTART 201 a menu of predefined exercise sets and variable exercise sets is displayed 202 on the display 124 and input data is accepted 203, 204 via the keypad 123 until such time as a complete programme of exercise sets has been defined The chosen exercise sets are then displayed 205 on display 124.   Having defined a programme of exercise sets, the electric motor 113 is started 206 with its torque set to  the idle value in order to take up any slack in the cable 110 and the signal from the sensor 114 is monitored 207, 208 until a positive movement indicates that the user has commenced to exercise. At this point the time of the commencement of the exercise set is noted 209 and a signal is applied 211 to the motor control interface 122 to run the motor at a torque corresponding to the chosen resistance for the first positive movement of the exercise set. The programme then monitors the sensor 114 until the end of the positive movement'is detected 212, 213 and the motor torque is set 216 in accordance with the chosen resistance for the following negative movement of the exercise set.  The sensor 114 is then monitored until the end of the negative movement 217, 218, when a repetition counter is incremented 222 and tested 223 to determine if the prescribed number of repetitions have been completed. If the prescribed number of repetitions has not been completed the motor torque is set 211 in accordance with the resistance chosen for the next positive movement and the repetition cycle 211-223 is repeated.   When the number of repetitions in an exercise set is equal to the prescribed number, a sets counter is incremented 224, displayed 225 and tested 226. If the number of sets completed is not equal to the number programmed, the motor is set to idle 227 and a rest period is measured 228, 229, 231, before setting the motor torque for the first positive movement 211 of the next set and repeating the set cycle 211-226.   When the programmed number of exercise sets has been completed the motor is again set to idle 232 and the total time for the exercises performed is calculated 233, 234 as well as the work done and energy expended 235 and this information is then displayed 236 on display 124 and the motor is stopped 237. Having displayed the information  relating to the completed exercises, the keypad is enabled 238, 239 to allow the user to select 241 between terminating the exercise session, in which case the exercise control routine is exited 242, or alternatively selecting further exercises in which case the startup menu is displayed 202 and the entire exercise routine 202-239 is repeated.    To those skilled in the art to which this invention relates, these and other advantages of this programmeable exercise apparatus will be apparent. Many changes in construction and widely different embodiments and applications will suggest themselves without departing from the spirit and scope of the invention.