6020
... 1 1.1... 1 1.2... 1 1.3 6020... 2 1.3... 5 1.3.1... 5 1.3.2 ISA I/O (S1)... 5 1.3.3 (J4,5,6)... 6 1.3.4... 6... 9 2.1... 9 2.2... 9 2.3 COMPILING AND LINKING... 11 2.3.1 MICROSOFT C MICROSOFT QUICKC... 11 2.3.2 BORLAND TURBO C/C++... 12 2.3.3 MICROSOFT VISUAL C++... 12 2.3.4 MICROSOFT VISUAL BASIC... 13 2.3.5 BORLAND C++ BUILDER... 13 2.4... 13 2.4.1... 13 2.4.2... 14 2.4.3... 16 2.4.4... 16 A... 18 B PC I/O... 50
1.1 1.2 + DC DC CW( ) CCW( ) TTL TTL 6020 P1
4.5-5V 6020 PC DC PC 6020 1.3 6020 6020 6020 P2
37 D 2 8 IO (12-24V) 3 PC/AT ISA I/O 0-70 %20-90 50,000 steps/sec. 100,000 steps/sec. 4.5-5V, 50mA 6020 P3
2. 147 10 9 500,000steps/sec 2. 147 10 9 IO 8 DC12-24V 2 1.25A / 120VAC 191 mm 37 D 114 mm 1.1 PC/ISA 500,000 / 10 IO 8 2 6020-1 C/C++ PC/ISA 500,000 / 6020-2 PC/ISA 500,000 / 6020-3 6020 P4
1.3 1.3.1 J4 J5 J6 2 1 3 2 1 3 2 1 3 J1 J2 J3 3 1 2 3 1 2 3 1 2 S1 A4 A9 1.3.2 ISA I/O (S1) 6020 300H 16 IO 300H 300H-30FH PC IO PC IO 1.2 S1 A9 A8 A7 A6 A5 A4 280H OFF 1 ON 0 OFF 1 ON 0 ON 0 ON 0 300H OFF 1 OFF 1 ON 0 ON 0 ON 0 ON 0 330H OFF 1 OFF 1 ON 0 ON 0 OFF 1 OFF 1 340H OFF 1 OFF 1 ON 0 OFF 1 ON 0 ON 0 6020 P5
1.3.3 (J4,5,6) ( CW +CCW ) ( + ) 6020 CW + CCW CW + 1.3 J4 J5 J6 Axis 1 Axis2 Axis3 CW+CCW 1-2 1-2 1-2 CW+ ( ) 1-3 1-3 1-3 J1 J2 J3 1.4 J1 J2 J3 J1 J2 J3 1-2 1-3 1-3 1-3 1-2 1-2 1.3.4 37 D 1.5 37 D 1 I7 12-24DVC I/O 7 2 I6 12-24DVC 3 I5 12-24DVC 4 I4 12-24DVC 5 I3 12-24DVC 6 I2 12-24DVC 7 I1 12-24DVC 8 I0 12-24DVC I/O 0 9 I-COM I/O 6020 P6
10 ( ) 11 CP1 1 CCW * 12 CP2 2 CCW * 13 CP3 3 CCW * 14 CP1 1 (CW) * 15 CP2 2 (CW) * 16 CP3 3 (CW) * 4.5-5V, 50mA 17 FREE1 1 4.5-5V, 50mA motor_on/off (short) 3 18 FREE2 2 19 FREE3 3 20 O-0COM O0 21 O-0A O0 22 O-0B O0 23 O-1COM O1 24 O-1A O1 25 O-1B O1 1.25A/120VAC 1.25A/120VAC 1.25A/120VAC 1.25A/120VAC 26 27 28 29 +5V 30 +5V 31 +5V 32 U/D1 1 * 4.5-5V, 50mA 33 U/D2 2 * 34 UD/3 3 * 35 GND 36 GND 37 GND J4 5 6 CW + CCW CW + 6020 P7
32 33 34 CW+CCW J4 5 6 1-2 CW 14 15 16 CCW 11 12 13 CW 14 15 16 CCW 11 12 13 CW+ J4 5 6 1-3 CW 14 15 16 CCW 11 12 13 IO I-COM 0V 12 24VDC 5+ 6020 6020 6020 P8
2.1 6020 Microsoft C 7.0 Turbo C/C++ Borland C/C++ Windows9X DLLs 32, Microsoft Visual BASIC Visual C++ Borland C++ Builder 2.2 6020 MS-DOS setup setup C:\6020 DOS\BC DOS\MSC WIN\VB WIN\VC WIN\BCB Borland C++3.1 Microsoft C Microsoft Visual BASIC Microsoft Visual C++ Borland C++ Builder 2.1 DOS\BC JC6020S.OBJ JC6020M.OBJ JC6020C.OBJ JC6020L.OBJ C C C C 6020 P9
JC6020H.OBJ JC6020.H EX6020A.C EX6020B.C EX6020C.C EX6020D.C EX6020E.CPP C C C C C C C++ 2.2 DOS\MSC JC6020S.OBJ JC6020M.OBJ JC6020C.OBJ JC6020L.OBJ JC6020H.OBJ JC6020.H C C C C C C 2.3 WIN\VB 6020VB.DLL VB Declare.TXT VB WEX6020A VB WEX6020B VB WEX6020C VB 2.4 WIN\VC 6020DLL.DLL VC 6020DLL.LIB VC 6020DLL.H VC WEX6020E.EXE 6020 WEX6020A VC WEX6020B VC 6020 P10
WEX6020C VC 2.5 WIN\BCB BCB6020DLL.DLL BCB BCB6020DLL.LIB BCB BCB6020DLL.H BCB WEX6020A BCB WEX6020B BCB WEX6020C BCB 2.3 Compiling and Linking 6020 C DEMO.C 2.3.1 Microsoft C Microsoft QuickC cl /Ax /Gs demo.c jc6020x.obj (C compiler) qcl /Ax /Gs demo.c jc6020x.obj (QuickC compiler) x S M C L H QuickC Make Set Program List 6020 P11
Make Edit Program List :df6020s.lib Option/Make Compiler Flags 6020 80286+80287 80286 80287 2.3.2 Borland Turbo C/C++ tcc -mx demo.c jc6020x.obj (Turbo C/C++) bcc -mx demo.c jc6020x.obj (Borland C/C++) x S M C (Compact Model) L H Turbo Borland C/C++ Project/Open Project Project/Add Item :jc6020s.obj obj Option/Compiler/Code Generation 6020 80386+80387 80386 80387 2.3.3 Microsoft Visual C++ 6020 Windows95 98 VC 6020 6020 P12
6020dll.dll Windows C:\ Windows\System VC 6020dll.lib 6020dll.h 6020 6020 2.3.4 Microsoft Visual BASIC VB 6020 6020vb.dll Windows C:\ Windows\System VB 6020 6020 6020 2.3.5 Borland C++ Builder Borland C++ Builder 6020 BCB6020dll.dll Windows C:\ Windows\System BCB6020dll.lib BCB6020dll.h 6020 6020 2.4 6020 20 2.4.1 Init6020Crad 6020 6020 300H 330H Init6020Card(0x300,3,1,11); Init6020Card(0x330,2,0,11); 5 0 1 2 3 4 0 1 2 0 1 2 3 4 0 1 6020 P13
6020 12 4 6020 Init6020Card DOS 0 1 Windows9X 0 DOS 0 PC INT8 IRQ0 Init6020Card INT8 IRQ0 5 8 11 27 55 Init6020Card IRQ0 5 8 11 27.5 55 LoopControl () 6020 Init6020Card Init6020Card 0 DOS 1 INT8 IRQ0 INT8 IRQ0 LoopControl() 6020 INT8 IRQ0 EX6020D.C Exit6020Card() 2.4.2 6020 short profile (short axis, long position, long velocity, long accel); 0 1 3 Hz / Hz/ profile (0,2000, 1000, 4000); start(0); 0 1000Hz 2000 1000Hz 4000Hz / S 4000Hz / S 6020 P14
2000 6020 profile 6020 profile 5 profile short velmode (short axis, long velocity); 0 1 3 Hz / 6020 P15
abort_move (short axis) stopt_move (short axis) 2.4.3 6020 short LineInterpolation(short iaxisnum, short AxisNO[3],double NowPos[3],double PerPos[3], double f) short ArcInterpolation(short AxisNO[2], double NowPos[2], double PerPos[2], double CenterPos[2], double f,short flag) short IpolState() short StopIpol() short PauseIpol() short ResumeIpol() 2.4.2 StopIpol() 2.4.4 2.5 (C ) short Init6020Card(short address, char numaxis,char board_model,short,char); short Exit6020Card(); void LoopControl(); short profile (short axis, long position, long velocity, long accel); short abspos (short axis, long position); short absvel (short axis, long velocity); short absacc (short axis, long acceleration); ( ) 6020 P16
short relpos (short axis, long position); short relvel (short axis, long velocity); short relacc (short axis, long acceleration); short start (short axisnum); short velmode (short axisnum, long velocity); short complete (short axis); short motor_on (short axis); short motor_off (short axis); short abort_move (short axis); short stop_move (short axis); short home (short axis); long actpos (short axis); long actvel (short axis); long despos (short axis); long desvel (short axis); short io_read (short board); short io_write (short board, unsigned char data); short LineInterpolation(short, short *,double *,double *, double ) short ArcInterpolation(short *,double *,double *,double *,double,short) short IpolState() Short StopIpol() Short PauseIpol() short ResumeIpol() IO I0-I7 IO O0-O1 6020 P17
A Init6020Card C: short Init6020Card(short address, short axisnum,short board_model,short itime); VB: Private Declare Function Init6020Card Lib "6020vb" (ByVal address As Integer, ByVal axisnum As Integer, ByVal board_model As Integer, ByVal itime As Integer) As Integer address: axisnum: board_model: itime: (0) S1 1 2 3 0 1 DOS Windows 5 8 11 27(DOS 27.5 ) 55 11 (-1-2 -3) 6020 Exit6020Card 6020 P18
Exit6020Card C: short Exit6020Card(); VB: Private Declare Function Exit6020Card Lib "6020vb" () As Integer, Init6020Card 0 Init6020Cardp PC DOS Windows (0) (-1) Init6020Card 6020 P19
LoopControl 6020 C void LoopControl(); DOS Init6020Card 1 Init6020Card 6020 P20
profile C short profile (short axis, long position, long velocity, long accel); VB Private Declare Function profile Lib "6020vb" (ByVal axis As Integer, position As Long, velocity As Long, accel As Long) As Integer start axis: 0 1 2 3 11 position: 2147. 10 9 velocity: / Hz 0 500,000 Hz accel: / 0 5,000,000 Hz / S (0) (-1) abspos absvel absacc relpos relvel relacc start 6020 P21
abspos C short abspos (short axis, long position); VB Private Declare Function abspos Lib "6020vb" (ByVal axis As Integer, ByVal position As Long) As Integer start axis: 0 1 2 3 11 position: (0) (-1) profile absvel absacc relpos relvel relacc start 6020 P22
absvel C short absvel (short axis, long velocity); VB Private Declare Function absvel Lib "6020vb" (ByVal axis As Integer, ByVal velocity As Long) As Integer start axis: 0 1 2 3 11 velocity: / Hz (0) (-1) profile abspos absacc relpos relvel relacc start 6020 P23
absacc C short absacc (short axis, long accel); VB Private Declare Function absacc Lib "6020vb" (ByVal axis As Integer, ByVal accel As Long) As Integer start axis: accel: 0 1 2 3 11 / (0) (-1) profile abspos absvel relpos relvel relacc start 6020 P24
relpos C: short relpos (short axis, long position); VB: Private Declare Function relpos Lib "6020vb" (ByVal axis As Integer, ByVal position As Long) As Integer actpos start axis: 0 1 2 3 11 position: (0) (-1) profile abspos absvel absacc relvel relacc start 6020 P25
relvel C: short relvel (short axis, long velocity); VB: Private Declare Function relvel Lib "6020vb" (ByVal axis As Integer, ByVal velocity As Long) As Integer actvel start axis: 0 1 2 3 11 velocity: / (Hz) (0) (-1) profile abspos absvel absacc relpos relacc start 6020 P26
start C: short start (short axis); VB: Private Declare Function start Lib "6020vb" (ByVal axis As Integer) As Integer axis: 0 1 2 3 11 (0) (-1) profile abspos absvel absacc relpos relvel relacc 6020 P27
velmode C: short velmode (short axis, long velocity); VB: Private Declare Function velmode Lib "6020vb" (ByVal axis As Integer, ByVal velocity As Long) As Integer axis: 0 1 2 3 11 velocity: / Hz (0) (-1) profile 6020 P28
complete C: short complete (short axis); VB: Private Declare Function complete Lib "6020vb" (ByVal axis As Integer) As Integer actpos start velmode 0 complete 1 axis: 0 1 2 3 11 (0) (1) 6020 P29
motor_on C: short motor_on (short axis); VB: Private Declare Function motor_on Lib "6020vb" (ByVal axis As Integer) As Integer FREE 1.5 axis: 0 1 2 3 11 (0) (-1) motor_off 6020 P30
motor_off C: short motor_off (short axis); VB: Private Declare Function motor_off Lib "6020vb" (ByVal axis As Integer) As Integer FREE 1.5 axis: 0 1 2 3 11 (0) (-1) motor_on 6020 P31
abort_move C: short abort_move (short axis); VB: Private Declare Function abort_move Lib "6020vb" (ByVal axis As Integer) As Integer axis: 0 1 2 3 11 (0) (-1) stop_move 6020 P32
stop_move C: short stop_move (short axis); VB: Private Declare Function stop_move Lib "6020vb" (ByVal axis As Integer) As Integer axis: 0 1 2 3 11 (0) (-1) abort_move 6020 P33
home C: short home (short axis); VB: Private Declare Function home Lib "6020vb" (ByVal axis As Integer) As Integer home actpos axis: 0 1 2 3 11 (0) (-1) 6020 P34
actpos C: long actpos (short axis); VB: Private Declare Function actpos Lib "6020vb" (ByVal axis As Integer) As Long 100 40 actpos 60 axis: 0 1 2 3 11 2. 147 10 9 actvel 6020 P35
actvel C: long actvel (short axis); VB: Private Declare Function actvel Lib "6020vb" (ByVal axis As Integer) As Long axis: 0 1 2 3 11 500,000 Hz actpos 6020 P36
despos C: long despos (short axis); VB: Private Declare Function despos Lib "6020vb" (ByVal axis As Integer) As Long axis: 0 1 2 3 11 2. 147 10 9 desvel 6020 P37
desvel C: long desvel (short axis); VB: Private Declare Function desvel Lib "6020vb" (ByVal axis As Integer) As Long axis: 0 1 2 3 11 500,000 Hz despos 6020 P38
io_read IO C: short io_read (short board); 8 12 24VDC 0 1 board: 0 1 2 3 8 (bit15-bit8 0) ( 0) 8 bit 0 bit 1 I0 I1 bit 7 I7 io_write ; 6020 P39
io_read_num IO C: short io_read_num (short board, short o_num); VB: Private Declare Function io_read_num Lib "6020vb" (ByVal board As Integer, ByVal o_num As Integer) As Integer 8 12 24VDC 0 1 board: o_num: 0 1 2 3 0 1 2 7 0 1 io_write ; 6020 P40
io_write IO C: short io_write (short board, short i_num,short value); VB: Private Declare Function io_write Lib "6020vb" (ByVal board As Integer, ByVal i_num As Integer, ByVal value As Integer) As Integer 2 IO 1 0 board: i_num: value: 0 1 2 3 0 1 0 1 (0) (-1) io_read 6020 P41
LineInterpolation C: short LineInterpolation(short iaxisnum, short AxisNO[3],double NowPos[3],double PerPos[3], double F) 1-3 iaxisnum 1 2 3 AxisNO[3] NowPos[3] PerPos[3] F: / (0) ( 0) ArcInterpolation 6020 P42
LineInterpolation VB: Private Declare Function LineInterpolation Lib "6020vb" (ByVal iaxisnum As Integer, ByVal AxisNO1 As Integer, ByVal NowPos1 As Double, ByVal PerPos1 As Double, ByVal AxisNO2 As Integer, ByVal NowPos2 As Double, ByVal PerPos2 As Double, ByVal AxisNO3 As Integer, ByVal NowPos3 As Double, ByVal PerPos3 As Double, ByVal f As Double) As Integer 1-3 iaxisnum 1 2 3 AxisNO1 1 NowPos1 1 PerPos1 1 AxisNO2 2 NowPos2 2 PerPos2 2 AxisNO3 3 NowPos3 3 PerPos3 3 F: / (0) ( 0) ArcInterpolation 6020 P43
ArcInterpolation C: short ArcInterpolation(short AxisNO[2], double NowPos[2], double PerPos[2], double CenterPos[2], double F, short flag) AxisNO[2] NowPos[2] PerPos[2] CenterPos[2] F: / Flag / 1 2 (0) ( 0) LineInterpolation 6020 P44
ArcInterpolation VB: Private Declare Function ArcInterpolation Lib "6020vb" (ByVal AxisNO1 As Integer, ByVal NowPos1 As Double, ByVal PerPos1 As Double, ByVal CenterPos1 As Double, ByVal AxisNO2 As Integer, ByVal NowPos2 As Double, ByVal PerPos2 As Double, ByVal CenterPos2 As Double, ByVal f As Double, ByVal flag As Integer) As Integer AxisNO1 1 NowPos1 1 PerPos1 1 CenterPos1 1 AxisNO2 2 NowPos2 2 PerPos2 2 CenterPos2 2 F: / Flag / 1 2 (0) ( 0) LineInterpolation 6020 P45
IpolState() C: short IpolState() VB: Private Declare Function IpolState Lib "6020vb" () As Integer (0) (1) (2) (3) (4) (5) (6) LineInterpolation ArcInterpolation StopIpol PauseIpol ResumeIpol 6020 P46
StopIpol() C: short StopIpol() VB: Private Declare Function StopIpol Lib "6020vb" ()As Integer 0 LineInterpolation ArcInterpolation IpolState PauseIpol ResumeIpol 6020 P47
PauseIpol C: short PauseIpol() VB: Private Declare Function PauseIpol Lib "6020vb" ()As Integer ResumeIpol() 0 LineInterpolation ArcInterpolation StopIpol ResumeIpol 6020 P48
ResumeIpol C: short ResumeIpol() VB: Private Declare Function ResumeIpol Lib "6020vb" ()As Integer 0 LineInterpolation ArcInterpolation StopIpol PauseIpol 6020 P49
B PC I/O B-1 I/O AT 0-F DMA controller 10-1F 20-2F Interrupt controller 30-3F Interrupt controller 40-4F Time 50-5F Time 60-6F Keyboard 70-7F RTC,NMI mask 80-8F DMA Page Registers 90-9F DMA Page Registers A0-AF Interrupt controller B0-BF Interrupt controller C0-CF DMA controller D0-DF DMA controller E0-EF F0-FF Math coprocessor 100-10F 110-1EF 1F0-1FF Fixed disk 200-20F Game I/O adapter 208-20F 210-21F 21F 210-21E 220-24F 250-25F 260-26F 270-27F Parallel printer port 2 280-28F 6020 P50
290-29F 2A0-2AF 2B0-2BF Alternate EGA 2C0-2CF Alternate EGA 2D0-2DF Alternate EGA 2E0-2EF GPIB 0,data acquisition 2F0-2FF Serial port 2 300-30F Prototype card 310-31F Prototype card 320-32F 330-33F 340-34F 350-35F 360-36F PC network 370-37F Parallel printer 380-38F SDLC or second bisync controller 390-39F Cluster adapter 3A0-3AF First bisync controller 3B0-3BF Monochrome display adapter 3C0-3CF Enhanced graphics adapter 3D0-3DF Color graphics adapter 3E0-3EF 3F0-3FF floppy disk adapter,1st async 025-84293632 84293652/53 11 100085 0755-26581960/61/62/63 2877 (010) 62932100 100 810 (010) 62927938 (010) 62927946 2007 by Hollysys Electric 04/2007 QT002 www. hollysys-electric. com