RE-PROGRAMMABLE FLASH MEMORY MICRO CONTROLLER AS PROGRAMMABLE LOGIC CONTROLLER

Abstract: Functions of a programmable logic controller are located in physically separable units. These physically separable units include a program execution device, or control device, whose function is limited to sequencing through the user logic program and a communication/programming device, which provides the programmability function. The micro controller incorporates a micro processor, RAM, and re programmable Flash EPROM in a single package implements the logical core of the program execution device.

Description: RE-PROGRAMMABLE FLASH MEMORY MICRO CONTROLLER AS PROGRAMMABLE LOGIC CONTROLLER BACKGROUND Field of the Invention. The present invention relates to a flash memory and, more particularly, to a reprogrammable flash memory micro controller. The flash memory may be configured as a programmable logic controller. Related Information. Programmable logic controllers on the market today generally have a common architecture. Typically, the controller CPU includes a microprocessor, possibly supplemented with a custom control instruction processor (boolean processor), for execution of the user program under the supervision of an operating system, random access data memory (RAM) for user and operating system data, battery backed RAM or non- volatile EEPROM for storing the user program, and a permanent ROM or EPROM for storage of the operating system software. The user program is typically prepared on a general purpose computer and loaded into the PLC in symbolic form. The loading is typically by means of a serial communications protocol, though a removable memory cartridge may sometimes be used to by-pass this step. Within the PLC, the symbolic code is converted to executable code by a compiler. Included in the system software that must be permanently stored in ROM, there is the actual operating system that coordinates execution, the communications software to support transfer of the user program and data, and the compiler which converts the symbolic user program to executable form. The operating system has to coordinate the communications, compilation, and program execution functions. This requires some sophistication of the operating system to respond to communications events, queue/de queue deferred tasks, and manage mode transitions between program mode and run mode. The compiler and communications software functions may be quite large, and significantly extend permanent storage requirements beyond that needed for controlling the execution of the user program. Recently introduced models designed for low cost have used micro controllers including the data RAM and operating system ROM on a single chip with the microprocessor. The user program is contained in an external storage device: battery backed RAM, EPROM, or EEPROM, possibly added to the basic unit as a removable memory cartridge. OBJECTS AND SUMMARY OF THE INVENTION It is an object of the present invention to provide a memory that resolves the afore-mentioned problems. In this invention the functions of the programmable logic controller are located in physically separable units. These physically separable units include a program execution device, or control device, whose function is limited to sequencing through the user logic program and a communication/programming device, which provides the programmability function. A micro controller incorporating a micro processor, RAM, and re programmable Flash EPROM in a single package implements the logical core of the program execution device. The external pins of this package can be largely devoted to the 110 functions of the programmed control task, and do not need to be utilized for access of external memory devices by the micro processor. External memory devices, data / address busses, buffers, etc. are eliminated from the architecture, reducing size and cost of the control function. The communication / programming device provides in a separable package all functions required for external communication and conversion of the user program from symbolic form to binary code, and loading of that code into the program execution device. This binary code is programmed into the re programmable memory of the program execution device by direct manipulation of the logic controls of the re programmable memory. These controls are carried via dual use pins on the micro controller, which are used for the main mission I/O function of the controller when the user program is executing. Instead of having a distinct operating system, the binary code loaded into the micro controller includes a compilation of the symbolic user control program with a system support kernel. The kernel provides support for time base functions seen as services by the user, watchdog timer maintenance, and re-starting of the user program after each completion of the user program sequence. The block diagram below shows the extreme simplicity of the program execution device. This diagram shows, as non-essential auxiliary features, a watchdog timer function to disable outputs on controller failure and optical isolation of inputs and outputs. The communication / programming device consists of a micro processor or micro controller, together with sufficient RAM and ROM to handle the given tasks, a communications port useable by a general purpose computer, and controlled lines to a programming port which can program the ROM of the program execution device. The advantage of this invention is that it minimizes components required to implement the most often used portion of a programmable logic controller, thus leading to lower cost. The burden of communications and compilation firmware and storage hardware, which is required only for program development, is excluded from the program execution device. The communication and program compilation tools are included in a separate programming device, by which the user may make use of a single instance of the programming device to program a potentially very large number of program execution devices. In existing programmable logic controllers, these included functions of communication and compilation typically consume tens of thousands of bytes of stored binary code. Removing these functions from the program execution device represents a significant saving in hardware for controllers that are designed for user programs of only a few hundreds of bytes. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 shows the invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS In this invention the functions of the programmable logic controller are located in physically separable units. These physically separable units include a program execution device, or control device, whose function is limited to sequencing through the user logic program and a communication/programming device, which provides the programmability function. As shown in Fig. 1, a micro controller 10 incorporating a micro processor 12, RAM 14, and reprogrammable Flash EPROM 16 in a single package lδimplements the logical core of the program execution device. The external pins 20 of this package can be largely devoted to the I/O functions of the programmed control task, and do not need to be utilized for access of external memory devices by the micro processor. External memory devices, data / address busses, buffers, etc. are eliminated from the architecture, reducing size and cost of the control function. The communication / programming device provides in a separable package all functions required for external communication and conversion of the user program from symbolic form to binary code, and loading of that code into the program execution device. This binary code is programmed into the re programmable memory of the program execution device by direct manipulation of the logic controls of the re programmable memory. These controls are carried via dual use pins on the micro controller, which are used for the main mission I/O function of the controller when the user program is executing. Instead of having a distinct operating system, the binary code loaded into the micro controller includes a compilation of the symbolic user control program with a system support kernel. The kernel provides support for time base functions seen as services by the user, watchdog timer maintenance, and re-starting of the user program after each completion of the user program sequence. The diagram of Fig. 1 below shows the extreme simplicity, yet novel ingenuity, of the program execution device. This diagram shows, as non-essential auxiliary features, a watchdog timer 22 function to disable outputs on controller failure and optical isolation 24 of inputs and outputs. The communication / programming device consists of a micro processor or micro controller, together with sufficient RAM and ROM to handle the given tasks, a communications port useable by a general purpose computer, and controlled lines to a programming port which can program the ROM of the program execution device. The advantage of this invention is that it minimizes components required to implement the most often used portion of a programmable logic controller, thus leading to lower cost. The burden of communications and compilation firmware and storage hardware, which is required only for program development, is excluded from the program execution device. The communication and program compilation tools are included in a separate programming device, by which the user may make use of a single instance of the programming device to program a potentially very large number of program execution devices. In existing programmable logic controllers, these included functions of communication and compilation typically consume tens of thousands of bytes of stored binary code. Removing these functions from the program execution device represents a significant saving in hardware for controllers that are designed for user programs of only a few hundreds of bytes.

Claims: Claims : 1. A programmable logic controller comprising: a single chip micro controller; internal RAM that is internal to said single micro controller; and internal re programmable read only memory that is internal to said single chip micro controller, the internal re programmable memory being used to store a user program for actualizing programmable logic controller functions. 2. A programmable logic controller program for directing a programmaable logic controller, comprising: a user program; and system sequencing and coordination instructions necessary to operate said programmable logic controller, wherein said user program and system sequencing and coordination instructions are compiled together into a single executable firmware module of said programmable logic controller, requiring no external operating system. 3. A programmable logic controller system, comprising: a program execution device having a re programmable memory and whose function is limited to program execution of a programmable logic controller; and a separable communication/programming device, which provides the programmability function, wherein said communication/programming device provides in a separable package all functions required for external communication and conversion of a user program for controlling said programmable logic controller from symbolic form to binary code, and loading of that code into said program execution device and wherein said binary code is programmed into said re programmable memory of said program execution device by direct manipulation of logic controls of said re programmable memory.

Inventors: MCNUTT ALAN, MCNUTT, ALAN
Applicants: SIEMENS ENERGY & AUTOMAT, SIEMENS ENERGY & AUTOMATION, INC.
Application year: 2000
Main classification: G06F15
IPC codes: G06F15