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.8 지역변수와 전역변수

3.8.1 지역변수

설명

지금까지는 var문으로 정의한 지역변수의 예만으로 예제를 설명해왔습니다. 지역변수는 하나의 JOB 프로그램 내에서 var문에 의해 생성된 후, end문을 만나 프로그램이 종료되면 자동으로 소멸됩니다. 그리고 다른 프로그램에서는 값을 읽거나 쓸 수 없습니다.

사용 예

main_v는 0001.job 내에서만 접근 가능한 지역변수이고, sub_v는 0107.job 내에서만 접근 가능한 지역변수입니다. 다른 프로그램에서 접근하려고 하면 에러가 발생합니다.

지역변수 x는 0001.job과 0107.job에서 모두 정의했습니다. 이름이 같지만 서로 다른 변수이기 때문에, 서브 프로그램 0107에서 값으로 5를 설정했지만, 메인 프로그램 0001로 리턴한 후에는 5가 아닌 3이 출력됩니다.

0001.job

var main_v=10

var x=3

call 107

print main_v # ok

print sub_v # error

print x # 3이 출력됨.

end

0107.job

var sub_v=20

var x

print sub_v # ok

print main_v # error

x=5

end

Previous3.8 지역변수와 전역변수Next3.8.2 전역변수

Last updated 4 months ago

Was this helpful?