Page 3
Trademarks NuDAQ, PCI-8134 are registered trademarks of ADLink Technology Inc, MS-DOS & Windows 95, Windows 98, Windows NT, Visual Baisc, Visual C++ are registered trademarks of Microsoft Corporation, Borland C++ is a registered trademark of Borland International, Inc.
Page 5
Getting service from ADLink Customer Satisfaction is always the most important thing for ADLINK Tech Inc. If you need any help or service, please contact us and get it. ADLINK Technology Inc. http://www.adlink.com.tw Web Site http://www.adlinktechnology.com Sales & Service service@Adlink.com.tw NuDAQ nudaq@adlink.com.tw...
2.13 Velocity Change On The Fly..........4 Chapter 3 Examples..............5 PCI-8134 Initialization ............5 3.1.1 Use 8134.INI to Configure ...........5 3.1.2 An Example to Load INI file and Configure PCI-8134 ..7 3.1.3 Programming under Windows NT .......9 Use Configuration Utility...........9 3.2.1 Config.exe Utility ............10 3.2.2...
Page 8
A Complete Example ..........22 Interrupt Handling under Windows 95/98 by Visual C++ 6.0................... 25 3.6.1 Use PCI-8134 function library in Visual C++ ..... 25 3.6.2 Create a Dialog-based MFC project ......25 Interrupt Handling under DOS ........28 3.7.1 A Skeleton Program for Interrupt Handling....
Page 9
Installation of PCI-8134 ISaGRAF Library ....... 68 4.1.1 PCI-8134 ISaGRAF Library Installation ..... 68 4.1.2 PCI-8134 ISaGRAF Library Un-installation....69 Restore PCI-8134 ISaGRAF Library C Function Objects in the ISaGRAF Workbench ..........69 3.2.1 With ADLink’s “PCI-8134 ISaGRAF C function Object” diskettes................69 3.2.2...
Introduction In addition to the extensive library of standard functions, ADLink provides an Sample Disk containing a variety of standard applications that you can use as a starting point for applications development. This manual is a companion to that disk. This document is divided into two main sections.
Quick-Reference Guide PCI-8134 Configuration Demonstrate how to configure axes by 8134.ini and how to create an application project in Visual Basic programming environment. Use Configuration Utility Demonstrate how to call the configuration utility by shell command in user’s program. Simple Function Test Demonstrate how to make a simple test by using continuous movement function and by reading position counter feedback.
Demonstrate 6 types of homing routines and explain each type’s hardware setup. These are as follows: (1). Home Mode 0 ( provide by PCI-8134 function library ) (2). Home Mode 1 ( provide by PCI-8134 function library ) (3). Home Mode 2 ( provide by PCI-8134 function library ) (4).
2.10 Multiple Axes Synchronized Motion Demonstrates how to write a program for multiple axes synchronized motion. 2.11 Linear and Circular Interpolation Demonstrate how to use the interpolation function sets and how to visualize the 2-D motion by creating a dynamic scope. The DC drawing concept, coordinate transformation, and animation method are introduced here.
There are several functions and modules need to be added in your VB project before programming. Please check: (1). PCI-8134 card has been inserted in one PCI slot properly (2). Make sure that 8134.DLL does exist in your Windows system directory.
Page 16
After Add these two files, your project window in VB IDE is like as follows These two files are very important for 8134 application programming. The source codes of these two files are listed in appendix A & B An example of 8134.INI files is as follows: [Axis 0] PLS_OUTMODE= 0 PLS_IPTMODE= 0...
SD_LATCH= 1 SD_ENABLE= 0 ERC_ENABLE= 0 INT_FACTOR= 8642799 [Axis2] 3.1.2 An Example to Load INI file and Configure PCI-8134 Example1: Step by Step (1). Open a new project. (2). Add two module files: Def8134.BAS and Initial.BAS (3). Write Form_Load Procedure (4).
Page 18
In Step 3) Form_Load Procedure Private Sub Form_Load() ' Initialize 8134 If W_8134_Initial(TotalCard, MyPCI) Then MsgBox "You Don't Have any PCI-8134 Card!" End If 'Load INT file and Configure All Setting If LoadConfigFile(Axis, TotalCard) Then MsgBox "You Must Edit an Config File First!"...
8134.INI file. 3.1.3 Programming under Windows NT There is a little difference when you want to use PCI-8134 library under NT. The Initializing function parameter is different as follows: Int i=0;...
3.2.2 Create an Configuration Interface Example 2-2: Step by Step (1). Open a new project. (2). Add two module files: Def8134.BAS and Initial.BAS (3). Write Form_Load Procedure (4). Add the necessary Form variables (5). Add two command buttons and one frame (6).
Notice that there is a Shell function. It loads an executable file in your application’ s path. So you must copy config.exe file to a correct location or your program won’t find this file to load. The source code of config.exe is in Appendix C Simple Function Test In this section, we will show how to combine the stuffs we have learned in previous sections and add some new features in the program.
Page 23
In Step 1) to 4) please refer to previous sections In Step 5) Add buttons and text boxes Object Type Attribute Value Name Form1 Form* Caption Simple Test Name C_ShINI Command Button* Caption Edit Config Name C_RCfg Command Button* Caption ReConfig Name B_Forward...
Page 24
In Step 6) Write Move Forward/Backward procedure Private Sub B_Backward_Click() Dim AxisNo As Integer Dim CardNo As Integer Dim Channel As Integer AxisNo = CInt(T_AxisNo.Text) CardNo = CInt(T_CardNo.Text) Channel = 4 * CardNo + AxisNo v_move Channel, -CDbl(T_VStr.Text),-Dbl(T_VMax.Text), End Sub Private Sub B_Forward_Click() Dim AxisNo As Integer Dim CardNo As Integer...
Page 25
In Step 8) Create a Timer for Displaying position Private Sub Timer1_Timer() Dim AxisNo As Integer Dim CardNo As Integer Dim Channel As Integer Dim Pos As Double AxisNo = CInt(T_AxisNo.Text) CardNo = CInt(T_CardNo.Text) Channel = 4 * CardNo + AxisNo get_position Channel, Pos T_CurPos.Text = Str(Pos) End Sub...
PCI-8134. It tells user the motion status of one axis. Please refer to the table in section 2.4.2 There are 12 I/O statuses in each axis. PCI-8134 will return an integer value to represent these statuses. Please refer to the table in section 2.4.3 3.4.1 Program organization...
Page 27
Other control items are as follows: Object Type Attribute Value Name Form1 Form Caption Simple Test Name C_ShINI Command Button Caption Edit Config Name C_RCfg Command Button Caption ReConfig Name C_RMove Command Button Caption Relative Move Name T_Dist Text Box Caption 5000 Name...
3.4.2 Reading Motion Done Status If you want to know the stopping reason of an axis, using motion_done() is an easy way to achieve it. The motion done status table is as follows: Return value Axis Status Busy Movement Finished Stops at Positive Limit Switch Stops at Negative Limit Switch Stops as Origin Switch...
In order to read I/O state and display it constantly, the following program must be placed in timer section. 'Display I/O Status get_io_status Channel, IOState For TestBit = 0 To 11 If 2 ^ TestBit And IOState Then T_IOState(TestBit).BackColor = &HFF00& Else T_IOState(TestBit).BackColor = &HFF&...
Interrupt Handling under Windows 95/98 by Visual Basic 5.0 3.5.1 Interrupt Event In config.exe utility, user can choose the interrupt types in the check boxes. If any one of the interrupt factors is active, the utility will automatically enable the interrupt service by set_int_control() function. If you want to use interrupts in 32bits Windows®...
The following program tells you how to create an thread and receive interrupt events. hIntThread = CreateThread(0, 0, AddressOf IntThread, 0, 0, ThreadID) There is a function name in above function. It is the thread’ s name. Its definition is as follows: Function IntThread(ByVal Temp As Long) As Long Dim IntCard As Long WaitForSingleObject(hEvent(AxisNo), &HFFFFFFFF)
2.5.5 A Complete Example We use the same concept in last example to display interrupt status by a text box array. If interrupt comes, the thread function will receive it and decode this value. Then it will display the interrupt status on the text box array.
Page 33
In Step 2) Place function declaration in Global.BAS WIN32 APIs must be placed in this module. Please refer to 2.5.4 to insert it. The thread is defined as follows: Function IntThread(ByVal Temp As Long) As Long IntAxis = WaitForMultipleObjects(4 * TotalCard, hEvent(0), 0, &HFFFFFFFF) get_int_status IntAxis, IntStatus ' you can do something here...
Page 34
In Step 5) Decode Interrupt Status In order to decode interrupt status more effectively, we define a INT status array: IntArray(14). The INT status array is a continuos array from 0 to 14 but the interrupt status returned by get_int_status() is not in the same order with INT status array.
Visual C++. One is header file, pci_8134.h and the other is library file, 8134.lib. There is no configuration utility provided like VB yet so you must use function library to configure PCI-8134’ s parameters one by one. 3.6.2 Create a Dialog-based MFC project We use a simple program to demonstrate interrupt function under Visual C++.
Page 36
In Step 2) Initialize PCI-8134 and configuration Add the following program in dialog initial section. W_8134_Initial(&existCards, &pciInfo); set_cnt_src(0,0); set_pls_iptmode(0,2); set_pls_outmode(0,0); set_home_config(0,0,1,0,1); set_inp_logic(0,1,1); set_alm_logic(0,0,0); set_move_ratio(0,1); set_int_factor(0,0x032040); W_8134_Set_INT_Control(0,1); In Step 3) Add Global Variable PCI_INFO pciInfo; U16 existCards; bool ThreadOn=false; U32 IntState=0;...
Page 37
In Step 6) Add Move Function and Stop Function In Stop button click event : v_stop(0,0.1); In Move button click event : start_r_move(0,10000,100,5000,0.1); In Step 7) Create a timer and write its procedure In initial section, we create a timer : SetTimer(1,100,NULL);...
Interrupt Handling under DOS 3.7.1 A Skeleton Program for Interrupt Handling PCI-8134 Library provides an easy way to use interrupts under DOS because it handles most of the routine works during initialization. You just need to follow the example in this section and to fill out the blank block in each procedure.
Page 39
} while (… ) // ---------- Close all resource used by PCI-8134 ------------- for(i=0; i<bn; i++) _8134_Close(i); 2) In ISR definition function void interrupt _8134_isr0(void) int_axis; irq_status; disable(); _8134_Get_IRQ_Status(0, &irq_status); if(irq_status) get_int_axis(&int_axis); int_flag = 1; irq_axs = int_axis; get_int_status(int_axis, &irq_sts);...
No m atter how many cards you use in your system, you must define 12 ISR functions in any PCI-8134 DOS program even the ISR function is empty. The function name of these 12 ISR routines must follow the styles below:...
Position Control by various types of Velocity Profiles 3.8.1 Velocity Profile PCI-8134 supports 14 function types for position control in function library. The following table is the summary: Trapezoidal S-Curve Symmetrical Absolute start_a_move a_move Start_s_move s_move Relative start_r_move r_move Start_rs_move...
Page 42
You can change the velocity profile setting by click the “Option Button” in “Velocity Profile” frame and “Symmetric Velocity” frame. For each type, the corresponding parameters must be filled in the text box. You can refer to the manual for details. This program looks like as follows: In Step 1) and 2) Please refer to the source codes in the diskette or previous...
Page 43
Select Case Profile 'T_Curve Case 0 Select Case SymOn 'Symmetric Case True start_a_move Channel, CDbl(T_P1), CDbl(T_VStr.Text), CDbl(T_VMax.Text), CDbl(T_Tacc.Text) 'Non-Symmetric Case False start_ta_move Channel, CDbl(T_P1), CDbl(T_VStr.Text), CDbl(T_VMax.Text), CDbl(T_Tacc.Text), CDbl(T_Tdec.Text) End Select 'S_Curve Case 1 Select Case SymOn 'Symmetric Case True start_tas_move Channel, CDbl(T_P1), CDbl(T_VStr.Text), CDbl(T_VMax.Text), CDbl(T_Tacc.Text), CDbl(T_TSacc.Text), CDbl(T_Tacc.Text), CDbl(T_TSacc.Text)
Page 44
Select Case SymOn 'Symmetric Case True start_rs_move Channel, CDbl(T_P1), CDbl(T_VStr.Text), CDbl(T_VMax.Text), CDbl(T_Tacc.Text), CDbl(T_TSacc.Text) 'Non-Symmetric Case False start_tas_move Channel, CDbl(T_P1) + CDbl(T_CurPos.Text), CDbl(T_VStr.Text), CDbl(T_VMax.Text), CDbl(T_Tacc.Text), CDbl(T_TSacc.Text), CDbl(T_Tdec.Text), CDbl(T_TSdec.Text) End Select End Select End Select End Sub Note: The Procedure of “Position 2” is similar with “Position 1”. Please refer to programming guide diskette.
3.9.1 Basic Homing Styles PCI-8134 function library supports 3 types of homing. It is home mode0, 1 and 2. Using which homing function depends on what types of your home input signal is arranged.
Page 46
The table moves to the right and touches the origin switch. Once it touches the origin switch, PCI-8134 latches ORG signal and wait for EZ coming. When the table moves to the EZ’ s trigger point, PCI-8134 will clear the position counter and stop the table.
After first time it touches the origin switch, it will move off the home for a dis tance then move toward to the home again very slowly. When it touches the origin switch again, PCI-8134 will clear the position and stop the axis. Examples • 37...
Page 48
(2) Midpoint Homing between positive and negative limits Guide Table Table Table Positive Negative Limit Limit Switch Switch Moving direction The figure above explains midpoint homing return. After searching the negative and positive limit switch, you can calculate the midpoint. Finally move the table to the midpoint and clear the position counter.
3.9.3 Implement Homing Program We have discussed three basic home return modes support by function library and three advanced home return modes in programming guide. In this section, we will demonstrate how to use these six modes in your application. There are 6 types of home return modes in this example.
Page 50
In Step 1) and 2) Please refer to the source codes in the diskette or previous examples. In Step 3) Write the procedure for “Run” The Homing process will start when you press the Run command button. Home search direction must also be set before running. 40 •...
Page 51
The three basic home search method can be implement as follows: Private Sub C_Run_Click() 'Select Home Type Select Case Item 'Home Mode 0 Case 1 set_home_config Channel, 0, 1, 0, 1 If MoveDir = 1 Then home_move Channel, CDbl(T_SVel.Text), CDbl(T_MVel.Text), 0.1 Else home_move Channel, -CDbl(T_SVel.Text), - CDbl(T_MVel.Text), 0.1...
Page 52
Notice that the home function’ s parameters (Channel, Start Velocity, Maximum Velocity) are access from the TextBox on the form. For each home type procedure, you must choose a moving direction too. The most important thing is clearing the latch. Home mode 1 & 2 needs to latch the origin signal when the axis touches the home switch.
Page 53
CDbl(T_MVel.Text), 0.1 End If wait_for_done (Channel) get_position Channel, Pos1 If MoveDir = 1 Then v_move Channel, -CDbl(T_SVel.Text), - CDbl(T_MVel.Text), 0.1 Else v_move Channel, CDbl(T_SVel.Text), CDbl(T_MVel.Text), 0.1 End If wait_for_done (Channel) get_position Channel, Pos2 ' Get Mid Point Pos2 = (Pos2 - Pos1) / 2 set_position Channel, Pos2 start_a_move Channel, 0, CDbl(T_SVel.Text), CDbl(T_MVel.Text), 0.1...
3.10 Multiple Axes Synchronized Motion Multiple axes synchronized motion is different from linear interpolation motion. The multiple axes motion is point to point motion so it doesn’t guarantee if all the axes arrive at the same time but it guarantees they will start to move at the same time.
Page 55
In this example, we show one card, 4 axes synchronized motion. If you wish to use this function between different cards, you must refer to user manual of PCI-8134 to cascade the corresponding pins of CN4. Notice that start_move_all() function uses absolute position value. In this example we make some change for it to move in relative position.
Page 56
In Step 1) and 2) Please refer to the source codes in the diskette or previous examples. In Step 3) The Start_Move_All() parameters array Dim AxisMap(3) As Integer Dim PosMap(3) As Double Dim SVelMap(3) As Double Dim MVelMap(3) As Double Dim TaccMap(3) As Double In Step 4) Deal with check box selection For i = 0 To 3...
3.11 Linear and Circular Interpolation We will separate this section into three parts: First and second parts give the simple codes for implementing linear and circular interpolation motion. You can add this codes into your application and show the position counter just the same with several pervious examples.
3.11.2 How to use Circular Interpolation Functions A simple code for x-y circular interpolation is as follows: (1). Create a two axes mapping array MapArray(0) = 4 * CardNo MapArray(1) = 4 * CardNo + 1 map_axes 2, MapArray(0) (2). 2) Set specific moving speed for the mapping array set_move_speed StartVel, MaxVel (3).
Page 59
Coordinate Transformation The coordinate system of the position counter in picture box is as follows: Picture Box The origin point relative to pixel mode picture box coordinate system is (Ox, Oy). In the example, we set this as follows: Type POINTAPI Px As Long Py As Long End Type...
Page 60
Function Real2Scr(Pnt As POINTREAL, POrg As POINTAPI, ByVal XScale As Double, ByVal YScale As Double) As POINTAPI Real2Scr.Px = Pnt.Px / XScale + Abs(POrg.Px) Real2Scr.Py = Abs(POrg.Py) - Pnt.Py / YScale End Function Also, transfer a picture box position to a real position Function Scr2Real(Pnt As POINTAPI, POrg As POINTAPI, ByVal XScale As Double, ByVal YScale As Double) As POINTREAL...
3.11.5 Animation In order to achieve a motion graph, sometimes making an animation mechanism is an important thing. This concept is expressed as follows: Other DC Blank DC Destinative DC copy copy Background DC update Create DCs for animation This drawing loop in previous section is done in Timer procedure. To complete this procedure, we must create at least 3 DCs as follows: (1) Scope DC (Destinative DC) hScopeDC = CreateCompatibleDC(Scope.hDC)
Page 63
(3) Blank DC (As Eraser) This Blank DC must be created in picture box Paint Procedure: hScopeBackDC = CreateCompatibleDC(Scope.hDC) hScopeBackBMP = CreateCompatibleBitmap(Scope.hDC, Scope.ScaleWidth, Scope.ScaleHeight) SelectObject hScopeBackDC, hScopeBackBMP BitBlt hScopeBackDC, 0, 0, Scope.ScaleWidth, Scope.ScaleHeight, Scope.hDC, 0, 0, vbSrcCopy Notice that there has a BitBlt function, it is very important for moving DC data to another DC.
Page 64
Animation Starts in Timer We use timer to control the speed of animation. The codes are as follows: 'Clear DC BitBlt hScopeDC, 0, 0, Scope.ScaleWidth, Scope.ScaleHeight, hScopeBackDC, 0, 0, vbSrcCopy 'Mark command position Ellipse hScopeDC, PCmd.Px - 4, PCmd.Py - 4, PCmd.Px + 4, PCmd.Py + 4 'Set path start point on path DC &...
3.11.6 Implement 2-D example You can refer to the complete source codes or previous section for making this example. The results for this example is as follows: Example: (1) Linear interpolation result: Examples • 55...
Page 66
(2) The circular interpolation result 56 • Examples...
3.12 Jog The Jogging feature can be achieved by r_move function. Generally , there are two types of jogging. One is incremental jogging and the other is continuous jogging. Incremental jogging means that for every times you press the jogging button, the axis will step for a distance.
3.12.1 Create a Thread for Jogging You can do jogging function without any graphical presentation. Just add the following sample codes to complete it. The codes for press the X+ direction buttons are as follows: Private Sub C_XB_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If hJogThread <>...
Page 70
' Single axis jogging Select Case Jog Case 5 r_move 4 * CardNo + 2 * Pair, Step, JogSVel, JogMVel * i ^ 2, JogTacc Case 6 r_move 4 * CardNo + 2 * Pair + 1, Step, JogSVel, JogMVel * i ^ 2, JogTacc Case 7 r_move 4 * CardNo + 2 * Pair, -Step, JogSVel, JogMVel * i ^ 2, JogTacc...
3.13 Velocity Change On The Fly 3.13.1 Velocity Change on the fly There is a v_change function in PCI-8134 library. It makes the axis change speed during continuous motion or position control motion. User can easily change speed value by pressing a Velocity Change command button during motion.
3.13.2 Velocity Value In order to see the velocity value without any tachometer, we use an simple way to get the velocity value by ignore the time factor. That’s Measured Velocity=Current Position – LastPosition This instruction is placed in Timer procedure. The Timer in Windows System is not accurate, so we ignore it.
Page 73
Example: You can see the position profile (in black line) and velocity profile (in red line)in the figure. Examples • 63...
Page 74
The parameters setting are as follows: This program can test many other velocity combinations by clicking the option button in the form. Because the velocity value is getting from difference value, it may has some noise on it. For better display, you can tune the timer interval to improve it.
Due to the hardware limitation, user can’t change axis’ speed unlimitly in every moving operation. You must give PCI-8134 a maximum speed that the axis may reach first. For example, assume that you start a moving function by setting a maximum speed of 100,000 pps and you want to change its speed to 200,000 pps when it reach some point.
3.13.5 Repeat Mode Some applications need to run the axis cyclicly between a desired position. Making a repeat motion is necessary to introduce. The repeat motion in this program is implemented in a thread so the axis can be stopped at any moment.
Page 77
The following program is a part of repeat mode. Please refer to EX2-13 for complete codes. 'Button Position 1 Pressed Case 1 Select Case ActionMode 'Absolute mode Case 0 Select Case Profile 'T_Curve Case 0 ' Enter the repeat motion loop Do While RepeatOn = True If RepeatSW = True Then a_move Channel, P1, SVel, MVel, Tacc...
With ADLink’s “PCI-8134 ISaGRAF Library Disk” diskette : step 1. Place the “PCI-8134 ISaGRAF Library” diskette in the 3.5" floppy drive A:. step 2. If Windows NT is loaded, choose Run from the taskbar.
2. Open the ISaGRAF Archive Manager Utility for “c functions”. step 3. Change the “Archive Location” to “a:\ Function Definition” directory. step 4. Click the Restore button, then PCI-8134 ISaGRAF library c function objects will copy to the ISaGRAF Workbench.
1. Place “ADLink All-In-One Compact Disc” in the CD-ROM drive. step 2. Open the ISaGRAF Archive Manager Utility for Project. step 3. Because in the “ADLink A ll-In-One Compact Disc”, the PCI-8134 ISaGRAF Sample program are located in the “Software\PCI-8134 ISaGRAF Library\Project”...
The definition of PCIS-ISG 8134 ISaGRAF Library There are almost 60 functions in the PCI-8134 ISaGRAF library. Use can use these functions directly in ST or FBD languages on ISaGRAF environment. In order to let user can use these functions more easy. These functions be described as below: 3.4.1 Initialization function group...
Page 82
Analog base_addr = g_addres (Analog cardNo) Input parameter : card_no : The PCI-8134 card index number file : The name of PCI-8134 card configuration file created by Motion Creator Output parameter : base_addr : The PCI-8134 card’s base address. irq_no: The PCI-8134 card’s IRQ number.
: specified acceleration time in unit of second decel, tsacc : specified acceleration time in unit of second Output parameter : Result : 0 – No Error , >0 – Error 74 • The ISaGRAF Library For PCI-8134...
(triangular profile). wait_for_done() waits for the motion to complete. The ISaGRAF Library For PCI-8134 • 75...
Page 86
: specified acceleration time in unit of second decel, tdec : specified acceleration time in unit of second Output parameter : Result : 0 – No Error , >0 – Error 76 • The ISaGRAF Library For PCI-8134...
Real str_vel, Real max_vel, Real tlacc, Real tsacc) Analog result = s_tas_mo (Analog axis, Real pos, Real str_vel, Real max_vel, Real tlacc, Real tsacc, Real tldec, Real tsdec) Analog result = tas_move (Analog axis, Real pos, Real The ISaGRAF Library For PCI-8134 • 77...
Page 88
: specified linear deceleration time in unit of second tsdec : specified S-curve deceleration time in unit of second Output parameter : Result : 0 – No Error , >0 – Error 78 • The ISaGRAF Library For PCI-8134...
Real x, Real Analog result = move_zu (Analog card_no, Real z, Real Analog result = arc_xy (Analog card_no, Real x_center, Real y_center, Real angle) Analog result = arc_zu (Analog card_no, Real z_center, The ISaGRAF Library For PCI-8134 • 79...
= s_m_sped (Real str_vel, Real max_vel) Analog result = s_m_accl (Real accel) Analog result = s_arcdiv (Analog aixs, Real degree) Analog result = arc_opti (Analog optimize) Analog result = s_mratio (Analog axis, Real ratio) 80 • The ISaGRAF Library For PCI-8134...
Syntax Analog result = s_h_cofg (Analog axis, Analog home_mode, Analog org_logic, Analog org_latch, Analog ez_logic) Analog result = home_mov (Analog axis , Real str_vel, Real max_vel, Real accel) The ISaGRAF Library For PCI-8134 • 81...
Not until the v_stop() command is written won’t system end the manual move mode. Syntax Analog result = s_mauipt (Analog axis, Analog manu_iptmode, Analog op_mode) Analog result = manu_mov (Analog axis , Real max_vel,) 82 • The ISaGRAF Library For PCI-8134...
Function item : mot_done –Return the status when a motion is done. Function description : mot_done : Return the motion status of PCI-8134. position. Definition of return value is as following: 0 : the axis is busying. 1: a movement is finished...
: INP function enable/disable inp_enable=0, Disabled inp_enable=1, Enabled inp_logic : setting of active logic for INP signal inp_logic=0, active LOW. inp_logic=1, active HIGH. sd_logic : setting of active logic for SD signal sd_logic=0, active LOW. 84 • The ISaGRAF Library For PCI-8134...
4.4.12 I/O Control and Monitoring function group Function item : set_svon –Set state of general purpose output pin g_iostus –Get all the I/O status of PCI-8134 Function description : set_svon : Set the High/Low output state of general purpose output pin SVON.
: axis number designated to set and get position. spos : actual position or command position Output parameter : Result : 0 – No Error , >0 – Error gpos : actual position or command position 86 • The ISaGRAF Library For PCI-8134...
Routine(ISR) to identify which axis generates the INT signal to host PC. r_int_st : This function is also used inside ISR. When knowing the interrupt requested axis by get_int_axis(), user should read the interrupt factor by this function. The ISaGRAF Library For PCI-8134 • 87...
Page 98
Iniflag : the init flag(1 : enable, o : disable) int_factor : interrupting factor to set Output parameter : Result : 0 – No Error , >0 – Error int_axis : axis number which generates interrupt int_status : interrupt factor monitor 88 • The ISaGRAF Library For PCI-8134...
Need help?
Do you have a question about the PCI-8134 and is the answer not in the manual?
Questions and answers