FS - 40P

(MINI PRINTER)

사 용 설 명 서

BASO ENGINEERING CO.,LTD

CAN                        CANCEL LINE

Format  :  ASCII        :   CAN

Decimal      :   24

HEXADEcimal  :   18

설명) 그것은 그 line에서 마온 자료배열은 어떤 통제코드를 취소하지 않는다

DEL                        DELETE CHARACTER

Format  :  ASCII        :   DEL

Decimal      :   127

HEXADEcimal  :   7F

설명) buffer에서 이전 문자는 만약 그 문자가 이미 인쇄되어졌다면 삭제되지 않는다.

NUL                        NULL

Format  :  ASCII        :   NUL

Decimal      :   0

HEXADEcimal  :   00

이 명령은 통제코드를 제거 하지 않을 것이다

설명) NUL은 ESC b, ESC d, ESC % 그리고 ESC와 같은 명령에서 마지막 코드로

사용되어지곤 한다. NUL명령은 홀로 사용될 때에는 printer에 의해 무시된다.

ESC "   Turn Hexadecimal Dump printer on/off

Format  :  ASCII        :   ESC   N    n

Decimal      :   27    34   n

HEXADEcimal  :   18    22   n

4.9 Hexadecimal Dump printer

설명) 60진법의 덤프인쇄모드는 만약 n=1일 때 켜지고 n=0일 때 꺼진다.

만약 60진법 덤프인쇄모드에서 프로그램 혹은 프로그램목차를 실행하고자

한다면 주컴퓨터로부터 보내온 모든 자료는 60진법 코드로 인쇄될 것이다.

예를 들면 주컴퓨터로부터 아래와 같은 자료가 보내질 때

LPRINT CHR$(0);CHR$(27);"A";CHR$(24);

PRINT내용 : 00 1B  41  18

60진법 덤프 모드에서 인쇄하는 것은 printer가 buffer full상태에 있을 때 단지

실행된다.

-13-

2장. 인쇄 명령

2.1 요약

이러한 명령들 중에 일부는 one byte control코드이다.

어떤 것은 ESC코드의 배열이다. 이 배열들은 문자와 숫자를 다 처리하는 code들에

의해 이어진 esc 코드와 함께 시작한다. printer의 control 코드들은

(특히 ESC control코드)표준화 되어 있지 않다. 모든 printer제작은 그 자신의

코드체계가 있다. MINI-PRINTER 시리즈에 대한 control코드는 대중적인 IBM과

EPSON printer에서 언급된 것으로 설계되어 있다, 그러므로 그들은 대부분의

printer들과 호환된다. 인쇄명령은 아래에 설치된 5개 주제로 기술되었다.

코드 배열                   기 능

Format  :  ASCII        :   ASCII 활자에서 배열

십진법       :   십진법수에서 배열

육십진법     :   육십진법수에서 배열

2. 2 종이 공급 명령

LF                   Line Feed

Format  :  ASCII        :   LF

Decimal      :   10

HEXADEcimal  :   OA

설명 : 앞으로 1 LINE FEED

ESC J                Perform dot-line feed

Format  :  ASCII        :   ESC   J    n

Decimal      :   27    74   n

HEXADEcimal  :   1B    4A   n

설명 : carriage return 없이 n dot line 에 대해 곧바로 Line Feed함

n평가는 1-255범위에 있다. 확대문자 명령인 ESC V 혹은 ESC W

(4.4장에서 언급)는 LINE의 간격을 확대하고 뒤 이어 있는 ESC J명령의

평가를 계속하여 변화시킨다.

- 2 -

ESC N                   아래여백 설정

Format  :  ASCII        :   ESC     N      n

Decimal      :   27      78     n

HEXADEcimal  :   1B      4E     n

설명 : printer buffer에서 동일한 선상에서 이 명령을 따르는 문자는 그들의 정상적인 폭의

두배로 인쇄된다.

그 명령은 DC4를 사용하거나(다음 명령참조)carriage return에 의해 취소된다

정상문자와 확대문자는 SO - on    DC4 - off를 이용하여 동일선상에서 혼합된다.

DC4                 두배 폭 취소

Format  :  ASCII        :   DC4

Decimal      :   20

HEXADEcimal  :   14

설명 : 두배 폭 인쇄는 만약 그것이 SO를 사용하기 위해 설정된다면 취소된다.

ESC i          turn reverse printing on/off

Format  :  ASCII        :   ESC   I      n

Decimal      :   27    105    n

HEXADEcimal  :   1B    69     n

이 명령은 ESC U혹은 ESC W를 사용하면서 선별된 확대 폭 인쇄를 취소하는 것이다

설명 : 역 인쇄는 만약 n=1이면 켜지고 n=0이면 꺼진다. 역 인쇄는 사진의 음화에서처럼

검정색 바탕에 흰색 글자이다. 정상인쇄는 흰색 바탕에 검은 글자이고 전원을

켜거나 ESC @ 상태에서 선별된다.

BASIC program :

10  LPRINT CHR$(27);"I"CHR$(1) ; 'TRUN ON REVERSE PRINTING

20  LPRINT "ABCDEFGHIJKLMNO"

4.5 사용자 한정 문자 설정

ESC &          사용자 한정 문자의 규정

Format  :  ASCII        :   ESC   &   m   n1   n2...n6

Decimal      :   27    38  m   n1   n2...n6

HEXADEcimal  :   1B    26  m   n1   n2...n6

설 명 : 이 명령은 글자를 한정하기를 허용한다.  m평가는 32-255 범위에 있는 이 사용자

한정문자 코드이다. n1, n2, ..., n6평가는 한정된 글자들의 구조를 위한 코드이다.

글자크기는 6x8 dot matrix이다. n6은 아래에서 볼 수 있다

사용자 한정 문자는 전원이 꺼질 때 까지 RAM에 저장된다. 만약 많은 ESC와 명령이

동일한 m평가에 사용한다면 단지 마지막 하나만이 유효하다. 사용자 제한 문자의

최대수는 32이다. ESC % 와 ESC는 또한 알 수 있다.

-11-

설명 : 아래여백은 n line 에 설정된다. n의 평가는 0-255범위 내에 있어야 한다

mini-printer에서 default value는 n=0이다. 아래여백은 한 page의

마지막선과 다음 page의 첫 번째선 사이의 공간이다. 위부분 여백은 없다.

예를 들면 3행까지 아래여백을 설정하기 위해 아래의 배열을 보인다.

ASCII        :   ESC     N      ETX

Decimal      :   27      78     3

HEXADEcimal  :   1B      4E     03

BASIC program :

LPRINT CHR$(27);"N";CHR$(3);

ESC 0                 아래여백 취소

Format  :  ASCII        :   ESC     0

Decimal      :   27      79

HEXADEcimal  :   1B      4F

설명 : 아래여백은 ZERO line에서 설정된다. 이것은 printer가 page의 끊김없이 행과

행간을 인쇄할 것임을 의미한다.

ESC B                 Set verical tabs

Format  :     ASCII        :   ESC    B   n1 n2 n3....nul

Decimal      :   27     66  n1 n2 n3....0

HEXADEcimal  :   1B     42  n1 n2 n3....00

설명 : TAB위치는 n1, n2등으로 들어가게 된다. 이들 n1, n2...는 ESC C 명령에 의해

설정된 page길이 범위 내에 있다. NUL문자는 명령의 끝부분의 지시를 위해

추가된다. 모든 십진수 tab설정은 공식 ESC B NUL에서 이명령을 사용하는 것에

의해 분명히 할 수 있다  VT 명령은 vertical tab을 실행하고 다음 tab 위치까지

종이를 공급한다. 예를 들면 line 2, 5, 8에 한 page안에 3개의  vertical tab을

설정하려면 아래 명령과 같이한다.

- 4 -

주의 : ESC V는 말하자면 ESC W SOH(n=1) (본장 ESC W 참조)에 의해 진행되지 않는다면 기능

을 할 것이다. 높이 ESC V를 확대하기 전에 정상적인 크기로 폭과 높이를 설정하시오

ESC W                 폭과 높이 확대

Format  :  ASCII        :   ESC      W       n

Decimal      :   27       87      n

HEXADEcimal  :   1B       57      n

설명 : 이 명령에 따르는 문자 혹은 그래프는 정상적인 높이와 폭에서 인쇄된다

n의 평가는 1-4범위에 있다. Default value는 n=1이다

BASIC program :

10 FOR I=1 TO 3                    'from 1 to 3 times

20 LPRINT CHR$(27);"W";CHR$(I);    'ESC W command

30 LPRINT "TS"                     'print strong

40 NEXT I

Printout :      TS

ESC -                 Turn underline on/off

Format  :  ASCII        :   ESC      -       n

Decimal      :   27       45      n

HEXADEcimal  :   1B       2D      n

설명 : 밑줄 긋기는 만약 n=1이라면 켜지고 혹은 n=0이라면 꺼진다.  모든 문자는 space를

포함하여 밑줄 그어진다.

BASIC program :

10 LPRINT "TS1";

20 LPRINT CHR$(27);"-";CHR$(1);    'Turn on underline

30 LPRINT "TS2";                   'print strong with under line

40 LPRINT CHR$(27);"-";CHR$(0);    'Turn on underline

50 LPRINT "TS3"

Printout :      TS1TS2TS3

- 9 -

ASCII        :   ESC      B       STB    ENQ    BS     NUL

Decimal      :   27       66      2      5      8      0

HEXADEcimal  :   1B       42      02     05     08     00

BASIC  Program :

10 LPRINT CHR$(27) ;“B”;CHR$(2);CHR$(5);CHR$(8);CHR$(0);

20 LPRINT CHR$(11) ;'VT	command

30 LPRINT "Vtest1  ;'print string

40 LPRINT CHR$(11) ;'VT command

50 LPRINT "Vtest2  ;'print string

60 LPRINT CHR$(11) ;'VT command

70 LPRINT "Vtest3  ;'print string

Printout :

Vtest1

Vtest2

Vtest3

VT                 Vertical tab

Format  :  ASCII        :   VT

Decimal      :   11

HEXADEcimal  :   OB

설명 : 다음 vertical tab에 종이 공급은 ESC B명령에 의한다

주의 : 만약 vertical tab 설정없이 혹은 현재 위치가 마지막 vertical tab과 동일

하거나 초과한다면 한 line에 VT 종이 공급을 명령하시오(LF명령과 동일)

ESC D                 수평 tab 설정

Format  :  ASCII        :   ESC   D    n1   n2 .... NUL

Decimal      :   11    68   n1   n2 .... 0

HEXADEcimal  :   1B    44   n1   n2 .... 00

설명 : tab위치는 n1, n2등으로 들어간다. 이러한 n1, n2...printer의 line의 폭

범위 내에 있다. 이 line폭은 모델에 따라 한 printer로부터 다른 것과

차이가 있다. NUL 활자는 명령의 끝을 지시하기 위해 추가된다.

모든 수평 TAB설정은 format ESC D NUL에서 이 명령을 사용하는 것에 의해

분명히 될 수 있다

HT명령은 수평 tab을 집행한다. 예를 들면 문자위치 2, 9, 14에 세 개의

수평 tab을 설정하기 위해 아래의 명령을 보내야 한다.

ASCLL :	ESC D STX HT SO NUL
DECIMAL :	27 68 2 9 14 0
HEXADECIMAL :	IB 44 02 09 OE 00

- 6 -

ESC Q                 오른쪽 여백 설정

Format  :  ASCII        :   ESC      Q       n

Decimal      :   27       81      n

HEXADEcimal  :   1B       51      n

설명 : n의 평가는 printer의 line 폭 범위 내에 있어야 한다

default value n=0오른쪽 여백은 없다. 명령은 정확한 위치에 설정되고

문자인쇄 명령 ESC U혹은 ESC W에 의해 영향받지 않는다.

오른쪽 여백이 뻗힐 수 있을 때 carriage return 과 line feed가 추가된다

예를들면 6 column에 대해 오른쪽 여백을 설정하기 위해 아래와 같다

ASCLL :	ESC Q ACK
DECIMAL :	27 81 6
HEXADECIMAL :	IB 51 06

BASIC PROGRAM :

10 LPRINT : 1234567890123456"       'ready to enter ESC Q

20 LPRINT CHR$(27);"Q";CHR$(6) ;    'set right margin = 6

30 LPRINT '123456789012345678901234567890'

Printout :

1234567890123456

123456789012345678

901234567890

ESC 1                 왼쪽 여백 설정

Format  :  ASCII        :   ESC      1        n

Decimal      :   27       108      n

HEXADEcimal  :   1B       6C       n

설명 : n의 평가는 line폭의 범위 내에 있어야 한다. Default value는 n=0이다

이것은 왼쪽 여백이 없다는 의미이다. 그 명령은 절대적 위치를 세우고

문자확대  명령인 ESC U혹은 ESC W에 의해 영향받지 않는다.

예를 들면 6까지 왼쪽여백을 설정하기 위해 아래와 같다

ASCII        :   ESC      1        ACK

Decimal      :   27       108      6

HEXADEcimal  :   1B       6C       06

BASIC PROGRAM :

10 LPRINT : 1234567890123456"       'ready to enter ESC 1

20 LPRINT CHR$(27);"Q";CHR$(6) ;    'set right margin = 6

30 LPRINT '123456789012345678901234567890'

- 7 -

PRINTOUT :   1234567890123456

123456789012

3456789012

567890

4.4 문자설정명령

ESC U                 폭 확대

Format  :  ASCII        :   ESC      U        n

Decimal      :   27       85       n

HEXADEcimal  :   1B       55       n

설명 : 이 명령을 따르는 그래프 혹은 문자는 정상적인 폭으로 n번 정상적인

높이에서 인쇄된다. n평가는 1-4의 범위 내에 있다.

Default value는 n=1이다.

이것은 정상적인 폭을 의미한다.

BASIC PROGRAM :

10 FOR I=1 TO 3                     'from 1 to 3 times

20 LPRINT CHR$(27);"U";CHR$(I);     'ESC U command

30 LPRINT "TS"                      'print string

40 NEXT I

50 LPRINT CHR$(13);                 'CR command

Printout :

TS

주의 : ESC U는 ESC W SOH(n=1) (본장 ESC W 참조)에 의해 진행되지 않는다면

기능을 하지 않을 것이다. 폭 ESC V를 확대하기 전에 정상크기로

폭과 높이를 설정하시오.

ESC V                 높이 확대

Format  :  ASCII        :   ESC      V        n

Decimal      :   27       86       n

HEXADEcimal  :   1B       56       n

설명 : 이 명령을 따르는 그래프 혹은 문자는 정상적인 폭으로 n번 정상적인

높이에서 인쇄된다

n평가는 1-4의 범위 내에 있다.  Default value는 n=1이다. 이 명령은

단지 line의 시작 부분에서 설정될 수 있다. 전체 line은 그때 확대된다.

BASIC PROGRAM :

10 FOR I=1 TO 3                     'from 1 to3 times

20 LPRINT CHR$(27);"V";CHR$(I);     'ESC V command

30 LPRINT "TS"                      'print string

40 NEXT I

Printout :

TS

- 8 -

BASIC PROGRAM :

10 LPRINT "1234567890123456"        'Scalar

20 LPRINT CHR$(27);"D";CHR$(2);CHR$(9);CHR$(14);

CHR$(0);              'ESC D

30 LPRINT CHR$(9);       'HT command

40 LPRINT "Htest1;       'print string

50 LPRINT CHR$(9);       'HT command

60 LPRINT "Htest2;       'print string

70 LPRINT CHR$(9);       'HT command

80 LPRINT "Htest3;       'print string

Printout :

1234567890123456

HT                 수평 tab

Format  :  ASCII        :   HT

Decimal      :   9

HEXADEcimal  :   09

Htest1 hters2 htest3

설명 : 인쇄위치는 ESC D 명령에 의해 다음 수평 tab설정이 선행된다

만약 수평 tab 설정 없이 혹은 현행 인쇄 위치가 마지막 수평 tab과 동일하거나

ESC f                 여백 문자 혹은 행 인쇄

Format  :  ASCII        :   ESC   f     m     n

Decimal      :   27    102   m     n

HEXADEcimal  :   1B    66    m     n

능가한다면 HT 명령은 실행하지 않는다.

설명 : 만약 m=0이라면 명령 ESC f NUL n은 n 여백활자로 인쇄 될 것이다

n의 평가는 printer의 line등록 범위내에 있어야 한다

만약 m=1이라면 명령 ESC SOH n여백 line으로 인쇄할 것이다

n의 평가는 0-255범위 내에 있다. 예를들면 행 안에 6 space활자를 인쇄하려면

아래 명령을 보내시오

ASCII        :   ESC   f     NUL   ACK

Decimal      :   27    102   0     6

HEXADEcimal  :   1B    66    00    06

TO PRINT 6 BLANK LINES :

ASCII        :   ESC   f     SOH   ACK

Decimal      :   27    102   1     6

HEXADEcimal  :   1B    66    01    06

- 5 -

ESC +                 Turn overscore on/off

Format  :  ASCII        :   ESC      +        n

Decimal      :   27       43       n

HEXADEcimal  :   1B       2B       n

설명 : 초과선 긋기는 만약 n=1이면 켜지고 n=0이면 꺼진다.

모든 문자는 space를 포함하여 밑줄 그어진다.

BASIC PROGRAM :

10 LPRINT "TS1";

20 LPRINT CHR$(27);"+";CHR$(1);     'turn on overscore

30 LPRINT "TS2";

40 LPRINT CHR$(27);"+";CHR$(0);     'turn off overscore

50 LPRINT "TS3"

Printout :

ESC 6                 font 1 선별

Format  :  ASCII        :   ESC      6

Decimal      :   27       54

HEXADEcimal  :   1B       36

설명 : 이 설명을 따르는 문자는 font 1을 사용하는 것으로 인쇄된다.

두 font는 mini-printer에 이용할 수 있다. font 1은 전원이 켜질 때

선별되거나 혹은 명령 ESC @에서 선별된다

ESC 7                  font 2 선별

Format  :  ASCII        :   ESC      7

Decimal      :   27       55

HEXADEcimal  :   1B       37

설명 : 이 명령을 따르는 문자는 font 2를 (부록 c참조) 사용함으로서 인쇄된다.

SO            한 개의 선에 두배 폭 인쇄의 선별

Format  :  ASCII        :   SO

Decimal      :   14

HEXADEcimal  :   OE

- 10 -

ESC 1                Set line spacing

Format  :  ASCII        :   ESC   1     n

Decimal      :   27    49    n

HEXADEcimal  :   1B    31    n

설명 : 행간격은 n dot-line에 설정된다.

n의 평가는 0-255범위 내에 있어야 한다. 정상적인 설정은 ESC k bit 영상

인쇄모드에 대해 n=0이고 text인쇄모드에 대해서는 n=3이다.

이 명령에 대한 basic프로그램은 아래와 같다

10 FOR I=1 to 11 step 2

20 LPRINT CHR$(27);"1";CHR$(i); 'ESC 1 set line space

30 LPRINT "LINE SPACE TEST";CHR$(10);

40 NEXT I

A printout of the above program on PH24:

LINE SPACE TEST

LINE SPACE TEST

LINE SPACE TEST

LINE SPACE TEST

LINE SPACE TEST

FF                From Feed

Format  :  ASCII        :   FF

Decimal      :   12

HEXADEcimal  :   OC

설명 : 다음 page의 시작위치에서 종이공급

4.3 Formatting 명령

ESC C                행에 있어서 PAGE길이 설정

Format  :  ASCII        :   ESC     C      n

Decimal      :   27      67     n

HEXADEcimal  :   1B      43     n

설명 : PAGE길이는 n line 에 대해 설정된다.

n의 평가는 0-255 범위 내에 있어야 한다

만약 n=0이라면 페이지 길이는 256행이 될 것이고 default value는

n=40이다

- 3 -

ESC %           Mount  user defined characters in place

of characters in font

Format  :  ASCII        :   ESC   %  m1n1  m2n2 ...mk   nk   NUL

Decimal      :   27   37  m1n1  m2n2 ...mk   nk   0

HEXADEcimal  :   1B   25  m1n1  m2n2 ...mk   nk   00

설명 : 이 명령은 사용자 한정 문자를 가지고 font무자를 대치하는데 사용되곤한다.

m1, m2 ....mk는 사용자 한정 문자 코드이다.  n1, m2는 현행 font에서

문자를 대치하는 문자코드이다

m과 n의 평가는 32-255범위에 있어야 한다. 아래쪽에 쓴 k는 1-32 영역이다

최대 숫자 혹은 대치된 문자는 32이다. NUL 문자는 명령의 끝을 지시하기

ESC :                     font 문자의 회복

Format  :  ASCII        :   ESC   :

Decimal      :   27    58

HEXADEcimal  :   1B    3A

위해 추가된다. 이 장에 있는 ESC & 와 ESC명령을 보시오

설명 : 이 명령은 ESC %명령을 사용하면서 사용자 한정 문자에 의해 대치된 font에서

본래 문자로 회복되는 것이다. 그러나 사용자 한정문자는 RAM으로부터

지워지지 않고 ESC %와 함께 다시 되돌려 질 것이다

BASIC program :

10 LPRINT CHR$(27);"W";CHR$(2);          'enlarge in

'WIDTH & HEIGHT

20 LPRINT CHR$(27);"&";CHR$(65);         'ESC & command

30 LPRINT CHR$(&H02)CHR$(&H7C)CHR$(&H40);

40 LPRINT CHR$(&HC0)CHR$(&H40)CHR$(0);

50 LPRINT CHR$(27);"%";CHR$(65);CHR$(65)CHR$(0);

'ESC %

60 LPRINT CHR$(65);         'print defined character

70 LPRINT CHR$(27);";";     'ESC : command

80 LPRINT CHR$(65)          'reinstate char. in font 1

Printout :

4.6 그래프 인쇄

ESC K                    BIT IMAGE PRINTING

Format  :  ASCII        :   ESC   K    N1   N2   DATA ...

Decimal      :   27    75   N1   N2   DATA ...

HEXADEcimal  :   1B    4B   N1   N2   DATA ...

- 12 -

MINI PRINTER SPEC

FS - 40P

1. 기본사양

1) 외    관 : PANEL 장착형

2) 인쇄방식 : DOT MATRIX

3) 인쇄속도 : 약 1.5 LINES / SEC

4) 인쇄자수 : 24 COLUMNS / 30COL

5) FONT : 8 x 12 DOT MATRIX

한글 ( 16 x 16)

6) 문자종류 : 영문, 숫자 및 특수문자

한글 완성형, 조합형

7) 용 지 폭 : 57.5mm ± 0.5mm

8) 문자크기 : 확대기능 가능

9) INTERFACE : CENTRONICS PARALLEL I/F

10) DIMNSION : 112(W) x 95(D) x 124(H)

11) 동작온도범위 : 0℃ - 50℃

12) 보존온도범위 : -20℃ - 70℃

13) 사용전원 : DC 12V (1.6A)

14) 사용용도 : INDIATOR, 전자저울, FA장비, 영수증 발행 및

각종계측장비의 DATA 기록용

- 1 -

2)  BAUD RATE SELECTION

DIP SWITCH			BUAD RATE
1	2	3
ON	ON	ON	150
OFF	ON	ON	300
ON	OFF	ON	600
OFF	OFF	ON	1200
ON	ON	OFF	2400
OFF	ON	OFF	4800
ON	OFF	OFF	9600
OFF	OFF	OFF	19200

* PROTOCOL : XON / XOFF방식

DIP SWITCH (4)    ON  :  조합형         * DATA BIT : 8 BIT

STOP BIT : 1 STOP BIT

OFF  :  완성형           PARITY CHECK : NO PARITY

* DEFAULT VALUE : BAUD RATE

(9600 BPS)

PRINTER(25P FEMALE)                                    COMPUTER(9P)

2 RXD                                              2 TXD

3 TXD                                              3 RXD

7 GND                                              7 GND

- 14 -

3) PARALLEL INTERFACE 사양

* 병렬 인터페이스는  centronics 표준으로되어있다

Pin 수	기 호	In/Out	내 역
1	STB	in	자료를 읽기 위한 strobe 신호
2 3 4 5 6 7 8 9	DATA 1 DATA 2 DATA 3 DATA 4 DATA 5 DATA 6 DATA 7 DATA 8	in in in in in in in in	각각의 입력 data를 나타낸다 자료가 논리적인 “1”일 때 “HIGH"상태에 있고 논리적인 ”0“에 있을 때 ”LOW"상태에 있다
10	ACK	OUT	펄스신호 “LOW"는 DATA가 수신완료되어 PRINTER가 다음 DATA를 기다림을 나타낸다
11	BUSY	OUT	PRINTER가 DATA를 수신할수 없음을 나타내기 위해 “HIGH" 신호가 나온다
12		-
13	SEL	OUT	ON-Line에서 Printer 가 택해졌음을 나타냄
14-17	NC	-	연결되지 않음
18-25	GND	-	GROUND