IBASIC

iBASIC

  1. 전자부품
    1. 소프트웨어
    2. GPIB
      1. iBASIC - 이 페이지
      2. GPIB카드
    3. 참고
      1. 계측기용 PC
  2. 계측기 내장
    1. 보유한 HP E5100A 네트워크분석기 두 대에는 있다.
    2. 보유 HP 8714C 네트워크분석기에는 옵션을 선택하지 않아 없다.
  3. 사용자 설명서
    1. - 다운로드 받을 수 있음.
    2. HP BASIC
      1. Programming with HP BASIC - 436p
      2. 아래 메뉴얼이 적용되는 버전
        1. HP BASIC/WS 6.2
        2. HP BASIC/UX 300/400 6.3
        3. HP BASIC/UX 700 7.0
        4. HP BASIC/DOS 6.2
      3. HP BASIC Language Reference
        1. Vol 1: A-N - 604p
        2. Vol 2: O-Z - 706p
      4. HP BASIC Advanced Programming Techniques - 306p
      5. HP BASIC Programming Guide - 646p
    3. HP Instrument Basic - PC용이 아닌 계측기용
      1. 설명문으로 한글을 사용해도 된다.
      2. - 632p
        1. Programming Techniques: 2000년 12월 판
        2. Interfacing Techniques: 2000년 12월 판
        3. Language Reference: 2000년 12월 판
      3. 키보드 사용명령어
        1. CAT ":,0" 또는 ":,4"
        2. COPY "" TO ""
        3. EDIT
        4. GET ""  !해당 파일을 읽어드린다. SAVE나 RE-SAVE로 파일을 만든다.
        5. INDENT  !구조적,둥지적 프로그램으로 만든다.
        6. MSI, MASS STORAGE IS ":,0" 또는 ":,4" 등
        7. PURGE "" !해당 파일을 지운다.
        8. REN 또는 REN 10,10 !프로그램 라인 번호를 재 배열한다.
        9. RENAME "" TO ""
        10. RE-SAVE "" !텍스트 파일 덮어 저장한다.
        11. RUN
        12. SAVE ""
      4. EXECUTE 명령어: 내장 계측기를 사용할 때는 OUTPUT @ 명령에 비해 빠르다. (둘 중 아무거나 사용해도 된다는 뜻)
    4. HP BASIC for Windows = Rocky Mountain BASIC (=RMB, =RM-BASIC)
      1. 위키페디아 https://en.wikipedia.org/wiki/Rocky_Mountain_BASIC
      2. 상품명: E2066B, HP BASIC for Windows License to Use
    5. HP Instrument BASIC for Windows; E2200A
      1. 1992년도 판
      2. Installing And Using HP Instrument BASIC Windows - 209p
        1. 80286 이후 CPU
        2. MS Windows 3.0 이후 OS
        3. HP82335 또는 NI GPIB-PCII/IIA 또는 NI AT-GPIB 카드
    6. 93/11/00 HP-IB User's Guide for Windows - 118p
  4. HP Instrument BASIC for Windows; E2200A
    1. 알아두어야 할 내용
      1. 내용2
        1. interface select code: HP-IB이면 3~8번 사용한다. 바꾸지 않으면 7이다.
        2. national Instrument card를 사용하면 14 또는 15을 반드시 사용한다.
        3. RS-232
          1. 9: COM1
          2. 10: COM2
          3. 11: COM3
          4. 12: COM4
      2. 내용1
        1. 실수는 64비트-배정도실수이다.
          1. 그러므로, 계측기가 배보내는 데이터 포맷을 선택하는 REAL 32와 같은 명령어를 사용할 수 없다.
        2. 정수는 16비트이다. -32768~+32767 까지이다.
        3. 문자열은 $를 붙이고, 길이는 DIM Name$[8] 이렇게 선언해야 한다. 길이 지정안하면 18자리이다. ""을 사용한다.
      3. 내용3
        1. EOL: end-of-line sequence, 보통 CR/LF 조합이다.
          1. CR: carriage-return character, CHR$(13)
          2. LF: line-feed character, CHR$(10)
        2. ASSIGN @Dmm TO 716;EOL Eol$
      4. ASSIGN @Dmm TO 709; FORMAT OFF, SWAP OFF
        1. default는 SWAP OFF이다. 계측기가 하는 것에 반대로, 바이트 전송을 역순으로 한다.
        2. SWAP ON을 실행하면 비트 순서가 역순이 된다. 사용할 일이 거의 없다.
    2. TIMEDATE
      1. 1900년 3월 1일 0시를 2.086 629 12 E11 (=2.08662912E11) 를 기준으로 초를 누적시킨다. (0.01초 분해능을 갖는다. 즉, 0.01초 정확도를 갖는다?)
      2. 24시간에 해당되는 86400초의 나머지가 자정을 지난 경과 초가 된다. = TIMEDATE MOD 86400
      3. 2018/05/21 TIMEDATE는 TIMEZONE을 고려하지 않는 듯.
        1. 현재 컴퓨터 날짜는 2018년 5월 21일인데, 함수를 호출하면 20일로 표시된다.
        2. Y2K 문제인가? 1999년 5월 21일도 20일로 표시된다. Y2K 문제는 아니다.
        3. 문제가 시작되는 날짜를 찾기 위해
        4. 결론
          1. 2023/06/08 24시간을 더해야 정상적인 날짜가 나온다. 그러나 시간은 그렇지 않다.
          2. DATE$(TIMEDATE + 24.*3600.) 반드시 실수로 계산한다.
          3. TIME$(TIMEDATE)
           manual set  TIME$  
          current time=12 Jun 2023 00:01:06
          
                       DATE$       TIME$ 
            +  0 hour =11 Jun 2023 00:01:06
            +  1 hour =11 Jun 2023 00:01:06
            +  2 hour =11 Jun 2023 00:01:06
            +  3 hour =11 Jun 2023 00:01:06
            +  4 hour =11 Jun 2023 00:01:06
            +  5 hour =11 Jun 2023 00:01:06
            +  6 hour =11 Jun 2023 00:01:06
            +  7 hour =11 Jun 2023 00:01:06
            +  8 hour =11 Jun 2023 00:01:06
            +  9 hour =11 Jun 2023 00:01:06
            + 10 hour =11 Jun 2023 00:01:06
            + 11 hour =11 Jun 2023 00:01:06
            + 12 hour =11 Jun 2023 00:01:06
            + 13 hour =11 Jun 2023 00:01:06
            + 14 hour =11 Jun 2023 00:01:06
            + 15 hour =11 Jun 2023 00:01:06
            + 16 hour =11 Jun 2023 00:01:06
            + 17 hour =11 Jun 2023 00:01:06
            + 18 hour =11 Jun 2023 00:01:06
            + 19 hour =11 Jun 2023 00:01:06
            + 20 hour =11 Jun 2023 00:01:06
            + 21 hour =11 Jun 2023 00:01:06
            + 22 hour =11 Jun 2023 00:01:06
            + 23 hour =11 Jun 2023 00:01:06
            + 24 hour =12 Jun 2023 00:01:06
          
      4. TIMEDATE를 파일로 저장할 때는 반드시 USING "12D.DD"를 사용해야 1/100초 단위로 저장된다.
        1. 그래야 이렇게 저장된다. 212553211609.84
        2. PRINT TIMEDATE 이렇게 실행하면 212553211609 처럼 정수만 저장된다.
          PRINT TIMEDATE
          2.12553244867E+11
          
          PRINT USING "12D.DD" TIMEDATE
          212553244866.56
          
          t0=TIMEDATE
          WAIT 1
          t=TIMEDATE-t0
          PRINT t
          .989990234375
          
      5. 참고: Excel 에서는
        1. 함수
          1. time: 24시간을 1로 취급한다. 0에서부터 0.99999999까지를 0:00:00에서 23:59:59까지 표현한다.
          2. date: 1900년 1월 1일을 1로 한다.
        2. TIMEDATE를 엑셀 date time으로 변환하기 (여기서는 9시간을 더하지 않는다. 62일 더해야 한다.)
          1. T0 = TIMEDATE
          2. T1 = T0 - 2.08662912E11 1900년 3월 1일 0시 기준으로 경과 초
          3. T2 = T1 + (62*86400), 62일을 더해 1900년 1월 1일 0시 경과초로 변경한다.
          4. date: trunc(T2/86400) 경과 날짜
          5. time: mod(T2, 86400)/86400 경과 시간이 초로 나온다.
    3. 명령어 중에서
      1. IF THEN
        1. ELSE 가 있지, ELSE IF는 없다. SELECT... CASE 문을 사용한다.
      2. ON
        1. ERROR - 오류가 발생되면
        2. INTR - 인터페이스 카드에서 인터럽트가 발생되면
        3. TIMEOUT - 응답에서 실패하면
        4. CYCLE - 정해진 시간이 경과하면
      3. 서브프로그램
        1. .prg 포맷으로 저장한다.
        2. LOADSUB로 읽어드린다. LOADSUB ALL FROM "C:\ibasic\subfile.prg"
  5. 사용중에
    1. HP Instrument BASIC for Windows
      1. HP 8753E 네트워크분석기로 SAW필터 관련 측정 - 8,045줄
    2. 2017/03/21
    3. 삼성 매직스테이션 M520T에서