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. 7. enet 모듈 : 이더넷 TCP/UDP 통신
  2. 7.2 TCP server 예제

7.2.1 ethernet TCP server - 문자열 송수신

다음과 같은 순서로 수행합니다.

  1. enet 모듈 import 후, 생성자로 ENet 객체 생성.

  2. 멤버변수로 IP주소와 port번호를 설정. (remote port 설정은 필요없음.)

  3. open 멤버 프로시져로 ethernet socket 열고, listen(), accept() 함수를 수행함. state() 멤버변수로 상태 확인.

  4. send, recv 멤버 프로시져로 송수신 수행.

  5. close 멤버 프로시져로 통신 연결 닫기.

     # 1. enet 모듈 import 후, 생성자로 ENet 객체 생성
     import enet
     var svr=enet.ENet("tcp")
     
     # 2. IP주소와 port번호 설정
     svr.ip_addr="192.168.1.172" # remote (상대방) IP address
     svr.lport=51001 # local (자신) port
     # (port no. 49152–65535 contains dynamic or private ports)
     
     # 3. ethernet socket 열기
     svr.open
     var ret
     ret=svr.listen()
     ret=svr.accept() # client로부터의 connect 대기
     print svr.state() # 1이면 정상
     
     # --------------------------------
     # 4-1. string 송신
     svr.send "Welcome, I am a TCP server.\n"
     
     # 4-2. string 수신
     #     (5초간 수신 없으면 *TimeOut 레이블로 jump)
     svr.recv 5000,*TimeOut
     var msg=result() # 수신된 문자열
     print msg
     delay 1.0
     # --------------------------------
     
     # 5. ethernet socket 닫기
     svr.close
     print svr.state() # 0이면 정상
     delay 1.5
     end

     *TimeOut
     print "time out!"
     svr.close
     end
Previous7.2 TCP server 예제Next7.2.2 ethernet TCP server - 바이너리 송수신

Last updated 2 years ago

Was this helpful?