KR20120133270A - 그래픽 기반의 로봇 제어 프로그램 개발 도구 - Google Patents

그래픽 기반의 로봇 제어 프로그램 개발 도구 Download PDF

Info

Publication number
KR20120133270A
KR20120133270A KR1020110051855A KR20110051855A KR20120133270A KR 20120133270 A KR20120133270 A KR 20120133270A KR 1020110051855 A KR1020110051855 A KR 1020110051855A KR 20110051855 A KR20110051855 A KR 20110051855A KR 20120133270 A KR20120133270 A KR 20120133270A
Authority
KR
South Korea
Prior art keywords
function
robot control
fbd
block
control program
Prior art date
Application number
KR1020110051855A
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 KR1020110051855A priority Critical patent/KR20120133270A/ko
Publication of KR20120133270A publication Critical patent/KR20120133270A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Numerical Control (AREA)
  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)

Abstract

본 발명은 그래픽 기반으로 로봇 제어를 위한 함수 블록들을 배치하고, 이를 C코드, 그리고 기계어로 만들어 로봇의 CPU에 다운로드할 수 있도록 하는 그래픽 기반의 로봇 제어 프로그램 개발 도구에 관한 것으로, 로봇 제어용 프로그램 개발 도구에 있어서, 변수, 연결선 및 Ladder Diagram(LD)의 스위칭 블록과 Function Block Diagram(FBD)의 함수 블록을 사용자가 직접 배치하여 로봇 제어용 프로그램을 만들 수 있는 기능 입력 수단; 상기 기능 입력 수단에 의해 작성된 그래픽 기반의 로봇 제어용 프로그램을 C코드로 변환해 주고, 이러한 C코드를 기계어 코드로 변환해 주는 변환기 수단; 및 상기 기계어 코드를 로봇의 CPU에 다운로드 하는 통신 수단으로 이루어지는 것을 특징으로 한다.

Description

그래픽 기반의 로봇 제어 프로그램 개발 도구{Graphics-based robot control application development tool}
본 발명은 그래픽 기반의 로봇 제어 프로그램 개발 도구에 관한 것이다.
보다 상세하게는 그래픽 기반으로 로봇 제어를 위한 함수 블록들을 배치하고, 이를 C코드, 그리고 기계어로 만들어 로봇의 CPU에 다운로드할 수 있도록 하는 그래픽 기반의 로봇 제어 프로그램 개발 도구이다.
기존의 로봇 제어 프로그램 개발 도구는 단순히 일렬로 연결된 함수 블록들을 C코드, 그리고 기계어로 만들어 로봇의 CPU에 다운로드하는 방식이었다.
그러나 기존의 로봇 제어 프로그램 개발도구는 프로그램이 복잡하여 가독성이 낮을 뿐만 아니라, 가독성이 낮고, 복잡하여 개발자의 개발 영역을 확장시킬 수 없다는 문제점이 있었다.
본 발명은 상술한 바와 같은 종래 기술의 문제점을 해소시키기 위해 안출된 것으로, 본 발명의 목적은 제어기용 프로그래밍 언어 Ladder Diagram(LD), Function Block Diagram(FBD)를 이용하여 그래픽 기반의 로봇 제어 프로그램을 생성할 수 있도록 하는 그래픽 기반의 로봇 제어 프로그램 개발 도구을 제공하는데 있다.
또한, 본 발명의 다른 목적은 그래픽 기반의 로봇 제어 프로그램을 사용자가 좀 더 쉽게 인지할 수 있게 해주며, 사용자의 선택에 따라 고급화된 프로그램을 직접 작성할 수 있도록 하는 그래픽 기반의 로봇 제어 프로그램 개발 도구를 제공하는데 있다.
상술한 목적을 달성하기 위한 본 발명의 실시예는, 로봇 제어용 프로그램 개발 도구에 있어서, 변수, 연결선 및 Ladder Diagram(LD)의 스위칭 블록과 Function Block Diagram(FBD)의 함수 블록을 사용자가 직접 배치하여 로봇 제어용 프로그램을 만들 수 있는 기능 입력 수단; 상기 기능 입력 수단에 의해 작성된 그래픽 기반의 로봇 제어용 프로그램을 C코드로 변환해 주고, 이러한 C코드를 기계어 코드로 변환해 주는 변환기 수단; 및 상기 기계어 코드를 로봇의 CPU에 다운로드 하는 통신 수단으로 이루어지는 것을 특징으로 한다.
상기 기능 입력 수단은 산업 제어기용 프로그래밍 언어 LD와 FBD를 기반으로 로봇 제어 프로그램을 작성할 수 있도록 지원하는 것을 특징으로 한다.
상기 LD의 스위칭 블록은 접점, 코일 중 어느 하나인 것을 특징으로 한다.
상기 FBD의 함수 블록은 여러 변수를 받아서 함수의 목적에 맞게 프로세싱 한 후 원하는 값을 출력 값으로 출력하며, 함수 블록은 일반적인 변수들뿐만 아니라 사용자 편의를 위해 실행제어 입력 변수(EN) 및 출력 변수 (ENO)를 고유 변수로 가지는 것을 특징으로 한다.
기능 입력 수단은 사용자가 프로그램 구조를 좀 더 쉽게 인지하게 하기 위해 LD의 스위칭 블록과 FBD의 함수 블록을 조합해서 하나의 Rung으로 묶고, 이러한 Rung을 하나의 단위로 해서 왼쪽 위부터 오른쪽 아래의 차례로 Rung 순서에 따라 실행되도록 지원하는 것을 특징으로 한다.
또한 기능 입력 수단은 사용자가 새로운 함수 블록을 편집화면에 놓았을 때, 같은 줄에 있는 입력과 출력을 자동으로 연결시키고, LD의 스위칭 블록들과 FBD의 함수 블록들 사이에 주고받는 입력과 출력들을 연결선을 구부려서 연결시키거나, 변수로 선언해 연결시키는 것을 특징으로 한다.
본 발명에 따른 로봇 제어를 위한 프로그램 개발 도구는 실행 함수들을 일렬로 연결하는 기존의 방식과 달리 왼쪽 위부터 오른쪽 아래의 차례로 Rung 순서에 따라 함수를 실행하는 방식을 사용하여 복잡한 프로그램의 가독성을 높일 수 있다는 효과가 있다.
또한 본 발명에 따른 로봇 제어를 위한 개발 도구는 로봇 제어를 위한 함수 블록들을 제공할 뿐만 아니라, 사용자가 직접 기존의 함수 블록을 조합하거나 C코드를 이용해서 함수 블록을 작성할 수 있도록 함으로써, 개발자의 개발 영역을 넓힐 수 있도록 하는 효과가 있다.
도 1은 그래픽 기반의 로봇 제어 프로그램 개발 도구의 개념적 구성을 설명하기 위한 블록도이다.
도 2는 Ladder Diagram(LD)의 스위칭 블록의 종류를 설명하기 위한 도면이다.
도 3은 Function Block Diagram(FBD)의 함수 블록의 구성을 설명하기 위한 도면이다.
도 4는 Function Block Diagram(FBD)의 함수 블록에서 실행 제어 입력과 출력의 기능을 설명하기 위한 도면이다.
도 5는 Rung의 개념을 설명하기 위한 도면이다.
도 6은 예제프로그램의 전체적인 도면이다.
도 7은 예제프로그램의 편집 창을 확대한 도면이다.
도 8은 사용자 정의 Function Block Diagram(FBD)의 구현 방법 중 C코드를 이용한 것을 보여주는 도면이다.
도 9는 사용자 정의 Function Block Diagram(FBD)의 구현 방법 중 LD의 스위칭 블록과 FBD의 함수 블록을 이용한 것을 보여주는 도면이다.
본 발명에 따른 그래픽 기반의 로봇 제어 프로그램 개발 도구의 구성에 대해서 설명하면 다음과 같다.
로봇 제어용 프로그램 개발 도구는 도 1에 도시된 바와 같이 변수, 연결선 및 Ladder Diagram(LD)의 스위칭 블록과 Function Block Diagram(FBD)의 함수 블록을 사용자가 직접 배치하여 로봇 제어용 프로그램을 만들 수 있는 기능 입력 수단(100)과, 상기 기능 입력 수단(100)에 의해 작성된 그래픽 기반의 로봇 제어용 프로그램을 C코드로 변환해 주고, 이러한 C코드를 기계어 코드로 변환해 주는 변환기 수단(200)과, 상기 기계어 코드를 로봇의 CPU에 다운로드 하는 통신 수단(300)으로 이루어진다.
상기 기능 입력 수단(100)은 산업 제어기용 프로그래밍 언어 LD와 FBD를 기반으로 로봇 제어 프로그램을 작성할 수 있도록 지원한다.
상기 LD의 스위칭 블록은 접점, 코일 등으로 이루어지며, 도 2에 도시된 바와 같이 스위칭 블록이 접점인 경우 LD의 스위칭 블록에 할당된 BOOL 변수가 TRUE 인지, FALSE 인지에 따라 신호가 흐름 여부를 결정하며, 반대로 코일인 경우는 신호가 흐름 여부에 따라 스위칭 블록에 할당된 BOOL 변수 값을 결정한다.
상기 FBD의 함수 블록은 여러 변수를 받아서 함수의 목적에 맞게 프로세싱 한 후 원하는 값을 출력 값으로 출력하며, 함수 블록은 일반적인 변수들뿐만 아니라 사용자 편의를 위해 실행제어 입력 변수(EN) 및 출력 변수(ENO)를 고유 변수로 가지며, 상기 변수들의 기능은 도 4에 설명되어 있다.
상기 기능 입력 수단(100)은 사용자가 프로그램 구조를 좀 더 쉽게 인지하게 하기 위해 LD의 스위칭 블록과 FBD의 함수 블록을 조합해서 하나의 Rung으로 묶고, 이러한 Rung을 하나의 단위로 해서 왼쪽 위부터 오른쪽 아래의 차례로 Rung 순서에 따라 실행되도록 지원한다.
상기 Rung은 도 5에 도시된 바와 같이 변수, LD의 스위칭 블록과 FBD의 함수블록이 연결선으로 연결된 하나의 단위를 의미한다.
또한 기능 입력 수단(100)은 사용자가 새로운 함수 블록을 편집화면에 놓았을 때, 같은 줄에 있는 입력과 출력을 자동으로 연결시키고, LD의 스위칭 블록들과 FBD의 함수 블록들 사이에 주고받는 입력과 출력들을 연결선을 구부려서 연결시키거나, 변수로 선언해 연결시킨다.
로봇 제어용 프로그램 개발 도구는 사용자의 선택에 따라 고급화된 프로그램을 직접 작성할 수 있게 하기 위해 사용자가 직접 FBD의 함수 블록을 기존에 프로그램이 제공하는 함수 블록의 조합이나 C코드로 작성할 수 있도록 지원한다.
또한 로봇 제어용 프로그램 개발 도구는 상술한 바와 같이 사용자가 작성한 함수 블록은 기존에 프로그램이 제공하는 함수 블록과 다른 색이나 모양을 써서 구분되도록 한다.
이하, 본 발명에 따른 로봇 제어용 프로그램 개발 도구의 작용에 대해 첨부한 도면을 참조하여 설명하면 다음과 같다.
도 6은 Line을 따라가는 로봇의 간단한 예제 프로그램의 전체 도면이다.
도 7에서 파란색으로 표시한 부분들이 LD의 스위칭 블록들이다.
도 7의 흰색 블록들은 프로그램에서 제공하는 함수 블록으로써 간단한 연산을 하는 블록 들이다. 도 7의 회색 블록들은 사용자가 기능 입력 수단(100)을 이용하여 직접 작성할 수 있는 함수 블록들이다. 이러한 회색 블록들은 기존의 함수 블록들을 조합하거나, C코드로 작성될 수 있으며, 도 8과 도 9에서는 이를 보여주기 위해 회색 블록들 중에 ① 블록을 두 가지 형태로 작성된 상태를 보여주고 있다. 도 8은 프로그램이 제공한 FBD의 함수 블록과 LD의 스위칭 블록들을 이용하여 함수 블록을 작성한 것이고, 도 9는 C코드로 함수 블록을 작성한 것이다. 이러한 기능을 이용하면 블록형태로 작성된 복잡하고 큰 프로그램을 간단하게 압축하여 작성 할 수 있다. 또한 C 코드를 이용한 프로그래밍에 익숙한 사용자라면 간편하게 함수 블록을 작성할 수 있다.
프로그램은 Rung의 순서를 따라 실행된다. 이러한 방법의 특징은 화면의 이곳저곳을 옮기면서 블록 배치를 할 수 있으며, 도 6의 Rung 2와 같이 바로 옆에 연결을 할 수도 있지만 Rung 1과 같이 연결선을 구부려서 원하는 곳에 연결할 수도 있다.
그리고 연결선이 복잡해지는 경우에는 ②와 같이 변수를 선언해서 입력, 출력을 연결할 수도 있다.
이상, 본 발명의 바람직한 실시 예에 대하여 상세히 기술하였지만, 본 발명이 속하는 기술분야에 있어서 통상의 지식을 가진 사람이라면, 첨부된 청구 범위에 정의된 본 발명의 정신 및 범위를 벗어나지 않으면서 본 발명을 여러 가지로 변형 또는, 변경하여 실시할 수 있을 것이지만, 이는 첨부된 청구항에서 포함되는 본 발명의 취지와 범위에 포함된다.
100 : 기능 입력 수단
200 : 변환기 수단
300 : 통신 수단

Claims (5)

  1. 로봇 제어용 프로그램 개발 도구에 있어서,
    변수, 연결선 및 Ladder Diagram(LD)의 스위칭 블록과 Function Block Diagram(FBD)의 함수 블록을 사용자가 직접 배치하여 로봇 제어용 프로그램을 만들 수 있는 기능 입력 수단;
    상기 기능 입력 수단에 의해 작성된 그래픽 기반의 로봇 제어용 프로그램을 C코드로 변환해 주고, 이러한 C코드를 기계어 코드로 변환해 주는 변환기 수단; 및
    상기 기계어 코드를 로봇의 CPU에 다운로드 하는 통신 수단으로 이루어지는 것을 특징으로 하는 그래픽 기반의 로봇 제어 프로그램 개발 도구.
  2. 제 1 항에 있어서,
    상기 기능 입력 수단은 산업 제어기용 프로그래밍 언어 LD와 FBD를 기반으로 로봇 제어 프로그램을 작성할 수 있도록 지원하는 것을 특징으로 하는 그래픽 기반의 로봇 제어 프로그램 개발 도구.
  3. 제 1 항에 있어서,
    상기 LD의 스위칭 블록은 접점, 코일 중 어느 하나인 것을 특징으로 하는 그래픽 기반의 로봇 제어 프로그램 개발 도구.
  4. 제 1 항에 있어서,
    상기 FBD의 함수 블록은, 여러 변수를 받아서 함수의 목적에 맞게 프로세싱 한 후 원하는 값을 출력 값으로 출력하며, 상기 FBD의 함수 블록은 일반적인 변수들뿐만 아니라 사용자 편의를 위해 실행제어 입력 변수(EN) 및 출력 변수 (ENO)를 고유 변수로 가지는 것을 특징으로 하는 그래픽 기반의 로봇 제어 프로그램 개발 도구.
  5. 제 1 항에 있어서,
    상기 기능 입력 수단은 사용자가 프로그램 구조를 좀 더 쉽게 인지하게 하기 위해 LD의 스위칭 블록과 FBD의 함수 블록을 조합해서 하나의 Rung으로 묶고, 이러한 Rung을 하나의 단위로 해서 왼쪽 위부터 오른쪽 아래의 차례로 Rung 순서에 따라 실행되도록 지원하고,
    상기 기능 입력 수단은 사용자가 새로운 함수 블록을 편집화면에 놓았을 때, 같은 줄에 있는 입력과 출력을 자동으로 연결시키고, LD의 스위칭 블록들과 FBD의 함수 블록들 사이에 주고받는 입력과 출력들을 연결선을 구부려서 연결시키거나, 변수로 선언해 연결시키는 것을 특징으로 하는 그래픽 기반의 로봇 제어 프로그램 개발 도구.
KR1020110051855A 2011-05-31 2011-05-31 그래픽 기반의 로봇 제어 프로그램 개발 도구 KR20120133270A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110051855A KR20120133270A (ko) 2011-05-31 2011-05-31 그래픽 기반의 로봇 제어 프로그램 개발 도구

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110051855A KR20120133270A (ko) 2011-05-31 2011-05-31 그래픽 기반의 로봇 제어 프로그램 개발 도구

Publications (1)

Publication Number Publication Date
KR20120133270A true KR20120133270A (ko) 2012-12-10

Family

ID=47516677

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110051855A KR20120133270A (ko) 2011-05-31 2011-05-31 그래픽 기반의 로봇 제어 프로그램 개발 도구

Country Status (1)

Country Link
KR (1) KR20120133270A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112405623A (zh) * 2020-12-02 2021-02-26 用友网络科技股份有限公司 机器人的开发方法、开发装置和可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112405623A (zh) * 2020-12-02 2021-02-26 用友网络科技股份有限公司 机器人的开发方法、开发装置和可读存储介质
CN112405623B (zh) * 2020-12-02 2022-07-12 用友网络科技股份有限公司 机器人的开发方法、开发装置和可读存储介质

Similar Documents

Publication Publication Date Title
CN110497412A (zh) 基于网页和移动端的机器人图形化编程交互系统
US20120117548A1 (en) System and method for free form comments for a programmable logic controller
CN107861458B (zh) 一种可自主配置硬件资源的plc快速构建方法
JPWO2006112324A1 (ja) インバータおよびそのプログラミング装置
TWI681272B (zh) 監視圖像的產生裝置、產生程式以及產生方法
CN103324541B (zh) 软件之间数据自动传输的方法
CN113238744A (zh) 一种基于流程图结构的图形化编程方法
JP6201574B2 (ja) Plc用のプログラミングツール
JP5992777B2 (ja) プログラマブルコントローラ、プログラム作成支援装置及びプログラム
CN109634572A (zh) 一种流程图编程方法及系统
CN103677772B (zh) 脚本编写方法及相应的脚本编写系统
JP5777842B2 (ja) プログラミングツール
JP2013143096A (ja) ラダープログラム作成装置
KR20120133270A (ko) 그래픽 기반의 로봇 제어 프로그램 개발 도구
JP6445029B2 (ja) 自動化システムを構成するための処理装置および方法
JP2008276381A (ja) プログラマブルコントローラのダイアグラムのデバッグシステム、そのプログラミング装置及びそのプログラム
TWI420389B (zh) 人機介面裝置及其介面整合方法
CN105511388A (zh) 一种plc各点功能可以随意设定的方法
JP2010224597A (ja) プログラマブルコントローラ制御プログラム作成方法、および、プログラマブルコントローラ制御プログラム作成システム
JP6632692B1 (ja) 制御プログラム作成支援ツール及び制御プログラムの作成方法
US9830053B2 (en) Screen definition device for operating panel
JP4851390B2 (ja) エディタ装置およびエディタプログラム
KR20200113405A (ko) 프로그램 언어와 제조사에서 정의한 언어의 혼용을 위한 메모리 매핑 방법
JP2003223204A (ja) プログラマブルコントローラのプログラミング方法およびその装置並びに記憶媒体
JP5783992B2 (ja) プログラマブル表示器用画面データのシミュレーションシステムおよびシミュレーションソフトウェア、プログラマブル表示器

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application