[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

US5475583A - Programmable control system including a logic module and a method for programming - Google Patents

Programmable control system including a logic module and a method for programming Download PDF

Info

Publication number
US5475583A
US5475583A US07/840,326 US84032692A US5475583A US 5475583 A US5475583 A US 5475583A US 84032692 A US84032692 A US 84032692A US 5475583 A US5475583 A US 5475583A
Authority
US
United States
Prior art keywords
logic
internal electrical
connections
performance characteristics
subfunctions
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.)
Expired - Lifetime
Application number
US07/840,326
Other languages
English (en)
Inventor
Genther Bock
Helmut Macht
Christof Wombacher
Manfred Prechtl
Andre Lengemann
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.)
Callahan Cellular LLC
Original Assignee
Siemens AG
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
Application filed by Siemens AG filed Critical Siemens AG
Assigned to SIEMENS AKTIENGESELLSCHAFT reassignment SIEMENS AKTIENGESELLSCHAFT ASSIGNMENT OF ASSIGNORS INTEREST. Assignors: BOCK, GUNTHER, LENGEMANN, ANDRE, MACHT, HELMUT, PRECHTL, MANFRED, WOMBACHER, CHRISTOF
Application granted granted Critical
Publication of US5475583A publication Critical patent/US5475583A/en
Assigned to PRASENDT INVESTMENTS, LLC reassignment PRASENDT INVESTMENTS, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SIEMENS AKTIENGESELLSCHAFT
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/1174Input activates directly output and vice versa
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/1176I-O signal processing, adaption, conditioning, conversion of signal levels
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/1185Feedback of output status to input module and compare with command
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13007Program hardwired logic, pld, fpga when out of machine, or inactive
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13071Non time critical program by processor, time critical program by hardware
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13109Pld programmable logic device software for plc
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15057FPGA field programmable gate array
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15074Modules on bus and direct connection between them for additional logic
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15078Modules, construction of system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15105Hardwired logic to accelerate, speed up execution of instructions

Definitions

  • the present invention relates to a storage-programmable control system having several inputs and outputs for linking process control elements, for example sensors or final controlling elements.
  • the present invention also relates to a method for operating a storage-programmable control system and a method for the computer-controlled, internal electrical connection of a field-programmable gate array.
  • the present invention provides a storage-programmable control system which can handle extremely fast control operations. Furthermore, the present invention provides a method which enables such a storage-programmable control system, containing a logic module with a field-programmable gate array, to be programmed quickly and simply.
  • control system of the present invention By providing the control system of the present invention with at least one logic module having an internal interconnection connecting at least one output to its corresponding input, extremely fast control operations can be handled. In this manner, the output signal from this output is constantly adapted to the value of the corresponding input, so that a costly alarm response system, which would otherwise be necessary at this input, is no longer needed.
  • the logic module of the present invention is advantageously designed to operate in parallel, so that several inputs and outputs are connected to one another..As a result, the output signals from these outputs are not subject to- beat frequencies and fluctuations caused by the processing time and can therefore be stably reproduced.
  • control system can be easily adapted to altered requirements.
  • the logic module By providing the logic module with a static storage device for storing the conditions which stipulate its internal interconnection, programming the logic module is quite simple.
  • the logic module can be a field-programmable gate array (FPGA).
  • the logic module is advantageously configured in an input/output subassembly, since the control system's system bus would no longer be needed for data transfer.
  • the logic module is also advantageous.
  • control system of the present invention enables at least one input signal to be read into a logic module and processed there, so that the logic module is capable of outputting an output signal corresponding to the input signal.
  • the present invention provides the following method which enables a storage-programmable control system to be programmed quickly and simply:
  • the determined internal electrical configuration including the connections and possibly the logic functions, are applied to the logic array;
  • the logic array is then programmed by
  • Programming the logic array is particularly simple for the user when the total functional performance characteristics are specified in a programming language for storage-programmable control systems, especially in a graphic programming language.
  • FIG 1 depicts several subassemblies of a modular storage-programmable control system
  • FIG. 2 depicts the internal structure of an input/output subassembly
  • FIG. 3 depicts the connections between inputs and outputs
  • FIG. 4 depicts the structural design of an input/output subassembly
  • FIG. 5 depicts the inner structure of a field-programmable gate array
  • FIG. 6 depicts the design of a logic block
  • FIG. 7 depicts an example of solving a traffic-signal installation problem
  • FIGS. 8a-8n depicts the corresponding solution realized by circuit engineering of the traffic-signal-installation control
  • FIG. 9 depicts the preliminary establishment of the internal electrical connections
  • FIG. 10 depicts an example of an internal electrical standard connection
  • FIG. 11 depicts the specified total performance characteristics realized in the field-programmable gate array.
  • FIG. 12 depicts schematically depicts the communication between the logic module and the processor.
  • a modular storage-programmable control system comprises a current supply 1, a central processing unit 2, the input/output subassemblies 3, 3', as well as additional peripheral units 4.
  • the subassemblies 2, 3, 3', 4 are interconnected via a bus 5.
  • the central processing unit 2 has at least one processor 6 for executing a program, as well as an interface 7 for exchanging data with a programming unit.
  • the subassembly 3 has a logic module 10, which can be a field-programmable gate array (FPGA), for example.
  • the logic module 10 is connected via processor 11 to the bus 5 and, consequently, to the central processing unit 2.
  • FPGA field-programmable gate array
  • the user sets up two program parts using the above-mentioned programming unit: a non-time critical part; and a time-critical part. Both parts are transferred by the programming unit to the processor 6 of the central processing unit 2.
  • the non-time critical part is stored in the central processing unit 2, as is customary for storage-programmable control systems, and is executed sequentially.
  • the time-critical part is transferred further by the processor 6 to the logic modules 10, 10', and is converted by these modules into a logical interconnection.
  • the two program parts operate independent of one another. However, by using special commands, the processor 6 and the logic modules 10, 10' can exchange information.
  • the logical conditions, which establish the interconnection of the logic module 10, are advantageously transferred to a static storage device 12 of the logic module 10, such that the interconnection of the logic module 10 is determined based on the contents of the storage device 12.
  • the subassembly 3' likewise has a logic module 10' with a static storage device 12'. However, the logic module 10' is programmed via a user storage module 13'. When the interconnection of the logic module 10' is to be altered, the user storage module 13' must be replaced or reprogrammed since the logical conditions which determine the interconnection of the logic module 10' are stored in the user storage module 13'.
  • FIG. 2 shows the electrical design of the subassembly 3.
  • the inputs 8 are connected via input filters 14 to the logic module 10, and the outputs 9 are connected from the logic module 10 via output drivers 15 thereby ensuring that the logic module 10 is not damaged by an unintentionally defective circuit wiring, a short circuit, or similar malfunctions.
  • the input signals can be debounced by the input filters 14.
  • signal levels can be adapted to by the filters 14 and the drivers 15, for example from 20 mA to 5 V.
  • the logic module 10 is connected, via bus 16 and control lines 17, to the processor 11, and thus also to the processor 6. Therefore, monitoring the correct function of the logic module 10 is possible, even during operation.
  • the values of corresponding inputs 8 and outputs 9 can be transmitted simultaneously to the processor 11 and, in addition, to the processor 6 for processing in the logic module 10.
  • intermediate states of the logic module 10 for example a flag or a counter content, can be signalled to the processor 6.
  • New control parameters for example new time constants, can also be transferred to the logic module 10.
  • the control lines 17 depicted in FIG. 2 are used, for example, to transmit a reset signal, with which the internal flags can be reset, and to allow the logic module 10 to provide the processor 6 with its present programming state, for example, "programming logic module altered".
  • the programming of the logic module 10 can only be altered when the logic module 10 is inactive, i.e., when the logic module 10 is not linked to the control of a process.
  • the logic module 10 comprises several independent operative parts, deactivating only one part, to alter that part's programming, is possible.
  • the logic module 10 has an input latch 20 and an output latch 21, clocked, for example, with a clock pulse of 1 MHz.
  • the inputs 8 provide the inputs of the input latch 20.
  • the outputs of the output latch 21 provide the outputs 9.
  • the actual, parallel processing of the signals takes place between the latches 20, 21.
  • an elementary logical gating of the inputs E0 and E1 is carried out, for example, in the logic switch 22, possibly also including interim results, as is indicated through the line 23.
  • the result of the logic switch 22 can be further processed or directly supplied to one of the output latch's input pins.
  • the result of the logic switch 22 is provided to the output A0.
  • the logic switches 22 can carry out any elementary, logical gatings, for example, EQV, AND, OR, NAND, NOR.
  • the logic module 10 advantageously has storing elements 24, from which counters, timing devices or edge trigger flags, for example, can then be set up.
  • FIG. 4 depicts a preferred structural design of the input/output subassembly 3.
  • the subassembly 3 is preferably an encapsulated, pluggable, printed-board assembly, connected to a modular mounting rack 25.
  • the subassembly 3 has a module slot 26 to accommodate, for example, the user module 13' depicted in FIG. 1 and has an interface 27 for linking a programming unit. Programming the logic module 10 contained in the subassembly 3 directly (i.e., not via the processor 6) is possible via the user module 13' and the interface 27.
  • the subassembly 3 includes two sub-D plug-in contacts 28a and 28b, whereby the contacts 28a are used for connecting sensors and the contacts 28b are used for connecting final controlling elements.
  • the present invention maps a conventional, sequential, user program for a storage-programmable control system, to the extent possible, onto the structures known from contactor relaying (i.e., to directly wire up the corresponding inputs and outputs via logic elements).
  • contactor relaying i.e., to directly wire up the corresponding inputs and outputs via logic elements.
  • the logical conditions of a user program produced in a programming language for storage-programmable control systems are converted into a connection list and filed in a data field. These data are then loaded into the logic module 10 and provide the data necessary for a corresponding internal interconnection of the logic module 10.
  • FIG. 1 interconnecting several of these logic modules 10, 10' serially and/or in parallel to one another is possible such that the program to be run is divided between the central processing unit 2 and the subassemblies 3,3'.
  • the logic module was used in a modular programmable controller. This application of the logic module is also possible in a programmable controller capable of stand-alone operation. In the most basic version of this programmable controller, the programmable controller no longer has a processor, but still has the logic module, so that the program to be executed is carried out solely by the logic module. In such a version, programming the logic module takes place either via an interface to a programming unit or via a storage module previously programmed by the user.
  • FIG. 5 depicts a portion of the inner structure of such a logic arrays.
  • the inner structure shows a two-dimensional matrix of, for example, 12 ⁇ 12 logic blocks 31. This matrix is surrounded by a ring of input/output blocks. Two input/output blocks are assigned to both the beginning as well as the end of each row and each column. The input/output blocks are not depicted for clarity.
  • two non-interruptible connections 32 are assigned to each row of logic blocks 31; and three connections 33, two of which can be interrupted once in the middle of each column are assigned to each column.
  • This configuration of logic blocks 31 and input/output blocks is penetrated by a network with 13 ⁇ 13 switching matrices 34, whereby adjacent switching matrices 34 are each interconnected via five short connections 35.
  • the logic blocks 31 each comprise a combination block 310, which determines two output variables 312 from a maximum of five input variables 311. Further, the logic block 31 has two flipflops 313, 314, having input signals consisting either of one of the output variables 312 of the combination block 310 or of a variable input directly through the input 315. The output signals from the flipflops 313, 314 can either be fed back into the combination block 310 or be output as one of the output signals 316 from the logic block 31. Thus, programming the logic block 31 can be directed towards those logic and/or storage functions to be carried out.
  • the two output functions of the logic block 31 are independent of one another. However, here they are always selected to be the same, since each of the two outputs 316 can be directly connected to two of the four closest neighbors of its logic module. Because the two functions are identical, the output signal of each logic block 31 can be made available as an input signal to its four closest neighbors (see FIG. 5). Therefore, a more structured topology results.
  • outputs 316 can be connected to the short connections 35 surrounding them, as well as to the long connections 32, 33 surrounding them.
  • electrical connections still can be programmed among the points of intersection between the long connections 32, 33, as well as between the long connections 32, 33 and the short connections 35.
  • the switching matrices 34 are likewise programmable. They can realize a multitude of the theoretically conceivable interconnections, for example, horizontal and/or perpendicular through-connections, the contacting of horizontal with perpendicular short connections 35, and dividing up one connection into two or three.
  • the input/output blocks are connected to a chip connection pin and can optionally either input or output a signal, whereby this signal can be optionally clocked or not.
  • each logic block 31, each switching matrix 34, and each input/output block are each stored locally in these elements.
  • each is provided with a small static storage device 12 (SRAM).
  • SRAM static storage device 12
  • Manufacturers' manuals, such as manuals covering the XC 3000 logic cell array family by Xilinx may be referred to, to provide any further details concerning field-programmable gate array modules.
  • ASIC application specific integrated circuit
  • Programs exist for converting the desired programming into internal interconnections of the logic module 10.
  • the running time of these programs that is, the time required to transform the desired total performance characteristics into an internal interconnection of the logic arrays, amounts to quite a few minutes, hours, sometimes even days.
  • the long running time of these programs is particularly due to the diverse connecting possibilities.
  • the example is drawn from the task collector, Simatic S5 of Siemens AG, order no. E 80850-C 345-X-A1, and is clarified referring to FIG. 7.
  • traffic on a street must be directed over a traffic lane due to construction work.
  • an optional traffic-signal installation is installed. When the installation is switched on, both traffic lights show red. If an initiator is actuated, then a corresponding light switches after 10 seconds to green. The green phase is supposed to last for at least 20 seconds, until both signal lamps show red again as the result of possible actuation of the other initiator. After 10 seconds, the other traffic lane is switched to green. If there is no status signal from an initiator, then the traffic-signal installation remains in its current state. The installation is only supposed to be able to be switched off after the green phase of a traffic lane. When the control system is switched on, the initial state (M0) must be unconditionally set.
  • the corresponding interconnection is represented in the programming language for storage programmable controllers FUP (function diagram), as depicted in FIGS. 8a-8n.
  • FUP function diagram
  • FIGS. 8a-8n A typical user of storage programmable controllers is familiar with this type of programming.
  • the present invention converts the specified total performance characteristics, formulated in a programming language for storage programmable controllers, quickly and simply into an FPGA structure, such that the user of storage programmable controllers can program the logic module 10.
  • the program converted into the corresponding internal interconnection of the logic module 10 by the user program only takes advantage of a small fraction of the theoretically complex possibilities of the logic module 10 because a portion of the connections freely selectable in principle, for example the internal interconnection of the switching matrices 34, is firmly stipulated in the conversion program, and thus cannot be influenced by the programmer of the user program.
  • the interconnections of the switching matrices 34 of each of the thirteen perpendicular columns are explicitly specified such that, first of all, the top-most, the bottom-most, as well as the middle three switching matrices 34 of one column connect through the horizontally running short connections 35 and, for the moment, do not yet connect the other short connections 35, and secondly, the remaining switching matrices 34 only connect through the perpendicular (i.e., vertical) short connections 35 and block the horizontal short connections 35.
  • a structure as depicted in FIG. 9 is formed as follows: groups 36 are formed, each containing five logic blocks 31, arranged one below the other, and surrounded in the front and back by five short connections 37 which extend over the length of a "half column".
  • the circuit arrangement of FIG. 8 is mapped onto these groups 36 in a manner described below.
  • the two horizontal middle rows of logic blocks 31 are used to generate clock signals in a manner described below.
  • the groups 36 formed in this manner are of a manageable size. On the one hand, they are not so complex as to be incomprehensible so that estimating if a subnetwork of the total circuit arrangement to be realized can be achieved by one of the groups 36 is easy. On the other hand, the groups are large enough so that breaking up the entire circuit arrangement of FIG. 8 into subnetworks which are too small is not necessary.
  • the available connection resources and the available logical capacity of the groups 36 are used as a criterion for selecting the subnetworks. Each subnetwork is designed such that:
  • the AND-gate 82 can be realized in the same logic block 31 is immediately recognizable, since combining these two functions also only results in a combination function with three inputs and one output.
  • a separate logic block 31 is assigned to the RS-flipflop 83, since each of the logic blocks 31 can either only execute a combination function or only detect a storage function due to a compiler directive. Therefore, the subnetwork 84 (see FIG. 8a) can be realized in one group 36, since altogether only four input signals (of a maximum of 5); one output signal (of a maximum of 5) and two logic blocks 31 (of a maximum of 5) are needed.
  • the other networks 91 through 100 (see FIGS. 8g-8n) of the entire circuit arrangement are divided up analogously, but are not yet assigned to specific groups 36.
  • timing elements 99 and 100 cause a certain difficulty when the individual networks are divided up, since no corresponding counterpart in the "world of field programmable gate arrays" corresponds to a timing element in the "world of storage programmable controllers". Nevertheless, to allow the user of storage programmable controllers to easily program timing elements, this function, often required for storage-programmable control systems, is made available to the user as a function macro.
  • the compiler recognizes that a function macro exists and converts this macro into an internal standard connection movable within the logic arrays.
  • the internal standard connection was first determined thereby by the compiler manufacturer or rather by the ASIC designer. In this manner, the compiler is not burdened with determining the connections which realize the function macro.
  • FIG. 10 shows an example of such a standard connection for a timer, which can count up to 2 10 cycle times.
  • the actual countable time of course, still depends on the clocking of the counting unit.
  • FIG. 10 requires three side-by-side groups 36 of logic blocks 31.
  • the exact mapping of the logic on FPGA structures depicted in FIG. 10 is irrelevant for the user of storage programmable controllers.
  • the compiler manufacturer, or rather the ASIC designer must be careful that only local connections, in other words direct connections and short connections 35, are used rather than global long connections 32, 33. This enables these macros to not only be easily moved (thus relocated) and also to be placed independently of the networks or macros surrounding them.
  • subnetworks 84 through 98 After the-entire circuit arrangement is broken down into subnetworks 84 through 98, these subnetworks are combined, in so far as the combination also fulfills the above described criteria a) through d).
  • the subnetworks 87 (see FIG. 8d) and 94 (see FIG. 8j), as well as the subnetworks 93 (see FIG. 8i) and 97 (see FIG. 8m) are combinable. This combination is not absolutely necessary, but does increase the utilization factor of the logic arrays.
  • the individual subnetworks 84 through 100 are assigned now to the individual groups 36, as depicted in FIG. 11.
  • the subnetworks 84 through 100 are allocated to the individual groups 36 by their sequence. This is the simplest way to allocate the subnetworks. More complex solutions which already consider the connections of the subnetworks 84 through 100 among themselves are also conceivable.
  • the outermost groups 36 are not occupied, since the external, lengthened, short connections 37 are not available to tie up these groups, but are needed elsewhere. This use for a different purpose shall be described below.
  • the internal electrical connections are established.
  • the direct connections between the logic blocks 31 are utilized initially.
  • only the flag output of the subnetworks 84 through 91 can be put through further into the next network in each case.
  • this is not useful, since the output signals from the individual subnetworks are also needed elsewhere and, therefore, more global connections must be used.
  • the input and output signals to and from the process to be controlled are put through, thus the input signals E0 through E2 and the output signals A1 through A4.
  • the input and output signals are fed directly via the horizontal long connections 32 to the outermost of the lengthened short connections 37. If the horizontal long connections 32 are already occupied, for example because three signals have to be put through, but only two horizontal long connections 32 are available, the signals are initially applied to perpendicular long connections 33 or to the perpendicular short connections 37. They are then fed via a long connection 32, which is assigned to another row of logic blocks 31, to the edge of the logic arrays. At the edges of the logic arrays, the input and output signals are put through further by the lengthened short connections 37 such that, for example, the logical input signal E0 is put through to the physical process input E0.
  • the five lengthened short connections 37 between the subnetworks 84 through 100 always suffice to network the inputs and outputs of the subnetworks 84 through 100 perpendicularly to one another. Should more than five lines be required, the perpendicular long connections 33 would be used to effect a complete connection, preferably initially the interruptible long connections 33.
  • the three internal output signals still to be put through are applied to three of the horizontal long connections 32, so that they are likewise able to be tapped off where they are needed. If one of these three signals is produced in the top row of the groups 36 as an output signal, but is needed in the bottom row of groups 36 the specific internal output signal is applied to one of the horizontal long connections 32 in the top half of the logic arrays.
  • This horizontal long connection 32 is connected to a perpendicular long connection 33, and the perpendicular long connection 33 is connected to a horizontal long connection 32, arranged in the bottom half of the logic arrays so that this signal is also available in the bottom half of the logic arrays.
  • the three internal signals mentioned above are produced only once as an output signal, namely in the subnetworks 90, 93 and 94, and are also needed only once as input signals, namely by the subnetworks 89, 99 and 100.
  • these signals can be connected among themselves directly via closest-neighbor connections of the logic blocks 31.
  • a connection is also possible via the lengthened short connection 37 situated between the prevailing subnetwork pairs. In both cases, no horizontal connections 32, 41, 42, 43 are needed Consequently, these connections are available elsewhere.
  • clock pulses of 1 ms, 10 ms, 100 ms and 1 second are made available within the logic arrays in the following manner:
  • Divider steps are set up by the compiler manufacturer using ASIC design tools. These steps divide any applied clock pulse down to 1/10, 1/100 and 1/1000 of its original frequency. This divider macro, is created thereby such that it only requires the two middle, previously unused rows of logic blocks 31, as well as the direct connections between these logic blocks. This portion of the system- programming of the FPGAs is fixed and does not change. A clock pulse of 1 ms is applied directly into this divider macro from outside of the logic module 10, via one of the input/output buffers.
  • the logic modules 10, 10' and the central processing unit 2 must also exchange data with one another during operation.
  • the parameterization of the logic module 10 may need to be changed during operation.
  • the central processing unit 2 should be informed, at least from time to time, about the actual state of the logic module 10 (or 10').
  • the processor 6 and the logic modules 10, 10' are not synchronized with one another. Therefore, the problem of data consistency arises. As a result, the problem is further magnified because the processor 6 and the logic modules 10, 10' communicate data to each other serially. The serial data communication is necessary., otherwise too many of the pins of the logic modules 10, 10' would be needed to communicate with the processor 6.
  • the problem is solved by providing the user with other function macros.
  • These function macros realize shift registers used for temporarily storing or buffering input or output data, and realizing working storages.
  • the new data to be input are first written thereby by the processor 6 into the write buffer storage, for example of the logic module 10.
  • the values stored in the buffer storages are indeed available in the logic module 10, but are not yet used since they have not yet been released.
  • the new values written into the logic module 10 are then retrieved by the buffer storages into the working storages by a separate command.
  • the values read out of the logic module 10 are read into other, so-called read buffer storages.
  • the data are then serially read out of these read buffer storages into the processor 6.
  • FIG. 12 shows an example of such a data cycle.
  • five lines are needed to transmit all the required signals.
  • the following information is transmitted on those lines:
  • CLK is a clock pulse.
  • CLK binary one (1)
  • the buffer storage addressed at any one time reads a new bit in or out.
  • DATA is the data line, on which the information is transmitted. In the present example, nothing but binary ones (Is) are transmitted (purely coincidentally).
  • At least four lines namely the lines RW, CLK, data, as well as at least one address line, are needed to read from or write to the buffer storages.
  • These four signals are applied to the middle one of the three short, previously unused, connection strips 43 (see FIG. 9). As a result, these four signals are available across the entire logic module 10. When no parameters at all have to be read in or out, the middle one of the three short connection strips 43 is available for internally connecting the groups 36.
  • additional address signals PA3, PA4, etc. are applied to the logic module 10. These additional address signals are normally applied to two horizontal long connections 32 (see FIG. 5), whereby one of the long connections 32 is configured in the top half of the logic field, and the other in the bottom half of the logic arrays.
  • the signal-light control selected in the present case as an exemplified embodiment is of course not as time-critical as other control operations.
  • the signal-light control example was selected because the principle procedure was able to be easily explained on the basis of this simple example.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Programmable Controllers (AREA)
  • Logic Circuits (AREA)
  • Labeling Devices (AREA)
  • Bus Control (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Auxiliary Devices For And Details Of Packaging Control (AREA)
US07/840,326 1991-02-22 1992-02-24 Programmable control system including a logic module and a method for programming Expired - Lifetime US5475583A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
DE4105678.7 1991-02-22
DE4105678 1991-02-22
EP91119483A EP0499695B1 (de) 1991-02-22 1991-11-14 Speicherprogrammierbare Steuerung
EP91119483 1991-11-14

Publications (1)

Publication Number Publication Date
US5475583A true US5475583A (en) 1995-12-12

Family

ID=6425718

Family Applications (1)

Application Number Title Priority Date Filing Date
US07/840,326 Expired - Lifetime US5475583A (en) 1991-02-22 1992-02-24 Programmable control system including a logic module and a method for programming

Country Status (5)

Country Link
US (1) US5475583A (de)
EP (2) EP0499695B1 (de)
JP (1) JPH07168610A (de)
CA (1) CA2061599A1 (de)
DE (3) DE59107764D1 (de)

Cited By (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19606747A1 (de) * 1996-02-23 1997-08-28 Scharco Elektronik Gmbh & Co K Anordnung zur Steuerung von Anzeige- und/oder Stellgeräten für den industriellen Einsatz
US5692133A (en) * 1992-12-14 1997-11-25 Siemens Aktiengesellschaft Arrangement having several functional units
US5731712A (en) * 1995-11-09 1998-03-24 Welch; John T. Programmable gate array for relay ladder logic
US5734880A (en) * 1993-11-30 1998-03-31 Texas Instruments Incorporated Hardware branching employing loop control registers loaded according to status of sections of an arithmetic logic unit divided into a plurality of sections
EP0790541A3 (de) * 1996-02-16 1998-12-16 WIELAND ELECTRIC GmbH Anschlusseinrichtung für ein elektrisches Installationssystem
US5867037A (en) * 1996-10-24 1999-02-02 International Business Machines Corporation Method and apparatus of programming FPGA devices through ASIC devices
US5943242A (en) * 1995-11-17 1999-08-24 Pact Gmbh Dynamically reconfigurable data processing system
JPH11253530A (ja) * 1998-03-10 1999-09-21 Tosho:Kk 調剤用センサネットワークシステム
US6021490A (en) * 1996-12-20 2000-02-01 Pact Gmbh Run-time reconfiguration method for programmable units
US6038650A (en) * 1997-02-04 2000-03-14 Pactgmbh Method for the automatic address generation of modules within clusters comprised of a plurality of these modules
US6081903A (en) * 1997-02-08 2000-06-27 Pact Gmbh Method of the self-synchronization of configurable elements of a programmable unit
US6088795A (en) * 1996-12-27 2000-07-11 Pact Gmbh Process for automatic dynamic reloading of data flow processors (DFPs) and units with two or three-dimensional programmable cell architectures (FPGAs, DPGAs and the like)
US6119181A (en) * 1996-12-20 2000-09-12 Pact Gmbh I/O and memory bus system for DFPs and units with two- or multi-dimensional programmable cell architectures
US6134704A (en) * 1998-04-03 2000-10-17 International Business Machines Corporation Integrated circuit macro apparatus
US6237128B1 (en) * 1997-10-01 2001-05-22 International Business Machines Corporation Method and apparatus for enabling parallel layout checking of designing VLSI-chips
US6286127B1 (en) * 1998-02-06 2001-09-04 Texas Instruments Incorporated Control circuit having multiple functions set by a single programmable terminal
US6338106B1 (en) 1996-12-20 2002-01-08 Pact Gmbh I/O and memory bus system for DFPS and units with two or multi-dimensional programmable cell architectures
WO2002044821A2 (en) 2000-11-30 2002-06-06 Matsushita Electric Works, Ltd. General-purpose functional circuit and general-purpose unit for programmable controller
US6405299B1 (en) 1997-02-11 2002-06-11 Pact Gmbh Internal bus system for DFPS and units with two- or multi-dimensional programmable cell architectures, for managing large volumes of data with a high interconnection complexity
US6425068B1 (en) 1996-12-09 2002-07-23 Pact Gmbh Unit for processing numeric and logic operations for use in central processing units (cpus), multiprocessor systems, data-flow processors (dsps), systolic processors and field programmable gate arrays (epgas)
US6480937B1 (en) 1998-02-25 2002-11-12 Pact Informationstechnologie Gmbh Method for hierarchical caching of configuration data having dataflow processors and modules having two-or multidimensional programmable cell structure (FPGAs, DPGAs, etc.)--
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
EP1308807A2 (de) * 2001-10-31 2003-05-07 Agilent Technologies, Inc. Interpretation von eingebetteter Programmiersprache zur Konfiguration von Aufspannanwendungen
US6697979B1 (en) 1997-12-22 2004-02-24 Pact Xpp Technologies Ag Method of repairing integrated circuits
US20050222693A1 (en) * 2004-03-15 2005-10-06 Omron Corporation Sensor controller
US6990555B2 (en) 2001-01-09 2006-01-24 Pact Xpp Technologies Ag Method of hierarchical caching of configuration data having dataflow processors and modules having two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.)
JP2006048632A (ja) * 2004-03-15 2006-02-16 Omron Corp センサコントローラ
US7003660B2 (en) 2000-06-13 2006-02-21 Pact Xpp Technologies Ag Pipeline configuration unit protocols and communication
US7210129B2 (en) 2001-08-16 2007-04-24 Pact Xpp Technologies Ag Method for translating programs for reconfigurable architectures
US7266725B2 (en) 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
US7394284B2 (en) 2002-09-06 2008-07-01 Pact Xpp Technologies Ag Reconfigurable sequencer structure
US7434191B2 (en) 2001-09-03 2008-10-07 Pact Xpp Technologies Ag Router
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US20090008232A1 (en) * 2006-12-20 2009-01-08 Sick Ag Modular safety switching system and method
US7581076B2 (en) 2001-03-05 2009-08-25 Pact Xpp Technologies Ag Methods and devices for treating and/or processing data
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
US7657877B2 (en) 2001-06-20 2010-02-02 Pact Xpp Technologies Ag Method for processing data
US7822881B2 (en) 1996-12-27 2010-10-26 Martin Vorbach Process for automatic dynamic reloading of data flow processors (DFPs) and units with two- or three-dimensional programmable cell architectures (FPGAs, DPGAs, and the like)
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US7996827B2 (en) 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US8127061B2 (en) 2002-02-18 2012-02-28 Martin Vorbach Bus systems and reconfiguration methods
US8156284B2 (en) 2002-08-07 2012-04-10 Martin Vorbach Data processing method and device
US8230411B1 (en) 1999-06-10 2012-07-24 Martin Vorbach Method for interleaving a program over a plurality of cells
US8250503B2 (en) 2006-01-18 2012-08-21 Martin Vorbach Hardware definition method including determining whether to implement a function as hardware or software
US8281108B2 (en) 2002-01-19 2012-10-02 Martin Vorbach Reconfigurable general purpose processor having time restricted configurations
US8686475B2 (en) 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
US8812820B2 (en) 2003-08-28 2014-08-19 Pact Xpp Technologies Ag Data processing device and method
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
EP2853965A1 (de) * 2013-09-30 2015-04-01 Siemens Aktiengesellschaft Zeitdeterministische Mensch-Maschine-Schnittstellenvorrichtung und System und Konfigurationsverfahren dafür
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US9349288B2 (en) 2014-07-28 2016-05-24 Econolite Group, Inc. Self-configuring traffic signal controller
US11200127B2 (en) * 2019-04-11 2021-12-14 Synopsys, Inc. Automated self-check of a closed loop emulation replay

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE59208136D1 (de) * 1992-08-27 1997-04-10 Siemens Ag Steuergerät, insbesondere für die Kraftfahrzeugtechnik
EP0620510A1 (de) * 1993-04-15 1994-10-19 Siemens Aktiengesellschaft Elektrisches Gerät mit konfigurierbarer Schnittstelle
DE4312305C5 (de) * 1993-04-15 2004-07-15 Abb Patent Gmbh Sicherheitsgerichtete speichergrogrammierbare Steuerung
US5555267A (en) * 1993-07-30 1996-09-10 Burke, Jr.; George E. Feedforward control system, method and control module
US6033257A (en) 1995-11-20 2000-03-07 The Foxboro Company I/O connector module for a field controller in a distributed control system
EP0862755A4 (de) * 1995-11-20 1998-12-30 Foxboro Co Erweiterbares feldsteuerungsgerät in einem verteilten steuerungssystem
DE19650381C1 (de) * 1996-12-05 1998-05-28 Kostal Leopold Gmbh & Co Kg Schaltungsanordnung
DE19700586A1 (de) * 1997-01-10 1998-07-16 Kloeckner Moeller Gmbh Speicherprogrammierbare Steuerung mit adaptiver Zentraleinheit
US6219628B1 (en) 1997-08-18 2001-04-17 National Instruments Corporation System and method for configuring an instrument to perform measurement functions utilizing conversion of graphical programs into hardware implementations
CA2320079A1 (en) * 1998-02-06 1999-08-12 Siemens Aktiengesellschaft Method and device for processing data in accordance with a predetermined processing function with the aid of a programmable logic element
US7152027B2 (en) 1998-02-17 2006-12-19 National Instruments Corporation Reconfigurable test system
US7085670B2 (en) 1998-02-17 2006-08-01 National Instruments Corporation Reconfigurable measurement system utilizing a programmable hardware element and fixed hardware resources
DE19932193C2 (de) * 1999-07-09 2003-11-27 Framatome Anp Gmbh Baustein zur Steuerung eines Antriebs, Steuereinrichtung für eine Anlage sowie Verfahren zum Steuern eines Antriebs unter Verwendung eines derartigen Bausteins
DE10042639A1 (de) * 2000-08-30 2002-03-28 Siemens Ag Verfahren zur Steuerung und/oder Regelung eines technischen Prozesses
DE10159480B4 (de) * 2001-12-04 2006-05-24 Daimlerchrysler Ag Steuervorrichtung
DE20205551U1 (de) * 2002-04-10 2003-08-28 Siemens AG, 80333 München Elektrisches Gerät mit konfigurierbarer Schnittstelle sowie konfigurierbare Schaltung für ein elektrisches Gerät
DE10221772A1 (de) * 2002-05-15 2003-11-27 Flowtec Ag Variables Feldgerät für die Prozeßautomation
AT501880B1 (de) * 2005-06-07 2007-04-15 Contec Steuerungstechnik & Aut Speicherprogrammierbare steuerung
DE102005051246A1 (de) * 2005-10-26 2007-05-03 Audi Ag Elektronische Steuereinheit für ein Fahrzeug
US8291390B2 (en) 2008-07-30 2012-10-16 National Instruments Corporation Testing a graphical program intended for a programmable hardware element
DE102009005399B4 (de) 2009-01-19 2024-02-08 Phoenix Contact Gmbh & Co. Kg Verfahren und Kommunikationssystem zum Konfigurieren eines einen Logikbaustein enthaltenden Kommunikationsmoduls
US8762588B2 (en) * 2011-04-11 2014-06-24 Rockwell Automation Technologies, Inc. Output module for an industrial controller
CN105824285B (zh) * 2016-03-14 2018-09-14 上海交通大学 用于单片机的可编程逻辑控制系统的编程设计方法

Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4124899A (en) * 1977-05-23 1978-11-07 Monolithic Memories, Inc. Programmable array logic circuit
JPS58211207A (ja) * 1982-05-31 1983-12-08 Matsushita Electric Works Ltd シ−ケンス制御装置
WO1984002988A1 (en) * 1983-01-28 1984-08-02 Ncr Co System and method for stabilizing asynchronous state machines
EP0266065A2 (de) * 1986-09-30 1988-05-04 Texas Instruments Incorporated Programmierbare Folgesteuerung
EP0285814A1 (de) * 1987-04-08 1988-10-12 Robert Bosch Gmbh Variable Parallelschnittstelle, insbesondere für einen Schrauber
US4787047A (en) * 1985-03-22 1988-11-22 Intersil Electrically erasable fused programmable logic array
US4845633A (en) * 1985-12-02 1989-07-04 Apple Computer Inc. System for programming graphically a programmable, asynchronous logic cell and array
US4858101A (en) * 1987-08-26 1989-08-15 Allen-Bradley Company, Inc. Programmable controller with parallel processors
US4864489A (en) * 1982-11-12 1989-09-05 Fuji Electric Co., Ltd. Field instrumentation system
US4876466A (en) * 1987-11-20 1989-10-24 Mitsubishi Denki Kabushiki Kaisha Programmable logic array having a changeable logic structure
US4916600A (en) * 1982-06-04 1990-04-10 Michell Ropelato Modular device for controlling industrial processes
US4982340A (en) * 1987-06-30 1991-01-01 Kabushiki Kaisha Toshiba Plural processor inferencing system and method
US4998194A (en) * 1988-03-28 1991-03-05 Hitachi, Ltd. Multiplex control system with programmable logic for controlling signal transfer between controllers and one or more controlled systems
US5089973A (en) * 1986-11-07 1992-02-18 Apple Computer Inc. Programmable logic cell and array
US5097405A (en) * 1988-10-18 1992-03-17 Hitachi, Ltd. Sequence controller
US5119289A (en) * 1988-12-16 1992-06-02 Asea Brown Boveri Ltd. Device for protecting an electric operating means
EP0489228A1 (de) * 1990-12-03 1992-06-10 Siemens Aktiengesellschaft Automatisierungssystem mit einem Programmiergerät und einem Automatisierungsgerät
US5189628A (en) * 1991-03-11 1993-02-23 National Semiconductor Corporation System and method for partitioning PLA product terms into distinct logical groups
US5280202A (en) * 1991-03-06 1994-01-18 Quicklogic Corporation Programmable application specific integrated circuit and logic cell therefor
US5301100A (en) * 1991-04-29 1994-04-05 Wagner Ferdinand H Method of and apparatus for constructing a control system and control system created thereby
US5349691A (en) * 1990-07-03 1994-09-20 Xilinx, Inc. Programming process for 3-level programming logic devices

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2217465A1 (de) * 1971-04-12 1972-12-14 Inst Elektro Anlagen Programmierbares Logikwerk fur Prozeßsteuerungen
US4227247A (en) * 1977-10-12 1980-10-07 Eaton Corporation Integrated circuit controller programmable with unidirectional-logic instructions representative of sequential wire nodes and circuit elements of a ladder diagram
DD232622A3 (de) * 1980-07-23 1986-02-05 Ludwig Bachmann Schaltungsanordnung fuer eine speicherprogrammierbare prozesssteuerung
DE3125722A1 (de) * 1981-06-30 1983-01-13 Siemens AG, 1000 Berlin und 8000 München Steuerungssystem, insbesondere fuer automatische fertigungsanlagen
DE3130746C2 (de) * 1981-08-04 1985-01-31 Dr. Johannes Heidenhain Gmbh, 8225 Traunreut Verfahren zur Programmsteuerung bei einer freiprogrammierbaren Steuerung und Anordnung zur Durchführung des Verfahrens
DE3303826A1 (de) * 1983-02-04 1984-08-09 Siemens AG, 1000 Berlin und 8000 München Speicherprogrammierbare steuerung
DE3513677A1 (de) * 1985-04-16 1986-10-16 M.A.C. Automatisation Consult GmbH, 8025 Unterhaching Speicherprogrammierbare steuerung
JPH0697412B2 (ja) * 1987-08-12 1994-11-30 ファナック株式会社 高速入出力モジュール
IT1235679B (it) * 1989-01-25 1992-09-21 Sgs Thomson Microelectronics Dispositivo programmabile integrato di tipo misto, logico ed analogico.

Patent Citations (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4124899A (en) * 1977-05-23 1978-11-07 Monolithic Memories, Inc. Programmable array logic circuit
US4124899B1 (de) * 1977-05-23 1987-04-28
JPS58211207A (ja) * 1982-05-31 1983-12-08 Matsushita Electric Works Ltd シ−ケンス制御装置
US4916600A (en) * 1982-06-04 1990-04-10 Michell Ropelato Modular device for controlling industrial processes
US4864489A (en) * 1982-11-12 1989-09-05 Fuji Electric Co., Ltd. Field instrumentation system
WO1984002988A1 (en) * 1983-01-28 1984-08-02 Ncr Co System and method for stabilizing asynchronous state machines
US4787047A (en) * 1985-03-22 1988-11-22 Intersil Electrically erasable fused programmable logic array
US4845633A (en) * 1985-12-02 1989-07-04 Apple Computer Inc. System for programming graphically a programmable, asynchronous logic cell and array
EP0266065A2 (de) * 1986-09-30 1988-05-04 Texas Instruments Incorporated Programmierbare Folgesteuerung
US5089973A (en) * 1986-11-07 1992-02-18 Apple Computer Inc. Programmable logic cell and array
EP0285814A1 (de) * 1987-04-08 1988-10-12 Robert Bosch Gmbh Variable Parallelschnittstelle, insbesondere für einen Schrauber
US4982340A (en) * 1987-06-30 1991-01-01 Kabushiki Kaisha Toshiba Plural processor inferencing system and method
US4858101A (en) * 1987-08-26 1989-08-15 Allen-Bradley Company, Inc. Programmable controller with parallel processors
US4876466A (en) * 1987-11-20 1989-10-24 Mitsubishi Denki Kabushiki Kaisha Programmable logic array having a changeable logic structure
US4998194A (en) * 1988-03-28 1991-03-05 Hitachi, Ltd. Multiplex control system with programmable logic for controlling signal transfer between controllers and one or more controlled systems
US5097405A (en) * 1988-10-18 1992-03-17 Hitachi, Ltd. Sequence controller
US5119289A (en) * 1988-12-16 1992-06-02 Asea Brown Boveri Ltd. Device for protecting an electric operating means
US5349691A (en) * 1990-07-03 1994-09-20 Xilinx, Inc. Programming process for 3-level programming logic devices
EP0489228A1 (de) * 1990-12-03 1992-06-10 Siemens Aktiengesellschaft Automatisierungssystem mit einem Programmiergerät und einem Automatisierungsgerät
US5280202A (en) * 1991-03-06 1994-01-18 Quicklogic Corporation Programmable application specific integrated circuit and logic cell therefor
US5189628A (en) * 1991-03-11 1993-02-23 National Semiconductor Corporation System and method for partitioning PLA product terms into distinct logical groups
US5301100A (en) * 1991-04-29 1994-04-05 Wagner Ferdinand H Method of and apparatus for constructing a control system and control system created thereby

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
Fletcher, "An engineering approach to digital Design" 1980, pp. 568-577.
Fletcher, An engineering approach to digital Design 1980, pp. 568 577. *
Schenk, Halbleiter Schaltungs technik , pp. 306 310, date unknown. *
Schenk, Halbleiter-Schaltungs-technik, pp. 306-310, date unknown.
Wratil, Speicherprogrammierbare Steuerung in der Automatisierungstechnik , pp. 78 79 (1989). *
Wratil, Speicherprogrammierbare Steuerung in der Automatisierungstechnik, pp. 78-79 (1989).

Cited By (114)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5692133A (en) * 1992-12-14 1997-11-25 Siemens Aktiengesellschaft Arrangement having several functional units
US5734880A (en) * 1993-11-30 1998-03-31 Texas Instruments Incorporated Hardware branching employing loop control registers loaded according to status of sections of an arithmetic logic unit divided into a plurality of sections
US5731712A (en) * 1995-11-09 1998-03-24 Welch; John T. Programmable gate array for relay ladder logic
US5943242A (en) * 1995-11-17 1999-08-24 Pact Gmbh Dynamically reconfigurable data processing system
US6859869B1 (en) 1995-11-17 2005-02-22 Pact Xpp Technologies Ag Data processing system
EP0790541A3 (de) * 1996-02-16 1998-12-16 WIELAND ELECTRIC GmbH Anschlusseinrichtung für ein elektrisches Installationssystem
DE19606747A1 (de) * 1996-02-23 1997-08-28 Scharco Elektronik Gmbh & Co K Anordnung zur Steuerung von Anzeige- und/oder Stellgeräten für den industriellen Einsatz
US5867037A (en) * 1996-10-24 1999-02-02 International Business Machines Corporation Method and apparatus of programming FPGA devices through ASIC devices
US7822968B2 (en) 1996-12-09 2010-10-26 Martin Vorbach Circuit having a multidimensional structure of configurable cells that include multi-bit-wide inputs and outputs
US8156312B2 (en) 1996-12-09 2012-04-10 Martin Vorbach Processor chip for reconfigurable data processing, for processing numeric and logic operations and including function and interconnection control units
US7237087B2 (en) 1996-12-09 2007-06-26 Pact Xpp Technologies Ag Reconfigurable multidimensional array processor allowing runtime reconfiguration of selected individual array cells
US6728871B1 (en) 1996-12-09 2004-04-27 Pact Xpp Technologies Ag Runtime configurable arithmetic and logic cell
US6425068B1 (en) 1996-12-09 2002-07-23 Pact Gmbh Unit for processing numeric and logic operations for use in central processing units (cpus), multiprocessor systems, data-flow processors (dsps), systolic processors and field programmable gate arrays (epgas)
US6119181A (en) * 1996-12-20 2000-09-12 Pact Gmbh I/O and memory bus system for DFPs and units with two- or multi-dimensional programmable cell architectures
US7174443B1 (en) 1996-12-20 2007-02-06 Pact Xpp Technologies Ag Run-time reconfiguration method for programmable units
US8195856B2 (en) 1996-12-20 2012-06-05 Martin Vorbach I/O and memory bus system for DFPS and units with two- or multi-dimensional programmable cell architectures
US6338106B1 (en) 1996-12-20 2002-01-08 Pact Gmbh I/O and memory bus system for DFPS and units with two or multi-dimensional programmable cell architectures
US7899962B2 (en) 1996-12-20 2011-03-01 Martin Vorbach I/O and memory bus system for DFPs and units with two- or multi-dimensional programmable cell architectures
US7650448B2 (en) 1996-12-20 2010-01-19 Pact Xpp Technologies Ag I/O and memory bus system for DFPS and units with two- or multi-dimensional programmable cell architectures
US7243175B2 (en) 1996-12-20 2007-07-10 Pact Xpp Technologies Ag I/O and memory bus system for DFPs and units with two-or multi-dimensional programmable cell architectures
US7337249B2 (en) 1996-12-20 2008-02-26 Pact Xpp Technologies Ag I/O and memory bus system for DFPS and units with two- or multi-dimensional programmable cell architectures
US6021490A (en) * 1996-12-20 2000-02-01 Pact Gmbh Run-time reconfiguration method for programmable units
US6513077B2 (en) 1996-12-20 2003-01-28 Pact Gmbh I/O and memory bus system for DFPs and units with two- or multi-dimensional programmable cell architectures
US6721830B2 (en) 1996-12-20 2004-04-13 Pact Xpp Technologies Ag I/O and memory bus system for DFPs and units with two- or multi-dimensional programmable cell architectures
US7822881B2 (en) 1996-12-27 2010-10-26 Martin Vorbach Process for automatic dynamic reloading of data flow processors (DFPs) and units with two- or three-dimensional programmable cell architectures (FPGAs, DPGAs, and the like)
US6088795A (en) * 1996-12-27 2000-07-11 Pact Gmbh Process for automatic dynamic reloading of data flow processors (DFPs) and units with two or three-dimensional programmable cell architectures (FPGAs, DPGAs and the like)
US6477643B1 (en) 1996-12-27 2002-11-05 Pact Gmbh Process for automatic dynamic reloading of data flow processors (dfps) and units with two-or-three-dimensional programmable cell architectures (fpgas, dpgas, and the like)
US6038650A (en) * 1997-02-04 2000-03-14 Pactgmbh Method for the automatic address generation of modules within clusters comprised of a plurality of these modules
USRE44383E1 (en) 1997-02-08 2013-07-16 Martin Vorbach Method of self-synchronization of configurable elements of a programmable module
USRE44365E1 (en) 1997-02-08 2013-07-09 Martin Vorbach Method of self-synchronization of configurable elements of a programmable module
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
USRE45109E1 (en) 1997-02-08 2014-09-02 Pact Xpp Technologies Ag Method of self-synchronization of configurable elements of a programmable module
US7036036B2 (en) 1997-02-08 2006-04-25 Pact Xpp Technologies Ag Method of self-synchronization of configurable elements of a programmable module
US6526520B1 (en) 1997-02-08 2003-02-25 Pact Gmbh Method of self-synchronization of configurable elements of a programmable unit
US6081903A (en) * 1997-02-08 2000-06-27 Pact Gmbh Method of the self-synchronization of configurable elements of a programmable unit
US6968452B2 (en) 1997-02-08 2005-11-22 Pact Xpp Technologies Ag Method of self-synchronization of configurable elements of a programmable unit
USRE45223E1 (en) 1997-02-08 2014-10-28 Pact Xpp Technologies Ag Method of self-synchronization of configurable elements of a programmable module
US6405299B1 (en) 1997-02-11 2002-06-11 Pact Gmbh Internal bus system for DFPS and units with two- or multi-dimensional programmable cell architectures, for managing large volumes of data with a high interconnection complexity
US7010667B2 (en) 1997-02-11 2006-03-07 Pact Xpp Technologies Ag Internal bus system for DFPS and units with two- or multi-dimensional programmable cell architectures, for managing large volumes of data with a high interconnection complexity
US6237128B1 (en) * 1997-10-01 2001-05-22 International Business Machines Corporation Method and apparatus for enabling parallel layout checking of designing VLSI-chips
US6697979B1 (en) 1997-12-22 2004-02-24 Pact Xpp Technologies Ag Method of repairing integrated circuits
US8819505B2 (en) 1997-12-22 2014-08-26 Pact Xpp Technologies Ag Data processor having disabled cores
US6286127B1 (en) * 1998-02-06 2001-09-04 Texas Instruments Incorporated Control circuit having multiple functions set by a single programmable terminal
US6687788B2 (en) 1998-02-25 2004-02-03 Pact Xpp Technologies Ag Method of hierarchical caching of configuration data having dataflow processors and modules having two-or multidimensional programmable cell structure (FPGAs, DPGAs , etc.)
US6480937B1 (en) 1998-02-25 2002-11-12 Pact Informationstechnologie Gmbh Method for hierarchical caching of configuration data having dataflow processors and modules having two-or multidimensional programmable cell structure (FPGAs, DPGAs, etc.)--
US6571381B1 (en) 1998-02-25 2003-05-27 Pact Xpp Technologies Ag Method for deadlock-free configuration of dataflow processors and modules with a two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.)
JPH11253530A (ja) * 1998-03-10 1999-09-21 Tosho:Kk 調剤用センサネットワークシステム
US6134704A (en) * 1998-04-03 2000-10-17 International Business Machines Corporation Integrated circuit macro apparatus
US8468329B2 (en) 1999-02-25 2013-06-18 Martin Vorbach Pipeline configuration protocol and configuration unit communication
US8726250B2 (en) 1999-06-10 2014-05-13 Pact Xpp Technologies Ag Configurable logic integrated circuit having a multidimensional structure of configurable elements
US8230411B1 (en) 1999-06-10 2012-07-24 Martin Vorbach Method for interleaving a program over a plurality of cells
US8312200B2 (en) 1999-06-10 2012-11-13 Martin Vorbach Processor chip including a plurality of cache elements connected to a plurality of processor cores
US7003660B2 (en) 2000-06-13 2006-02-21 Pact Xpp Technologies Ag Pipeline configuration unit protocols and communication
US8301872B2 (en) 2000-06-13 2012-10-30 Martin Vorbach Pipeline configuration protocol and configuration unit communication
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US8471593B2 (en) 2000-10-06 2013-06-25 Martin Vorbach Logic cell array and bus system
US9047440B2 (en) 2000-10-06 2015-06-02 Pact Xpp Technologies Ag Logical cell array and bus system
WO2002044821A3 (en) * 2000-11-30 2003-08-07 Matsushita Electric Works Ltd General-purpose functional circuit and general-purpose unit for programmable controller
WO2002044821A2 (en) 2000-11-30 2002-06-06 Matsushita Electric Works, Ltd. General-purpose functional circuit and general-purpose unit for programmable controller
US20040024799A1 (en) * 2000-11-30 2004-02-05 Koji Ohno General-purpose functional circuit and general-purpose unit for programmable controller
US7051057B2 (en) 2000-11-30 2006-05-23 Matsushita Electric Works, Ltd. General-purpose functional circuit and general-purpose unit for programmable controller
CN1636171B (zh) * 2000-11-30 2010-04-28 松下电工株式会社 用于可编程控制器的通用功能电路和通用单元
US6990555B2 (en) 2001-01-09 2006-01-24 Pact Xpp Technologies Ag Method of hierarchical caching of configuration data having dataflow processors and modules having two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.)
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US8312301B2 (en) 2001-03-05 2012-11-13 Martin Vorbach Methods and devices for treating and processing data
US8145881B2 (en) 2001-03-05 2012-03-27 Martin Vorbach Data processing device and method
US7581076B2 (en) 2001-03-05 2009-08-25 Pact Xpp Technologies Ag Methods and devices for treating and/or processing data
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US9075605B2 (en) 2001-03-05 2015-07-07 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US8099618B2 (en) 2001-03-05 2012-01-17 Martin Vorbach Methods and devices for treating and processing data
US7657877B2 (en) 2001-06-20 2010-02-02 Pact Xpp Technologies Ag Method for processing data
US7996827B2 (en) 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US7210129B2 (en) 2001-08-16 2007-04-24 Pact Xpp Technologies Ag Method for translating programs for reconfigurable architectures
US8869121B2 (en) 2001-08-16 2014-10-21 Pact Xpp Technologies Ag Method for the translation of programs for reconfigurable architectures
US7480825B2 (en) 2001-09-03 2009-01-20 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
US7266725B2 (en) 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
US7434191B2 (en) 2001-09-03 2008-10-07 Pact Xpp Technologies Ag Router
US8069373B2 (en) 2001-09-03 2011-11-29 Martin Vorbach Method for debugging reconfigurable architectures
US8209653B2 (en) 2001-09-03 2012-06-26 Martin Vorbach Router
US8429385B2 (en) 2001-09-03 2013-04-23 Martin Vorbach Device including a field having function cells and information providing cells controlled by the function cells
US8407525B2 (en) 2001-09-03 2013-03-26 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
US7840842B2 (en) 2001-09-03 2010-11-23 Martin Vorbach Method for debugging reconfigurable architectures
US8686475B2 (en) 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
EP1308807A2 (de) * 2001-10-31 2003-05-07 Agilent Technologies, Inc. Interpretation von eingebetteter Programmiersprache zur Konfiguration von Aufspannanwendungen
US20030097649A1 (en) * 2001-10-31 2003-05-22 Terrence Jones Embedded language interpretation for configuration of fixturing applications
EP1308807A3 (de) * 2001-10-31 2004-02-25 Agilent Technologies, Inc. Interpretation von eingebetteter Programmiersprache zur Konfiguration von Aufspannanwendungen
US8281108B2 (en) 2002-01-19 2012-10-02 Martin Vorbach Reconfigurable general purpose processor having time restricted configurations
US8127061B2 (en) 2002-02-18 2012-02-28 Martin Vorbach Bus systems and reconfiguration methods
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US8156284B2 (en) 2002-08-07 2012-04-10 Martin Vorbach Data processing method and device
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
US8281265B2 (en) 2002-08-07 2012-10-02 Martin Vorbach Method and device for processing data
US7928763B2 (en) 2002-09-06 2011-04-19 Martin Vorbach Multi-core processing system
US7394284B2 (en) 2002-09-06 2008-07-01 Pact Xpp Technologies Ag Reconfigurable sequencer structure
US8310274B2 (en) 2002-09-06 2012-11-13 Martin Vorbach Reconfigurable sequencer structure
US7782087B2 (en) 2002-09-06 2010-08-24 Martin Vorbach Reconfigurable sequencer structure
US8803552B2 (en) 2002-09-06 2014-08-12 Pact Xpp Technologies Ag Reconfigurable sequencer structure
US8812820B2 (en) 2003-08-28 2014-08-19 Pact Xpp Technologies Ag Data processing device and method
US7191087B2 (en) 2004-03-15 2007-03-13 Omron Corporation Sensor controller
JP2006190316A (ja) * 2004-03-15 2006-07-20 Omron Corp センサコントローラ
JP2006048632A (ja) * 2004-03-15 2006-02-16 Omron Corp センサコントローラ
US20050222693A1 (en) * 2004-03-15 2005-10-06 Omron Corporation Sensor controller
CN1324298C (zh) * 2004-03-15 2007-07-04 欧姆龙株式会社 传感器控制器
US8250503B2 (en) 2006-01-18 2012-08-21 Martin Vorbach Hardware definition method including determining whether to implement a function as hardware or software
US20090008232A1 (en) * 2006-12-20 2009-01-08 Sick Ag Modular safety switching system and method
US8125109B2 (en) * 2006-12-20 2012-02-28 Sick Ag Modular safety switching system and method
EP2853965A1 (de) * 2013-09-30 2015-04-01 Siemens Aktiengesellschaft Zeitdeterministische Mensch-Maschine-Schnittstellenvorrichtung und System und Konfigurationsverfahren dafür
US9349288B2 (en) 2014-07-28 2016-05-24 Econolite Group, Inc. Self-configuring traffic signal controller
US9978270B2 (en) 2014-07-28 2018-05-22 Econolite Group, Inc. Self-configuring traffic signal controller
US10198943B2 (en) 2014-07-28 2019-02-05 Econolite Group, Inc. Self-configuring traffic signal controller
US10991243B2 (en) 2014-07-28 2021-04-27 Econolite Group, Inc. Self-configuring traffic signal controller
US11200127B2 (en) * 2019-04-11 2021-12-14 Synopsys, Inc. Automated self-check of a closed loop emulation replay

Also Published As

Publication number Publication date
DE59109046D1 (de) 1998-10-08
EP0499695A3 (en) 1993-01-27
JPH07168610A (ja) 1995-07-04
EP0499695B1 (de) 1996-05-01
CA2061599A1 (en) 1992-08-23
EP0642094A3 (de) 1995-05-10
EP0499695A2 (de) 1992-08-26
EP0642094B1 (de) 1998-09-02
EP0642094A2 (de) 1995-03-08
DE4205524A1 (de) 1992-08-27
DE4205524C2 (de) 1999-04-29
DE59107764D1 (de) 1996-06-05

Similar Documents

Publication Publication Date Title
US5475583A (en) Programmable control system including a logic module and a method for programming
US5412795A (en) State machine having a variable timing mechanism for varying the duration of logical output states of the state machine based on variation in the clock frequency
JP3961028B2 (ja) データフロープロセッサ(dfp)の自動的なダイナミックアンロード方法並びに2次元または3次元のプログラミング可能なセルストラクチャを有するモジュール(fpga,dpga等)
US7243175B2 (en) I/O and memory bus system for DFPs and units with two-or multi-dimensional programmable cell architectures
US7117049B2 (en) Industrial controller based on distributable technology objects
CA2264060C (en) A high performance self modifying on-the-fly alterable logic fpga
JPS6224802B2 (de)
JPWO2003023602A1 (ja) データ処理システムおよびその制御方法
CN115599719A (zh) 一种基于fpga的fifo接口多通道dma控制器
EP0766156A1 (de) Speicherprogrammierbare Steuerung
CN102999002B (zh) 可编程逻辑控制器装置及控制可编程逻辑控制器装置的方法
CN106843948A (zh) 片上生成硬件配置信息的芯片架构及其执行方法
KR100275020B1 (ko) 과도적인 효과에 의한 영향을 받지 않고 회로 스위칭이 가능한반도체 논리회로 장치
CN214101223U (zh) 一种用于流式荧光的多路电机控制系统
CN101639692B (zh) 多可编程逻辑器件的控制方法、设备和系统
JP3707360B2 (ja) 回路機能の再構成方法、及びプログラマブル論理回路装置
CN100380342C (zh) 免除性能恶化的地址解码方案
CN105159859A (zh) 基于接口扩展的数据处理系统及方法
US6964045B1 (en) Multiple program storage within a programmable logic controller system
JPH04373002A (ja) プログラマブルコントローラ
WO2004038521A1 (en) A reconfigurable state machine architecture and related method of execution
KR100584583B1 (ko) 직렬 버스 제어 장치 및 방법
CA1202727A (en) Microcomputer variable duty cycle signal generator
CN118152019A (zh) 基于fpga直启单设备可变操作系统
RU2079876C1 (ru) Микропрограммное устройство управления

Legal Events

Date Code Title Description
AS Assignment

Owner name: SIEMENS AKTIENGESELLSCHAFT, GERMANY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNORS:BOCK, GUNTHER;MACHT, HELMUT;WOMBACHER, CHRISTOF;AND OTHERS;REEL/FRAME:006082/0345

Effective date: 19920414

STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

REMI Maintenance fee reminder mailed
FPAY Fee payment

Year of fee payment: 12

SULP Surcharge for late payment

Year of fee payment: 11

FEPP Fee payment procedure

Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

AS Assignment

Owner name: PRASENDT INVESTMENTS, LLC, DELAWARE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SIEMENS AKTIENGESELLSCHAFT;REEL/FRAME:022460/0247

Effective date: 20081212

Owner name: PRASENDT INVESTMENTS, LLC,DELAWARE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SIEMENS AKTIENGESELLSCHAFT;REEL/FRAME:022460/0247

Effective date: 20081212