Patent ID: 7672738
Filing Date: 2010-03-02
Classification: G05B

Abstract:
1. A programmable controller for use with a monitoring device, said programmable controller including: at least one digital input interface, at least one digital output interface for receiving data from at least one output register, programmable logic hardware including a plurality of logic elements including flip-flops, and electrically configurable interconnections, said interconnections configurable to interconnect the logic elements as a logic processing circuit, said logic processing circuit arranged to implement a user control program defined by a user as a user control program circuit, said logic processing circuit configurable in said programmable logic hardware, and connected to said at least one digital input interface and said at least one digital output interface, program loading circuits for configuring said programmable logic hardware with said logic processing circuit prior to initiating control, and where said programmable logic hardware, configured with the logic processing circuit, includes: a plurality of logic processing circuit flip-flops for storing state data, and for each of these flip-flops, an associated support circuit, the support circuits arranged to operate selectively between first and second conditions, wherein in said first condition the support circuits cause the flip-flops to act as a shift register for transporting state data into and out of the logic processing circuit, and wherein in the second condition the support circuits cause the flip-flops to act as logic elements of said user control program, the support circuits being selected to operate in only one of either the first condition or the second condition at any one time, and a monitoring services and control unit arranged to control and operate said logic processing circuit including: a continuously cycling logic processing scan at least including said support circuits in both said first condition and said second condition, and when in said first condition said support circuits are arranged to operate to shift state data out of and into said logic processing circuit to provide read and write access to said plurality of logic processing flip-flops; and when in said second condition said programmable controller is arranged to operate to apply user clock pulses to said logic processing circuit and to update said at least one output register, wherein said monitoring services and control unit is further arranged to perform a program swap operation, including circuits arranged to: configure into an incoming section of programmable logic hardware an incoming logic processing circuit including an incoming user control program circuit, terminate the continuously repeating logic processing circuit scan of an outgoing logic processing circuit and maintain the value stored in said at least one output register, ensure the output data in the said at least one output register remains unchanged from the output data last stored from the user control program circuit when said support circuits were operated according to said second condition, read the state data from said outgoing user control program circuit, write the state data from said outgoing user control program circuit into the corresponding incoming state data storage units so that each state data bit in said incoming user program circuit that has a corresponding bit in said outgoing user control program circuit has its state set to the same state that existed in the corresponding bit in said outgoing user control program circuit, said write the state data including relocating, as necessary, state data bits at different addresses in said incoming section as compared to the addresses in said outgoing section from which they were read, and start the continuously repeating logic processing circuit scan of said incoming logic processing circuit, and enabling said at least one output register to be updated.