KR940000206Y1 - Processor of timer command - Google Patents
Processor of timer command Download PDFInfo
- Publication number
- KR940000206Y1 KR940000206Y1 KR2019910011972U KR910011972U KR940000206Y1 KR 940000206 Y1 KR940000206 Y1 KR 940000206Y1 KR 2019910011972 U KR2019910011972 U KR 2019910011972U KR 910011972 U KR910011972 U KR 910011972U KR 940000206 Y1 KR940000206 Y1 KR 940000206Y1
- Authority
- KR
- South Korea
- Prior art keywords
- gate
- signal line
- cpu
- output terminal
- terminal
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13116—Machine code, instruction for processor
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/15—Plc structure of the system
- G05B2219/15069—Use of function modules with timer, counter, relay functions and I-O
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
Abstract
내용 없음.No content.
Description
제1도는 이 고안의 실시예에 따른 타이머 명령 처리기를 이용한 PLC의 회로도.1 is a circuit diagram of a PLC using a timer command processor according to an embodiment of the present invention.
제2도는 이 고안의 실시예에 따른 타이밍 명령 제어 장치의 상세 회로도.2 is a detailed circuit diagram of a timing command control device according to an embodiment of the present invention.
제3도는 램의 메모리 맵도이다.3 is a memory map of RAM.
이 고안은 타이머 명령 처리기에 관한 것으로서, 특히 래더다이어그램(ladder diagram)으로 표현되는 프로그래머블 로직 컨트롤러(Programmable Logic Controller, 이하 "PLC"이라 한다)의 명령어 중에서 타이머(timer) 명령을 처리하기 위한 타이머 명령 처리기에 관한 것이다.This invention relates to a timer instruction processor, and in particular, a timer instruction processor for processing a timer instruction among instructions of a programmable logic controller (hereinafter referred to as "PLC") represented by a ladder diagram. It is about.
일반적으로 PLC는 공장 자동화(FA)의 산업 분야에 많이 적용되고 있는 장치로서 릴레이(relay), 타이머, 카운터(counter), 무접점 릴레이 등의 개개의 부품이 갖는 기능을 로직으로 컴팩트(compact)하게 통합시킨 장치이다.In general, PLC is a device that is widely applied in the field of factory automation (FA), and it is possible to compact the functions of individual components such as relay, timer, counter, and solid-state relay in logic. It is an integrated device.
상기한 PLC에서 사용자가 임의로 사용 가능한 타이머의 갯수는 대개 256개 이상에 이른다(이하 256개로 가정한다). 이 256개의 타이머는 중앙처리장치(Central Processing Unit, 이하 "CPU"라 한다) 모듈(module)인 마이크로 프로세서(micro processor)에 일정한 주기의 인터럽트(interrupt)를 요구하여 마이크로 프로세서로 하여금 소프트웨어(software)적인 처리를 하도록 한다. 즉 CPU 모듈은 일정한 주기로 수행하는 인터럽트 서비스 루틴에서 256개의 타이머 각 채널(channel)에 대해 소프트웨어적으로 계수 여부를 판단하여 계수하는 기능을 수행한다. 타이머 각 채널에 대한 계수 여부는 사용자의 프로그램에 의해 임의로 제어된다.The number of timers that can be arbitrarily used by a user in the PLC is usually more than 256 (assuming 256 in the following). These 256 timers require a certain period of interruption to the microprocessor, a central processing unit ("CPU") module, which causes the microprocessor to Do the proper processing. That is, the CPU module performs a function of determining and counting software counts for each channel of 256 timers in an interrupt service routine that is performed at regular intervals. Timer count for each channel is arbitrarily controlled by the user's program.
다음은 사용자 프로그램의 예이다. 우측의 괄호안에 있는 숫자는 명령이 수행되는데 걸리는 클럭으로서 단위는 싸이클(cycle)이다.The following is an example of a user program. The number in parentheses on the right is the clock it takes to execute the instruction. The unit is a cycle.
실행 클럭=〔(2+4+14+4+20+4+17)×16+10+4+13+8+4+17〕×16+10×5+4×5+8×5=17646cyclesExecution clock = [(2 + 4 + 14 + 4 + 20 + 4 + 17) × 16 + 10 + 4 + 13 + 8 + 4 + 17] × 16 + 10 × 5 + 4 × 5 + 8 × 5 = 17646 cycles
살행 시간=17646 T cycles×1/8M=2.2msecKilling time = 17646 T cycles × 1 / 8M = 2.2msec
위 프로그램에서 TimerEnableBit는 각 채널의 타이머 값을 계수할 것인지의 여부로 포함하고 있다. 즉 해당비트의 내용이 1인 계수하라는 의미이다. TimerPV는 각 채널별 계수치를 저장하고 있는 영역이며 또한 각 채널의 계수치가 OFFFH이면 계수를 중단하는 내용을 포함하고 있다.In the above program, TimerEnableBit is included whether or not to count timer value of each channel. That is, the content of the corresponding bit should be counted by 1. TimerPV is the area that stores the count value for each channel. Also, TimerPV contains the contents to stop counting when the count value of each channel is OFFFH.
그러나 위 프로그램과 같이 종래의 방법은 256개의 타이머 채널을 처리하기 위해 약 2.2msec의 CPU 시간을 소요하는 단점이 있다. 즉 10msec 시간 주기의 타이머 처리인 경우에 CPU 처리 능력의 22%를 타이머를 위해 소요한다.However, the conventional method as described above has a disadvantage in that it takes about 2.2 msec of CPU time to process 256 timer channels. That is, in the case of timer processing with a 10 msec time period, 22% of CPU processing capacity is spent for the timer.
따라서 이 고안의 목적은 상기한 종래의 단점을 해결하기 위한 것으로서, 타이머 명령을 처리하기 위하여 소요되는 시간을 종래에 비해 1/2로 단축하여 시스템의 처리 속도를 향상한 타이머 명령 처리기를 제공하는데 있다.Accordingly, an object of the present invention is to solve the above-mentioned disadvantages, and to provide a timer command processor which improves the processing speed of the system by reducing the time required to process the timer command to 1/2 compared to the conventional method. .
상기한 목적을 달성하기 위한 이 고안의 구성은 CPU의 M/IO 신호선과 어드레스 래치의 출력 신호선에 연결되어 CPU가 타이머 경과치 어드레스 영역을 호출할 때 로우(low) 상태가 되는 선택 신호(CS2)와 CPU가 자신의 어드레스 영역을 호출할 때 각각 로우 상태가 되는 선택 신호(CS3) 및 선택 신호(CS4)를 출력하는 디코더(decoder)와, 디코더의 선택 신호선(CS2, CS3, CS4)과 CPU의 리드 신호선과 라이트 신호선에 연결되어 계수 허용 여부를 판단하고 계수치가 계수 가능한지를 판단하는 타이머 제어 장치로 이루어진다.The configuration of the present invention for achieving the above object is a selection signal CS2 connected to the M / IO signal line of the CPU and the output signal line of the address latch, which becomes low when the CPU calls the timer elapsed address area. And a decoder for outputting a selection signal CS3 and a selection signal CS4 that are in a low state when the CPU calls its address area, and the selection signal lines CS2, CS3, and CS4 of the decoder and the CPU. And a timer control device connected to the read signal line and the write signal line to determine whether the count is allowed and whether the count is countable.
상기한 구성에 의한 이 고안의 바람직한 실시예를 도면을 참조하여 상세히 설명한다.Preferred embodiments of this invention by the above-described configuration will be described in detail with reference to the drawings.
제1도는 이 고안의 실시예에 따른 타이머 명령 처리기를 이용한 PLC의 회로도이다. 제1도에 도시되어 있듯이 타이머 명령 처리기는 CPU(1)의 M/IO신호선과 래치(2)의 출력 신호선에 연결되어 CPU(1)가 타이머 경과치 어드레스 영역을 호출할 때 로우 상태가 되는 선택 신호(CS2)와 CPU(1)가 자신의 어드레스 영역을 호출할때 각각 로우 상태가 되는 선택 신호(CS3) 및 선택신호(CS4)를 출력하는 디코더(3)와, 디코더(3)의 선택 신호선(CS2, CS3, CS4)과 CPU(1)의 리드(read) 신호선(RD)과 라이트(write) 신호선(WR)에 연결된 타이머 제어 장치(4)로 이루어진다.1 is a circuit diagram of a PLC using a timer command processor according to an embodiment of the present invention. As shown in FIG. 1, the timer command processor is connected to the M / IO signal line of the CPU 1 and the output signal line of the latch 2, so that the selection is made low when the CPU 1 calls the timer elapsed address area. A decoder 3 for outputting a selection signal CS3 and a selection signal CS4 that are in a low state when the signal CS2 and the CPU 1 call their address areas, respectively, and the selection signal line of the decoder 3; The timer control device 4 is connected to the CS2, CS3, CS4, the read signal line RD of the CPU 1, and the write signal line WR.
제2도는 이 고안의 실시예에 따른 타이머 제어 장치의 상세 회로도이다. 제2도에 도시되어 있듯이 타이머 제어 장치(4)의 구성은 디코더(3)의 CS2 신호선과 라이트 신호선(WR)에 각각의 입력 단자가 연결된 제1오아(OR)게이트(41)와, 선택 신호선(CS3)과 라이트 신호선(WR)에 각각의 입력 단자가 연결된 제2오아게이트와(42), 선택 신호선(CS2)과 리드 신호선(RD)에 각각의 입력 단자가 연결된 제3오아게이트(43)와, 선택 신호선(CS4)에 클럭단자(CK)가 연결되고 최하위 비트 데이터 라인(DO)에 입력 단자(D)가 연결된 제1D형 플립플롭(44)과, 데이터 라인(D0∼D7)에 입력 단자가 연결되고 제1오아 게이트(41)의 출력 단자에 클럭 단자(CLK)가 연결되고 제2오아 게이트(42)의 출력 단자에 인에이블 단자(LD)가 연결된 제1시프트 레지스터(shift register)(45)와, 데이터 라인(D7∼D15)에 입력 단자가 연결되고 제1오아 게이트(41)의 출력 단자에 클럭단자(CLK)가 연결되고, 제2오아 게이트(42)의 출력단자에 인에이블 단자(LD)가 연결된 제2시프트 레지스터(46)와, 데이터 라인(D0∼D7)에 각각의 입력 단자가 연결된 제1낸드(NAND) 게이트(47)와 데이터 라인(D8∼D15)에 각각의 입력 단자가 연결된 제2낸드 게이트(48)와, 제1낸드 게이트(47)와 제2낸드 게이트(48)의 출력 단자에 각각의 입력 단자가 연결된 노아(NOR) 게이트(49)와, 노아 게이트(49)의 출력 단자에 입력 단자(D)가 연결되고 제3오아 게이트(43)의 출력 단자에 클럭 단자(CK)가 연결된 제2D형 플립플롭(50)과, 제2D형 플립플롭(50)의 출력 단자(Q)와 제2시프트 레지스터(46)의 출력 단자(Q)에 각각의 입력 단자가 연결된 제4오아 게이트(51)와, 제4오아 게이트(51)의 출력 단자와 제1D형 플립플롭(44)의 출력 단자(Q)에 각각의 입력 단자가 연결된 앤드(AND) 게이트(52)와, 앤드 게이트(52)의 출력 단자와 CPU(1)의 라이트 신호선(WR)에 각각의 입력 단자가 연결된 제5오아 게이트(53)로 이루어진다.2 is a detailed circuit diagram of a timer control device according to an embodiment of the present invention. As shown in FIG. 2, the configuration of the timer control device 4 includes a first OR gate 41 connected to respective input terminals of the CS2 signal line and the write signal line WR of the decoder 3, and a selection signal line. A second or gate 42 having respective input terminals connected to the CS3 and the write signal line WR, and a third or gate 43 having respective input terminals connected to the selection signal line CS2 and the read signal line RD. And a first type flip-flop 44 connected with a clock terminal CK connected to the selection signal line CS4 and an input terminal D connected to the least significant bit data line DO, and data lines D0 to D7. A first shift register in which a terminal is connected, a clock terminal CLK is connected to an output terminal of the first ora gate 41, and an enable terminal LD is connected to an output terminal of the second ora gate 42. An input terminal is connected to the data line D7 to D15 and a clock terminal CLK is connected to an output terminal of the first OR gate 41. The second shift register 46 having the enable terminal LD connected to the output terminal of the second OR gate 42 and the first NAND connected to each input terminal of the data lines D0 to D7. Inputs to the second NAND gate 48 having respective input terminals connected to the gate 47 and the data lines D8 to D15, and to output terminals of the first NAND gate 47 and the second NAND gate 48. 2D connected to a NOR gate 49 having a terminal connected thereto, an input terminal D connected to an output terminal of the NOR gate 49, and a clock terminal CK connected to an output terminal of the third OR gate 43. A fourth OR gate 51 in which respective input terminals are connected to the type flip-flop 50, the output terminal Q of the 2D type flip-flop 50, and the output terminal Q of the second shift register 46. An AND gate 52 connected to an output terminal of the fourth OR gate 51 and an output terminal Q of the 1D flip-flop 44, and an AND gate 52 of the AND gate 52. Print It consists of a chair and the CPU (1) light signal (WR) a fifth Iowa gate 53 is connected to respective input terminals of a.
상기한 구성에 의한 이 고안의 실시예에 따른 타이머 제어 장치(4)의 동작은 다음과 같다. 디코더(3)의 선택신호(CS2)는 CPU(1)가 타이머 경과치 어드레스 영역(1000H∼11FFH)을 호출할 때 로우 상태가 되며, 선택신호(CS3)와 선택 신호(CS4)는 제3도의 메모리 맵에 지정된 어드레스 영역을 호출할 때 각각 로우 상태가 되도록 디코더(3)로부터 입력된다. 동작 설명을 돕기 위하여 사용자 프로그램을 예로 설명하기로 한다. 아래의 사용자프로그램이 랩(5)에 저장되었을 경우의 메모리 맵이 제3도에 도시되어 있다. 또한 사용자 프로그램의 우측 괄호안의 숫자는 명령이 수행되는데 걸리는 클럭으로서 단위는 싸이클(cycle)이다.The operation of the timer control device 4 according to the embodiment of this invention by the above configuration is as follows. The select signal CS2 of the decoder 3 goes low when the CPU 1 calls the timer elapsed address areas 1000H to 11FFH, and the select signal CS3 and the select signal CS4 are shown in FIG. It is input from the decoder 3 so as to be in a low state, respectively, when calling the address area specified in the memory map. To help explain the operation, a user program will be described as an example. The memory map when the following user program is stored in the lab 5 is shown in FIG. Also, the number in parentheses on the right side of the user program is the clock that the instruction takes to execute. The unit is a cycle.
실행클럭=(10+14+24×16)×16+4+10+8+8=6596 cyclesExecution Clock = (10 + 14 + 24 × 16) × 16 + 4 + 10 + 8 + 8 = 6596 cycles
실행시간=6596 cycles×1/8M=830μsecExecution time = 6596 cycles × 1 / 8M = 830μsec
상기한 사용자 프로그램의〔1〕스텝이 실행되면 제1D형 플립플롭(44)에 1이 래치되어 앤드 게이트(52)를 인에이블시킨다. 사용자 프로그램의〔2〕스텝이 실행되면 제2오아 게이트(42)에 의해, 제1시프트 레지스터, 제2시프트 레지스터(45, 46)에 제3도의 800H번지 내용이 저장된다. 사용자 프로그램의〔3〕스텝을 실행하기 위해 CPU(1)는 제3도의 1000H에 대하여 리드 모디파이 라이트 싸이클(read-modify-write cycle)을 수행되는데 리드 싸이클 시점의 데이터(증가되기 전의 채널 0의 경과치)가 OFFFH인지를 제2D형 플립플롭(50)에 저장한다. 연이은 라이트 싸이클에 CPU(1)가 증가된 값을 기록하고자 할 때 제2시프트 레지스터(46)의 출력에 의해 채널 0이 계수 허용되었는지가 판단되므로 제4오아 게이트(51)의 출력이 하이(high) 상태이면 제5오아 게이트(53)에 의해 타이머 제어 장치(4)의 출력을 하지 상태로 고정하여 CPU(1)에 의해 증가된 결과가 쓰여지는 것을 방지하여, 결과적으로〔3〕의 스텝이 완료된 후 제3도의 1000H번지 내용은 800H번지 비트 0 내용이 0이 아니고 1000H번지 내용이 OFFFFH가 아닌 경우에만 1증가된다. 이상의 스텝이 완료되었을 때 제1오아 게이트(41)에 의해 계수 허용 여부 판정 비트가 상위 비트 위치에서 하위 비트 위치로 1비트 이동되어 제2시프트 레지스터(46)의 출력에는 채널1 다음 채널의 계수 허용 여부 비트가 출력된다. 이상의 동작을 제1시프트 레지스터, 제2시프트 레지스터(45, 46)에 저장된 계수 허용 여부 조건을 소모할 때까지〔3〕스텝과 같은 동작을 반복하며 16회 계수 판단마다〔2〕스텝과 같은 동작을 16회 반복하여 전체 채널을 계수할 수 있다. 그러므로 종래의 계수 방법에 비여 계수 프로그램을 단순화하여 종래의 방법보다 동일한 CPU 속도로 2배 이상의 계수 속도를 얻을 수 있다.When the above step [1] of the user program is executed, 1 is latched in the 1D flip-flop 44 to enable the AND gate 52. When step [2] of the user program is executed, the contents of the 800H address in FIG. 3 are stored in the first shift register and the second shift registers 45 and 46 by the second OR gate 42. In order to execute step [3] of the user program, the CPU 1 executes a read-modify-write cycle for 1000H of FIG. 3, and executes a read-modify-write cycle. Is stored in the 2D type flip-flop 50. When the CPU 1 wants to record the increased value in successive write cycles, it is determined whether the channel 0 is allowed by the output of the second shift register 46, so that the output of the fourth OR gate 51 is high. ), The output of the timer control device 4 is fixed to the ground state by the fifth orifice gate 53 to prevent the CPU 1 from writing the increased result, and as a result, the step [3] After completion, the 1000H address of FIG. 3 is incremented by 1 only if the 800H address 0 is not 0 and the 1000H is not OFFFFH. When the above step is completed, the first or the gate 41 determines whether the count is allowed or not by one bit from the upper bit position to the lower bit position, allowing the count of the channel following the channel 1 to the output of the second shift register 46. Whether the bit is output. The above operation is repeated as in step [3] until the coefficient permitting condition stored in the first shift register and the second shift register 45 and 46 is exhausted, and the same operation as the [2] step every 16 count determinations. Repeat 16 times to count all channels. Therefore, by counting the counting program in comparison with the conventional counting method, the counting speed can be obtained more than twice at the same CPU speed as the conventional counting method.
이상에서와 같이 이 고안의 실시예에서 하드웨어적인 처리를 통해 타이머 명령을 처리하기 위하여 소요되는 시간을 종래에 비해 1/2로 단축함으로써 시스템의 처리 속도를 향상한 타이머 명령 처리기를 제공할 수 있다. 이 고안의 이러한 효과는 타이머 명령 처리기가 사용되는 PLC 분야에서 이용될 수 있다.As described above, in the embodiment of the present invention, the time required for processing the timer command through hardware processing may be reduced to 1/2 compared to the conventional method, thereby providing a timer command processor having improved processing speed of the system. This effect of this design can be used in the PLC field where a timer command processor is used.
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR2019910011972U KR940000206Y1 (en) | 1991-07-29 | 1991-07-29 | Processor of timer command |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR2019910011972U KR940000206Y1 (en) | 1991-07-29 | 1991-07-29 | Processor of timer command |
Publications (2)
Publication Number | Publication Date |
---|---|
KR930003260U KR930003260U (en) | 1993-02-26 |
KR940000206Y1 true KR940000206Y1 (en) | 1994-01-19 |
Family
ID=19317247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR2019910011972U KR940000206Y1 (en) | 1991-07-29 | 1991-07-29 | Processor of timer command |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR940000206Y1 (en) |
-
1991
- 1991-07-29 KR KR2019910011972U patent/KR940000206Y1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR930003260U (en) | 1993-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4733346A (en) | Data processor with multiple register blocks | |
US5511207A (en) | Program control circuit determining the designated number of times a sequence of instructions is repetitively executed to prevent further execution of a jump instruction | |
US4158226A (en) | Programmable controller with limit detection | |
US4523277A (en) | Priority interrupt system for microcomputer | |
KR940000206Y1 (en) | Processor of timer command | |
KR950009687B1 (en) | High speed ladder instruction processing apparatus for programnable logic controller | |
KR960029971A (en) | Information processor | |
US4807178A (en) | Programmable sequence controller having indirect and direct input/output apparatus | |
US4888685A (en) | Data conflict prevention for processor with input/output device | |
KR900005284B1 (en) | Micro computer | |
RU2000117017A (en) | SYSTEM FOR PROGRAM MANAGEMENT OF TECHNOLOGICAL EQUIPMENT | |
KR0134365B1 (en) | Single chip microprocessor with program data memory flag | |
US5732252A (en) | Program counter system capable of incrementing or decrementing after a conditional jump instruction | |
SU1061144A1 (en) | Device for control of program interruptions | |
KR0181970B1 (en) | Timer command handler | |
SU1305771A1 (en) | Buffer memory driver | |
JP2675506B2 (en) | Microprocessor device | |
SU1383373A1 (en) | Program debugging interrupt device | |
JPS5914061A (en) | Switching circuit of memory bank | |
SU1689964A1 (en) | The unit to interface a video controller and processor over a common bus | |
KR0139966B1 (en) | Common device access device | |
KR920001615B1 (en) | Micro computer | |
JPS6230452B2 (en) | ||
JPH0695304B2 (en) | Data processing device | |
JPS6134181B2 (en) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
REGI | Registration of establishment | ||
FPAY | Annual fee payment |
Payment date: 19980327 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |