Smart Keyboard Manual
Smart Keyboard Manual
SATO Europe
Im Hülsenfeld 13
40721 Hilden
Germany
Tel.: +49 (0)2103 9592-0
Fax.: +49 (0)2103 55322
1 SATO Europe
Programming Manual Keyboard
CONTENT
DOCUMENT CONVENTIONS ...........................................................................................5
FEATURES OF K012.........................................................................................................6
SPECIFICATIONS .............................................................................................................6
COMMUNICATION INTERFACE .......................................................................................7
SAFETY REGULATION .....................................................................................................8
CHECK-LIST......................................................................................................................8
OPTIONS...........................................................................................................................8
KEYBOARD SETUP ..........................................................................................................9
KEYBOARD OPERATION .................................................................................................9
POWER-ON UTILITIES .....................................................................................................9
AUTO EXECUTION ...........................................................................................................9
KEYBOARD INITIALIZATION ............................................................................................9
KEYBOARD CONFIGURATION SETUP ..........................................................................10
KEYBOARD BIOS UPDATE.............................................................................................12
ON-LINE EDITING UTILITY.............................................................................................12
EXTENDED FILE MANAGER ..........................................................................................13
EXECUTE DOWNLOADED BASIC PROGRAM...............................................................14
USING K012 ....................................................................................................................15
EDIT A PROGRAM ..........................................................................................................15
DOWNLOAD A PROGRAM..............................................................................................15
EXECUTE A PROGRAM..................................................................................................16
VARIABLES, CONSTANTS, FUNCTIONS, OPERATORS, AND EXPRESSIONS ............17
VARIABLES .....................................................................................................................17
LONG INTEGER DATA TYPE VARIABLES......................................................................18
FLOAT DATA TYPE VARIABLES .....................................................................................18
DOUBLE FLOAT DATA TYPE VARIABLES ......................................................................18
STRING VARIABLES .......................................................................................................18
SYSTEM VARIABLES......................................................................................................18
FUNCTIONS ....................................................................................................................19
NUMERIC FUNCTIONS...................................................................................................19
STRING FUNCTIONS......................................................................................................19
OPERATORS...................................................................................................................19
ARITHMETIC OPERATORS ............................................................................................19
STRING OPERATORS ....................................................................................................19
RELATIONAL OPERATORS ............................................................................................19
EXPRESSIONS ...............................................................................................................20
SATO Europe 2
Keyboard Programming Manual
ARITHMETIC EXPRESSIONS.........................................................................................20
STRING EXPRESSIONS .................................................................................................20
RELATIONAL EXPRESSIONS.........................................................................................20
COMMANDS AND STATEMENTS ...................................................................................21
TSKL COMMANDS ..........................................................................................................22
<ESC>!R..........................................................................................................................22
<ESC>!W.........................................................................................................................23
SOUND............................................................................................................................24
CLS..................................................................................................................................25
CLEAR.............................................................................................................................26
CURSOR .........................................................................................................................27
LOCATE...........................................................................................................................28
PRINT…[USING] .............................................................................................................29
INPUT ..............................................................................................................................30
OUT .................................................................................................................................31
FOUT ...............................................................................................................................32
OUT USING .....................................................................................................................33
DOWNLOAD....................................................................................................................34
EOP .................................................................................................................................35
OPEN...............................................................................................................................36
CLOSE.............................................................................................................................37
KILL .................................................................................................................................38
SEEK ...............................................................................................................................39
READ...............................................................................................................................40
WRITE .............................................................................................................................41
GOSUB…RETURN..........................................................................................................42
LOOP STATEMENTS.......................................................................................................43
DO…[EXITDO]…LOOP ...................................................................................................43
FOR…[EXITFOR]…NEXT ...............................................................................................45
WHILE…WEND ...............................................................................................................46
GOTO ..............................................................................................................................47
PROGRAM-CONTROL STATEMENTS ............................................................................48
IF…THEN…ELSE............................................................................................................48
END .................................................................................................................................50
DIM ..................................................................................................................................51
FREE ...............................................................................................................................52
REM.................................................................................................................................53
TSKL FUNCTIONS ..........................................................................................................54
3 SATO Europe
Programming Manual Keyboard
POS()...............................................................................................................................54
INKEY()............................................................................................................................55
INP$() ..............................................................................................................................56
EOF() ...............................................................................................................................57
LOF() ...............................................................................................................................58
ABS() ...............................................................................................................................59
ASC() ...............................................................................................................................60
LEN() ...............................................................................................................................61
FRE() ...............................................................................................................................62
INT().................................................................................................................................63
VAL()................................................................................................................................64
RND()...............................................................................................................................65
CHR$().............................................................................................................................66
FREAD$() ........................................................................................................................67
LEFT$()............................................................................................................................68
RIGHT$() .........................................................................................................................69
MID$()..............................................................................................................................70
STR$() .............................................................................................................................71
SPC$() .............................................................................................................................72
SYSTEM VARIABLES......................................................................................................73
YEAR ...............................................................................................................................73
MONTH............................................................................................................................74
DATE ...............................................................................................................................75
HOUR ..............................................................................................................................76
MINUTE ...........................................................................................................................77
IDNUMBER$....................................................................................................................79
APPENDIX A - LIMITATIONS OF TSKL ...........................................................................80
APPENDIX B - ERROR MESSAGES...............................................................................81
APPENDIX C - RS-232 PIN CONFIGURATIONS.............................................................84
OPERATION GUIDE........................................................................................................87
SATO Europe 4
Keyboard Programming Manual
Document Conventions
This manual uses the following typographic conventions
The Keyboard
To Printer
From PC, Scanner, Scale, etc.
5 SATO Europe
Programming Manual Keyboard
Features of K012
68 keys with keypad
LCD screen (20 characters × 2 lines)
Additional RS-232 port (COM 2) for another input device
Maximum of 50 files can be stored in memory
Upload or download files through both serial ports
Real Time Clock (Y2K compatible)
Built-in Euro logo (ASCII 176, 177)
Floating point calculation
Password security locking
Auto execution function
Specifications
Keyboard Unit
Size 261mm(L)×142.2mm(W)×31mm(H)
Weight 440g
LCD 20 characters × 2 lines
Max Current 5V, 250mA
External Power 5V, 150mA
Operating
40°F~104°F (5°C~40°C)
Temperature
Storage Temperature -4°F~140°F (-20°C~60°C
Memory
FLASH 512 KB for system, 1 MB for application
SATO Europe 6
Keyboard Programming Manual
Communication Interface
The available communication parameters for both serial ports are listed below:
Bit rate: 2400, 4800, 9600, 19200 bps
Parity check: none, even or odd
Data bits: 7 or 8
Stop bit(s): 1 or 2
COM1 Port
Serial interface, COM1, is a 9-pin, male, D-style subminiature connector with cable. The pin
assignments are shown below:
Pin Configuration
1 Power input 5 volts, 250mA
2 RxD
3 TxD
4 DTR
5 Ground
6 DSR
7 RTS
8 CTS
9 Connected with Pin1 internally
COM2 Port
COM2 is a 9-pin, female, D-style subminiature connector with pin assignments as shown as
below:
Pin Configuration
1 Power input 5 volts, 250mA
2 TxD
3 RxD
4 DSR
5 Ground
6 DTR
7 CTS
8 RTS
9 Connect with Pin1 internally
7 SATO Europe
Programming Manual Keyboard
Safety Regulation
FCC Class A
CE EMC
Check-List
Verify the contents of the container according to the list below, if any parts are missing,
please contact your local representative.
K012 keyboard unit
K012 User’s Manual
25 pin to 9 pin RS-232 converter
2 screws for SI thread
Options
External power set
AC adapter
Input: 110V AC or 220V AC
Output: 5V DC
RS-232 cable with power adapter jack
SATO Europe 8
Keyboard Programming Manual
Keyboard Setup
Please turn off printer power prior to connecting the K012 COM1 port to the printer. The
COM2 port of the keyboard is used for downloading files from a PC or may be connected to
other input devices such as a bar code scanner or scale.
Keyboard Operation
Power-on Utilities
Auto Execution
At Power ON, the K012 will automatically execute a program without pressing any
key, if one of the downloaded programs is named “AUTO.BAS”.
Press ALT-F1, while applying power, to disable the auto execution function. This
should be done prior to keyboard configuration setup, on-line editing, initialization
and extended file manager utilities, if an auto execution file is downloaded in the
keyboard.
Keyboard Initialization
Pressing ALT-CLEAR while turning on the printer power will initialize the keyboard.
All files stored in the SRAM will be deleted. Code page and country codes are set to
default values of 437 and 001 respectively. Both serial port communications
parameters are set to 9600 bps, no parity check, 8 data bits and 1 stop bit.
9 SATO Europe
Programming Manual Keyboard
COM1 SETUP
COM2 SETUP
Setup Utility
UTILITY SETUP
PASSWORD SETUP
INFORMATION
INFORMATION:
The information lists the available memory (SRAM) in system and the extended
Flash memory status. If the extended memory is installed, it shows 8M. Otherwise
“None” is shown on the display.
UTILITY SETUP:
The code page, country code and key sound ON/OFF is set in UTILITY SETUP.
SATO Europe 10
Keyboard Programming Manual
The available code pages and country code are listed as below:
Code pages
437: United States
850: Multilingual
852: Slavic
860: Portuguese
863: Canadian/French
865: Nordic
Country codes
001: USA
002: Canadian French
003: Spanish (Latin America)
031: Dutch
032: Belgian
033: French (France)
034: Spanish (Spain)
036: Hungarian
038: Yugoslavian
039: Italian
041: Switzerland
042: Slovak
044: United Kingdom
045: Danish
046: Swedish
047: Norwegian
048: Polish
049: Germany
055: Brazil
061: English (International)
351: Portuguese
358: Finnish
There is a beep after each keystroke. It can be disabled by setting the key sound
OFF.
PASSWORD SETUP:
K012 supports password security. With password locked on, the download/upload
programs, on-line editing, deleting files, firmware upgrade and extended file
11 SATO Europe
Programming Manual Keyboard
If the check sum of the BIOS is not correct after being upgraded, “UPDATE FAIL” will
show on the LCD screen. Turn off the power and enter Upgrade mode again. If the
upgrade process is successful, K012 will boot automatically.
SATO Europe 12
Keyboard Programming Manual
LIST FILES
DOWNLOAD FILES
LIST FILES:
All the files stored in Flash memory will be listed. The BASIC files stored in Flash
memory will also be listed in the BASIC program file list by pressing FORM.
ERASE FILES:
This utility delete all the files stored in Flash memory. The “KILL” command can’t
delete files stored in Flash memory.
DOWNLOAD FILES:
Enter this utility before downloading files to Flash memory. Download files either by
DOS command or by K012 Windows software. Press the EXIT key to exit the
download utility.
Note:
1. ALL files will be deleted when you invoke the DOWNLOAD FILES utility.
Copy all the files again although only ONE file is appended.
2. With password locked on, the above utilities will be disabled.
13 SATO Europe
Programming Manual Keyboard
SATO Europe 14
Keyboard Programming Manual
Using K012
By the end of this section, you will be able to
1. Edit a TSKL program file on a PC.
2. Download the program file to the K012.
3. Execute the program.
Edit A Program
To edit a program file, you need a plain text editor, for example: DOS Editor, Windows
Notepad or the enclosed K012 Windows software.
The advantages of using enclosed K012 Windows utility software is that users don’t have to
add header and end of program commands to the program file.
Download A Program
Users can download the program either by DOS commands or via the enclosed K012
Windows software.
Connect the PC and K012 together with the keyboard COM2 port.
Connect the K012 COM1 cable to the printer.
15 SATO Europe
Programming Manual Keyboard
Note: 1. When downloading programs (*.BAS), please select BAS file extension in
the Download file dialog box.
Execute A Program
Reset the K012 by pressing ALT-EXIT.
Press FORM to list program files.
Press ↑ and ↓ to select a program to execute.
If you want to interrupt the program, press ALT-EXIT.
SATO Europe 16
Keyboard Programming Manual
Variables
Variables are placeholders used to store values. They have names and data types. The
data type of a variable determines how the bits representing those values are stored in
the computer's memory. When you declare a variable, you can also supply a data type for
it. All variables have a data type that determines what kind of data they can store.
The variable name in TSKL can vary from one to ten characters. The first character must be
a letter or an underscore with subsequent characters being letters, numbers, or underscore.
There are two categories of variables in TSKL: numeric data type and string data type.
TSKL supplies several numeric data types: long integer, float and double float.
The maximum numbers of variable available in one program are listed below:
200 long integer and float data type variables
100 double float data type variables
50 string data type variables
17 SATO Europe
Programming Manual Keyboard
String Variables
The “$” identifier is used to declare a string variable by placing the “$” at the end of
variable name. For example, A$ and TITLE$ are string variables. Each string variable
can store 254 bytes of data.
System Variables
System variables are the data maintained by the K012. For example, Real Time Clock.
SATO Europe 18
Keyboard Programming Manual
Functions
Functions are built-in procedures or subroutines used to evaluate, make calculations on,
or transform data.
Functions used in TSKL can be grouped into numeric functions or string functions. For
more information, please refer to TSKL Functions.
Numeric Functions
Numeric functions include integral functions and floating point functions. For example,
INT(), ASC().
String Functions
String functions include string conversion and string manipulation. For example,
RIGHT$(), STR$().
Operators
The operators used in TSKL can be grouped into numeric operators, string operators and
relational operators.
Arithmetic Operators
Arithmetic operators: ‘+’, ’-‘, ’*’, ’/’.
String Operators
String operators: ‘+’.
Relational Operators
Relational operators: ‘>’, ‘=’, ‘<’, ‘<>’,’>=’,’<=’
19 SATO Europe
Programming Manual Keyboard
Expressions
Operators, constants, and variables are the constituents of expressions. An expression in
TSKL is any valid combination of these pieces. There are three kinds of expressions in
TSKL.
Arithmetic Expressions
Arithmetic expressions can be integral expressions or floating point expressions,
depending on the calculation value. In integral expressions, floating point operands
will be converted to integer, and vice versa.
String Expressions
There is only one operator in string expression, ‘+’, that is, add a string to another
string.
Relational Expressions
The relational expressions are used to determine the relationship of one quantity to
another. The result is true if the value is non-zero, otherwise, it is false.
SATO Europe 20
Keyboard Programming Manual
21 SATO Europe
Programming Manual Keyboard
TSKL Commands
<ESC>!R
Description
This command is used to reset the keyboard. The keyboard will search for an
AUTO.BAS auto-execution program as the first after reset.
Syntax
<ESC>!R
Remarks
<ESC> is ASCII 27 escape character.
Example
N/A
SATO Europe 22
Keyboard Programming Manual
<ESC>!W
Description
This command is used to upgrade the firmware. The keyboard will enter BIOS upgrade
mode after receiving this command and disable the execution of any AUTO.BAS
program.
Syntax
<ESC>!W
Remarks
N/A
Example
N/A
23 SATO Europe
Programming Manual Keyboard
SOUND
Description
Turn the speaker on at the specified frequency and interval.
Syntax
SOUND frequency, interval
Where
Frequency: 0~15
Interval: 0~65535 msec,
Remarks
N/A
Example
FOR F=0 TO 15
FOR I=0 TO 65535
SOUND F,I
FOR J=1 TO 10
NEXT J
NEXT I
NEXT F
SATO Europe 24
Keyboard Programming Manual
CLS
Description
Clears the LCD display.
Syntax
CLS
Remarks
CLS clears the LCD and places the cursor in the upper left corner. (At position 0,0)
Example
CLS
25 SATO Europe
Programming Manual Keyboard
CLEAR
Description
Remove all the declared variables, arrays, and opened files in the program from
memory.
Syntax
CLEAR
Remarks
N/A
Example
CLEAR
SATO Europe 26
Keyboard Programming Manual
CURSOR
Description
Selects cursor appearance.
Syntax
CURSOR mode
Remarks
The available modes for the cursor are listed below:
0: Hides the cursor.
1: Block with blinking cursor.
2: Fixed Underline cursor.
3: Block blinking and underline fixed cursor. (Default)
Example
CURSOR 1
27 SATO Europe
Programming Manual Keyboard
LOCATE
Description
Position cursor in LCD display.
Syntax
LOCATE x, y
Remarks
LOCATE moves the cursor to the given position in LCD display. If the coordinates are
invalid, the command will be ignored.
Example
LOCATE 1, 1
SATO Europe 28
Keyboard Programming Manual
PRINT…[USING]
Description
The PRINT command is used to output the numeric data and strings to the LCD
display. TSKL also supports formatted output to LCD display with the PRINT USING
command.
The maximum number of specified formats for the PRINT USING command is 15.
Syntax
PRINT list of expression [;]
Remarks
A blank line is displayed on the LCD if there is no expression after the PRINT
command. The PRINT USING command sends (hex) 0D 0A (carriage return and line
feed) at the end of the expression if no “;” (semicolon) is at the end of the expression.
The “,” (comma) is used to separate the values by 8 spaces. There are no spaces
between the two values if the “;” (semicolon) is used between the two expressions. If
“;” (semicolon) is the last character of PRINT statement, the cursor will stop in this line.
The “#” (pound sign) and “\” (back slash) are used to specify the output format of
numeric data and string data respectively. If the actual value is greater than the
specified format, a “%” (percent) sign will be paced at the end of value.
Example
B=123.45
PRINT 12+3;ASC(“A”)
PRINT USING “###.##”,B;
29 SATO Europe
Programming Manual Keyboard
INPUT
Description
Input numeric data or strings from the keypad or K012 COM2 port and assign them to
variables.
Syntax
INPUT prompt; variables
Remarks
Prompt must be a string constant. The variable list contains the variable names to be
assigned.
The input value will pass to the variable if ENTER is pressed. Other input devices such
as a bar code scanner or scale may be connected to the COM2 port of the K012 to get
data instead of keying in data on the keyboard.
Example
INPUT “ENTER ITEM NAME”,ITEM$
INPUT PRICE
SATO Europe 30
Keyboard Programming Manual
OUT
Description
Output a data stream from the K012 serial port.
Syntax
OUT port; list of expressions[;]
Remarks
Port specifies the serial port to send data. It can be 0 (K012 COM1) or 1 (K012 COM2).
The List of Expressions consists of string or numeric expressions separated by
semicolons. The OUT command sends 0D0A (carriage return and line feed) at the end
of the expression except if the semicolon is used as the terminating character. Comma
(“,”) also sends 0D0A to the serial port.
Example
OUT 0;A;A$
31 SATO Europe
Programming Manual Keyboard
FOUT
Description
Output a specified file from the K012 serial port.
Syntax
FOUT Port, FileHandle, FileSize
Remarks
Port specifies the serial port to send data. It can be 0 (K012 COM1) or 1 (K012 COM2).
The number of FileHandle is between 0 and14. FileSize is expressed in bytes.
Example
OPEN “DATA1” FOR INPUT AS #1
FOUT 0,1,1024
SATO Europe 32
Keyboard Programming Manual
OUT USING
Description
Output a formatted data stream from the K012 serial port.
Syntax
OUT port USING “format”,list of expressions[;]
Remarks
Port specifies the K012 serial port to send data. It can be 0 (K012 COM1) or (K012
COM2) port.
Example
OUT 0 USING ”####.## “,A
OUT 1 USING “\ \”,A$
33 SATO Europe
Programming Manual Keyboard
DOWNLOAD
Description
The “DOWNLOAD” keyword is the identifier to save files into K012 memory. The two
types of file that can be downloaded into keyboard memory are program files and data
files.
Syntax
Program file:
DOWNLOAD “FILENAME.BAS”
File contents…
EOP
Data file:
DOWNLOAD “FILENAME”, FILESIZE,<DATA FILE>
Remarks
Filename may be up to 8 characters with a 3-character extension.
The extension for program files must be BAS.
Data files can be any format of file. 0D 0A is used as separator of each data for a text
data file.
Example
Program file:
DOWNLOAD “DEMO.BAS”
CLS
PRINT “This is a test”
EOP
Data file:
DOWNLOAD “DEMO.DAT”,10,0123456789
SATO Europe 34
Keyboard Programming Manual
EOP
Description
End of program. This keyword must be placed at the end of a program file if the
DOWNLOAD keyword is used in the program.
Syntax
EOP
Remarks
N/A
Example
Program file:
DOWNLOAD “DEMO.BAS”
CLS
PRINT “This is a test”
EOP
35 SATO Europe
Programming Manual Keyboard
OPEN
Description
To establish file handles for file access. Up to 15 files can be accessed in one
program.
Syntax
OPEN “filename” FOR mode AS #FileHandle.
Remarks
Filename is the name of the file.
Mode specifies the file operation mode. It can be:
INPUT: Position to the beginning of the file and this file is “read only”. If the
file does not exist, the “File not found” error is displayed on LCD
display.
OUTPUT: Position to the beginning of the file, and this file is “write only”. If the
file does not exist, a new file is created.
APPEND: Append characters to the end of file.
FileHandle is a constant number or expression result, between 0 and 14.
Remember to close the file handle when the file is no longer used.
Example
OPEN “DATA1” FOR INPUT AS #1
OPEN “DATA2” FOR OUTPUT AS #2
SATO Europe 36
Keyboard Programming Manual
CLOSE
Description
To clear file handles.
Syntax
CLOSE #FileHandle
Remarks
FileHandle must be a constant number, with which the file is opened.
Example
CLOSE #1
37 SATO Europe
Programming Manual Keyboard
KILL
Description
To delete file(s) in keyboard memory (SRAM only).
Syntax
KILL “filename”
KILL “*.*”
KILL “*”
Remarks
Filename can be any file in the memory.
Wild card (*) supports all files.
The file must be closed before deleting.
Example
KILL “DEMO.BAS”
Note: KILL cannot be used to delete files in Flash memory. For this you must use the
K012 Extended File Manager utility from the keyboard.
SATO Europe 38
Keyboard Programming Manual
SEEK
Description
Reposition a file pointer in a specified file buffer.
Syntax
SEEK #FileHandle, offset.
Remarks
Offset is the number from the beginning of file to the new position.
Example
OPEN “DATA” FOR INPUT AS #1
SEEK #1,12
39 SATO Europe
Programming Manual Keyboard
READ
Description
Read data from a data file and assign them to variables.
Syntax
READ #FileHandle; list of variables.
Remarks
FileHandle specifies the file to read data from.
The variables store the data read from the FileHandle.
Example
OPEN “DATA” FOR INPUT AS #1
READ #1;A;A$
SATO Europe 40
Keyboard Programming Manual
WRITE
Description
Write data to an opened file.
Syntax
WRITE #FileHandle; list of expressions.
Remarks
FileHandle specifies the file to write data to.
The variables are used to write data to opened data file.
Example
OPEN “DATA2” FOR OUTPUT AS #1
WRITE #1; “DATA”
41 SATO Europe
Programming Manual Keyboard
GOSUB…RETURN
Description
To branch to and return from a subroutine.
Syntax
GOSUB label
Statement block1
Label:
Statement block2
RETURN
Remarks
Label is a tag to mark a specified position in the program. The available maximum
label name is 20 characters. A return statement will cause the program return to the
statement following the GOSUB statement.
The total number of GOSUB…RETURN statements cannot exceed 40 in one
program.
Example
PRINT “MAIN ROUTINE”
GOSUB SUB1
PRINT “MAIN ROUTINE”
END
SUB1:
PRINT “SUBROUTINE”
RETURN
SATO Europe 42
Keyboard Programming Manual
Loop Statements
Loop statements allow a program to execute one or more lines of code repetitively.
The loop statements that TSKL supports include:
DO…LOOP
FOR…NEXT
WHILE…WEND
DO…[EXITDO]…LOOP
Description
Use a DO loop to execute a block of statements an indefinite number of times. There
are several variations of DO…LOOP statement, but each evaluates a numeric
condition to determine whether or not to continue execution.
Syntax
DO {WHILE | LOOP}
Statements
{EXITDO}
LOOP
Or
DO
Statements
{EXITDO}
LOOP {WHILE | LOOP}
Or
DO
Statements
{EXITDO}
LOOP
43 SATO Europe
Programming Manual Keyboard
Remarks
The total number of DO…LOOP statement in one program cannot exceed 40.
The maximum number of IF…THEN…ELSE, FOR…NEXT, WHILE…WEND, and
DO…LOOP statements available in one program is 40.
Example
A=1
DO WHILE A<10
A=A+1
LOOP
PRINT A
SATO Europe 44
Keyboard Programming Manual
FOR…[EXITFOR]…NEXT
Description
Executes a series of instructions by a specified number of times in a loop.
(As opposed to DO …LOOP which executes until a condition is met)
Syntax
FOR variable= I TO J [STEP K]
Statements
NEXT variable
Remarks
I, J, K are numeric expressions
I: the initial value of the counter
Example
The following sample program prints out the sum of numbers between 1 and 10:
SUM=0
FOR I=1 TO 10
SUM=SUM+I
NEXT I
PRINT SUM
45 SATO Europe
Programming Manual Keyboard
WHILE…WEND
Description
To execute a series of statements in a loop until the given condition is false.
Syntax
WHILE expression
statements
WEND
Remarks
If the expression is true the program will be executed until the WEND statement is
encountered, then return to the WHILE statement to check again. After encountering a
false condition, the program will branch to the statement following the WEND.
The total numbers of WHILE…WEND statement in one program can not exceed 40.
Example
A=10
WHILE A
A=A-1
PRINT “12345678”
WEND
SATO Europe 46
Keyboard Programming Manual
GOTO
Description
Branches from the program to a specified block of statements.
Syntax
GOTO label
Remarks
Label is a tag to mark a specified position in the program.
The Label name is limited to a maximum of 20 characters.
The total number of GOTO statement in a program cannot exceed 200.
Example
INIT:
SUM=0
INDEX=1
INPUT “S/N;”, SN$(INDEX)
IF SN$=”” THEN GOTO INIT
47 SATO Europe
Programming Manual Keyboard
Program-Control Statements
The program-control statements are the essence of any computer language because
they govern the flow of program execution. Program-control statements may be
separated into two categories:
IF…THEN
IF…THEN…ELSE
IF…THEN…ELSE
Description
Use an IF…THEN block to execute one or more statements conditionally. You can use
either a single-line syntax or multiple-line “block” syntax:
Syntax
IF condition THEN statement
Notice that the single-line form of IF…THEN does not use an ENDIF statement.
Or
IF condition THEN
Statements
ENDIF
Or
IF condition THEN
Statements
ELSE
Statements
ENDIF
SATO Europe 48
Keyboard Programming Manual
Or
IF condition1 THEN
Statement block 1
ELSEIF condition2 THEN
Statement block 2
ELSE
Statement block n
ENDIF
Remarks
If the result of the expression is nonzero, the statement following THEN will be
executed. If the result of the expression is zero, and a statement following the ELSE is
present, it will be executed. Otherwise the next line of statement is executed.
If there are block of statements in IF…THEN …ELSE, ENDIF must be used at the end
of the IF…THEN…ELSE statement.
Limitations:
The total number of IF…THEN…ELSE statements in a program can not exceed 40.
The total numbers of IF…THEN…ELSE, FOR…NEXT, WHILE…WEND, and
DO…LOOP in a program cannot exceed 40.
Example
IF A>0 THEN PRINT “TRUE” ELSE PRINT “FALSE”
IF ANS=1 THEN
CLS
PRINT “Error!!!”
INPUT ANS
ENDIF
49 SATO Europe
Programming Manual Keyboard
END
Description
Terminates the program execution.
Syntax
END
Remarks
END statement may be placed anywhere in a program to terminate the execution.
With the END statement, all variables will be released from memory and file handles
closed.
Example
END
SATO Europe 50
Keyboard Programming Manual
DIM
Description
An array is a collection of variables of the same type, referenced by a common name.
The DIM statement is used to declare the array variables of integer, float and double
float data types. The lowest address corresponds to the first element, and the highest
address to the last element. A specific element in an array is accessed by an index.
Syntax
DIM variable (subscripts)[, variable (subscripts), …]
Remarks
The base of an array index always begins from 0. For example, DIM A(10) there are,
in total, 11 elements of variable A (0 to 10).
Do not declare a duplicate array in the program without executing the FREE
statement.
The DIM statement sets all the elements of specified arrays to the following initial
values: numbers to zero and strings to null string.
The total number of array elements (no matter what kind of data type) cannot exceed
than 200 elements.
The maximum array variable name is 10 characters.
The maximum dimensions of an array variable is 3.
Example
DIM A(20)
51 SATO Europe
Programming Manual Keyboard
FREE
Description
Eliminates array variables from memory.
Syntax
FREE dimension variable
Remarks
Arrays can be re-dimensioned after they are freed, or the memory space previously
allocated to the array may be used for other purposes. If an attempt is made to
re-dimension an array without first freeing it, an error occurs.
Example
FREE A
SATO Europe 52
Keyboard Programming Manual
REM
Description
Inserts explanatory remarks in a program.
Syntax
REM comments
Remarks
REM statements are not executed.
Example
REM *** this is an example ***
53 SATO Europe
Programming Manual Keyboard
TSKL Functions
POS()
Description
Gets the current position of the cursor in the LCD display.
Syntax
POS()
Remarks
This function returns the value between 0~79.
Example
Cur_pos = POS()
SATO Europe 54
Keyboard Programming Manual
INKEY()
Description
To return the ASCII code of the character read from keyboard. The returned ASCII
code will not show on LCD display.
Syntax
INKEY( )
Remarks
All tasks are pending until a key is pressed.
Example
A=INKEY( )
55 SATO Europe
Programming Manual Keyboard
INP$()
Description
To return one byte received from a serial port.
Syntax
INP$(expression)
Remarks
The result of the expression must be numeric. (0 or 1)
0: COM1 (Serial port with cable on K012)
1: COM2 (Serial port mount on K012)
The returned value is a string
Example
A$=A$ + INP$(0)
SATO Europe 56
Keyboard Programming Manual
EOF()
Description
To return nonzero when the end of a file has been reached, or to return 0 if the end of
file (EOF) has not been found.
Syntax
EOF(file number)
Remarks
If file pointer points to the end of the file, EOF returns non-zero.
Example
OPEN “DATA” FOR INPUT AS #1
C=0
Repeat:
IF EOF(1)>0 THEN GOTO end_of_file
READ #1;A
C=C+1
GOTO Repeat
End_of_file:
END
57 SATO Europe
Programming Manual Keyboard
LOF()
Description
To return the size of a file.
Syntax
LOF(FileHandle)
Remarks
An integer is returned to indicate the size of file
Example
File_length = LOF(1)
SATO Europe 58
Keyboard Programming Manual
ABS()
Description
To return the absolute value of the expression.
Syntax
ABS(expression)
Remarks
The result of the expression must be numeric.
Example
X=ABS(5-12)
59 SATO Europe
Programming Manual Keyboard
ASC()
Description
To return the value of the ASCII code for the first character of the expression.
Syntax
ASC(expression)
Remarks
The result of the expression must be a string.
Example
X=ASC(“A”)
SATO Europe 60
Keyboard Programming Manual
LEN()
Description
To return the length of the string.
Syntax
LEN(string expression)
Remarks
The maximum returned string length is 255.
Example
X=LEN(“A”)
61 SATO Europe
Programming Manual Keyboard
FRE()
Description
Return the size of free memory.
Syntax
FRE( )
Remarks
Calculates and returns an integer to indicate free memory size of the K012 in K Bytes.
Example
A=FRE( )
PRINT A
SATO Europe 62
Keyboard Programming Manual
INT()
Description
To truncate an expression to an integral number.
Syntax
INT(expression)
Remarks
The result of the expression must be numeric.
Example
A=INT(5/2)
63 SATO Europe
Programming Manual Keyboard
VAL()
Description
To return the numerical value of the string expression.
Syntax
VAL(expression)
Remarks
The result of the expression must be a string.
Example
A=VAL(“1234”)
SATO Europe 64
Keyboard Programming Manual
RND()
Description
RND returns a number between 0 and 1
Syntax
A=RND()
Remarks
N/A
Example
A=RND()
65 SATO Europe
Programming Manual Keyboard
CHR$()
Description
To return the ASCII character of the numerical expression.
Syntax
CHR$(expression)
Remarks
The result of the expression must be numeric.
Example
A$=CHR$(27)
Used, for example to send and ESCAPE or other control code to a printer.
SATO Europe 66
Keyboard Programming Manual
FREAD$()
Description
To read a number of bytes from specified file.
Syntax
FREAD$ (FileHandle, count)
Remarks
Count is the number of data bytes. Maximum count size is 255.
Example
OPEN “DATA” FOR INPUT AS #1
A$=FREAD$(1,20)
CLOSE #1
END
67 SATO Europe
Programming Manual Keyboard
LEFT$()
Description
To return a number of the leftmost characters of the string expression.
Syntax
LEFT$(expression, count)
Remarks
The result of the expression must be a string.
Count is the number of the leftmost characters.
Example
10 A$=LEFT$(“123456”,3)
SATO Europe 68
Keyboard Programming Manual
RIGHT$()
Description
To return a number of the rightmost characters of the string expression.
Syntax
RIGHT$(expression, count)
Remarks
The result of the expression must be a string.
Count is the number of the rightmost characters.
Example
A$=RIGHT$(“123456”,3)
69 SATO Europe
Programming Manual Keyboard
MID$()
Description
To return a number of characters beginning from the starting parameter to the
specified length.
Syntax
MID$(String, Starting, Length)
Remarks
String: Can be a string or expression
Start: Character position in string at which the part to be taken begins. If start is
greater than the number of characters in string, Mid returns a zero-length
string ("").
Length: The numbers of characters to be returned.
Example
A$=MID$(“123456”,3,3)
SATO Europe 70
Keyboard Programming Manual
STR$()
Description
Returns a string representation of a number.
Syntax
STR$(expression)
Remarks
The result of the expression must be a numeric.
Note: STR$() function cannot be included in other functions.
Example: VAL(STR$(“123”)
Example
A$=STR$(12345)
71 SATO Europe
Programming Manual Keyboard
SPC$()
Description
To insert a number of spaces in a string.
Syntax
SPC$(expression)
Remarks
The result of the expression must be numeric.
Example
PRINT “PRICE”;SPC$(5);“123.5”
SATO Europe 72
Keyboard Programming Manual
System Variables
YEAR
Description
Sets and returns the year of the Real Time Clock. The YEAR variable may be set from
00 to 99. The returned data is a 4-digit number.
Ex: 1998,2001.
Syntax
YEAR=nn
Where
nn=00~99
A=YEAR
Remarks
The Real Time Clock is Year 2000 compatible.
Example
YEAR$=STR$(YEAR)
YEAR$=MID$(YEAR$,3,2)
73 SATO Europe
Programming Manual Keyboard
MONTH
Description
Sets and returns the month of the Real Time Clock. Allowable numbers are 01 to 12.
Syntax
MONTH=nn
Where
nn=01~12
A=MONTH
Remarks
N/A
Example
MONTH=12
SATO Europe 74
Keyboard Programming Manual
DATE (day)
Description
Sets and returns the date of the Real Time Clock. Allowable numbers are from 00 to
99.
Syntax
DATE=nn
Where
nn=01~31
A=DATE
Remarks
The leap year timing is automatic
Example
DATE=01
75 SATO Europe
Programming Manual Keyboard
HOUR
Description
Sets and returns the hour of the Real Time Clock. Allowable numbers are from 00 to
23.
Syntax
HOUR=nn
Where
nn=00~23
A=HOUR
Remarks
N/A
Example
HOUR=01
SATO Europe 76
Keyboard Programming Manual
MINUTE
Description
Sets and returns the minute of the Real Time Clock. Allowable numbers are from 00 to
59.
Syntax
MINUTE=nn
Where
nn=00~59
A=MINUTE
Remarks
N/A
Example
MINUTE=16
77 SATO Europe
Programming Manual Keyboard
SECOND
Description
Sets and returns the second of the Real Time Clock. Allowable numbers are from 00 to
59.
Syntax
SECOND=nn
Where
nn=00~59
A=SECOND
Remarks
N/A
Example
MINUTE=16
SATO Europe 78
Keyboard Programming Manual
IDNUMBER$
Description
IDNUMBER$ is read only at run time. The ID number can be set in the Setup Utility.
With password locked ON, users cannot change the ID number. The factory default is:
T.S.C.
Syntax
A$=IDNUMBER$
Remarks
N/A
Example
IF IDNUMBER=”T.S.C.” THEN
GOSUB USER1
ENDIF
79 SATO Europe
Programming Manual Keyboard
SATO Europe 80
Keyboard Programming Manual
81 SATO Europe
Programming Manual Keyboard
SATO Europe 82
Keyboard Programming Manual
83 SATO Europe
Programming Manual Keyboard
SATO Europe 84
Keyboard Programming Manual
85 SATO Europe
Programming Manual Keyboard
SATO Europe 86
Keyboard Programming Manual
Operation Guide
Power-on Utility
Power on with ALT F1 Disable the auto execution utility
Keyboard Utilities
FORM Select BASIC files to execute
←→ Select parameters
87 SATO Europe
Programming Manual Keyboard
SATO Europe 88
Keyboard Programming Manual
INDEX
89 SATO Europe
Programming Manual Keyboard
SATO Europe 90