Hi6 Robot Controller Manual - Robot Language HRScr
Korean
Korean
  • Hi6 로봇제어기 기능설명서 - 로봇언어 HRScript
  • 1. 개요
    • 1.1 HRScript의 소개
  • 2. 기본 문법
    • 2.1 명령문
    • 2.2 식별자
    • 2.3 명령문의 종류
      • 2.3.1 프로시져
      • 2.3.2 대입문
      • 2.3.3 주석문
      • 2.3.4 레이블
    • 2.4 첫 번째 프로그램 - Hello, World !
    • 2.5 자료형 (type)
      • 2.5.1 문자열 자료형
      • 2.5.2 숫자 자료형
      • 2.5.3 bool 자료형
      • 2.5.4 배열과 객체형
    • 2.6 변수
    • 2.7 2진수와 16진수
    • 2.8 연산자와 수식
    • 2.9 함수
      • 2.9.1 수학 함수
      • 2.9.2 문자열 함수
      • 2.9.3 날짜, 시간 함수
      • 2.9.4 생성자 함수
      • 2.9.5 기타 함수
    • 2.10 import문
  • 3. 제어문과 서브프로그램
    • 3.1 주소 (Address)
    • 3.2 정지, 대기문
      • 3.2.1 stop문
      • 3.2.2 end문
      • 3.2.3 delay문
      • 3.2.4 wait문
    • 3.3 분기문
      • 3.3.1 goto 문
      • 3.3.2 gosub~retsub 문
    • 3.4 조건문
      • 3.4.1 단문 if문
      • 3.4.2 복문 if~endif 문
      • 3.4.3 복문 if~else~endif 문
      • 3.4.4. 복문 if~elseif~else~endif문
      • 3.4.5. switch~case~break~end_switch문
    • 3.5. 내포된 (nested) 제어문
    • 3.6 반복문
      • 3.6.1 for~next문
      • 3.6.2 break문, continue문
    • 3.7 call문, jump문과 서브프로그램
      • 3.7.1 call문
      • 3.7.2 매개변수와 param문, return문
      • 3.7.3 def문
      • 3.7.4 jump문
    • 3.8 지역변수와 전역변수
      • 3.8.1 지역변수
      • 3.8.2 전역변수
      • 3.8.3 우선순위
  • 4. 배열과 객체
    • 4.1 배열
      • 4.1.1 배열
      • 4.1.2 다차원 배열
      • 4.1.3 배열 생성자 함수
      • 4.1.4 배열 원소 추가 append_arr
      • 4.1.5 배열에 다른 배열을 추가 extend_arr
    • 4.2 객체 (object)
    • 4.3 배열과 객체의 복사 대입(assignment)
    • 4.4 참조 전달(call-by-reference)과 값 전달(call-by-value)
  • 5. 로봇언어로 로봇 움직이기
    • 5.1 포즈 (pose)
    • 5.2 시프트 (shift)
    • 5.3 포즈식 (pose expression)
    • 5.4 move문
    • 5.5 mkucs함수 - 사용자좌표계
    • 5.6 selucrd문
    • 5.7 contpath문
    • 5.8 coldet문
    • 5.9 colsense문
    • 5.10 softxyz문
    • 5.11 softxyz_lim문
    • 5.12 softjoint문
    • 5.13 softjoint_lim문
    • 5.14 외부 제어
    • 5.15 convcrd문
    • 5.16 pose_trans문
    • 5.17 pose_inv문
    • 5.18 axisctrl문
    • 5.19 smov문
    • 5.20 shift문
    • 5.21 shift_lim문
  • 6. 외부장치와 통신하기
    • 6.1 fb객체 : 디지털 I/O
      • 6.1.1 입출력 변수
      • 6.1.2 예제
      • 6.1.3 fn객체
      • 6.1.4 pulse문
    • 6.2 http_cli 모듈 : HTTP 클라이언트
      • 6.2.1 생성자
      • 6.2.2 멤버변수
      • 6.2.3 멤버 프로시져
        • get
        • put
        • post
        • delete
      • 6.2.4 HTTP client 통신 코드
      • 6.2.5 HTTP client 통신 예제
    • 6.3 티치펜던트 console bar로 입출력하기
      • 6.3.1 print문
      • 6.3.2 input문
    • 6.4 modbus 모듈:모드버스 마스터
    • 6.5 Sci 모듈:시리얼 통신
      • 6.5.1 생성자
      • 6.5.2 멤버 프로시져
        • send
        • recv
        • open
        • close
        • clr_rbuf
      • 6.5.3 시리얼 통신 예제
  • 7. enet 모듈 : 이더넷 TCP/UDP 통신
    • 7.1 peer-to-peer, client 예제
      • 7.1.1 peer-to-peer, client 예제 - 문자열 송수신
      • 7.1.2 peer-to-peer, client 예제 - 바이너리 송수신
    • 7.2 TCP server 예제
      • 7.2.1 ethernet TCP server - 문자열 송수신
      • 7.2.2 ethernet TCP server - 바이너리 송수신
    • 7.3 ENet 객체
      • 7.3.1 ENet 생성자
      • 7.3.2 ENet 멤버변수
      • 7.3.3 ENet 멤버 함수
        • accept
        • close
        • connect
        • listen
        • open
        • recv
        • recv_bbuf
        • send
        • send_bbuf
        • set_send_trail_null
        • state
    • 7.4 BBuf 객체
      • 7.4.1 BBuf 생성자
      • 7.4.2 지원 형식 (format)
      • 7.4.3 BBuf 멤버 함수
        • append
        • clear
        • nbyte
        • read_num
        • read_nums
  • 8. 앨리어스 (alias)
  • 9. 파일
    • 9.1 파일시스템
      • 9.1.1 mkdir문
      • 9.1.2 copyfile문
      • 9.1.3 delfile문
    • 9.2 load/save
      • 9.1.1 load_job문
      • 9.1.2 load_csv문
      • 9.1.3 save_csv문
  • 10. 기타
    • 10.1 기타 프로시져
      • 10.1.1 gather문
      • 10.1.2 tonl문
      • 10.1.3 seltool문
      • 10.1.4 triggout문
      • 10.1.5 intr_def문
      • 10.1.6 typeof문
      • 10.1.7 gasp_check문
      • 10.1.8 optime문
      • 10.1.9 count_up문
      • 10.1.10 count_dn문
      • 10.1.11 cycle_end문
      • 10.1.12 speed_out문
      • 10.1.13 task문
      • 10.1.14 toolchng문
      • 10.1.15 json_parse문
    • 10.2 기타 함수
      • 10.2.1 rducs 함수
      • 10.2.2 segment 함수
      • 10.2.3 intersection 함수
      • 10.2.4 rand 함수
      • 10.2.5 sig2int 함수
    • 10.3 시스템 변수
      • _acc_rate 변수
      • _dec_rate 변수
      • _intr.no 변수
      • _intr.target 변수
      • _spd_rate 변수
      • _task.enable 변수
      • _tool 변수
      • _vel_rpm_cmd 변수
      • _weaving 변수
Powered by GitBook
On this page
  • 설명
  • 문법
  • 사용 예

Was this helpful?

Edit on GitHub
  1. 3. 제어문과 서브프로그램
  2. 3.7 call문, jump문과 서브프로그램

3.7.1 call문

Previous3.7 call문, jump문과 서브프로그램Next3.7.2 매개변수와 param문, return문

Last updated 2 years ago

Was this helpful?

설명

HRScript에서 메인 프로그램(main program)과 서브 프로그램(sub program) 간의 형식 상의 큰 차이는 없습니다. 기동 버튼이나 신호로 처음 실행된 JOB은 주 프로그램이고, call 명령문에 의해 호출된 JOB은 모두 서브 프로그램입니다.

문법

call <JOB번호 혹은 파일이름, 사용자함수명> [,매개변수1,매개변수2,…]

call 뒤에 JOB 번호, 혹은 JOB파일이름(확장자 제외)이나 사용자함수명을 지정합니다. A라는 프로그램이 수행되다가 call B를 만나면 A의 수행은 중단되고, 서브프로그램인 B 프로그램(혹은 사용자함수)의 첫 명령문부터 수행이 계속됩니다. B 수행 중 end문이나 return 문을 만나면 호출했던 A 프로그램 call문의 다음 명령문 위치로 복귀하여 A의 수행을 계속하게 됩니다.

사용 예

아래는 call 문에 의한 서브프로그램 호출의 예와 그 결과입니다. 서브프로그램이 하는 일이 print문 1개 뿐이라 프로그램을 둘로 분리한 것이 의미없어 보이기는 하지만 뒤에서 좀 더 실제적인 예를 보이도록 하겠습니다.

  • 사용자 함수를 호출하는 예는 를 참조하십시오.

# 0001_main.job
print "main job start"
call 102_err
print "main job end"
end
# 0102_err.job
print "sub-program"
end

결과

main job start
sub-program
main job end
3.7.3 def