KR20210101770A - 복수 프로그래밍 언어 지원을 위한 plc 제어방법 - Google Patents

복수 프로그래밍 언어 지원을 위한 plc 제어방법 Download PDF

Info

Publication number
KR20210101770A
KR20210101770A KR1020200016136A KR20200016136A KR20210101770A KR 20210101770 A KR20210101770 A KR 20210101770A KR 1020200016136 A KR1020200016136 A KR 1020200016136A KR 20200016136 A KR20200016136 A KR 20200016136A KR 20210101770 A KR20210101770 A KR 20210101770A
Authority
KR
South Korea
Prior art keywords
plc
language
program
memory
area
Prior art date
Application number
KR1020200016136A
Other languages
English (en)
Inventor
박조동
Original Assignee
엘에스일렉트릭(주)
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 엘에스일렉트릭(주) filed Critical 엘에스일렉트릭(주)
Priority to KR1020200016136A priority Critical patent/KR20210101770A/ko
Priority to CN202110060849.8A priority patent/CN113253992B/zh
Publication of KR20210101770A publication Critical patent/KR20210101770A/ko

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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30094Condition code generation, e.g. Carry, Zero flag
    • 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/13105Two or more languages, ladder diagram or progression, basic program

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • Programmable Controllers (AREA)

Abstract

본 발명은 복수의 프로그램 언어를 하나의 PLC 하드웨어에서 지원하기 위한 방법에 관한 것으로, PLC 동작에 필요한 프로그램 코드를 기계어로 번역하는 과정과 프로그램 별로 다른 메모리 테이블을 작성하는 과정을 모두 PADT에서 수행되도록 함으로써 OS나 프로그램 언어에 무관하게 PLC 하드웨어를 선택할 수 있고 OS마다 유지보수를 위해 들어가는 시간과 경비를 줄일 수 있는 효과가 있다.

Description

복수 프로그래밍 언어 지원을 위한 PLC 제어방법{CONTROL METHOD OF PLC FOR SUPPORTING MULTIPLE PROGRAMMING LANGUAGE}
본 발명은 PLC(Programmable Logic Controller)에 관한 것으로, 특히 PLC의 제어를 위한 프로그래밍 언어에 관한 것이다.
PLC는 산업 현장에서 자동제어나 감시에 널리 활용되고 있는 제어장치이다. PLC는 사용자의 입력 프로그램에 의해 동작하는데, 프로그램을 순차적으로 논리처리하고 그 결과에 따라 연결된 외부장치를 제어한다. 예를 들어 스위치 등으로 입력신호가 들어가면 프로그램 내부의 동작 기술에 의해 처리되고 그 결과가 최종적으로 코일에 출력되는 식이다.
프로그램 내부의 동작은 여러 프로그램 언어로 기술된다. 예를 들면 IEC61131-3에 정의된 언어(이후 'IEC언어'라 한다)나 제조사별로 정의된 언어인 Master-K(이하 'MK언어'라 한다) 등이 있다. 프로그램 언어는 a-접점 스위치, b-접점 스위치, 타이머, 논리연산 등을 위한 명령어를 가지며 통신 등 기타 다양한 기능을 갖는 기능블록을 위한 명령어는 업체에 따라 다양하게 정의될 수 있다.
그런데 이렇게 다양한 프로그램 언어가 사용되다 보니 하드웨어 별로 사용되는 프로그램 언어도 제각각이고 프로그램에 따라 OS도 달라져야 했다. 결국 사용자는 특정 기능의 하드웨어를 사용하기 위해서는 자신이 사용하는 프로그램 언어를 지원하는 OS가 탑재된 하드웨어를 구입해야 하는 불편함이 있었다.
본 발명의 발명자들은 이러한 종래 기술의 문제점을 해결하기 위해 연구 노력해 왔다. 프로그램 언어와 OS에 따라 하드웨어를 달리 사용하지 않고 하나의 OS에서 다양한 프로그램 언어를 지원하는 방법을 제공하기 위해 많은 노력 끝에 본 발명을 완성하기에 이르렀다.
본 발명의 목적은 하나의 OS에서 서로 다른 프로그램 언어를 지원하는 방법을 제시하는 것이다.
한편, 본 발명의 명시되지 않은 또 다른 목적들은 하기의 상세한 설명 및 그 효과로부터 용이하게 추론 할 수 있는 범위 내에서 추가적으로 고려될 것이다.
본 발명에 따른 다중 프로그램 언어 지원을 위한 PLC 제어 방법은,
프로그램 언어 선택을 입력받는 단계; 상기 프로그램 언어에서 사용하는 메모리의 영역별 크기를 입력받는 단계; 제어대상 PLC에 상기 PLC에 포함된 메모리의 시작주소 및 크기를 요청하는 단계; 상기 PLC를 제어하기 위한 사용자 프로그램을 기계어로 번역하는 단계; 상기 PLC로부터 메모리 시작주소 및 크기를 수신하는 단계' 상기 PLC의 메모리 시작주소 및 크기와 상기 메모리 영역별 크기를 반영한 메모리 테이블을 상기 PLC에 전송하는 단계; 및 상기 번역된 기계어를 상기 PLC에 전송하는 단계;를 포함한다.
상기 메모리의 영역별 크기를 입력받는 단계에서는 프로그램 언어에 따라 사용하지 않는 영역이 비활성화 되어 있는 것을 특징으로 한다.
상기 프로그램 언어 선택을 입력받는 것은 서로 다른 둘 이상의 프로그램 언어 중에서 선택을 입력받는 것이 좋다.
특히 상기 프로그램 언어는 IEC-61131-3 언어와 Master-K 언어를 포함하는 것을 특징으로 한다.
상기 사용자 프로그램을 기계어로 번역하지 않고 상기 PLC에 전송하는 단계를 더 포함할 수 있다.
본 발명에 따르면 하나의 OS에서 다양한 프로그램 언어를 지원하는 것이 가능하므로 사용자마다 익숙한 프로그램 언어를 OS 변경 없이 사용할 수 있는 장점이 있다. 따라서 사용자의 편의성을 높이고 PLC의 유지보수에 드는 시간을 절약할 수 있는 효과를 얻을 수 있다.
한편, 여기에서 명시적으로 언급되지 않은 효과라 하더라도, 본 발명의 기술적 특징에 의해 기대되는 이하의 명세서에서 기재된 효과 및 그 잠정적인 효과는 본 발명의 명세서에 기재된 것과 같이 취급됨을 첨언한다.
도 1 및 도 2는 MK언어와 IEC언어에서 LD를 사용하여 작성한 프로그램의 예를 나타낸다.
도 3은 PLC제어장치와 PLC가 프로그램 실행을 위해 접속하는 과정을 나타낸 흐름도이다.
도 4와 도 5는 프로그램이 컴파일되어 PLC에서 실행되는 순서를 나타낸다.
도 6은 본 발명의 바람직한 어느 실시예에 따른 PLC제어장치의 개략적인 구조를 나타낸다.
도 7은 본 발명의 바람직한 어느 실시예에 따른 PLC제어장치에 의해 수행되는 다양한 언어를 지원하기 위한 PLC 제어방법의 흐름도이다.
※ 첨부된 도면은 본 발명의 기술사상에 대한 이해를 위하여 참조로서 예시된 것임을 밝히며, 그것에 의해 본 발명의 권리범위가 제한되지는 아니한다
이하, 도면을 참조하여 본 발명의 다양한 실시예가 안내하는 본 발명의 구성과 그 구성으로부터 비롯되는 효과에 대해 살펴본다. 본 발명을 설명함에 있어서 관련된 공지기능에 대하여 이 분야의 기술자에게 자명한 사항으로서 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
'제1', '제2' 등의 용어는 다양한 구성요소를 설명하는데 사용될 수 있지만, 상기 구성요소는 위 용어에 의해 한정되어서는 안 된다. 위 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 수 있다. 예를 들어, 본 발명의 권리범위를 벗어나지 않으면서 '제1구성요소'는 '제2구성요소'로 명명될 수 있고, 유사하게 '제2구성요소'도 '제1구성요소'로 명명될 수 있다. 또한, 단수의 표현은 문맥상 명백하게 다르게 표현하지 않는 한, 복수의 표현을 포함한다. 본 발명의 실시예에서 사용되는 용어는 다르게 정의되지 않는 한, 해당 기술분야에서 통상의 지식을 가진 자에게 통상적으로 알려진 의미로 해석될 수 있다.
이하, 도면을 참조하여 본 발명의 다양한 실시예가 안내하는 본 발명의 구성과 그 구성으로부터 비롯되는 효과에 대해 살펴본다.
PLC는 PADT(Program And Debugging Tool)라는 툴을 이용하여 사용자가 작성한 프로그램에 의해 동작한다. PADT는 다양한 프로그램 언어를 사용할 수 있는데 IEC61131-3이라는 표준 언어와 제조사별로 정의한 Master-K 등의 언어가 그 예이다. 이러한 프로그램 언어는 LD(ladder Diagram), IL(Instruction List), ST(structured Text), FBD(Function Block Diagram) 등 다양한 방법으로 기술될 수 있다.
도 1과 도 2는 MK언어와 IEC언어에서 LD를 사용하여 작성한 프로그램의 한 예이다.
MK언어는 바이트(Byte), 워드(Word), 더블워드(Double Word), 플로팅(Floating) 등 데이터 타입에 따른 연산의 구분을 입력 변수의 타입으로 구분하는 것이 아니라 명령어로 구분한다. 도 1에 나타난 것처럼 같은 더하기 연산이라도 워드타입 연산은 “ADD D00000 D00002 D00004”와 같이 ADD 명령어를 사용하고 더블워드 타입 연산은 “DADD D00000 D00002 D00004”와 같이 DADD 명령어를 사용하는 식이다.
반면 IEC언어는 명령어가 아니라 변수를 이용하여 연산을 구분한다. 도 2에 나타난 것처럼 워드 연산이나 더블워드 연산에 모두 명령어는 ADD를 사용한다. 다만 변수 타입을 워드 연산인 경우는 “%MW0, %MW1”과 같이 사용하고, 더블워드 연산인 경우는 “%MD0, %MD1”과 같이 사용하여 워드와 더블워드를 구분하는 것이다.
타이머의 사용도 두 언어가 구분된다. MK언어는 타이머용 메모리(T0000)가 별도로 할당되어 있는 반면 IEC언어는 타이머용 메모리가 따로 할당되어 있지 않고 명령어 내부에 타이머를 위한 메모리를 할당하여 사용하는 방식이다.
도 3은 PLC제어장치와 PLC가 프로그램 실행을 위해 접속하는 과정을 나타낸 흐름도이다.
PLC제어장치(10)는 데스크탑PC, 노트북PC, 서버PC등 다양한 장치가 사용될 수 있다. PLC제어장치(10)에서 PADT를 실행하고 사용자의 프로그램이나 제어명령을 입력받을 수 있다.
사용자는 PADT에서 프로젝트를 생성하고(S10) 프로그램 언어를 선택한 다음(S12) PLC(20)를 제어하기 위한 프로그램을 입력한다(S14).
이후 PLC(20) 접속을 시작하여(S16), PLC(20)에 정보를 요청한다(S18). PLC(20)로부터 정보를 수신하면(S20), 사용자가 선택한 프로그램 언어를 PLC(20)에서 지원하는 지 확인한다(S22).
PLC(20)에서 프로그램 언어를 지원한다면 PLC 접속이 완료되고(S24) 접속을 유지하며 명령을 대기하는 상태가 된다(S26).
반면 PLC(20)에서 사용자가 선택한 프로그램 언어를 지원하지 않는다면 PLC 접속을 종료하게 된다(S28). 사용자가 작성한 프로그램을 실행할 수 없기 때문이다.
이렇게 PLC(20)가 프로그램 언어를 지원하는 지 확인하는 이유는 지원하는 언어에 따라 내부 메모리 구조가 달라지기 때문이다. 표 1은 MK언어를 지원하는 PLC의 내부 메모리 구조이고, 표 2는 IEC언어를 지원하는 PLC의 내부 메모리 구조를 나타낸다.
Figure pat00001
Figure pat00002
PC의 프로그램 언어로 널리 사용되는 C언어와 달리 IEC언어나 MK언어는 사용자 편의를 위해 용도별로 메모리 영역을 구분하여 이름을 붙여놓았다. 입출력 영역(P 또는 I/Q 영역)은 실제 PLC의 입출력 접점과 1:1 매칭되어 PLC 제어장치(10)에서 스캔을 수행할 때마다 입출력을 갱신하게 된다.
IEC언어는 내부 변수를 사용하는 명령어가 있기 때문에 자동변수영역(A영역)을 제공한다. 따라서 MK언어와 달리 타이머(T)영역이나 카운터(C)영역을 명령 내부 변수(자동변수)를 사용하여 제공하지 않는 것이다.
다음 표 3은 프로그램 언어별로 정보들이 생성되는 곳과 사용되는 곳이 다른 것을 보여준다.
Figure pat00003
프로그램 코드는 IEC언어나 MK언어 모두 PADT에서 생성되어 PLC에서 실행된다. 하지만 PLC 영역별 주소테이블과 기계어 코드는 생성되는 곳과 실행되는 곳이 프로그램 언어에 따라 다른다.
PLC 영역별 주소테이블은 IEC언어는 PLC에서 생성되어 PADT에서 실행되는 반면, MK언어는 생성과 실행이 모두 PLC에서 이루어진다.
프로그램 언어를 PLC에서 실행시키기 위해서는 기계어로 번역하는 컴파일 과정을 거쳐야 한다. IEC언어의 경우 컴파일은 PADT에서 수행되고 번역이 완료된 기계어 코드가 PLC로 전달되어 실행이 된다. 반면 MK언어는 컴파일과 실행이 모두 PLC에서 이루어지는 차이가 있다.
도 4와 도 5는 프로그램이 컴파일되어 PLC에서 실행되는 순서를 나타낸다.
도 4는 IEC언어에서의 PLC 실행 순서를 나타낸다.
PLC제어장치(10)와 PLC(20)의 접속이 완료되면(S100) 프로그램 코드는 PLC 제어장치(10), 즉 PADT에서 컴파일된다(S104).
컴파일 되지 않은 프로그램 코드를 PLC(20)에 쓰고(S106) 확인(ACK)을 받으면(S108), 번역된 기계어 코드를 쓰고(S110), 확인을 받는다(S112).
프로그램 코드와 기계어 코드를 모두 쓰고나면 PLC 접속을 종료하고(S116), PLC(20)는 소프트웨어를 실행시킨 후 기계어 코드를 실행시켜 프로그램을 수행하게 된다(S122).
도 5는 MK언어를 사용하여 PLC를 실행하는 경우의 흐름도이다.
MK언어를 사용하는 PLC(20)는 프로그램 코드를 기계어로 번역하는 컴파일이 PLC(20)에서 실행된다.
따라서 PLC제어장치(10)는 PLC(20)에 접속한 다음(S200), 프로그램 코드만 쓰고(S204) 확인을 받은 후(S206) PLC(20)와의 접속을 종료하게 된다(S210). IEC언어와 달리 컴파일 단계가 생략된 것이다.
PLC(20)는 소프트웨어를 실행하고(S220), 프로그램을 실행하기 위해 우선 프로그램 코드를 기계어로 컴파일하고(S222), 컴파일이 완료된 기계어를 실행하여 프로그램을 실행하는 것이다(S224).
이처럼 종래기술에 따르면 IEC언어와 MK언어는 메모리 구성이나 컴파일 과정, 컴파일 위치 등이 다르기 때문에 통합될 수 없고, 프로그램 언어에 따라 OS나 하드웨어를 구분해서 사용해야 하는 불편함이 있었다.
도 6은 본 발명의 바람직한 어느 실시예에 따른 PLC제어장치의 개략적인 구조를 나타낸다.
PLC제어장치(100)는 제어부(110)와 통신부(120)를 포함하여 구성될 수 있다.
제어부(110)는 하나 이상의 프로세서(112)와 메모리(114)를 포함한다.
사용자 인터페이스인 PADT(116)은 제어부(110)에서 수행된다. 메모리(114)에는 이를 위한 프로그램 코드와 데이터가 저장될 수 있고, 프로세서(112)는 이를 이용하여 PADT(116)를 실행한다.
통신부(120)는 PLC(200)와의 통신을 위해 사용된다. PLC(200)에 프로그램 코드를 전달하거나 각종 제어명령, 데이터들을 주고받는다.
도 7은 본 발명의 바람직한 어느 실시예에 따른 PLC제어장치에 의해 수행되는 다양한 언어를 지원하기 위한 PLC 제어방법의 흐름도이다.
PLC제어장치(100)는 PADT를 통해 사용자로부터 프로젝트 생성(S300)과 프로그램 언어 선택을 입력받는다(S302).
프로그램 언어 선택을 입력받은 후 프로그램 언어에 따라 메모리 영역의 설정을 사용자로부터 입력받는다.
다음 표 4는 메모리 영역별 크기를 입력받는 예를 나타낸다.
Figure pat00004
사용자가 선택한 프로그램 언어에 따라 사용되는 메모리 영역의 크기를 입력받는다. MK언어를 사용하는 경우 I/Q영역이나 A영역은 사용하지 않으니 제외하고 입력을 받으며, IEC언어를 사용하는 경우 P영역, T/C영역, D영역 등은 입력을 받지 않는 것이다.
다음 표 5는 IEC언어가 선택된 경우 IEC언어에서 사용하는 영역의 크기를 입력받은 예를 나타낸다.
Figure pat00005
IEC언어에서 사용하지 않는 P/T/C/D영역은 메모리 크기가 할당되어 있지 않음을 볼 수 있다. 메모리 시작 위치는 PLC(200)에서 실제 사용되는 메모리의 시작주소를 나타내고 영역 사이즈 합계는 모든 영역의 메모리의 합을 나타낸다.
메모리 영역별 크기 입력을 마치면 사용자의 프로그램을 입력받고(S306) PLC(200)와의 접속을 시작한다(S308).
PLC(200) 접속이 완료되면(S310) PLC(200)의 메모리 시작주소와 크기를 요청하고(S312) PLC(200로부터 회신을 받는다(S314).
메모리 시작주소와 크기를 수신하면 이에 따라 메모리 테이블을 생성한다.
표 6은 IEC언어를 사용하는 경우 메모리 시작 주소를 적용하여 각 영역의 주소를 설정한 메모리 테이블의 예를 나타낸다.
Figure pat00006
프로그램 코드를 컴파일 한 다음에(S316) 프로그램을 쓰고(318), 메모리 시작주소와 크기를 고려하여 메모리 테이블을 쓰고(S322), 컴파일 된 기계어도 PLC(200)에 기록한다(S328). 프로그램 쓰기, 메모리 테이블 쓰기, 기계어 쓰기는 모두 확인(ACK) 절차를 함께 수행한다(S320, S324, S328).
필요한 모든 코드와 데이터 기록을 마치면 PLC제어장치(100)는 PLC(200)와의 접속을 종료한다(S330).
PLC(200)는 구동을 위해 필요한 소프트웨어를 실행하고(S350), PLC제어장치(100)로부터 수신한 메모리 테이블로 메모리 영역을 설정한다(S352). 프로그램 언어에 따라 메모리 영역이 가변적이므로 고정된 메모리 영역이 아니라 PLC제어장치(100)에서 수신한 메모리 테이블로 설정하는 것이다.
메모리 영역을 설정한 다음 PLC(200)는 프로그램을 실행한다. 컴파일 완료된 상태의 기계어를 수신하기 때문에 프로그램 언어가 무엇인지 관계 없이 기계어로 프로그램을 바로 실행한다.
따라서 프로그램 언어가 무엇인지 상관 없이 PLC(200)는 프로그램 코드를 컴파일 할 필요가 없어진 것이다.
표 7은 본 발명에서 프로그램 코드와 메모리 주소 테이블, 기계어 코드가 생성되는 곳과 실행되는 곳을 나타낸다.
Figure pat00007
종래 기술과 달리 IEC언어나 MK언어의 구분 없이 프로그램 코드나 PLC 영역의 메모리 테이블, 기계어로 번역된 코드는 모두 PLC제어장치(100)의 PADT를 통해 생성되고, PLC(200)는 컴파일 등의 과정 없이 메모리 테이블을 PADT에서 수신하여 실행한다.
이와 같이 PLC에서 프로그램 언어에 따라 달라지는 메모리 영역을 지원할 수 있도록 하고, 기계어 코드 번역을 위한 컴파일이 수행되는 곳을 통일함으로써 종래 프로그램 언어에 따라 하드웨어를 달리 선택하던 문제를 해결하고 하나의 PLC에서 여러 프로그램 언어를 지원할 수 있는 효과가 있다.
본 발명의 보호범위가 이상에서 명시적으로 설명한 실시예의 기재와 표현에 제한되는 것은 아니다. 또한, 본 발명이 속하는 기술분야에서 자명한 변경이나 치환으로 말미암아 본 발명이 보호범위가 제한될 수도 없음을 다시 한 번 첨언한다.

Claims (5)

  1. 하나이상의 프로세서를 포함하는 제어부에 의해 수행되는 PLC(Programmable Logic Controller) 제어방법에 있어서:
    프로그램 언어 선택을 입력받는 단계;
    상기 프로그램 언어에서 사용하는 메모리의 영역별 크기를 입력받는 단계;
    제어대상 PLC에 상기 PLC에 포함된 메모리의 시작주소 및 크기를 요청하는 단계;
    상기 PLC로부터 메모리 시작주소 및 크기를 수신하는 단계'
    상기 PLC를 제어하기 위한 사용자 프로그램을 기계어로 번역하는 단계;
    상기 PLC의 메모리 시작주소 및 크기와 상기 메모리 영역별 크기를 반영한 메모리 테이블을 상기 PLC에 전송하는 단계; 및
    상기 번역된 기계어를 상기 PLC에 전송하는 단계;를 포함하는 다중 프로그램 언어 지원을 위한 PLC 제어 방법.
  2. 제1항에 있어서,
    상기 메모리의 영역별 크기를 입력받는 단계에서는 프로그램 언어에 따라 사용하지 않는 영역이 비활성화 되어 있는 것을 특징으로 하는, 다중 프로그램 언어 지원을 위한 PLC 제어 방법.
  3. 제1항에 있어서,
    상기 프로그램 언어 선택을 입력받는 것은 서로 다른 둘 이상의 프로그램 언어 중에서 선택을 입력받는 것을 특징으로 하는, 다중 프로그램 언어 지원을 위한 PLC 제어 방법.
  4. 제3항에 있어서,
    상기 프로그램 언어는 IEC-61131-3 언어와 Master-K 언어를 포함하는 것을 특징으로 하는, 다중 프로그램 언어 지원을 위한 PLC 제어 방법.
  5. 제1항에 있어서,
    상기 사용자 프로그램을 기계어로 번역하지 않고 상기 PLC에 전송하는 단계를 더 포함하는 것을 특징으로 하는, 다중 프로그램 언어 지원을 위한 PLC 제어 방법.
KR1020200016136A 2020-02-11 2020-02-11 복수 프로그래밍 언어 지원을 위한 plc 제어방법 KR20210101770A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200016136A KR20210101770A (ko) 2020-02-11 2020-02-11 복수 프로그래밍 언어 지원을 위한 plc 제어방법
CN202110060849.8A CN113253992B (zh) 2020-02-11 2021-01-18 用于支持多种编程语言的plc控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200016136A KR20210101770A (ko) 2020-02-11 2020-02-11 복수 프로그래밍 언어 지원을 위한 plc 제어방법

Publications (1)

Publication Number Publication Date
KR20210101770A true KR20210101770A (ko) 2021-08-19

Family

ID=77181500

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200016136A KR20210101770A (ko) 2020-02-11 2020-02-11 복수 프로그래밍 언어 지원을 위한 plc 제어방법

Country Status (2)

Country Link
KR (1) KR20210101770A (ko)
CN (1) CN113253992B (ko)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW495701B (en) * 1999-10-25 2002-07-21 Sony Corp Transmission device and method of content data, control device and method of content information, and storage medium
WO2008024507A1 (en) * 2006-08-24 2008-02-28 Siemens Energy & Automation, Inc. Devices, systems, and methods for configuring a programmable logic controller
JP5521803B2 (ja) * 2010-06-10 2014-06-18 ソニー株式会社 通信装置、通信方法、及び、通信システム
KR101602993B1 (ko) * 2012-08-23 2016-03-11 엘에스산전 주식회사 프로그래밍 언어 오류 검색 장치
KR101707266B1 (ko) * 2013-08-29 2017-02-15 엘에스산전 주식회사 Plc에서의 os의 업데이트 장치 및 방법
CN104239115A (zh) * 2014-07-24 2014-12-24 汕头大学 一种plc编程语言的编译方法
KR102063966B1 (ko) * 2015-10-21 2020-01-09 엘에스산전 주식회사 Plc 명령어 컴파일 최적화 방법
CN109976760A (zh) * 2017-12-27 2019-07-05 北京东土科技股份有限公司 一种图形语言的交叉编译方法及交叉编译器
CN109918081B (zh) * 2019-03-01 2022-06-03 中安智联未来有限公司 一种编译方法及编译器

Also Published As

Publication number Publication date
CN113253992B (zh) 2024-05-10
CN113253992A (zh) 2021-08-13

Similar Documents

Publication Publication Date Title
US8327316B2 (en) Compilation model
US7110837B2 (en) Control system and method for on-line editing of user program
GB2232514A (en) Programmable controller
JP2009146229A (ja) プログラマブルコントローラシステム
US10747507B2 (en) Development support device, development support method, and non-transitory recording medium
JP2009157533A (ja) プログラマブルコントローラシステム
CN107024900B (zh) 最优编译plc命令的方法
JP4347839B2 (ja) 二重化システム
JP6362821B2 (ja) 制御装置、制御方法および命令セット
KR20210101770A (ko) 복수 프로그래밍 언어 지원을 위한 plc 제어방법
US8533376B1 (en) Data processing method, data processing apparatus and robot
JP4303107B2 (ja) 工作機械制御プロセスおよびそのための機器
KR102434126B1 (ko) Plc 프로그램 처리 장치
JP3389592B2 (ja) プログラマブルコントローラ
JP6929474B1 (ja) プログラム実行装置、プログラム実行方法及びコンピュータプログラム
JPH10240568A (ja) エミュレータ装置およびエミュレーション方法
KR100642182B1 (ko) 단일씨피유를 이용한 씨앤씨시스템
JPH04149658A (ja) 情報処理装置
WO2023181400A1 (ja) システムプログラム最適化装置、システムプログラム最適化システム、及びコンピュータが読み取り可能な記憶媒体
KR20200113405A (ko) 프로그램 언어와 제조사에서 정의한 언어의 혼용을 위한 메모리 매핑 방법
KR970006024B1 (ko) 디버깅장치 및 방법
KR100434134B1 (ko) 프로그램가능한로직제어기
JP2003044277A (ja) プログラム開発支援装置、プログラム開発支援プログラムおよびそれを記録した記録媒体
JP7044086B2 (ja) 制御システム、制御方法、および制御プログラム
JPH04288603A (ja) 数値制御装置