At our premises in Wrocław, we have a fully equipped servicing facility. Here we perform all the repair
works and test each later sold unit. Our trained employees, equipped with a wide variety of tools and
having several testing stands at their disposal, are a guarantee of the highest quality service.
OUR SERVICES
ENCODERS
SERVO
DRIVERS
LINEAR
ENCODERS
SERVO AMPLIFIERS
CNC
MACHINES
MOTORS
POWER
SUPPLIERS
OPERATOR
PANELS
CNC
CONTROLS
INDUSTRIAL
COMPUTERS
PLC
SYSTEMS
Repair this product with RGB ELEKTRONIKA
ORDER A DIAGNOSIS
∠
Buy this product at RGB AUTOMATYKA
BUY
∠
Page 3
KeTop T100
Handheld Terminal
User's Manual V 3.1
Page 4
Notes on This Manual
At various points in this manual you will see notes and precautionary warn-ings regarding possible hazards. The meaning of the symbols used is ex-plained below.
•DANGER indicates an imminently hazardous situation which, if not avoided, will
result in death or serious injury.
•WARNING indicates a potentially hazardous situation which,if not avoided,
could result in death or serious injury.
!
DANGER
!
WARNING
!
CAUTION
•CAUTION indicates a potentially hazardous situation which, if not avoided, may
result in minor or moderate injury.
•CAUTION usedwithout thesafetyalert symbol indicates a potentially hazardous
situation which, if not avoided, may result in property injury.
Note
Notes on use of equipment and useful practical tips are identified by the “Notice” symbol. Notices do not contain any information that draws atten-tion to potentially dangerous or harmful functions.
This manual is directed at designing and project engineers which apply this product for their machines. For end users such as operators however, se-perate manuals must be provided by the machine and plant manufacturer.
General information
The handheld terminal KeTop T100 is a portable operating and display de-vice with rugged design and Windows-CE compatible electronics. Using a high-performance Intel StrongARM processor and providing a se-rial interface or Ethernet, the KeTop T100 is ideal for a great variety of ap-plications (see next chapt. “
All tasks can be solved graphically and in color, and operation is intuitive using a touch screen.
Instead of rotating mass memories such as floppy disk and hard disk drives that are not suitable for rough environmental conditions, the KeTop T100 uses scalable FLASH and RAM banks.
The functionality of the handheld terminal can easily be expanded by using Compact Flash cards of the type I.
The KeTop T100 provides a Windows CE platform for applications gener-ated with common visualization tools or with C#, Visual Basic.NET or Visual C++.
Moreover, the KeTop T100 can be connected as a client to a Win NT, Win 2000 or Windows XP server.
Through the use of optional operating and control elements, the KeTop T100 can easily be adapted to the specific application.
Intended Use of the Handheld Terminal”).
Intended Use of the Handheld Terminal
The intended use of the Handheld Terminal covers tasks like watching and parametrizing up to operating of machines e.g.:
in half automatic or manual mode. Enabling switches and an emergency stop button are the safety elements
of the device. The Handheld Terminal KeTop T50-ADP is intended for fixed connection to
a robot. Handheld Terminals for temporary connection must not have a red-yellow emergency stop button.
To meet the safety category 3 in accordance with EN 954-1, the safety functions are realized with 2 circuits.
The selection of the Handheld Terminal which is suitable for the machine and the projecting of the additional functions must obey the necessary haz-ard analyses and risk assessment bounded by law.
For intended use of the Handheld Terminal also please pay attention to chapter “
CE Conformity, Directives and Standards”.
8 User's Manual, version: 3.1 / material no.: 57448
zMultigrip handle zRound housing zDifferent holding positions zOperation by right-handed and left-handed people zDesk top operation zOperation in wall bracketzThe cable outlet can be on the left or right side of the housing. zEasy-to-read display
Housing
zVibration- and shock resistance zHousing made of non-flammable material (UL 94-V0), impact-resistant,
withstands water, cleaning agents (alcohol and tensides), oil, drilling oils, grease and lubricants
zDouble-walled, extremely sturdy ABS housing. Drop-tested on industrial
flooring from a height of 1.0 m (39.4 in).
Operating and Display Panel
zMembrane keys with tactile feedback z2 status LEDs zBuzzer in upper part of housing zResistive touch screen, to be operated with finger or stylus
zBacklit color STN LC display
7.7“ VGA (640x480 pixels) or
8.4“ SVGA (800x600 pixels)
10User's Manual, version: 3.1 / material no.: 57448
KeTop T100 -TFT - 002 - CES / 67830 /05Use CLASS 2 Source
5
24 VDC/0,3A
67
P54941 - 01894
Ser. Nr.:
1
1 Serial number2 Material name3 Material number4 Revision number of device 5 Further information (optional) 6 Technical data (here: power supply) 7 Bar code 8 CE marking 9 Advice for electronic scrap regulation 10 UL marking 11 NSBIV marking 12 Date of production (month/year)
Description of a KEBA type plate
9
L
03/06
10
USC
11
12
U
LISTED
IND. CONT. EQ
21YA
7
mm/yy:
12User's Manual, version: 3.1 / material no.: 57448
The device was developed, manufactured, tested and documented in ac-cordance with the applicable safety standards. If you follow the instructions regarding safety and use as described in this manual (see chap. „Use of the Handheld Terminal“), the product will, in the normal case, nei-ther cause personal injury nor damage to machinery and equipment.
The instructions contained in this manual must be precisely followed in all circumstances. Failure to do so could result in the creation of potential sources of danger or the disabling of safety features integrated in the handheld terminal.
Apart from the safety instructions given in this manual, the safety precau-tions and accident prevention measures appropriate to the situation in question must also be observed.
!
WARNING
Intended
•For the right projecting of the Handheld Terminal the manufactorer must enforce
a hazard and risk analysis. The following safety aspects must be considered:
- Right cable length for limitation ofworkspace.
- Is an emergencystop button necessary and permissible?
- Is the safety category for the application sufficient
•The device may be operated in faultless condition onlyand the operating in-
structions must be observed.
•The operator must have a sufficient educational level and must know details of
intendeduse described in the user’s manual.
•The safety advices in the following chapters must be considered absolutely.
•Further informations to safety and EMC are included in chapt. „
Directives and Standards“. They must be considered absolutely.
?
CE Conformity,
User's Manual, version: 3.1 / material no.: 5744813
Observe the national regulations when disposing of electronic components!
Handling of KeTop
You have chosen a high-quality KeTop that is equipped with highly sensi-tive state-of-the-art electronics. To avoid malfunctions or damage through improper handling, follow these instructions during operation.
CAUTION
•Turn off thepower supply before opening the cable entrance area of the KeTop.
Otherwise the componentscould be destroyed or undefined signalscould oc-cur.
•Make sure that nobody can fall over the cable to avoid that the device falls to
ground.
•Take care not to squeeze and thus damage the cable with any object.
•Do not lay the cable over sharp edges to avoid damaging the cable sheath.
•If you do notuse the device, hang it into the wall bracket KeTop WBxxx provided
for storage.
•Do not lay downthedevice with the operating side facing down to avoid damag-
ing the operating elements.
•Never lay the device onto unstable surfaces. It could fall to ground and thus be
damaged.
•Never lay the device close to heat sources or into direct sunlight.
•Avoid exposing the device to mechanical vibrations, excessive dust, humidity or
to strong magnetic fields.
•Never clean the device, operating panel and operating elementswith solvents,
scouring agent or scrubbing sponges. For cleaning thedevice, use asoft cloth and a bit ofwater or a mild cleaning agent.
•Make sure that noforeign objects or liquids can penetrate into the device. Check
at regular intervals the protective covers of the device, if all housing screws arefirmly tightened and if the housing or the cable entry is damaged.
•If the device shows any defect, please send it, including a detailed error descrip-
tion, to your supplier or therelevant after-sales serviceoffice.
14User's Manual, version: 3.1 / material no.: 57448
ID for KEBAID for KeTop-T100KeTop-T100 CPUserial number(the last five digits,hex-coded)
Page 19
Handheld Terminal Connection
Cable Routing in Cable Entrance Area
After opening the cable entrance area, the connecting linescan be routed as described in the following chapters. Before opening the KeTop please pay attention to the following safety instructions:
Instructionsfor opening the cable entrance area:
•Lay the KeTop with the display facing down onto a plane and clean ta-
ble (preferable on ESD pad) and take care not to damage the KeTop and its operating elements.
•For opening and closing the cable entrance area use the following type
of screwdriver: „Phillips size 2“.
Instructionsfor modifications in the cable entrance area:
•Unplug the main connector (S19) by pulling on its wires with your fin-
gers. Do not use any sharp objects.
•For unplugging the RJ-45 jack (S4 / S6), actuate the locking lever:
S4 / S6
S19S19
Make sure that the connectors S19 and S6 correctly snap in when you plug them in. Otherwise the emergency stop functionality (S19) or the correct shielding (S4/S6) might not be given any more.
Instructionsfor closing the cable entrance area: Make sure that
1
2
•the sealing is clean, not damaged and correctly positioned in the cable
entrance area,
•no cables are squeezed in,
•the cover of the cable entrance area is attached again with all 6 screws
(torque: 0.4 bis 0.5 Nm). Otherwise the protection degree cannot be guaranteed.
User's Manual, version: 3.1 / material no.: 5744817
Cable outlet on left and right side if the RS-422-A interface is used.
Cable outlet Ethernet
S19
Right Left
Cable outlet on left and right side if the Ethernet interface is used.
S4
Dummy plug
S6,
COM-Modul
S6
S19
S4
Dummy plug
S6,
COM-Modul
S6
Power Supply
•The device meets the safetyclass III in accordance withEN61131-2 and EN50178.
The 24V power supply for the equipment must be guaranteed through safe iso-lation of the extra low-voltage circuits from dangerous-contactvoltage circuits(e.g. by safety transformersor similar facilities).
18User's Manual, version: 3.1 / material no.: 57448
The emergency stop button respectively the grey stop button used on the KeTop features two circuits. The contacts are normally closed.
The red-yellow emergency stop button of the handheld terminal meets the requirements of the EN 418. It must be designed as an emergency stop of category 0 or category 1 (see EN 60204-1 chapter 9.2.5.4.2) on the basis of the risk assessment for the machine. The connection of the positive-break contacts to an appropriate monitoring system must meet the safety category which is defined by means of the risk assessment (in accordance with EN 954-1) of the machine.
Optionally the KeTop T50-ADP is also availabel with a grey stop button in-stead of the red-yellow emergency stop button. In principal the grey stop button has the same functionality as the red-yellow emergency stop button. If the handheld terminal is not plugged in, the grey color of the stop button should avoid the usage of the non-effective (emergency) stop button in dangerous situations.
The grey stop button fulfils also all mechanical aspects of the EN 418 and differs from the emergency stop button only by its color.
!
WARNING
•Not fully functional emergency stop devices may have fatal consequences!
Emergencystop switcheswhich are red-yellowmarked must be effective under all circumstances in all operating modes of a machine or plant.
Store handheld terminalswith not operational red-yellowemergencystop switches on a place where the operator cannot see it, so that he can not mistake the device.
Handheld terminalswhich are plugged in and out frequently for temporarelyuse, must nothave a red-yellowemergencystop switch. Such devices must beequippedwith a grey stop switch.
•Resetting an activated emergency stop facility must not result in uncontrolled
start-up of machines or installations.
•The emergencystop button does not replace other safety facilities.
•The emergencystop button on the handheld terminal does not replace the
emergency stop buttones to be mounted directly on the machine
•Some mechanical errors in emergency stop switches can be recognized at op-
eration only. Test the functionof the emergency stop switchwhen the device had been ex-
posed to mechanical shock (e.g. it had been fallen on the ground)Note for maintenance:
Additionally the emergency stop switch must be tested cyclic (6 monthly). Watch the machine stopping after the emergency stop switch had been pushed.
20User's Manual, version: 3.1 / material no.: 57448
The KeTop is equipped with two enabling switches, one at the left and one at the right side of the device. This allows a left- and right-hand operation of the enabling switch. Both enabling switches are equivalent and parallel switched. So for enabling only one of both enabling switches must be acti-vated.
The enabling switch consists of a 3-position operating element and an separated evaluation electronics. An essential feature are the continuous two-channel circuits beginning from the actuating elements up to the con-necting terminals. For the evaluation circuits different technologies and cir-cuits are used. Due to the electronic switching contacts, their lifetime does not depend on the load provided the nominal values of the load (ohmic, in-ductive and capacitive) are not exceeded.
Functioning
The actuating element consists of two symmetrically arranged slides. The position of these slides is detected by electrical switches and transmitted to the evaluation electronics.
Positions of enabling switch:
Enabling
Position Function Enabling switchContacts
1 home positionis not pressed enabling outputs are open 2 enabling is pressed enabling outputs are closed 3 panic is pressed strong enabling outputs are open
For the enabling switch, the following switching sequences are possible:
Home position
x
enabling
y
home position
123
x
OFFOFFON
ON
y
OFFONOFFON
ZT
ZT
Enabling
x1
x2
switch
123
123
Evaluationelectronics
Circuit 1Circuit 2
ZT
x
Circuit 1Circuit 2
ZT
x
Circuit 1Circuit 2
x ... L (Left) or R (Right) Contact travel diagram for enabling
22User's Manual, version: 3.1 / material no.: 57448
The pushing of the actuating elements into the panic position is evaluated in a way that the enabling position is skipped when the actuating elements are released.
Home position
x
enablingu panic
123
v
home position
Enabling
switch
ZT
x1
ZT
x2
x ... L (Left) or R (Right) Contact travel diagram for panic
Evaluationelectronics
123
Circuit 1Circuit 2
123
ZT
x
Circuit 1Circuit 2
ZT
x
Circuit 1Circuit 2
x
OFFOFF
ONON
v
OFFOFFOFFOFFOFFOFF
u
OFFOFF
Notice
•At the KeTop, the enabling switches always feature two circuits.
To meet the safety category 3 in accordance with EN 954-1:1996, the ena-bling switch must be realized with 2 circuits.
The safety category 3 means, that one failure must not lead to the loss of the safety function, and whenever possible, the single failure is detected.
The chapters „
Example of Connection with ELAN SRB-NA-R-C.27/S1 Control Relay”
“show how the safety category 3 can be fulfilled with the KeTop and its safety-related parts. The entire concept of the machine must be laid out ac-cording to the principlesof safety category 3.
The monitoring of the simultaneity by the control relay is necessary, be-cause otherwise maybe a failure culmination would not be recognised and this would cause the loss of safeness:
If one circuit of the enabling device switches to the enabled state as a result of a failure and after some time the second circuit also switches to the en-abled state as a result of an failure, then no de-energisation by the enabling device would be possible.
Example of Connection with PILZ PST1 Control Relay“ and
User's Manual, version: 3.1 / material no.: 5744823
Further the EN 60204-1:1997 prescribes that the enabling switches shall be connected to a category 0 stop or a category 1 stop, that means the energy must be switched off.
24User's Manual, version: 3.1 / material no.: 57448
Example of Connection with PILZ PST1 Control Relay
KeTop
(2 enabling switches with
3 positionsand 2 circuits each)
ZT
L
123
ZT
L1
ZT
R
321
ZT
R1
Control cabinet
+24 VDC
F11A
Feedback
control loop
4A(t)6A(f)
123
ZT
L2
converter
S19:
K3:
DC/DC
6767
Evaluation electronics
Circuit 1Circuit 2
12341234
781217K1:12
K1:
K3:
+24VGNDED1+ED1-ED2+ED2-
78121712
X1
321
ZT
R2
Connection cableKeTop TTxxx
17-pinconinversjack
Intermediate cableKeTop ICxxx
Terminal block socketK3on connection box
Male connector X1on connection box
Connection box
X2
+24VGNDED1+ED1-ED2+ED2-K4:
GND
F2
F3
4A(t)
or
6A(f)
F4
3,15A
or
Male connector X2on conncection box
Terminal block socketK4on connection box
KAKB
A1(+)23S11
X1X2
K1
PILZPST1
K2
A2(-)
GND
Suggested wiring of enabling switches to fulfill safetycategory 3 with PILZ control relay. Also follow theinstructions described in the PILZ operating manual about the PST1 device.
User's Manual, version: 3.1 / material no.: 5744825
Note: All contacts of KA and KB must be forced-guided!
Enabling of
dangerousmovement!
M
Page 28
Connection KeTop T100
Functional procedure:
zOnly if both channels are activated „simultaneously“ (by pressing one of
the enabling switches) both output relays K1 and K2 will energize and the output contacts 13-14 and 23-24 will close.
zThe output relays K1 and K2 will not energize if
zonly one enabling channel is activated (in case of a defect),zthe tolerance value for the simultaneity period is exceeded, zthe feedback control loop X1-X2 is open.
zIf one enabling channel is deactivated after being simultaneously acti-
vated (by releasing the enabling switch or in case of a defect), the out-put relays K1 and K2 will return to their initial position again. The forced-guided output contacts 13-14 and 23-24 will open. The out-put relays will energize again only after both enabling channels have been deactivated and simultaneously activated once again.
In this way the enabling switches avoid that one single error makes the safety function inoperational. A single error will be recognized at the next cycle at the latest.
26User's Manual, version: 3.1 / material no.: 57448
Example of Connection with ELAN SRB-NA-R-C.27/S1 Control Relay
KeTop
(2 enablingswitches with
3 positionsand 2 circuits each)
ZT
L
123
ZT
L1
ZT
R
321
ZT
R1
123
ZT
L2
DC/DC
converter
67
S19:
K3:
67
K1:
+24VGNDED1+ED1-ED2+ED2-
K3:
X1
X2
+24VGNDED1+ED1-ED2+ED2-K4:
+24VDC
Circuit 1Circuit 2
12341234
781217K1:1278121712
GND
Evaluation electronics
321
ZT
R2
Connection cableKeTop TTxxx
17-pinconinversjack
Intermediate cableKeTop ICxxx
Terminal block socketK3on connection box
Male connectorX1
on connection boxConnection boxMale connectorX2
on conncection boxTerminal block socketK4
on connection boxmin. 0,3 mm² Cu
Control cabinet
L1
+24VDC
CC1S11S12S13S21S4113233341
F2
F1
10
S4
10
S1
Rear side of
component
GND
L13D
Suggested wiring of enabling switches for safety category 3 with the ELAN SRB-NA-R-C.27/S1 control relay. In addition follow the instructions of the operating manual about the SRB-NA-R-C.27/S1.
User's Manual, version: 3.1 / material no.: 5744827
Notes:1)Allcontactsof KA and KBmust be forced-guided.
2) S4 and S1 on the rearsideof the componentmust be set to the position 0.
L1L2L3
KA
KB
Enabling ofdangerousmovement!
M
Page 30
Connection KeTop T100
Functional procedure:
zOnly if both channels are activated „simultaneously“ (by pressing one of
the enabling switches) both output relays K2 and K3 will energize and the output contacts 13-14, 23-24 and 33-34 will close.
zThe output relays K2 and K3 will not energize if
zonly one enabling channel is activated (in case of a defect),zthe tolerance value for the simultaneity period is exceeded, zthe feedback control loop S11-S12 is open.
zIf one enabling channel is deactivated after being simultaneously acti-
vated (by releasing the enabling switch or in case of a defect), the out-put relays K2 and K3 will return to their initial position again. The forced-guided output contacts 13-14 and 23-24 will open. The out-put relays will energize again only after both enabling channels have been deactivated and simultaneously activated once again.
In this way the enabling switches avoid that one single error makes the safety function inoperational. A single error will be recognized at the next cycle at the latest.
Foreseeable Misuse of Enabling Switch
Foreseeable misuse means the not allowed fixing of the enabling switch in the enabling position. The foreseeable misuse of the enabling switch mustbe restricted. The following measures causing the stop of the machine in the manual mode are recommended:
zInquiry of the enabling switch when turning on the machine/plant and
inquiry of the enabling switch when changing the operating mode from automatic to manual (The enabling switch must not be in the enabling position.).
zThe enabling switch must be released within a defined period and
pushed into the enabling position again. The length of the period must be defined according to the activity.
28User's Manual, version: 3.1 / material no.: 57448
Technical Data of Switching Elements of Enabling Switches
Nominal voltage 24 V DC (typ.)32 V DC (max.)Nominal current 500 mA (typ.) Short-circuit current circuit 1: max. 1,9 A circuit 2: max. 600 mA Max. inductive load (at 500 mA) circuit 1: max. 1Hcircuit 2: max. 320 mH Max. capacitive load circuit 1: no limit since the transistor is protected thermallycircuit 2: max. 500 µF
The switching elements of the enabling switches are protected against re-versed polarity. The outputs of both circuits are protected against short cir-cuits and excess load.
Circuit 1: thermal protective circuit Circuit 2: fold back line
!
WARNING
•The enablingswitch is only suitable as safety function if the operator activating
the enabling switch recognizes the dangerous situation in time so that he canimmediately take the necessarymeasures to avoid such situations. Asadditional measure reduced speed of the movementcan be necessary. Theallowed speed must be determined by means of a risk assessment.
•The enabling switch is only used to enable commands for performing dangerous
movements. The commands themselves must be activated by a separate oper-ating element (key on handheld terminal).
•Only the person who operates the enabling switch is allowed to work in the dan-
gerous area.
•For further informations regarding the enabling switchplease pay attention to
chapter „
CE Conformity, Directives and Standards“.
User's Manual, version: 3.1 / material no.: 5744829
The standard version of the KeTop is equipped with an Ethernet interface. This interface is based on the 10BaseT specification and suitable for the half-duplex mode.
The data communication for these interfaces takes place via the Ethernet connector S4 in the cable entrance area of the KeTop.
The following interface parameters are defined and cannot be changed:
z10 Mbaud zTCP/IP protocol
The Ethernet interface is selected under Windows CE as follows:
Start -> Settings -> Control Panel -> Network and Dial-up Connections:
Here you can select the Ethernet on-board interface SMSC91C9X.
!
WARNING
•If the KeTop and the control do not communicate via a point-to-point connection,
it may happen that the keypad data, for example, are transmittedwith a delay.Therefore it is advisable toestablish the connectionbetween the control and
the KeTop onlyvia an Ethernet switchwhich enables a point-to-point connec-tion.
If an Ethernet PC card is inserted into the PC card slot, the internal Ethernet interface must be deactivated.
The selection between the internal Ethernet or the PC card Ethernet inter-face is made in the „ConfigTool“. See chapter „(ConfigTool“ on page
96).
KeTop Configuration Tool
The positions of the Dip switches in the cable entrance area are not rele-vant for this interface.
30User's Manual, version: 3.1 / material no.: 57448
The serial data communication for this interface requires the installation of an optional module in the KeTop. The communication takes place via the COM module connector S6 in the cable entrance area of the KeTop.
Notice
•The simultaneous use of the Ethernet interface and the RS-422-A inter-
face is not possible.
The RS-422-A interface assigned to the COM 5 interface port is in the soft-ware. The interface parameters are set via the WIN32API in the Windows operating system.
6789101112345
K2
123
6
Connection cable
KeTop TTxxx
pink
black
brown-green
white-green
grey-pink
red-blue
brownyellowgreen
grey
violet
blue
white
orange
red
K1
K1
345678121711
10
Intermediate cable
KeTop IC2xx
1
black
2
brown-green
white-green
grey-pink
red-blue
brownyellowgreen
grey
violet
9
13141516
white
orange
pink
blue
red
K2
K1
E-STOP_ES1+
E-STOP_ES1-
E-STOP_ES2+
E-STOP_ES2-
ENABLE_ED1+
ENABLE_ED1-
ENABLE_ED2+
ENABLE_ED2-
S1
1
13141516
+24 VDC
GND
A' (RXD-)
B' (RXD+)
A (TXD-)
B (TXD+)
SHIELD
X1
1
24 VDCGND_IN
23
Emergency stop,circuit 1Emergency stop,circuit 1
45
Emergency stop,circuit 2
6
Emergency stop,circuit 2
7
Enabling switch, circuit 1,pos.
8
Enabling switch, circuit 1,neg.
9
Enabling switch, circuit 2,pos.
10
Enabling switch, circuit 2,neg.
X3
RS-422-A
123456
External device
A (TxD-)B (TxD+)A' (RxD-)B' (RxD+)
KeTopConnection box KeTop CB211
S19K3
S6
A (TXD-)B (TXD+)A'(RXD-)
B'(RXD+)
Dip switchesfor RS-422-A:
B2B3B4B5B6
OFFOFFOFFONOFF
Wiring diagram: Connection of KeTop T100 with RS-422-A via connection box KeTop CB211
32User's Manual, version: 3.1 / material no.: 57448
Serial port female connector S2 for Debug Interface (RS-232-C)
Using the „Boot-Loader“ software, the „serial port“ interface can be used for debugging and for downloading software. Using the remote software Ac-tiveSync, it can be used for adjusting and transmitting data from and to a PC.
For that purpose, the download cable KeTop XD040 is available. The following interface parameters are defined and cannot be changed:
z38400 baud z8 data bits z1 stop bit zNo parity zNo handshake
The debug interface is assigned to the COM 1 interface port in the soft-ware.
The positions of the Dip switches in the cable entrance area are not rele-vant for this interface.
34User's Manual, version: 3.1 / material no.: 57448
Laythe KeTop with the display facing down onto a plane and clean table (preferablyon ESD pad) and take care nottodamage the KeTop and its operating elements.
1
2
1) Open the cover.
2)Insert the PC cardas shown.
ATTENTION:
Take care that this corneris inserted into the slot onthe side of the ejectionbutton.
Ejection button
1
Unlock the PC cardcover as shown(until the lockingleveris released).
3
ATTENTION:
Check the conditionand the position of thesealing before closingthe PC card cover.
Insert the PC card until it locks inand the ejectionbutton jumpsout.
5
2
4
6
1
2
1)Close the cover.
2)and 3)Lock the cover asshown.
3
Press downthecover until it snaps in completelyto meetthe protection degree IP54.
Must snapin completely!
36User's Manual, version: 3.1 / material no.: 57448
The keypad assignment is stored in the registry and defined for the robotics membrane keypad as follows:
Key Labelling Windows Vitual
Hex Dez
Key Code
Page DownVK_NEXT0x22 34 Page Up VK_PRIOR 0x21 33 Cursor Up VK_UP 0x26 38 Cursor Left VK_LEFT 0x25 37 Cursor Right VK_RIGHT 0x27 39 Cursor Down VK_DOWN 0x28 40 Menue VK_MENU 0x12 18 Enter VK_RETURN 0x0D 13 Delete VK_DELETE0x2E 46 ESC VK_ESCAPE 0x1B 27 Help (?) VK_SHIFT +
VK_SLASH
0x10 + 0xBF
16 +
191 Start VK_1 0x31 49 Stop VK_0 0x30 48
V- no VK Code defined 0xC1 193 V+ no VK Code defined 0xC2 194 A1- no VK Code defined 0xC3 195 A1+ no VK Code defined 0xC4 196 A2- no VK Code defined 0xC5 197 A2+ no VK Code defined 0xC6 198 A3- no VK Code defined 0xC7 199 A3+ no VK Code defined 0xC8 200 A4- no VK Code defined 0xC9 201 A4+ no VK Code defined 0xCA 202 A5- no VK Code defined 0xCB 203 A5+ no VK Code defined 0xCC 204 A6- no VK Code defined 0xCD 205 A6+ no VK Code defined 0xCE 206 Z+ no VK Code defined 0xCF 207 Z- no VK Code defined 0xD0 208
Depending on the size of the display, two robotics membrane keypads are available:
User's Manual, version: 3.1 / material no.: 5744841
The KeTop is available with two displays which differ as to their resolution and screen diagonals:
Type: graphics-capable color STN
LCD Size: 7.7“ (160 x 120 mm) 8.4“ (175 x 130 mm) Resolution: VGA 640 x 480 pixels SVGA 800 x 600 pixels Representation: 256 colors 256 colors Background lighting: CCFT cold cathode tubeCCFT cold cathode tubeTouch screen: analog-resistive analog-resistive
The lifetime of the background lighting (40,000 h) can be increased through the activation of a screen saver via the control panel.
Procedure:
Start -> Settings -> Control Panel -> Display -> Folder Backlight Select the function „Automatically turn off backlight while on external power“
Here you can enter the turn-off time (30s to 30min).
Display 7.7“Display 8.4“
graphics-capable b/w STN LCD
Touch Screen
If the touch screen is not operated with the finger, we recommend using a touch stylus, for example touch styluses of PDAs by PALM or SONY.
The touch screen is already calibrated when the KeTop is delivered. No fur-ther calibration is required. If a re-calibration is required for any reason (humidity of air, temperature, etc.), perform the calibration procedure under Windows CE as follows:
The KeTop T100 is delivered with pre-installed software that is stored in the flash of the device. This software is also called "Image" since it combinesall software contents in one file. The image contains the Windows CE oper-ating system core and possibly additional applications. The image is cre-ated by means of the MS Platformbuilder for Windows CE. This description is valid for images from version 2.10. (Get image version on KeTop as follows: Start -> Programs -> KeTop -> Version)
Software of Standard KeTop T100
Operating system Windows CE 4.2:
zSystem control zCommand Prompt zWindows Explorer zPocket Internet Explorer
zSetTime, temporary time and date entry zSystem check, testing tool for KeTop spezific functions zTouchClean, Touch Cleaning Application zVersion, overview of versions zToggle sip (software keyboard) zKeTop tools (extension in system control for configuration of contrast,
background lighting, screensaver, touch screen and joystick calibration,onboard Ethernet on/off, clearing of registry, image update, ..)
zSystem check, test tool for KeTop spezific functions
Test tools
zTestSerial, test program for serial interfaces (\windows\testserial.exe) zReset (\windows\reset.exe)
User's Manual, version: 3.1 / material no.: 5744847
The user can easily generate programs for Windows CE. Programming is similar to an application for a standard MS Windows NT PC. Under Win-dows CE, only the number of available WIN32-APIs is limited.
Prerequisites for Application Programming
zMicrosoft eMbedded Visual C++ 4.0zSDK (Software Development Kit) by manufacturer of Windows CE de-
vice (KEBA). The SDK provides to the programming environment the processor-dependent header and library files of the OEM adaptation.
zIf special hardware-dependent functions of the KeTop should be used,
the SDK of the KeTop must be installed subsequently since the deliv-ered SDK for HPC (Handheld PC) and HPC Pro (Handheld PC Profes-sional) does not take into account certain customer-specific adapta-tions.
48User's Manual, version: 3.1 / material no.: 57448
The entire SDK is implemented in a single dynamic link library (DLL). All functions described in this document are exported from this DLL. For Visual Basic, the module file KeTopAPI.bas must be imported into the Visual Basic project. This file and the corresponding SDK are contained on the CD „KeTop SK001“.
The following platform names are assigned to the KeTops: KeTop T100: KETOPT100 KeTop T50: KETOPT50KeTop T50VGA:KETOPT50VGA KeTop T41: KETOPT41
►System files that are copied to \windows directory by Visual Studio re-
main stored permanently. For this reason, these files must be copied manually to the directory \IPSM\windows (must be created by the user if necessary).
In case of a restart of Windows CE, these files are automatically copied to the \windows directory. Therefore these files will be available for the operating system and after a restart.
User's Manual, version: 3.1 / material no.: 5744849
This section contains a detailed description of the common data types for the communication with the handheld terminal. For further information, see TpuHwDataTypes.h.
INT8Signed 8 bit integer variable. UINT8 Unsigned 8 bit integer variable. BacklightStat Enum, displays the backlight status JoystickPos Struct, for joystick data. Status Struct Describes the startup state of the device. EventMsg Enum, describes the event message received. EventMsgDomains Enum, describes the events a handler has been subscribed to. eventCallbackFunction pointer to callback function.
Handling of Errors
Rules
Defines
zAll functions expecting any input parameter check if the parameter is
located inside the range and if its data type is correct. If a parameter is located outside the range the function will return INVALID_ARG_RANGE.
zAll functions expecting a pointer for output data as parameter check if
the pointer is valid, i.e. the pointer must not be NULL. If the pointer is invalid, the function will return INVALID_ARG_INVALID_PTR.
zAll functions having any string as parameter check if the pointer to the
string is valid. If the pointer is invalid, the function will return INVALID_ARG_INVALID_STR_PTR.
This section describes the functions that are available for the configuration of the device. All functions return one of the above defines as error code.
KtpSetBrightness
DeclarationDescription Arguments
KtpSetBrightnessPercent
Declaration
Description
Arguments
UINT8 KtpSetBrightness(/*[in]*/UINT8 u8_Brightness);This method sets the brightness of the LC display on the device. 0-7, 0 = min, 7 = max
These functions return the current value of the configuration parameters. None of the functions need any parameter. These functions do not enable checking for errors since the return value of the function is the value of the configuration parameter.
KtpGetBrightness
DeclarationDescription Arguments
KtpGetBrightnessPercent
Declaration
Description Arguments
KtpGetContrast
DeclarationDescription Arguments
UINT8 KtpGetBrightness(void);
Gets the current brightness value of the LC display.
Gets the current joystick position. TKtpJoystickPos structure. Each component in the structure mayonly
range between -15 and 15. Calling this function is onlyallowed if a joystick is installed on the de-vice. If no joystick is installed the values of the components are unde-fined.
UINT8 KtpGetJoystickPosEx(/*[out]*/int *posX, int *posY, int *posZ);
Gets the current joystick position. Each component in the structure mayonly range between -15 and 15. Calling this function is onlyallowed if a joystick is installed on the de-
vice. If no joystick is installed the values of the components are unde-fined.
Calibrates the axis of the joystick. TktpJoystickChannel ch: channel to be calibrated.
UINT16 rawMin: value for smallest raw value UINT16 ramCenter: average value for rawdata UINT16 rawMax: maximum value of raw data UINT16 calibRange: maximum range of joystick This function mayonly be called if a joystick is installed on the device. If no joystick is installed, the value of the components are undefined.
KtpGetOverridePoti
DeclarationDescription Arguments
Remarks
KtpGetOverridePotiRaw
DeclarationDescription Arguments
Remarks
KtpGetEnablingDevice
Declaration
Description
Arguments
Remarks
UINT8 KtpGetOverridePoti(/*out*/UINT8 *p_pos);
Gets the current value of the override potentiometers.Pointer to the variable containing the current value of the override po-
tentiometer. This function mayonly be called if a override potentiometer is installed on the device. If no override potentiometer is installed, the value of the components are undefined.
Gets the uncalibrated value from the override potentiometer. Pointer to the variable containing the current value of the override po-
tentiometer. This function mayonly be called if a override potentiometer is installed on the device. If no override potentiometer is installed, the value of the components are undefined.
Circuit is the value of the enabling switch to be read out when it is pressed completely (panic position). Returns the current value of the enabling switch transferred in the cir-cuit. This function mayonly be called if a enabling switch is installed on the device. If no enabling switch is installed, the value of the components are undefined.
56User's Manual, version: 3.1 / material no.: 57448
Calibration of override potentiometer. This function mayonly be called if a override potentiometer is installed on the device. If no override potentiometer is installed, the value of the components are undefined. UINT16 rawMin: value for smallest raw value UINT16 rawMax: maximum rawvalue UINT16 calibRange: maximum range of overridepoti
UINT8 KtpGetWheelValue(/*out*/UINT16 *p_val);
Gets the actual value of the handwheel. Pointer to the variable containing the current value of the handwheel. This function mayonly be called if a handwheel is installed on the de-
vice. If no handwheel is installed, the value of the components are undefined.
UINT8 KtpSetWheelValue(/*in*/UINT16 val);
Sets the current position of the handwheel to the value transferred inval. val is the value the handwheel should be set to.
This function mayonly be called if a handwheel is installed on the de-vice. If no handwheel is installed, the value of the components are undefined.
LED Functions
Because the SxTPU2 is not equipped with LEDs, following functions are not relevant.
These functions are used to subscribe/unsubscribe callback functions for different events. Joystick, override potentiometer, handwheel and keypad can be used as events.
KtpInstallWheelEventCallback
Declaration
Description
Arguments
KtpInstallWheelEventMessage
DeclarationDescription
Arguments
UINT8 KtpInstallWheelEventCallback (/*in*/TktpWheelEventCallback pWheelProc, int *cookie);
Subscribes a callback function for the WheelEvent and returns an index (cookie) for the callback function. TKtpWheelEventCallback pWheelProc: callback function to be called when the event occurs. int cookie: The index for the callback function is required for removingthe callback function.
UINT8 KtpInstallWheelEventMessage (HWND hWnd, int *cookie);
Subscribes a WindowHandler for the WheelEvent and returns an index (cookie). HWND hWnd: WindowHandler, where the message is sent to. int cookie: Index, is required for removing the WindowHandler.
KtpRemoveWheelEventCallback
DeclarationDescription Arguments
KtpRemoveWheelEventMessage
DeclarationDescription Arguments
KtpInstallOvrEventCallback
Declaration
Description
Arguments
UINT8 KtpRemoveWheelEventCallback (int cookie);Removes the WheelEventCallback function.int cookie: index for the callback function to be removed.
UINT8 KtpRemoveWheelEventMessage (int cookie)
Removes the WindowHandler. int cookie: index for the WindowHandler tobe removed.
UINT8 KtpInstallOvrEventCallback (/*in*/ TKtpOvrEventCall-back pOvrProc, /*out*/ int *cookie);
Subscribes a callback function for the OverrideEvent and returns an index (cookie) for the callback function. TKtpOvrEventCallback pOvrProc: callback function to be called when the event occurs. int cookie: The index for the callback function is required for removingthe callback function.
60User's Manual, version: 3.1 / material no.: 57448
UINT8 KtpInstallOvrEventMessage (HWND hWnd, int *cookie);
Subscribes a WindowHandler for the OverrideEvent and returns an index (cookie) for the WindowHandler. HWND hWnd: WindowHandler, where the message is sent to. int cookie: Index, is required for removing the WindowHandler.
UINT8 KtpRemoveOvrEventCallback (int cookie);
Removes the OverrideEventCallback function. int cookie: index for the callback function to be removed.
UINT8 KtpRemoveOvrEventMessage (int cookie);
Removes the WindowHandler. int cookie: index for the WindowHandler tobe removed.
KtpInstallKbdEventCallback
Declaration
Description
Arguments
KtpInstallKbdEventMessage
DeclarationDescription
Arguments
KtpRemoveKbdEventCallback
DeclarationDescription Arguments
UINT8 KtpInstallKbdEventCallback (/*in*/ TktpKbdEventCall-back pKbdProc, /*out*/ int *cookie);
Subscribes a callback function for the KeyboardEvent and returns an index (cookie) for the callback function. TktpKbdEventCallback pKbdProc: callback function to be called when the event occurs. int cookie: The index for the callback function is required for removingthe callback function.
UINT8 KtpInstallKbdEventMessage (HWND hWnd, int *cookie);
Subscribes a WindowHandler for the KeyboardEvent and returns an index (cookie) for the WindowHandler. HWND hWnd: WindowHandler, where the message is send to. int cookie: The index for removing the WindowHandler.
UINT8 KtpRemoveKbdEventCallback (int cookie);
Removes the WheelEventCallback function.int cookie: index for the callback function to be removed
KtpRemoveKdbEventMessage
DeclarationDescription Arguments
User's Manual, version: 3.1 / material no.: 5744861
Removes the WindowHandler. int cookie: index for the WindowHandler to be removed
Page 64
Software KeTop T100
KtpInstallJoyEventCallback
Declaration
Description
Arguments
KtpInstallJoyEventMessage
DeclarationDescription
Arguments
KtpRemoveJoyEventCallback
DeclarationDescription Arguments
UINT8 KtpInstallJoyEventCallback (/*in*/ TktpJoyEventCall-back pJoyProc, /*out*/ int *cookie);
Subscribes a callback function for the JoystickEvent and returns an index (cookie) for the callback function, if a joystick is installed. TktpJoyEventCallback pJoyProc: callback function to be called when the event occurs. int cookie The index for the callback function is required for removing the callback function.
UINT8 KtpInstallJoyEventMessage (HWND hWnd, int *cookie);
Subscribes a WindowHandler for the JoystickEvent and returns an index (cookie) for the WindowHandler. HWND hWnd: WindowHandler, where the message is send to. int cookie: index for the WindowHandler to be removed
UINT8 KtpRemoveJoyEventCallback (int cookie);
Removes the JoyEventCallback function, if a joystick is installed. int cookie: index for the callback function.
KtpRemoveJoyEventMessage
DeclarationDescription Arguments
KtpLaunchJoystickCalibApp
DeclarationDescription Arguments
KtpGetDispalyRotation
DeclarationDescription Arguments
KtpSetDisplayRotation
DeclarationDescription
Arguments
UINT8 KtpRemoveJoyEventMessage (int cookie);
Removes the WindowHandler. int cookie: index for the WindowHandler to be removed
Changes the design of the display for left or right handers. Maybe for some devices no changes. TKtpDisplayRot dispRot: eKtpDisplayLeft for left handers, eKtpDisplayRight for right handers
62User's Manual, version: 3.1 / material no.: 57448
Deletes the registry of the device during next startup.
-
UINT8 KtpErasePSM(void);
Deletes the flash file system of the device during next startup.
-
UINT8 KtpGetPowerFailState(void);Returns the actually state of the powerFail input.
-
UINT8 KtpForcePressedHardbuttons (void);
A WM_KEYDOWN message will be send for each pressed keyswitch and the KeyboardCallback function will be activated. This functionwillbe activated also for the initializing of the KetopApi and for the installa-tion of the KeyboardCallback function.
-
KtpIsJoystickCalibrated
DeclarationDescription
Arguments
KtpIsPotiCalibrated
DeclarationDescription
Arguments
UINT8 KtpIsJoysstickCalibrated (void);
Returns OK (0) if all joystick axes are calibrated. If one or more axes are not calibrated, it returns INVALID_NOT_CALIBRATED (7). If no joystick exists, it returns INVALID_NOTSUPPORTED (6).
-
UINT8 KtpIsPotiCalibrated (void);
Returns OK (0) if the override potentiometer is calibrated. Returns INVALID_NOT_CALIBRATED (7), if it is not calibrated. Returns INVALID_NOT_SUPPORTED (6) if no override potentiometer is installed.
-
User's Manual, version: 3.1 / material no.: 5744863
Saves the registry-value of the path "System\MemorySettings\ Store-Pages" as storage memory. If the registry-value is in a range where memory for storage respectively for program memory is reserved, these settings wont be changed and IVALID_ARG_RANGE will bereturned. If it is not allowed to save the memorysettings ("Sys-tem\MemorySettings\MemorySaveEnable"=0), INVALID_NOT_SUPPORTED will be returned.
-
UINT8 KtpStoreCurrentMemorySettins(void);
Saves the memory settings of the registry ("Sys-tem\MemorySettings\StorePages"), if it is allowed. If it is not allowed to save, INVALID_NOT_SUPPORTED will be re-turned.
-
KtpShowInputPanel
DeclarationDescription
Arguments
UINT8 KtpShwoInputPanel(UINT8 show);
Opens (show=1) or closes (show=0) the input panel on the displayand returuns OK or FAIL.
-
64User's Manual, version: 3.1 / material no.: 57448
All required methods for an image update are implemented in one single dynamic link library (update.dll). All functions described in this documentare exported from this DLL. For running the update.dll the appropriate KetopAPI.dll will be necessary. Both DLL files must exist in the image and correspond with each other.
Handling of Errors
Rules
zAll functions expecting any input parameter check if the parameter is lo-
cated inside the range and if its data type is correct. If a parameter is lo-cated outside the range the function will return ERROR_INVALID_RANGE.
With this method the file handed over byfileNamewill be stored to the FLASH memory of the device. If eraseRegPSM is set, the registryrespectively the PSM will be deleted, after the FLASH has been written successfully. If a method is handed over with pCallback, the method will be exe-cuted depending of the program progress. The method returns OK or the corresponding error message.
LPCTSTR fileName: Name of the image fileBOOL eraseRegPSM: Flag for deleting the registry respectively the
PSM TUpdProgressCallback pCallback: Callback function for pro-gram progress or 0
UpdPartialImageUpdate
Declaration
Description
Arguments
BOOL UpdPartialImageUpdate (LPCTSTR fileName, unsigned long from, unsigned long to, BOOL eraseRegPSM, TUpdProgressCallback pCallback)
With this method the file handed over byfileNamewill be stored from the addressvice. If eraseRegPSM is set, the registry respectively the PSM will be de-leted, after the FLASH has been written successfully. If a method is handed over wirh pCallback, the method will be exe-cuted depending of the program progress. The method returns OK or the corresponding error message.
LPCTSTR fileName: Name of image fileunsigned long from: First address for overwriting unsigned long to: Address, out of overwriting
BOOL eraseRegPSM: Flag for deleting the registry respectively the PSM
TUpdProgressCallback pCallback: Callback function for program pro-gress or 0
from to the address to to the FLASH memoryof the de-
66User's Manual, version: 3.1 / material no.: 57448
BOOL UpdCheckFile(LPCTSTR fileName, TupdProgressCallback pCallback) UINT8 KtpSetBrightness(/*[in]*/UINT8 u8_Brightness); KtpSetBrightness(ByVal brightness As Byte) As Byte
UpdCheckFile verifys the image file and if the image file corresponds
to the device. If a method is handed over wirh pCallback, the method will be exe-cuted depending of the program progress. The method returns OK or the corresponding error message.
LPCTSTR fileName: Name of the image fileTUpdProgressCallback pCallback: Callback function for pro-
UpdCompareFile compares the handed over image file with the en-
tries of the FLASH memory. If a method is handed over wirh pCallback, the method will be exe-cuted depending of the program progress. The method returns OK or the corresponding error message.
LPCTSTR fileName: Name of the image fileTUpdProgressCallback pCallback: Callback function for pro-
gram progress or 0.
UpdSetFlashLock
Declaration
Description
Arguments
UpdResetFlashLock
DeclarationDescription
Arguments
BOOL UpdSetFlashLock(long from, long to)
This method sets the lock bits of the FLASH chips from the address
from
to the address to. So, this address area can’t be overwritten. After an image update, the lock bits are reset.One lock bit locks one whole FLASH block. So the saved area can differ from the handed over addresses.
long from: First address for locking bits. long to: Address as far as the lock bits are set.
BOOL UpdResetFlashLock(long from, long to)
This method resets the lock bits of the FLASH chips from the address from to the address to, One lock bit locks one whole FLASH block. So the unsaved area can differ from the handed over addresses.
long from: First address for reset locking bits. long to: Address as far as the lock bits are reset.
User's Manual, version: 3.1 / material no.: 5744867
BOOL UpdGetImage(LPCTSTR fileName, unsigned lont from, unsigned long to, TUpdProgressCallback pCallback);
UpdGetImage creates a copy of the device-image from the address from to the address to and saves it in the file fileName.
If a method is handed over with pCallback, the method will be exe-cuted depending of the program progress. The method returns OK or the corresponding error message.
LPCTSTR fileName: Name of the image fileunsigned long from: Starting address stored in the file unsigned long to: Address not stored TUpdProgressCallback pCallback: Callback funktion for program
progress or 0.
BOOL UpdEraseRegistry();The method UpdEraseRegistry cleares the registryof the device
after the next update.
UpdErasePSM
DeclarationDescription
UpdResetDevice
DeclarationDescription
UpdGetFileVersion
DeclarationDescription
Arguments
UpdGetImageVersion
DeclarationDescription
Arguments
BOOL UpdErasePSM();the method UpdErasePSM cleares the PSM of the device after the next
update.
BOOL UpdResetDevice();The method UpdResetDevice resets the device.
UpdGetFileVersion returns the version information stored in the
image file in the string version. The number of characters returnedcan be defined in VERSION_STRING_LEN. Therefore version has to exceedVERSION_STRING_LEN.
LPCTSTR fileName: Name of the image fileLPTSTR version: String for version information
BOOL UpdGetImageVersion(LPTSTR version);
UpdGetImageVersion returns the in the registry stored version in-
formation in the string version. The number of characters returned is defined inVERSION_STRING_LEN. Therefore version has to exceed
VERSION_STRING_LEN. LPTSTR version: String for version information
68User's Manual, version: 3.1 / material no.: 57448
Program for Starting the Application and KeTop API
This chapter describes the program for starting the application and the Ke-Top API. The program is contained as a StartAPI.exe in the Windows direc-tory.
Functional description
The StartAPI program is started by an entry in the Startup directory or by an entry in the registry under [HKEY_LOCAL_MACHINE\init] when the Ke-Top is started.
When the program is started, the KeTop API will be initialized first and then the programs entered under [HKEY_LOCAL_MACHINE\Autostart] will be started.
The program remains invisible in the memory and handles different input devices, e.g. override potentiometer and handwheel.
Registry entries
[HKEY_LOCAL_MACHINE\Autostart] contains the entries that are read out by the program.
The following entries are possible:
zStartx
zParamsx
zDelayx
zDependStartx
zDependEndx
string identifying the program to be started. x is a number between 1 and 255.
string containing the parameters for the program identified in Startx. x must have the same value as in Startx.
DWORD containing the waiting time in milliseconds until the next pro-gram is started. x must have the same value as in Startx.
array of 10 bytes containing the numbers of the programs which must have been started so that the program x may start. If there is no such entry or all bytes are 0 then the program x starts and no other programs must have been started.
array of 10 bytes containing the numbers of the programs which must have been stopped before the program x starts. If there is no such entry or all bytes are 0 then the program x starts without waiting of any other programs.
zStartTypex
DWORDaffectingthe startup of the application.
70User's Manual, version: 3.1 / material no.: 57448
StartTypex = 0: The application starts automatically StartTypex = 1: The application wont be startedStartTypex = 2: A window with the message „start programm <Yes> / <No>“ appears. The user can decide, if the application should be started or not. x must have the same value as Startx.
Example
Example of a possible configuration in the registry: [HKEY_LOCAL_MACHINE \ Autostart]
When the StartAPI is started, the KeTop API will be initialized first and then the program cmd.exe will be called with the parameters "/c copy \ipsm\windows\*.* \windows".
cmd.exe /c copy \ipsm\windows\*.* \windows This program copies the data from the directory \ipsm\windows to the nor-
mal Windows directory. After the call of cmd.exe, the system waits for 1000 millliseconds (Delay1) until the next program is started even if the cmd.exe has not been com-pleted before.
After the delay, the program pvbload.exe will be started with the parame-ters "\ipsm\TestProjectVB1.vb".
pvbload.exe \ipsm\TestProjectVB1.vb This program starts the VisualBasicScript TestProjectVB1.vb.
User's Manual, version: 3.1 / material no.: 5744871
After a waiting time of 10000 milliseconds (Delay10), the program with the next higher entry will be started.
SetTime starts a program for setting the time. This program will be started without parameter and delay.
Afterwards it will be checked if the program 10 (DependStart30 a,.. ) has been started and the SetTime program (DependEnd30 14,..) has been fin-ished already. If all conditions are meet the program ReadCorrectTime will be started.
If no more entries are available, the starting of the applications will be fin-ished. Programs started by the StartAPI will not be finished.
72User's Manual, version: 3.1 / material no.: 57448
The Remote Desktop Protocol (Abbreviated as"RDP“) is a specification by Microsoft for remote control of applications. Microsoft has replaced the earlier name “M(Abbreviated as “MSTSC”) by the term RDP-Client. A detailed description of this term can be found on Microsoft's website. Likewise, it can also be found in the Windows-Help feature using the search criteria “mstsc” and “rdp”.
Operating principle (highly simplified):
RDP-Client:
PC
(
Rem
icrosoft Terminal Server Client”
RDP-Server
E
the
ot
e
r
ne
De
t
s
k
t
o
p
P
r
ot
o
c
ol
)
(Remote-PC)
)
l
RDP-Client:
KeTop T100
ESC
789456123
-
.0
e
n
r
e
h
t
E
o
t
sk
e
D
e
t
o
m
e
R
r
o
n
r
u
r
R
E
KETOP
(
o
t
c
o
t
o
r
P
p
RDP-Client <-> RDP-Server
Programs and data are stored on the remote computer. This is where the program is executed and the data is accessed. This remote computer (Re-mote PC) is identified as ”RDP-Server.“
However, data is entered and displayed on the monitor of the local “RDP-Client.”
The exchange of data between the client and the server takes place asper the "Remote Desktop Protocol."
User's Manual, version: 3.1 / material no.: 5744873
The RDP-Server (Remote-PC) requires one of the following operating sys-tems:
zWindows NT4 Terminal server zWindows 2000 Server zWindows Server 2003 zWindows XP Professional (Not Windows XPHome !) zWindows XP embedded (The Server-functionality is integrable.)
Note
When usingWindows XP Professional, the RDP-access on the PC in use,
must be enabled using the path below: "Control Panel -> System -> Re-mote" (The option "(x) Remotedesktop" must be activated.)
RDP-Client (PC)
To start the RDP-Client on the PC, the file <mstsc.exe> must be invoked. In Windows XP, this can be found in the Windows directory or under “Start -> All Programs -> Accessories -> Communication -> Remote Desktop Con-nection.“ For other operating systems such as Windows 95/98/NT, the appropriate files can be obtained from the Microsoft website.
RDP-Client (KeTop)
When starting the client on the KeTop, the file cetsc.exe must be in-voked. This is located in the Windows directory and can be accessed using the path “Start-> Programs -> Remote Desktop Connection.”
Starting a RDP-Connection manually
►Start the RDP-client using the file cetsc.exe and the login window
shown below, appears:
74User's Manual, version: 3.1 / material no.: 57448
►Enter the IP-Address of the destination computer in the field “Com-
puter.”
In case the network name is to be used in place of the IP-Address, thenresolution of the name must be ensured either via the DNS-server or by an entry in the file “hosts.ini.”
Note
The “Input panel” in this case must be enabled on the KeTop, as access to this feature is blocked during the logging process:
►Click the button “Connect” to establish connection with the destination
computer.
Clicking the “Cancel” button disrupts the connection set up. Once the connection has been established, the login window of the destina-
tion computer is displayed with a trapezoidal title bar that is treated as an identifier of the RDP-Connection.
User's Manual, version: 3.1 / material no.: 5744875
►Enter the username and the password and confirm by clicking OK.
The Windows screen of the destination computer is displayed once login is successful.
If the trapezoidal title bar shows any errors when being used with certain applications, it can be deactivated when logging in the next time, by simply clicking the symbol at the top left.
76User's Manual, version: 3.1 / material no.: 57448
►Click the button “Save As….” and save all these settings in a file of the
type “rdp”
Starting the RDP-Connection automatically via an entry in the registry
Connection with the destination compute can be established automatically on starting the KeTop with the help of an entry in the registry under [HKEY_LOCAL_MACHINE\Autostart]. (Also refer the chapter “Program for starting the applicationand the KeTop API”)
KEBA has produced TSCDialog.exe, an upgraded version of the RDP-Client with further enhancements. This program can be used to regulate the operator’s access to Windows CE. Moreover, the login screen can be designed as desired.
The following entry must exist in the registry in order to invoke the TSCDia-log.exe when the KeTop is turned on:
HKEY_LOCAL_MACHINE\Autostart\Startx = "\windows\tscdialog.exe" While doing so, the precise RDP-settings must be saved in the file
“\ipsm\rdpfiles\default.rdp.” To customize the login screen as required, individual elements of the login
screen may be replaced by customer-specific elements. The customization is controlled using the file
ProgTitle:s:title (Title) LogoFileName:s:logo.bmp(Logo right top, in place of “KEBA”) ImgFileName:s:bitmap.bmp(Image to the left, in place of the woman
in green)
Likewise, the files “logo.bmp" and "bitmap.bmp" must also be entered in the directory “\ipsm\rdpfiles\resources\".
User's Manual, version: 3.1 / material no.: 5744879
The protocol "KEBA Virtual Channel" (KVC) is used to transmit control and operating element data between a control and one or more KeTop hand-held terminals.
The following data can be transmitted via the KVC:
Data Direction
ST Ù HT
Override potentiometer Electronic handwheel
Joystick Lighting for button be-
low display LEDs on keypad Contrast, brightness
Time for screensaver State of screensaver Volume Background lighting WriteToFlash
PlaySound KeepAlive
Õ
Ù
Õ
ÙÙÙ
ÕÙÙ
Ö
ÖÙ
The data transmission between the control and the handheld terminals is based on an Ethernet connection (TCP/IP protocol, Listening Port
0xCEBA). All devices must be identified by their IP address.Several handheld terminals may be connected to one control, but one
handheld terminal can only be connected to one control. The KVC protocol is an event-driven protocol, i.e. each station can send data at any time without request.
To monitor the functioning of the KeTop T100 in the control, the KVC offers the possibility to use KeepAlive data packages that are periodically sent from the client to the server. The intervals at which the data packages aresent can be set in milliseconds.
Value range
0..127 1 Event in case of modification and
-32000 ..
32000
2x
–63..63
on
flashing
off
0..255 2 As command from the control and as
0..255 1 As command from the control and as
0..1 1 Event or as request from the client to
0..255 1 As command from the control and as
0..1 1 As command from the control and as
- - Command
0..255 1 Command
0..655352 Command and KeepAliveEvent if
Size
Transmission
[bytes]
upon request of the control
2 Event in case of modification, upon
request of the control, and as set command for adjusting
2 2 As command from the control and as
Event in case of 0-Pos and≠ 0-Pos,then request of control
request from the client to the control.
request from the client to the controlrequest from the client to the control the control request from the client to the controlrequest from the client to the control
parameterized by the server
80User's Manual, version: 3.1 / material no.: 57448
zModification of value of override potentiometer zModification of handwheel value zModification of key status of a key zThe joystick or the space mouse reaches the 0 position. zThe joystick or space mouse leaves the 0 position. zData inquiry of server
With each event, the client sends to the server a data package containing the information about the type of event as well as the current data of all op-erating elements. If the client produces several events one after the other, and the server cannot process all of them at once (e.g. quick rotation of handwheel and simultaneous movement of joystick), the server will send one message containing all events.
Events of Server
By sending a package to the client, the server can influence the status of the LEDs on the client, set the current value of the handwheel, or request the current values (position of joystick, handwheel and override potentiome-ter, as well as state of keys). The server can also read the current states of the values which can be modified by the server.
User's Manual, version: 3.1 / material no.: 5744881
Each of the two socket connections between the client and the server con-stitutes a channel for the data transmission in each direction. The data structures relevant for the corresponding data direction are described in this chapter.
This method is always called when a teach pendant establishes a connec-tion to the control. The parameters nection parameters of the teach pendant. This function must return a pointer to an object of the classcates that the control rejects the logon of the teach pendant.
int OnClientDisconnect(CKVCConnection *pConnection, TDisconInfo info);
This method will be called if the server cannot reach the client any more. The cause of the logoff is specified in info.
POSITION ConnectionListHeadPos();
This method returns the position of the first entry in the OpenConnection list.
For details about the LED numbering (ledNr) needed for the following func-tions, refer to the chapter „
class CKVCConnection { private: char *pIpAdr; public:
virtual int Init(CKVCServer *pServer, SOCKET socket, SOCKADDR_IN &socketAdr); virtual int Exit(); virtual int OnOverrideChange(SINT16 val); virtual int OnWheelChange(SINT16 wheelAbsVal); virtual int OnKeypadEvent(TKVCEvent keyEvent, UINT8 keyNum); virtual int OnJoystickEvent(TKVCEvent event, TKVCJoystickData *pJData); virtual int OnSpaceMouseEvent(TKVCEvent event, TKVCSpaceMouseData *pSMData); virtual int OnDisconnect();
virtual int GetWheelVal(TKVCHandWheelData &hwData); virutal int GetOverrideVal(SINT8 &overrideVal); virtual int GetJoystickPos(TKVCJoystickData &jData); virtual int GetSpaceMousePos(TKVCSpaceMouseData &smData); virtual int GetLedState(UINT8 ledNum,UINT8 &state); virtual int GetContrast(UINT8 &contrast); virtual int GetBrightness(UINT8 &brightness); virtual int GetVolume(UINT8 &volume); virutal int GetScreensaverTime(UINT16 &time); virtual int GetScreensaverState(UINT8 &state);
virtual int SetWheelVal(SINT16 val); virtual int SetLed(UINT8 ledNum, TKVCLedMode mode); virtual int SetContrast(UINT8 contrast); virtual int SetBrightness(UINT8 brightness); virtual int SetVolume(UINT8 volume); virtual int SetScreenSaver(UINT16 screenSaverTime); virtual int SwitchBacklight(UINT8 backlightOnOff);
virtual int WriteToFlash(); virtual int PlaySound(UINT16 soundNr); sockaddr_in GetSocketAdr(); SOCKET GetSocket();
};
The methods OnOverrideChange, OnWheelChange, OnKeypadEvent, OnJoystickEvent and OnSpacemouseEvent will be called if an event has occurred at the corresponding operating element on the client.
int CKVCConnection::OnOverrideChange(SINT16 val); This method will be called if the value of the override potentiometer has changed on the client. The current value is specified in the parameter val.
int CKVCConnection::OnWheelChange(SINT16 wheelAbsVal); The method OnWheelChange will be called if the value of the handwheel has changed. The current value is transferred as an absolute value in the parameter wheelAbsVal.
virtual int OnKeypadEvent(TKVCEvent keyEvent, int keyNum);
Robotics Membrane Keypad“ on page 41.
User's Manual, version: 3.1 / material no.: 5744885
The method OnKeypadEvent will be called if a key has been pressed/released. The key number is specified in keyNum, the state of the key (make, break) in keyEvent.
int CKVCConnection::OnJoystickEvent(TKVCEvent event, TKVCJoystickData *pJData); The method OnJoystickEvent is called when the joystick is moved from the 0 position and reaches the 0 position. The current position is transferred in the parameter event, and the current values in the parameter pJData.
int CKVCConnection::OnSpacemouseEvent(TKVCEvent event, TKVCSpaceMouseData *pSMData); The method OnSpacemouseEvent is called when the space mouse is moved from the 0 position and reaches the 0 position. The current position is transferred in the parameter event, and the current values in the parameter pSMData.
int CKVCConnection::OnDisconnect(int val); The method OnDisconnect will be called if the client terminates the connection with the disconnect message.
int CKVCConnection::GetWheelVal(TKVCHandWheelData &hwData); The method GetWheelVal returns the current position value of the wheel in hwData.absVal, and the modification value since the last call in hwData.dynVal.
int CKVCConnection::GetOverrideValue(SINT16 &overrideVal); The method GetOverrideValue returns the current value of the override potentiometers in the variable overrideVal.
int CKVCConnection::GetJoystickPos(TKVCJoystickData &jData); The method GetJoystickPos returns the current joystick position in the variable jData.
int CKVCConnection::GetSpaceMousePos(TKVCSpaceMouseData &smData); The method GetSpaceMousePos returns the current space mouse position in the variable smData.
int CKVCConnection::GetLedState(UINT8 ledNr , UINT8 &state); The method GetLedState is used to request the current state of the LED transferred in ledNr. The result is returned in state.
int CKVCConnection::GetContrast(UINT8 &contrast); The method GetContrast returns the current value of the contrast setting in the variable contrast.
int CKVCConnection::GetBrightness(UINT8 &brightness); The method GetBrightness returns the current value of the brightness setting in the variable brightness.
int CKVCConnection::GetVolume(UINT8 &volume); The method GetVolume returns the current value of the volume setting in the variable volume.
int CKVCConnection::GetScreensaverTime(UINT16 &screensaverTime); The method GetScreensaverTime returns the current value of the screensaver setting in the variable screensaverTime.
int CKVCConnection::GetScreensaverState(UINT8 &state); The method GetScreensaverstate returns the current state of the screensaver in the variable state.
int CKVCConnection::GetBacklightState(UINT8 &state);
86User's Manual, version: 3.1 / material no.: 57448
The method GetBacklightState returns the current state of the background lighting in the variable state.
int CKVCConnection::SetWheel(SINT16 value);
This method sets the value of the handwheel to the value specified in value and returns the last value. This value is the initial value for the absolute value returned byOnWheelChange.
int CKVCConnection::SetLed(UINT8 ledNum, TKVCLedeMode mode); Calling the method SetLed sets the LED defined in ledNum to the mode transferred in mode.
int CKVCConnection::SetContrast(UINT8 contrast); Calling the method SetContrast changes the value of the contrast setting on the client.
int CKVCConnection::SetBrightness(UINT8 brightness); Calling the method SetBrightness changes the value of the brightness setting on the client.
int CKVCConnection::SetVolume(UINT8 volume); Calling the method SetVolume changes the value of the volume setting on the client.
int CKVCConnection::SetScreensaver(UINT16 screensaverTime); Calling the method SetScreensaver changes the response time of the screensaver on the client.
int CKVCConnection::SwitchBacklight(UINT8 backlightOnOff); Calling the method SwitchBacklight switches on and off the background lighting on the client (backlightOnOff = 1 / backlightOnOff = 0).
int CKVCConnection::WriteToFlash(); Calling the method WriteToFlash saves the contents of the Client Windows Registry in the flash memory.
int CKVCConnection::PlaySound(UINT16 soundNr); Calling the method PlaySound starts the reproduction of the sound with the number transferred in soundNr.
sockaddr_in GetSocketAdr(); The method GetSocketAdr returns the features of the connection;
SOCKET GetSocket(); The method GetSocket returns the current socket of the connection with the client.
User's Manual, version: 3.1 / material no.: 5744887
CKVCConnection object must be created and initialized.
OnClientConnect must be overwritten.
The method anteed that the method
OnClientDisconnect can be overwritten. But it must be guar-
CKVCServer::OnClientDisconnect is called in
this derivation.
int CKVCTestServer::OnClientDisconnect(CKVCConnection *pConnection, TKVCDisconInfo info){ ... return CKVCServer::OnClientDisconnect(pConnection, info); }
In the derivation of the class CKVCConnection, only the Event and Change method must be derived. The Get methods can be derived, but it must be guaranteed that the method of the base class is called before the data are used.
class CKVCTestConnection: public CKVCConnection{ public: CKVCTestConnection(); virtual ~CKVCTestConnection();
virtual int OnOverrideChange (SINT16 val); virtual int OnWheelChange (SINT16 wheelAbsVal); virtual int OnKeypadEvent (TKVCEvent keyEvent, UINT8 keyNum);
CKVCServer and
CKVCServer is
88User's Manual, version: 3.1 / material no.: 57448
The reader must have knowledge of object-oriented programming, embed-ded C++ and MFC. The graphs are displayed in UML standard according to OMT.
Task of the test tool
The test tool is a C++ demo and is used to display values that are made available by the KetopAPI, such as wheel values, potentiometer values, key states and LED states, on the screen. These values are transmitted to the control by the SER protocol (CP001 data profile), immediately read out again from the control and also dis-played on the screen.
This test tool has been realized in embedded Visual C++ 3.0plication of the MFC
® (for WinCe).
® with the ap-
Description of the classes
Class hierarchies
User's Manual, version: 3.1 / material no.: 5744891
This class is the actual application that is displayed on the screen. The Init method creates and administrates the dialog (represented by the class TestToolDlg). So that the application can be accessed in a simple way dur-ing the running time of the program, this class always contains a membervariable at both the SerCp and Ketop levels of abstraction.
TestToolDlg
HTKeysPPG
LedsPPG
PottiPPG
WheelPPG
SerConfigDlg
This dialogclass contains the individual tabs that are realized by the Prop-ertyPage classes.
This class represents the HTKeys tab and is used for visualization of the keystrokes.
This class is responsible for administration of the LEDs and is displayed asthe LED tab.
This class takes care of all values of the potentiometer and is visualized in the Potentiometer tab.
This class displays all changes to the wheel in the Wheel tab.
This class implements the functionality of the "configuration dialog" (see fol-lowing figure) that is displayed on the screen when the application is started. This enables the user to enter his own port configuration.
92User's Manual, version: 3.1 / material no.: 57448
Since the values of this dialog must already be available for the initialization of the port, the dialog is held by the SerCp class as, from a design point of view, it fits best here.
SerCp
This class forms a level of abstraction above the CP001 driver and shouldsimplify communication with the control for the application.
The Constructor loads the SerCp001.dll. Moreover, function pointers to the method of the SerCp001.dll that is used are immediately created and the Callback function that is used for reading out values to the control, is hung up. The Destructor closes the port and releases the Dll. This class provides a "simplified" interface for communicating with the control.
Ketop
This class also forms a level of abstraction above the KetopAPI and, thus, should simplify access to it. It provides a somewhat "simplified" interface to the outside world.
The Constructor loads the KetopAPI.dll. Also in this case, function pointers to the required method are retrieved (however, in a somewhat different manner than in the SerCp class) and a Callback function, which is called automatically by the KetopAPI during modification, is hung up.
Procedure using the example of the test tool
The Init of the TestToolApp class firstly initializes the member variable (mSerCp) of the SerCp class that sees to the configuration of the driver. At the same time, the configuration dialog (SerConfigDlg) is called, the en-tered values are stored and, with them, the port to the control is openedand configured. The TestToolDialog is then called (in the TestToolApp class) and displayed on the screen. This startswith the start of a timer that issues a cyclical write command with the read command to the control. (Without the timer, the application would never be informed about modifica-tions to the control because, in this test example, the control never be-comes active by itself.)
User's Manual, version: 3.1 / material no.: 5744893
If, for example, the wheel is now rotated, the Callback function of the Keto-pAPI is called automatically. There, a Windows message is sent, and re-ceived and processed by the test tool application which, in this case, is synonymous with a graphical update of the tab that is currently active. This modified value is then sent to the control by a write command.
The started timer cyclically informs the control that it would like to read. The control calls the Callback function registered with it and thus triggers a Window message. This, in turn, is received by the application. In the next step, a read command is sent to the control and the tab that is currently ac-tive is determined. The modified values are handed over to this tab and only this tab carries out an update of the screen.
General procedure for communicating with the control using the SerCp001.dll
1. Load the library (SerCp001.dll)
2. Retrieve the function pointers to the required method
3. Install the Callback function
4. Open and configure the port
5. Use the methods that are made available by the Dll
6. Close the port again
7. Release the library
94User's Manual, version: 3.1 / material no.: 57448
Handheld Terminal KeTop - Specific Operating Instructions
8 KeTop - Specific Operating Instructions
This chapter describes the KeTop-specific settings and the differences tostandard Windows CE devices.
Notice
•The date and the time are not stored in the KeTop and, if needed, must
be set anew after turning off/on. The date and the time may be very im-portant for the log data for example.
Notice
•At settings that have not been made with the ConfigTool, the modifica-
tions must be saved as follows:
Start -> Programs -> KeTop -> Registry Backup(or in the explorer with the command „\windows\regflush.exe“)
Setting of Date and Time
During start-up the KeTop shows automatically the window for setting date and time:
Should the window for date and time not be shown, the checkbox has to be deactivated. This must be saved in the registry ("Start -> Programs -> Ke-Top -> Registry Backup").
The KeTop is not equipped with a real time clock. So, if you use the time it must be set during each star-up.
User's Manual, version: 3.1 / material no.: 5744895
KeTop - Specific Operating Instructions KeTop T100
KeTop Configuration Tool (ConfigTool)
The ConfigTool is used to calibrate the operating elements, to control thefunctionality of the operating elements, to select the Ethernet interface and to set start-up functions.
(or by double-clicking on the file „Configuration_Tool.exe“ in the Windows directory).
Notice
•The appearance of the Config tool depends on the operating elements
installed in KeTop (the menus for override potentiometer, joystick and
handwheel are only displayed when the operating elements are in-
stalled in the device).
After carrying out modifications on the configuration and quitting the pro-gram, you can save all modifications in the registry. A window with the fol-lowing message and options appears:
Data has changed! Do you want to write the registry to the flash? Yes/No
With „No“, the settings are contained in the DRAM and will not be stored therefore. They will get lost when the KeTop is turned off.
„Yes“ saves the calibration in the flash. The settings are preserved after a restart of the device. The device is blocked during the saving procedure (takes approx. 10 s).
96User's Manual, version: 3.1 / material no.: 57448
Handheld Terminal KeTop - Specific Operating Instructions
Calibration of Joystick
A number is displayed next to the slide bar. During calibration, this number specifies the current value of the ADC (value range: 0..1024) and only con-trols the function. After calibration, the number specifies the current value of the joystick/potentiometer (value range: -15 .. 15 for each joystick axis).This value is also the value the KeTop API function KtpGetJoystickPossupplies to the application.
Calibration of Potentiometer
A number is displayed next to the slide bar. During calibration, this number specifies the current value of the ADC (value range: 0..1024) and only con-trols the function. After calibration, the number specifies the current value of the potentiometer (value range: 0 ...127). This value is also the value the KeTop API function KtpGetOverridePotisupplies to the application.
User's Manual, version: 3.1 / material no.: 5744897
KeTop - Specific Operating Instructions KeTop T100
Display and Touch Screen Settings
In this window, the brightness and the contrast for the display are set.
In this window you can also calibrate the touch screen.
Setting the Handwheel to Zero
The handwheel outputs a 16-bit value which can be processed in the cus-tomer application as needed (e.g.: 0-65535, +-32767, ...). In the dialog box, the value from 0 to 65535 is displayed. When the device is turned on, the value of the handwheel will be set to 0. If the key „Set“ is pressed, the current value of the handwheel will be re-placed by the start value.
98User's Manual, version: 3.1 / material no.: 57448