376GB
LJ-V7000 Series Communication Library
Reference Manual
Please read this manual before use.
After reading this manual, store it in a safe place where it can be used at any time.
1 |
Software License Agreement.................................................................................................................. |
5 |
||
2 |
Introduction .............................................................................................................................................. |
|
6 |
|
3 |
Operating Environment ........................................................................................................................... |
6 |
||
4 |
USB Driver ................................................................................................................................................ |
|
6 |
|
5 |
File Structure............................................................................................................................................ |
|
6 |
|
6 |
Incorporating the Library ........................................................................................................................ |
7 |
||
|
6.1 |
File structure .................................................................................................................................... |
7 |
|
|
6.2 |
Linking ............................................................................................................................................. |
|
7 |
|
|
6.2.1 |
C++ .................................................................................................................................... |
7 |
|
|
6.2.2 |
C#/VB.NET.......................................................................................................................... |
7 |
7 |
Types |
......................................................................................................................................................... |
|
7 |
8 |
Constant, Structure Definitions.............................................................................................................. |
8 |
||
|
8.1 |
Constant definitions ......................................................................................................................... |
8 |
|
|
8.2 |
Structure definitions....................................................................................................................... |
11 |
|
|
8.3 |
Callback function interface definition ............................................................................................ |
22 |
|
9 |
Functions................................................................................................................................................ |
|
25 |
|
|
9.1 |
Function list.................................................................................................................................... |
25 |
|
|
|
9.1.1 Operations for the DLL..................................................................................................... |
25 |
|
|
|
9.1.2 Establish/disconnect the communication path with the controller ................................... |
25 |
|
|
|
9.1.3 |
System control.................................................................................................................. |
25 |
|
|
9.1.4 |
Measurement control........................................................................................................ |
25 |
|
|
9.1.5 Functions related to modifying or reading settings.......................................................... |
26 |
|
|
|
9.1.6 |
Acquiring measurement results ....................................................................................... |
26 |
|
|
9.1.7 |
Storage function related ................................................................................................... |
27 |
|
|
9.1.8 High-speed data communication related......................................................................... |
27 |
|
|
9.2 |
Function reference......................................................................................................................... |
28 |
|
|
|
9.2.1 Operations for the DLL..................................................................................................... |
28 |
|
|
|
9.2.2 Establish/disconnect the communication path with the controller ................................... |
29 |
|
|
|
9.2.3 |
System control.................................................................................................................. |
29 |
|
|
9.2.4 |
Measurement control........................................................................................................ |
31 |
|
|
9.2.5 Functions related to modifying or reading settings.......................................................... |
33 |
|
|
|
9.2.6 |
Acquiring measurement results ....................................................................................... |
37 |
|
|
9.2.7 |
Store function related ....................................................................................................... |
41 |
|
|
9.2.8 High-speed data communication related......................................................................... |
45 |
|
|
|
9.2.9 |
Supplement ...................................................................................................................... |
47 |
10 |
Common Return Codes......................................................................................................................... |
60 |
||
|
10.1 |
Return codes returned by the communication library................................................................... |
60 |
|
|
10.2 |
Return codes returned from the controller .................................................................................... |
60 |
|
11 |
Sample Program .................................................................................................................................... |
61 |
||
|
11.1 |
User interface specification........................................................................................................... |
61 |
|
|
11.2 |
Save file format .............................................................................................................................. |
63 |
LJ-V7000_COM_RM_E |
3 |
376GB |
12 Appendix................................................................................................................................................. |
65 |
|
12.1 |
Sending/Receiving Settings .......................................................................................................... |
65 |
12.2 |
Batch sending/receiving................................................................................................................ |
65 |
12.3 |
Details of Items for Sending/Receiving Settings ........................................................................... |
66 |
12.4 |
Examples of sending/receiving measurement mode settings....................................................... |
86 |
13 Using the high-speed data communication command ...................................................................... |
87 |
|
13.1 |
Preparation for high-speed data communication.......................................................................... |
87 |
13.2 |
High-speed communication without using the batch setting ........................................................ |
88 |
13.3 |
High-speed communication using the batch function .................................................................. |
89 |
Revision History............................................................................................................................................ |
92 |
4 |
LJ-V7000_COM_RM_E |
NOTICE TO USER: PLEASE READ THIS SOFTWARE LICENSE AGREEMENT (THIS “AGREEMENT”) CAREFULLY. BY USING ALL OR ANY PORTION OF THIS “SOFTWARE”, YOU ARE AGREEING TO BE BOUND BY ALL THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO ANY TERMS OF THIS AGREEMENT, DO NOT USE THIS SOFTWARE.
1. Grant of License.
Conditioned upon compliance with all of the terms and conditions of this Agreement, KEYENCE grants you a nonexclusive and nontransferable license.
2. Restrictions
Except for installation of updates or new functions provided by KEYENCE, you may not modify or add any function to this Software.
a)You may not reverse engineer, decompile or disassemble this Software.
b)You may not create derivative works based on this Software.
c)Other than expressly stated by KEYENCE, you may not resell, retransfer, rent or otherwise redistribute this Software to any third parties. However, you may redistribute this Software with the application that you developed using this Software.
3. Intellectual Property Rights.
Except as expressly stated herein, KEYENCE reserves all right, title and interest in this Software, and all associated copyrights, trademarks, and other intellectual property rights therein.
4. Disclaimer.
Keyence is licensing this Software to you “AS IS” and without any warranty of any kind. In no event will KEYENCE or its suppliers be liable to you for any damages, claims, costs or any lost profits caused by using this Software.
5. Support
KEYNCE shall not provide technical support in accordance with this Software including the use of this Software.
6.Termination.
6.1Your license under this Agreement will terminate automatically if you destroy this Software and the copy of this Software in your possession or voluntarily return this Software to us.
6.2Your license under this Agreement will terminate automatically without any notice from KEYENCE if you fail to comply with any of the terms and conditions of this Agreement. Promptly upon termination, you shall cease all use of this Software and destroy all copies, full or partial, of this Software in your possession or control.
6.3You will compensate KEYENCE for costs or any lost profits caused by your violation or breach of any term of this Agreement.
7.Governing Law.
This Agreement will be governed by and construed in accordance with the substantive laws of Japan without regards to the principles of conflicts of law.
LJ-V7000_COM_RM_E |
5 |
The LJ-V7000 Series communication library provides a communication interface for controlling the LJ-V7000 Series from a user application (Win32 DLL). For specific ways to use the communication library, refer to the sample program.
3 |
Operating Environment |
||
|
|
|
|
|
|
Windows 7 (Home Premium/Professional/Ultimate) |
|
OS |
|
Windows Vista (Home Basic/Home Premium/Business/Ultimate) |
|
|
|
Windows XP (SP2 or later) (Home Edition/Professional Edition) |
|
|
|
|
|
CPU |
|
Core i3 2.3 GHz or faster |
|
|
|
||
Memory |
2 GB or more |
||
|
|
||
Secondary cache |
2 MB or more |
||
memory |
|||
|
|||
|
|
||
Free drive space |
10 GB or more |
||
|
|
|
|
Interface |
A PC equipped with either of the interfaces below. |
||
USB 2.0/1.1 *1, Ethernet 1000BASE-T/100BASE-TX *2 |
|||
|
|
*1 Operation is not guaranteed with connections via a USB hub
*2 Operation is not guaranteed with connections to a LAN or via a router
This section describes the necessary environment to execute applications that use the LJ-V7000 Series communication library.
The Microsoft C runtime library is required for the DLL to operate.
Run vcredist_x86.exe included on the installation media to install the library.
The Microsoft .NET Framework is required to run the sample application.
Run NetFx20SP2_x86.exe included on the installation media to install the library.
Install and use LJ-Navigator2 for the USB driver.
5 |
File Structure |
|
|
|
|
LJV7_IF.dll |
The DLL. |
|
|
|
|
LJV7_IF.lib |
The import library for LJV7_IF.dll. |
|
|
|
|
LJV7_ErrorCode.h |
The header file that defines the error codes. |
|
|
|
|
LJV7_IF.h |
The header file that defines the LJV7_IF.dll interface. |
|
|
|
|
Source |
|
The folder for the sample source code. |
|
The source code for the sample program created in C#. |
|
|
|
|
|
|
|
6 |
LJ-V7000_COM_RM_E |
The files required at execution are listed below.
Place these folders/files in the same folder as the executable file.
• LJV7_IF.dll
6.2.1 C++
6.2.1.1Linking
The library can be linked implicitly or explicitly. To implicitly link the library, link with "LJV7_IF.lib".
*"LJV7_IF.lib" was built with Visual C++ 2008 SP1.
6.2.1.2Include files
Include the following header files in the necessary source files.
• LJV7_IF.h
• LJV7_ErrorCode.h
6.2.2 C#/VB.NET
Call each interface using the DllImport attribute.
When passing a structure as an interface argument, specify the StructLayout attribute and pass a structure of the same memory structure as the DLL.
For details, refer to the NativeMethods class (NativeMethods.cs) in the sample. The processing to call each function has been implemented.
In this document, variable types are described according to the following definitions.
CHAR |
Signed 8-bit integer |
BYTE |
Unsigned 8-bit integer |
SHORT |
Signed 16-bit integer |
WORD |
Unsigned 16-bit integer |
LONG |
Signed 32-bit integer |
DWORD |
Unsigned 32-bit integer |
FLOAT |
Single precision floating point number (32 bits) |
DOUBLE |
Double precision floating point number (64 bits) |
LJ-V7000_COM_RM_E |
7 |
Name |
Setting value storage level designation |
|
|
|
|
|
|
|
Typedef enum { |
|
|
|
LJV7IF_SETTING_DEPTH_WRITE = 0x00, |
// Write settings area |
|
Definition |
LJV7IF_SETTING_DEPTH_RUNNING = 0x01, |
// Running settings area |
|
|
LJV7IF_SETTING_DEPTH_SAVE = 0x02 |
// Save area |
|
|
} LJV7IF_SETTING_DEPTH; |
|
|
|
|
||
|
This enumeration designates the operation target level in functions that modify or read |
||
Description |
settings. For details on the setting value storage level, refer to "9.2.9.3 Write processing for |
||
|
settings". |
|
|
|
|
|
|
|
The controller retains three sets of settings data. |
|
|
|
Those levels are used in the applications below. |
|
|
|
Write settings area |
|
|
|
Settings that do not affect operation. |
|
|
|
In order to not allow an error in controller operations from inconsistencies in settings that |
||
|
occur temporarily when changing multiple settings, the operation of the controller can be |
||
Comment |
changed without causing an error by reflecting the settings from this area to the running |
||
|
settings area after writing the settings to this area. |
|
|
|
Running settings area |
|
|
|
The settings the controller is using in its operation. |
|
|
|
When the controller starts, this area is initialized with the settings in the save area. |
||
|
Save area |
|
|
|
The settings that are saved even when the controller's power is turned off. |
||
|
|
|
|
|
|
|
|
Name |
Initialization target setting item designation |
|
|
|
|
|
|
|
Typedef enum { |
|
|
|
LJV7IF_INIT_SETTING_TARGET_PRG0 = 0x00, |
// Program 0 |
|
|
LJV7IF_INIT_SETTING_TARGET_PRG1 = 0x01, |
// Program 1 |
|
|
LJV7IF_INIT_SETTING_TARGET_PRG2 = 0x02, |
// Program 2 |
|
|
LJV7IF_INIT_SETTING_TARGET_PRG3 = 0x03, |
// Program 3 |
|
|
LJV7IF_INIT_SETTING_TARGET_PRG4 = 0x04, |
// Program 4 |
|
|
LJV7IF_INIT_SETTING_TARGET_PRG5 = 0x05, |
// Program 5 |
|
|
LJV7IF_INIT_SETTING_TARGET_PRG6 = 0x06, |
// Program 6 |
|
Definition |
LJV7IF_INIT_SETTING_TARGET_PRG7 = 0x07, |
// Program 7 |
|
LJV7IF_INIT_SETTING_TARGET_PRG8 = 0x08, |
// Program 8 |
||
|
|||
|
LJV7IF_INIT_SETTING_TARGET_PRG9 = 0x09, |
// Program 9 |
|
|
LJV7IF_INIT_SETTING_TARGET_PRG10 = 0x0A, |
// Program 10 |
|
|
LJV7IF_INIT_SETTING_TARGET_PRG11 = 0x0B, |
// Program 11 |
|
|
LJV7IF_INIT_SETTING_TARGET_PRG12 = 0x0C, |
// Program 12 |
|
|
LJV7IF_INIT_SETTING_TARGET_PRG13 = 0x0D, |
// Program 13 |
|
|
LJV7IF_INIT_SETTING_TARGET_PRG14 = 0x0E, |
// Program 14 |
|
|
LJV7IF_INIT_SETTING_TARGET_PRG15 = 0x0F, |
// Program 15 |
|
|
} LJV7IF_INIT_SETTING_TARGET; |
|
|
|
|
||
Description |
This enumeration designates which settings to initialize in settings initialization function. |
||
|
|
|
|
Comment |
- |
|
|
|
|
|
8 |
LJ-V7000_COM_RM_E |
Name |
Definition that indicates the validity of a measurement value |
|
|
|
|
|
|
|
Typedef enum { |
|
|
|
LJV7IF_MEASURE_DATA_INFO_VALID = 0x00, |
// Normal measurement data |
|
Definition |
LJV7IF_MEASURE_DATA_INFO_ALARM = 0x01, |
// Measurement alarm data |
|
|
LJV7IF_MEASURE_DATA_INFO_WAIT = 0x02 |
// Judgment wait data |
|
|
} LJV7IF_MEASURE_DATA_INFO; |
|
|
|
|
||
Description |
This enumeration indicates the validity or invalidity of the measurement value. |
||
|
|
|
|
Comment |
- |
|
|
|
|
||
|
|
|
|
Name |
Definition that indicates the tolerance judgment result of the measurement value |
||
|
|
|
|
|
Typedef enum { |
|
|
|
LJV7IF_JUDGE_RESULT _HI = 0x01, |
// HI |
|
Definition |
LJV7IF_JUDGE_RESULT _GO = 0x02, |
// GO |
|
|
LJV7IF_JUDGE_RESULT _LO = 0x04 |
// LO |
|
|
} LJV7IF_JUDGE_RESULT; |
|
|
|
|
||
Description |
This enumeration indicates the tolerance judgment result for the measurement value in bit |
||
units. |
|
||
|
|
||
|
|
||
Comment |
If the measurement value is measurement alarm data, the judgment result is 0x05 (both HI |
||
and LO bits are 1). |
|
||
|
|
||
|
|
|
|
|
|
|
|
Name |
Get profile target buffer designation |
|
|
|
|
|
|
|
Typedef enum { |
|
|
Definition |
LJV7IF_PROFILE_BANK_ACTIVE = 0x00, |
// Active surface |
|
LJV7IF_PROFILE_BANK_INACTIVE = 0x01 |
// Inactive surface |
||
|
|||
|
} LJV7IF_PROFILE_BANK; |
|
|
|
|
||
Description |
When the memory allocation is "double buffer" in the get profile command, this enumeration |
||
designates which surface to get the profiles from. |
|
||
|
|
||
|
|
||
Comment |
"Active surface" refers to the surface of the buffer that profile data is being written onto. For |
||
further details, refer to "9.2.9.2 Internal memory". |
|
||
|
|
||
|
|
||
|
|
|
|
Name |
Get profile position specification method designation (batch measurement: off) |
||
|
|
|
|
|
Typedef enum { |
|
|
|
LJV7IF_PROFILE_POS_CURRENT = 0x00, |
// From current |
|
Definition |
LJV7IF_PROFILE_POS_OLDEST = 0x01, |
// From oldest |
|
|
LJV7IF_PROFILE_POS_SPEC = 0x02, |
// Specify position |
|
|
} LJV7IF_PROFILE_POS; |
|
|
|
|
||
|
In the get profile command, this enumeration indicates the specification method for the |
||
|
profiles to get out of the profile data retained in the controller. In get profile, the profiles are |
||
|
stored from oldest to newest. |
|
|
|
From current |
|
|
|
Gets the current profiles. |
|
|
Description |
The end of the acquired profiles becomes the current profile. |
||
From oldest |
|
||
|
|
||
|
Gets the oldest profile. |
|
|
|
The head of the acquired profiles becomes the oldest profile. |
||
|
Specify position |
|
|
|
Gets the specified number of profiles from the specified profile position. |
||
|
The head of the acquired profiles becomes the profiles at the specified position. |
||
|
|
||
Comment |
For the specified number of profiles, refer to the individual structure definitions. |
||
|
|
|
LJ-V7000_COM_RM_E |
9 |
Name |
Get profile batch data position specification method designation (batch measurement: on) |
|
|
|
|
|
Typedef enum { |
|
|
LJV7IF_BATCH_POS_CURRENT = 0x00, |
// From current |
|
LJV7IF_BATCH_POS_SPEC = 0x02, |
// Specify position |
Definition |
LJV7IF_BATCH_POS_COMMITED = 0x03, |
// From current after batch |
|
|
commitment |
|
LJV7IF_BATCH_POS_CURRENT_ONLY = 0x04 |
// Current only |
|
} LJV7IF_BATCH_POS; |
|
|
|
|
|
In the get batch profile command, this enumeration indicates the specification method for the |
|
|
profiles to get in what batch out of the batch data retained in the controller. In get profile, the |
|
|
profiles are stored from oldest to newest. |
|
|
From current |
|
|
Gets the profiles in the current batch data. |
|
Description |
Specify position |
|
|
Gets the profiles in the batch data with the specified number. |
|
|
From current after batch commitment |
|
|
Gets the profiles in the current batch data after commitment. |
|
|
Current only |
|
|
Gets one current profile in the current batch data. |
|
|
|
|
Comment |
For the specified number of profiles, refer to the individual structure definitions. |
|
|
|
|
|
|
|
Name |
Number of OUT settings |
|
|
|
|
Definition |
Const static LONG LJV7IF_OUT_COUNT = 16; |
|
|
|
|
Description |
This constant indicates the number of OUT settings. |
|
|
|
|
Comment |
- |
|
|
|
|
|
|
|
Name |
Number of simultaneously connectable controllers |
|
|
|
|
Definition |
Const static LONG LJV7IF_DEVICE_COUNT = 6; |
|
|
|
|
Description |
This constant is the upper limit for the number of controllers that can simultaneously |
|
communicate. |
|
|
|
|
|
|
|
|
Comment |
- |
|
|
|
|
10 |
LJ-V7000_COM_RM_E |
Name |
Ethernet settings structure |
||
|
|
|
|
|
Typedef struct { |
|
|
|
BYTE |
abyIpAddress[4]; |
|
Definition |
WORD |
wPortNo; |
|
|
BYTE |
reserve[2]; |
|
|
} LJV7IF_ETHERNET_CONFIG; |
||
|
|
||
|
This structure contains the settings passed during an Ethernet communication connection. |
||
|
abyIpAddress |
|
|
|
The IP address of the controller to connect to. |
||
Description |
For 192.168.0.1: |
||
Set abyIpAddress[0]=192, abyIpAddress[1]=168, |
|||
|
|||
|
and so on. |
|
|
|
wPortNo(in) |
|
|
|
The port number of the controller to connect to. |
||
|
|
|
|
Comment |
- |
|
|
|
|
|
|
|
|
|
|
Name |
Date/time structure |
|
|
|
|
|
|
|
Typedef struct { |
|
|
|
BYTE |
byYear; |
|
|
BYTE |
byMonth; |
|
|
BYTE |
byDay; |
|
Definition |
BYTE |
byHour; |
|
|
BYTE |
byMinute; |
|
|
BYTE |
bySecond; |
|
|
BYTE |
reserve[2]; |
|
|
} LJV7IF_TIME; |
|
|
|
|
||
|
The date/time for the controller. |
||
|
byYear |
Year. Set from 0 to 99, which means 2000 to 2099. |
|
Description |
byMonth |
Month.1 to 12. |
|
byDay |
Day.1 to 31. |
||
|
|||
|
byHour |
Hour.0 to 23. |
|
|
byMinute |
Minute.0 to 59. |
|
|
bySecond |
Second.0 to 59. |
|
|
|
|
|
Comment |
- |
|
|
|
|
|
LJ-V7000_COM_RM_E |
11 |
Name |
Setting item designation structure |
||
|
|
|
|
|
Typedef struct { |
|
|
|
BYTE |
byType; |
|
|
BYTE |
byCategory; |
|
|
BYTE |
byItem; |
|
Definition |
BYTE |
reserve; |
|
BYTE |
byTarget1; |
||
|
|||
|
BYTE |
byTarget2; |
|
|
BYTE |
byTarget3; |
|
|
BYTE |
byTarget4; |
|
|
} LJV7IF_TARGET_SETTING; |
||
|
|
||
|
Information for specifying target setting items. |
||
|
byType, byCategory, byItem |
||
|
When modifying or reading a setting, these variables are used to specify the target setting |
||
Description |
item. |
|
|
byTarget1, byTarget2, byTarget3, byTarget4 |
|||
|
|||
|
These variables are used when specifying further details for the setting item. |
||
|
For example, when configuring OUT measurement mode, these are used to specify the |
||
|
OUT number. |
|
|
|
|
||
Comment |
For details, see the appendix. |
||
|
|
||
|
|
|
|
Name |
Measurement results structure |
||
|
|
|
|
|
Typedef struct { |
|
|
|
BYTE |
byDataInfo; |
|
Definition |
BYTE |
byJudge; |
|
BYTE |
reserve[2]; |
||
|
|||
|
FLOAT |
fValue; |
|
|
} LJV7IF_MEASURE_DATA; |
||
|
|
||
|
Measurement value and judgment results. |
||
|
byDatainfo |
|
|
|
This variable indicates whether or not the measurement value (fValue) is valid, and if it is |
||
|
not a valid value, what kind of data it is. See LJV7IF_MEASURE_DATA_INFO. |
||
|
byJudge |
|
|
|
Tolerance judgment result. See LJV7IF_JUDGE_RESULT. |
||
Description |
fValue |
|
|
|
|
||
|
Measurement value. The unit used for measurement values is the minimum display unit |
||
|
set for Target OUT in program settings. |
||
|
When the minimum display unit is 1 mm to 0.001 mm, the measurement value unit is [mm]. |
||
|
When 1 um to 0.1 um, the measurement value unit is [um]. The unit for sectional areas is |
||
|
mm2, and the unit for angles is deg. |
||
|
When not a valid value, a large negative value is stored (-1010). |
||
Comment |
- |
|
|
|
|
|
12 |
LJ-V7000_COM_RM_E |
Name |
Profile information structure |
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Typedef struct { |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
BYTE |
|
|
byProfileCnt; |
|
|
|
|
|
|
|||||||
|
BYTE |
|
|
byEnvelope; |
|
|
|
|
|
|
|||||||
|
BYTE |
|
|
reserve[2]; |
|
|
|
|
|
|
|||||||
Definition |
WORD |
|
|
wProfDataCnt; |
|
|
|
|
|
||||||||
|
BYTE |
|
|
reserve2[2]; |
|
|
|
|
|
|
|||||||
|
LONG |
|
|
lXStart; |
|
|
|
|
|
|
|
|
|||||
|
LONG |
|
|
lXPitch; |
|
|
|
|
|
|
|
|
|||||
|
} LJV7IF_PROFILE_INFO; |
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
Information related to the profile. |
|
|
|
|
|
|||||||||||
|
byProfileCnt |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
Wheter dicates the amount of profile data stored. |
||||||||||||||||
|
(When 2 head/combine (wide) is off, 2 profile data units is stored, otherwise 1 profile data |
||||||||||||||||
|
unit is stored.) |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
byEnvelope |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Description |
Whether profile compression (time axis) is on. |
||||||||||||||||
0: off, 1: on. |
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
wProfDataCnt |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
Profile data count (initial setting: 800). |
|
|
|
|||||||||||||
|
lXStart |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
1st point X coordinate. |
|
|
|
|
|
|
|
|
||||||||
|
lXPitch |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
Profile data X direction interval. |
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
Comment |
lXStart and lXPitch are stored in 0.01 μm units. |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Name |
Profile header information structure |
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Typedef struct { |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
DWORD |
|
|
reserve; |
|
|
|
|
|
|
|
|
|||||
Definition |
DWORD |
|
|
dwTriggerCnt; |
|
|
|
|
|
||||||||
DWORD |
|
|
dwEncoderCnt; |
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
||||||||||
|
DWORD |
|
|
reserve2[3]; |
|
|
|
|
|
|
|||||||
|
} LJV7IF_PROFILE_HEADER; |
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
The header information added to the profile. |
|
|
||||||||||||||
|
reserve |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
7th bit: Indicates whether the encoder's Z phase has been entered. (*) |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Description |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dwTriggerCnt |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
Indicates which number trigger from the start of measurements this profile is. |
||||||||||||||||
|
(Trigger counter) |
|
|
|
|
|
|
|
|
|
|
||||||
|
dwEncoderCnt |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
The encoder count when the trigger was issued. |
||||||||||||||||
|
(Encoder counter) |
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
Other than when settings are modified or the program is switched, the trigger counter and the |
||||||||||||||||
|
encoder counter are reset at the following times. |
||||||||||||||||
Comment |
• When the memory is cleared in high-speed mode (profile only) |
||||||||||||||||
|
• When laser emission stops and is restarted with the LASER_OFF terminal |
||||||||||||||||
|
• When laser emission is allowed after it was prohibited with the REMOTE terminal |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*: About the Z-phase flag
This flag can be used when the controller is version 3.0 or later.
This flag is turned ON when Z-phase ON input is received during the period between the previous trigger input (or the start of measurement if there was no previous trigger input) and the current trigger input.
LJ-V7000_COM_RM_E |
13 |
Example: Single phase 1x multiplier encoder trigger with no skipping
A phase |
ON |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
OFF |
|
|
|
|
|
|
|
|
|
|
|
|
|
Z phase |
ON |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
OFF |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
Encoder count |
1 |
2 |
3 |
4 |
|
5 |
||||||||
Z-phase flag |
OFF |
|
|
ON |
|
|
ON |
|
OFF |
|
ON |
Note: When the Z-phase input uses a negative logic encoder, set the TRG minimum input time, which is a common measurement setting, to 7 μs. With negative logic, the Z-phase flag turns ON as shown in the following figure.
A phase |
ON |
|
|
|
|
|
|
|
|
|
|
|
|
|
OFF |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Z phase |
ON |
|
|
|
|
|
|
|
|
|
|
|
|
|
OFF |
|
|
|
|
|
|
|
|
|
|
|
|
Encoder count |
1 |
2 |
3 |
4 |
5 |
|
|
Z-phase flag |
OFF |
ON |
ON |
OFF |
OFF |
|
|
|
|
|
|
|
||
Name |
Profile footer information structure |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
Typedef struct { |
|
|
|
|
|
|
Definition |
DWORD |
reserve; |
|
|
|
|
|
|
} LJV7IF_PROFILE_FOOTER; |
|
|
|
|
||
|
|
|
|
|
|||
Description |
The footer information added to the profile. |
|
|
|
|||
None (reserved only). |
|
|
|
|
|||
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
Comment |
- |
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
Name |
High-speed mode get profile request structure (batch measurement: off) |
||||||
|
|
|
|
|
|
|
|
|
Typedef struct { |
|
|
|
|
|
|
|
BYTE |
byTargetBank; |
|
|
|
|
|
|
BYTE |
byPosMode; |
|
|
|
|
|
|
BYTE |
reserve[2]; |
|
|
|
|
|
Definition |
DWORD |
dwGetProfNo; |
|
|
|
|
|
|
BYTE |
byGetProfCnt; |
|
|
|
|
|
|
BYTE |
byErase; |
|
|
|
|
|
|
BYTE |
reserve[2]; |
|
|
|
|
|
|
} LJV7IF_GET_PROFILE_REQ; |
|
|
|
|
||
|
|
||||||
|
The get profile designation information when the operation mode is "high-speed (profile only)" |
||||||
|
and batch measurements are off in the get profile command. |
|
|||||
|
byTargetBank |
|
|
|
|
|
|
|
Specifies whether to get the profiles from the active surface or whether to get the profiles |
||||||
|
from the inactive surface. See LJV7IF_PROFILE_BANK. (P.9) |
|
|||||
|
byPosMode |
|
|
|
|
|
|
|
Specifies the get profile position specification method. See LJV7IF_PROFILE_POS. |
||||||
Description |
dwGetProfNo |
|
|
|
|
|
|
When byPosMode is LJV7IF_PROFILE_POS_SPEC, specifies the profile number for the |
|||||||
|
|||||||
|
profile to get. |
|
|
|
|
|
|
|
byGetProfCnt |
|
|
|
|
|
|
|
The number of profiles to read. |
|
|
|
|
||
|
byErase |
|
|
|
|
|
|
|
Specifies whether or not to erase the profile data that was read and the profile data older |
||||||
|
than that. |
|
|
|
|
|
|
|
0: Do not erase, 1: erase |
|
|
|
|
||
|
|
||||||
|
If the communication buffer is insufficient, the number of profiles specified by byGetProfCnt |
||||||
Comment |
may not be acquired. In this situation, the maximum number of profiles that can be acquired |
||||||
|
is returned. |
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
LJ-V7000_COM_RM_E |
Name |
High-speed mode get profile request structure (batch measurement: on) |
||
|
|
|
|
|
Typedef struct { |
|
|
|
BYTE |
byTargetBank; |
|
|
BYTE |
byPosMode; |
|
|
BYTE |
reserve[2]; |
|
Definition |
DWORD |
dwGetBatchNo; |
|
DWORD |
dwGetProfNo; |
||
|
|||
|
BYTE |
byGetProfCnt; |
|
|
BYTE |
byErase; |
|
|
BYTE |
reserve[2]; |
|
|
} LJV7IF_GET_BATCH_PROFILE_REQ; |
||
|
|
||
|
The get profile designation information when the operation mode is "high-speed (profile only)" |
||
|
and batch measurements are on in the get profile command. |
||
|
byTargetBank |
|
|
|
Specifies whether to get the profiles from the active surface or whether to get the profiles |
||
|
from the inactive surface. See LJV7IF_PROFILE_BANK. (P.9) |
||
|
byPosMode |
|
|
|
Specifies the get profile position specification method. See LJV7IF_BATCH_POS. |
||
|
dwGetBatchNo |
|
|
Description |
When byPosMode is LJV7IF_BATCH_POS_SPEC, specifies the batch number for the |
||
profile to get. |
|
||
|
|
||
|
dwGetProfNo |
|
|
|
Specifies the profile number to start getting profiles from in the specified batch number. |
||
|
byGetProfCnt |
|
|
|
The number of profiles to read. |
||
|
byErase |
|
|
|
Specifies whether or not to erase the batch data that was read and the batch data older |
||
|
than that. |
|
|
|
0: Do not erase, 1: erase |
||
|
|
||
|
If the communication buffer is insufficient, the number of profiles specified by byGetProfCnt |
||
Comment |
may not be acquired. In this situation, the maximum number of profiles that can be acquired |
||
|
is returned. |
|
|
|
|
|
LJ-V7000_COM_RM_E |
15 |
Name |
Advanced mode get profile request structure (batch measurement: on) |
||
|
|
|
|
|
Typedef struct { |
|
|
|
BYTE |
byPosMode; |
|
|
BYTE |
reserve[3]; |
|
Definition |
DWORD |
dwGetBatchNo; |
|
DWORD |
dwGetProfNo; |
||
|
|||
|
BYTE |
byGetProfCnt; |
|
|
BYTE |
reserve[3]; |
|
|
} LJV7IF_GET_BATCH_PROFILE_ADVANCE_REQ; |
||
|
|
||
|
The get profile designation information when the operation mode is "advanced (with OUT |
||
|
measurement)" and batch measurements are on in the get batch profile command. |
||
|
byPosMode |
|
|
|
Specifies the get profile position specification method. See LJV7IF_BATCH_POS. |
||
|
dwGetBatchNo |
|
|
Description |
When byPosMode is LJV7IF_BATCH_POS_SPEC, specifies the batch number for the |
||
|
profiles to get. |
|
|
|
dwGetProfNo |
|
|
|
Specifies the profile number for the profiles to get. |
||
|
byGetProfCnt |
|
|
|
The number of profiles to read. |
||
|
|
||
|
If the communication buffer is insufficient, the number of profiles specified by byGetProfCnt |
||
Comment |
may not be acquired. In this situation, the maximum number of profiles that can be acquired |
||
|
is returned. |
|
|
|
|
||
|
|
|
|
Name |
High-speed mode get profile response structure (batch measurement: off) |
||
|
|
|
|
|
Typedef struct { |
|
|
|
DWORD |
dwCurrentProfNo; |
|
|
DWORD |
dwOldestProfNo; |
|
Definition |
DWORD |
dwGetTopProfNo; |
|
|
BYTE |
byGetProfCnt; |
|
|
BYTE |
reserve[3]; |
|
|
} LJV7IF_GET_PROFILE_RSP; |
||
|
|
||
|
The profile information returned for the get profiles command when the operation mode is |
||
|
"high-speed (profile only)" and batch measurements are off. |
||
|
dwCurrentProfNo |
|
|
|
The profile number at the current point in time. |
||
Description |
dwOldestProfNo |
|
|
The profile number for the oldest profile held by the controller. |
|||
|
|||
|
dwGetTopProfNo |
|
|
|
The profile number for the oldest profile out of those that were read this time. |
||
|
byGetProfCnt |
|
|
|
The number of profiles that were read this time. |
||
|
|
|
|
Comment |
- |
|
|
|
|
|
16 |
LJ-V7000_COM_RM_E |
Name |
High-speed mode get profile response structure (batch measurement: on) |
||
|
|
|
|
|
Typedef struct { |
|
|
|
DWORD |
dwCurrentBatchNo; |
|
|
DWORD |
dwCurrentBatchProfCnt; |
|
|
DWORD |
dwOldestBatchNo; |
|
|
DWORD |
dwOldestBatchProfCnt; |
|
Definition |
DWORD |
dwGetBatchNo; |
|
DWORD |
dwGetBatchProfCnt; |
||
|
|||
|
DWORD |
dwGetBatchTopProfNo; |
|
|
BYTE |
byGetProfCnt; |
|
|
BYTE |
byCurrentBatchCommited; |
|
|
BYTE |
reserve[2]; |
|
|
} LJV7IF_GET_BATCH_PROFILE_RSP; |
||
|
|
||
|
The profile information returned for the get profiles command when the operation mode is |
||
|
"high-speed (profile only)" and batch measurements are on. |
||
|
dwCurrentBatchNo |
||
|
The batch number at the current point in time. |
||
|
dwCurrentBatchProfCnt |
||
|
The number of profiles in the newest batch. |
||
|
dwOldestBatchNo |
||
|
The batch number for the oldest batch held by the controller. |
||
|
dwOldestBatchProfCnt |
||
|
The number of profiles in the oldest batch held by the controller. |
||
Description |
dwGetBatchNo |
|
|
The batch number that was read this time. |
|||
|
|||
|
dwGetBatchProfCnt |
||
|
The number of profiles in the batch that was read this time. |
||
|
dwGetBatchTopProfNo |
||
|
Indicates what number profile in the batch is the oldest profile out of the profiles that were |
||
|
read this time. |
|
|
|
byGetProfCnt |
|
|
|
The number of profiles that were read this time. |
||
|
byCurrentBatchCommited |
||
|
Indicates if the batch measurements for the newest batch number has finished. |
||
|
0: Not finished, 1: finished |
||
|
|
|
|
Comment |
- |
|
|
|
|
|
LJ-V7000_COM_RM_E |
17 |
Name |
Advanced mode get profile response structure (batch measurement: on) |
||
|
|
|
|
|
Typedef struct { |
|
|
|
DWORD |
dwGetBatchNo; |
|
|
DWORD |
dwGetBatchProfCnt; |
|
Definition |
DWORD |
dwGetBatchTopProfNo; |
|
|
BYTE |
byGetProfCnt; |
|
|
BYTE |
reserve[3]; |
|
|
} LJV7IF_GET_BATCH_PROFILE_ADVANCE_RSP; |
||
|
|
||
|
The profile information returned for the get profiles command when the operation mode is |
||
|
"advanced mode (with OUT measurement)" and batch measurements are on. |
||
|
dwGetBatchNo |
|
|
|
The batch number that was read this time. |
||
|
dwGetBatchProfCnt |
||
Description |
The number of profiles in the batch that was read this time. |
||
|
dwGetBatchTopProfNo |
||
|
Indicates what number profile in the batch is the oldest profile out of the |
||
|
profiles that were read this time. |
||
|
byReadProfCnt |
|
|
|
The number of profiles that were read this time. |
||
|
|
|
|
Comment |
- |
|
|
|
|
||
|
|
|
|
Name |
Get storage status request structure |
||
|
|
|
|
|
Typedef struct { |
|
|
Definition |
DWORD |
dwReadArea; |
|
|
}LJV7IF_GET_ STRAGE_STATUS_REQ; |
||
|
|
||
|
Get target designation information in the get storage status command. |
||
|
dwReadArea |
|
|
|
The storage surface to read. |
||
Description |
• When the memory allocation setting is "double buffer" |
||
0: Active surface, 1: Surface A, 2: Surface B |
|||
|
|||
|
• When the memory allocation setting is "entire area (overwrite)", fixed as 1 |
||
|
• When the memory allocation setting is "entire area (do not overwrite)" |
||
|
0: Active surface, surface specification (1 to 999) |
||
|
|
||
Comment |
"Active surface" refers to the surface of the buffer that profile data is being written onto. For |
||
further details, refer to "9.2.9.2 Internal memory". |
|||
|
|||
|
|
||
|
|
|
|
Name |
Get storage status response structure |
||
|
|
|
|
|
Typedef struct { |
|
|
Definition |
DWORD |
dwSurfaceCnt; |
|
DWORD |
dwActiveSurface; |
||
|
|||
|
} LJV7IF_GET_STRAGE_STATUS_RSP; |
||
|
|
||
|
The storage status information returned for the get storage status command. |
||
|
dwSurfaceCnt |
|
|
Description |
Storage surface count |
||
dwActiveSurface |
|
||
|
|
||
|
The active storage surface. |
||
|
When the active program has storage off, 0. |
||
|
|
||
Comment |
For details about "Storage surface", refer to "9.2.9.2.2 For operation mode: advanced (with |
||
OUT measurement)". |
|||
|
|||
|
|
|
18 |
LJ-V7000_COM_RM_E |
Name |
Storage information structure |
||
|
|
|
|
|
Typedef struct { |
|
|
|
BYTE |
byStatus; |
|
|
BYTE |
byProgramNo; |
|
Definition |
BYTE |
byTarget; |
|
|
BYTE |
reserve[5]; |
|
|
DWORD |
dwStorageCnt; |
|
|
} LJV7IF_ STORAGE_INFO; |
||
|
|
||
|
Information related to the storage status. |
||
|
byStatus |
|
|
|
Storage status. |
|
|
|
0: Empty (Takes on this value when the target surface has not operated even once in a |
||
|
program with storage on) |
||
|
1: Storing (only the active storage surface can be 1) |
||
|
2: Storage complete |
||
Description |
byProgramNo |
|
|
|
The program number for the relevant storage surface. |
||
|
byTarget |
|
|
|
Storage target.0: Data storage, 2: profile storage, 3: batch profile storage. |
||
|
However, when batch measurements are on and profile compression (time axis) is on, 2: |
||
|
profile storage is stored. |
||
|
dwStorageCnt |
|
|
|
Storage count (batch count when batch is on) |
||
|
|
||
Comment |
For details about "Storage surface", refer to "9.2.9.2.2 For operation mode: advanced (with |
||
OUT measurement)". |
|||
|
|||
|
|
||
|
|
|
|
Name |
Get storage data request structure |
||
|
|
|
|
|
Typedef struct { |
|
|
|
BYTE |
reserve[4]; |
|
Definition |
DWORD |
dwSurface; |
|
DWORD |
dwStartNo; |
||
|
|||
|
DWORD |
dwDataCnt; |
|
|
} LJV7IF_GET_STORAGE_REQ; |
||
|
|
||
|
The get data designation information in the get data storage data command and the get |
||
|
profile storage data command. |
||
|
dwSurface |
|
|
Description |
Storage surface to read. |
||
dwStartNo |
|
||
|
|
||
|
The data number to start reading. |
||
|
dwDataCnt |
|
|
|
The number of items to read. |
||
|
|
||
Comment |
For details about "Storage surface", refer to "9.2.9.2.2 For operation mode: advanced (with |
||
OUT measurement)". |
|||
|
|||
|
|
|
LJ-V7000_COM_RM_E |
19 |
Name |
Get batch profile storage request structure |
||
|
|
|
|
|
Typedef struct { |
|
|
|
BYTE |
reserve[4]; |
|
|
DWORD |
dwSurface; |
|
Definition |
DWORD |
dwGetBatchNo; |
|
DWORD |
dwGetBatchTopProfNo; |
||
|
|||
|
BYTE |
byGetProfCnt; |
|
|
BYTE |
reserved[3]; |
|
|
} LJV7IF_GET_BATCH_PROFILE_STORAGE_REQ; |
||
|
|
||
|
Get data designation information in the get batch storage data command. |
||
|
dwSurface |
|
|
|
Storage surface to read. |
||
|
dwGetBatchNo |
|
|
Description |
Batch number to read. |
||
|
dwGetBatchTopProfNo |
||
|
Specifies from what profile number in the batch to get the data. |
||
|
byGetProfCnt |
|
|
|
The number of profiles to read. |
||
|
|
||
Comment |
For details about "Storage surface", refer to "9.2.9.2.2 For operation mode: advanced (with |
||
OUT measurement)". |
|||
|
|||
|
|
||
|
|
|
|
Name |
Get storage data response structure |
||
|
|
|
|
|
Typedef struct { |
|
|
|
DWORD |
dwStartNo; |
|
Definition |
DWORD |
dwDataCnt; |
|
|
LJV7IF_TIME |
stBaseTime; |
|
|
} LJV7IF_GET_STORAGE_RSP; |
||
|
|
||
|
The get data information returned for the get storage data command and the get profile |
||
|
storage command. |
|
|
|
dwStartNo |
|
|
Description |
The data number to start reading. |
||
dwDataCnt |
|
||
|
|
||
|
The number of items to read. |
||
|
stBaseTime |
|
|
|
Base time. |
|
|
|
|
||
Comment |
For details about base time, refer to "9.2.9.10 Time data added to storage data". |
||
|
|
|
20 |
LJ-V7000_COM_RM_E |
Name |
Get batch profile storage response structure |
||
|
|
|
|
|
Typedef struct { |
|
|
|
DWORD |
dwGetBatchNo; |
|
|
DWORD |
dwGetBatchProfCnt; |
|
Definition |
DWORD |
dwGetBatchTopProfNo; |
|
BYTE |
byGetProfCnt; |
||
|
|||
|
BYTE |
reserve[3]; |
|
|
LJV7IF_TIME |
stBaseTime; |
|
|
} LJV7IF_GET_BATCH_PROFILE_STORAGE_RSP; |
||
|
|
||
|
The get data information returned for the get batch profile storage command. |
||
|
dwGetBatchNo |
|
|
|
The batch number that was read this time. |
||
|
dwGetBatchProfCnt |
||
|
The number of profiles in the batch that was read this time. |
||
Description |
dwGetBatchTopProfNo |
||
Indicates what number profile in the batch is the oldest profile out of the profiles that were |
|||
|
|||
|
read this time. |
|
|
|
byGetProfCnt |
|
|
|
The number of profiles that were read this time. |
||
|
stBaseTime |
|
|
|
Base time. |
|
|
|
|
|
|
Comment |
- |
|
|
|
|
||
|
|
|
|
Name |
High-speed communication prep start request structure |
||
|
|
|
|
|
Typedef struct { |
|
|
Definition |
BYTE |
bySendPos; |
|
BYTE |
reserve[3]; |
||
|
|||
|
} LJV7IF_HIGH_SPEED_PRE_START_REQ; |
||
|
|
||
|
High-speed communication start preparation request command |
||
Description |
bySendPos |
|
|
Send start position. 0: From previous send complete position (from oldest data if 1st time), |
|||
|
|||
|
1: From oldest data (reacquire), 2: From next data |
||
|
|
|
|
Comment |
- |
|
|
|
|
|
LJ-V7000_COM_RM_E |
21 |
|
void (*pCallBack)( |
|
Format |
BYTE* pBuffer, DWORD dwSize, DWORD dwCount, DWORD dwNotify, DWORD |
|
|
dwUser); |
|
|
|
|
|
pBuffer(in) |
|
|
A pointer to the buffer that stores the profile data. |
|
|
The profile data is stored in this buffer with "LJV7IF_PROFILE_HEADER - signed 32-bit |
|
|
profile data - LJV7IF_PROFILE_FOOTER" as a single unit of profile data, and only the |
|
|
number of profiles that could be acquired (dwCount) are returned. |
|
|
dwSize(in) |
|
|
The size in BYTEs per single unit of the profile "LJV7IF_PROFILE_HEADER - signed 32- |
|
Parameters |
bit profile data - LJV7IF_PROFILE_FOOTER" contained in pBuffer. |
|
dwCount(in) |
||
|
||
|
The number of profiles stored in pBuffer. |
|
|
dwNotify(in) |
|
|
Notification of an interruption in high-speed communication or a break in batch |
|
|
measurements. |
|
|
For details, see "8.3.1 Supplement". |
|
|
dwUser(in) |
|
|
User information set when high-speed communication was initialized. |
|
|
|
|
Return |
None |
|
value |
||
|
||
|
|
|
|
When using the high-speed communication function, this callback function is called when |
|
|
data is received and when there is a change in the communication state. |
|
|
This callback function is called from a thread other than the main thread. |
|
|
Take care to only implement storing profile data in a thread save buffer in the callback |
|
Explanation |
function. As the thread used to call the callback function is the same as the thread used to |
|
|
receive data, the processing time of the callback function affects the speed at which data |
|
|
is received, and may stop communication from being performed properly in some |
|
|
environments. Refer to the sample program for details. |
|
|
Profile data is stored in 0.01 μm units. |
|
|
|
22 |
LJ-V7000_COM_RM_E |
8.3.1.1dwNotify parameter
This section describes the dwNotify parameter used in the callback function.
In high-speed communication, the callback function is called when any number of events occur, in addition to when profile data is received. These events can be checked with the dwNotify parameter.
dwNotify = 0: Indicates that profile data is being communicated correctly. Refer to the table below for values other than 0.
: May be returned. |
Batch |
Batch |
||
: Will not be returned. |
off |
on |
||
|
|
|
|
|
LSB |
0 |
Continuous send was stopped (stop by command) |
|
|
|
|
|
|
|
|
1 |
Continuous send was stopped (automatic stop) *1 |
|
|
|
2 |
Continuous send was stopped (automatic stop) *2 |
|
|
|
3 |
Reserved |
|
|
|
4 |
Reserved |
|
|
|
5 |
Reserved |
|
|
|
6 |
Reserved |
|
|
|
7 |
Reserved |
|
|
|
8 |
Send interrupted by clear memory |
|
|
9Reserved
10Reserved
11Reserved
12Reserved
13Reserved
14Reserved
15Reserved
|
16 |
Finished sending the batch measurement amount of data *3 |
|
|
17 |
Reserved |
|
|
18 |
Reserved |
|
|
19 |
Reserved |
|
|
20 |
Reserved |
|
|
21 |
Reserved |
|
|
22 |
Reserved |
|
|
23 |
Reserved |
|
|
24 |
Reserved |
|
|
25 |
Reserved |
|
|
26 |
Reserved |
|
|
27 |
Reserved |
|
|
28 |
Reserved |
|
|
29 |
Reserved |
|
|
30 |
Reserved |
|
MSB |
31 |
Reserved |
|
|
|
|
|
*1 The setting was modified
*2 The program was switched
*3 However, when REMOTE OFF/LASER OFF is turned ON, profiles up to the one currently being sent are forwarded, so some of the batch measurement data may not be forwarded.
LJ-V7000_COM_RM_E |
23 |
Bit 0 to 2 and bit 8 indicate that continuous send was stopped.
To restart continuous send, start the high-speed data communication in the following order: "Finalize high-speed data communication" "Disconnect ethernet communication" "Start ethernet communication" "Initialize ethernet high-speed communication" "Request preparation for Ethernet high-speed data communication".
Bit 16 is only valid when batch measurements are on.
When batch measurements are on, the batch measurements can be ended even when the configured batch count is not fulfilled. Therefore, the callback function is notified with this bit on in order to determine the break in batch data.
24 |
LJ-V7000_COM_RM_E |
These functions are processed normally even when the controller is in the system error state.
Function name |
Overview |
|
|
LJV7IF_Initialize |
Initializes the DLL |
|
|
LJV7IF_Finalize |
Performs the termination processing for the DLL |
|
|
LJV7IF_GetVersion |
Gets the DLL version |
|
|
These functions are processed normally even when the controller is in the system error state.
Function name |
Overview |
|
|
|
|
LJV7IF_UsbOpen |
Establishes a USB connection |
|
|
|
|
LJV7IF_EthernetOpen |
Establishes an Ethernet connection |
|
|
|
|
LJV7IF_CommClose |
Disconnects the connection (both USB and |
|
Ethernet) |
||
|
||
|
|
Excluding LJV7IF_RetrunToFactorySetting, these functions are processed normally even when the controller is in the system error state. LJV7IF_RetrunToFactorySetting may fail in the system error state (when a head is not connected, etc.).
Function name |
Overview |
|
|
LJV7IF_RebootController |
Reboots the controller |
|
|
LJV7IF_RetrunToFactorySetting |
Returns the controller to the factory settings |
|
|
LJV7IF_GetError |
Gets the controller system error information |
|
|
LJV7IF_ClearError |
Clears the controller system error |
|
|
Processing for these functions fails when the controller is in the system error state.
Function name |
Overview |
|
|
LJV7IF_Trigger |
Issues a trigger |
|
|
LJV7IF_StartMeasure |
Starts measurements |
|
|
LJV7IF_StopMeasure |
Stops measurements |
|
|
LJV7IF_AutoZero |
Issues auto zero |
|
|
LJV7IF_Timing |
Issues timing |
|
|
LJV7IF_Reset |
Issues a reset |
|
|
LJV7IF_ClearMemory |
Clears the internal memory |
|
|
LJ-V7000_COM_RM_E |
25 |
Processing for these functions fails when the controller is in the system error state.
Function name |
Overview |
|
|
|
|
LJV7IF_SetSetting |
Sends a setting to the controller |
|
|
|
|
LJV7IF_GetSetting |
Gets a setting from the controller |
|
|
|
|
LJV7IF_InitializeSetting |
Initializes a controller setting |
|
|
|
|
LJV7IF_ReflectSetting |
Reflects the contents of the write settings area in |
|
the running settings area and the save area |
||
|
||
|
|
|
|
Overwrites the contents of the write settings area |
|
LJV7IF_RewriteTemporarySetting |
with the settings in the running settings area and |
|
|
the save area |
|
|
|
|
LJV7IF_CheckMemoryAccess |
Checks whether or not settings are being saved to |
|
the save area |
||
|
||
|
|
|
LJV7IF_SetTime |
Sets the date/time for the controller |
|
|
|
|
LJV7IF_GetTime |
Gets the date/time for the controller |
|
|
|
|
LJV7IF_ChangeActiveProgram |
Changes the active program number |
|
|
|
|
LJV7IF_GetActiveProgram |
Gets the active program number |
|
|
|
Processing for these functions fails when the controller is in the system error state.
Function name |
Overview |
|
|
|
|
LJV7IF_GetMeasurementValue |
Gets measurement values |
|
|
|
|
LJV7IF_GetProfile |
Gets profiles when the operation mode is "high- |
|
speed (profile only)" |
||
|
||
|
|
|
|
Gets profiles when the operation mode is "high- |
|
LJV7IF_GetBatchProfile |
speed (profile only)" |
|
* Use LJV7IF_GetProfile when Compression (time |
||
|
||
|
axis) is on. |
|
|
|
|
LJV7IF_GetProfileAdvance |
Gets profiles when the operation mode is |
|
"advanced (with OUT measurement)" |
||
|
||
|
|
|
|
Gets profiles when the operation mode is |
|
LJV7IF_GetBatchProfileAdvance |
"advanced (with OUT measurement)" |
|
* Use LJV7IF_GetProfileAdvance when |
||
|
||
|
Compression (time axis) is on. |
|
|
|
26 |
LJ-V7000_COM_RM_E |
Processing for these functions fails when the controller is in the system error state.
Function name |
Overview |
|
|
|
|
LJV7IF_StartStorage |
Starts storage |
|
|
|
|
LJV7IF_StopStorage |
Stops storage |
|
|
|
|
LJV7IF_GetStorageStatus |
Gets the storage status |
|
|
|
|
LJV7IF_GetStorageData |
Gets the stored data when the storage target is |
|
"OUT value" |
||
|
||
|
|
|
LJV7IF_GetStorageProfile |
Gets the stored profiles when the storage target is |
|
"Profiles" |
||
|
||
|
|
|
|
Gets the stored profiles when the storage target is |
|
LJV7IF_GetStorageBatchProfile |
"Profiles" |
|
* Use LJV7IF_GetStorageProfile when |
||
|
||
|
Compression (time axis) is on. |
|
|
|
Processing for these functions fails when the controller is in the system error state.
Function name |
Overview |
|
|
|
|
LJV7IF_HighSpeedDataUSBCommunicationInitalize |
Performs the initialization required for |
|
high-speed data communication (USB) |
||
|
||
|
|
|
|
Performs the initialization required for |
|
LJV7IF_HighSpeedDataEthernetCommunicationInitalize |
high-speed data communication |
|
|
(Ethernet) |
|
|
|
|
LJV7IF_PreStartHighSpeedDataCommunication |
Requests preparation before starting |
|
high-speed data communication |
||
|
||
|
|
|
LJV7IF_StartHighSpeedDataCommunication |
Starts high-speed data communication |
|
|
|
|
LJV7IF_StopHighSpeedDataCommunication |
Stops high-speed data communication |
|
|
|
|
LJV7IF_HighSpeedDataCommunicationFinalize |
Performs high-speed data |
|
communication termination processing |
||
|
||
|
|
LJ-V7000_COM_RM_E |
27 |
The type of the return value for the functions where there is a possibility of an error occurring is LONG. Normally, 0 (ERR_NONE) is returned, and the return code is expressed in the lower 2 bytes (the upper 2 bytes are reserved).
For the common return codes for functions, see "10 Common Return Codes". For the individual return codes for functions, see the function description in this chapter. The return codes are listed as the lower 2 bytes in hexadecimal (example: 0x0100).
Initialize DLL
Format |
LONG LJV7IF_Initialize(void); |
|
|
Parameters |
- |
|
|
Return value |
No individual return code |
|
|
Explanation |
This function initializes the DLL. (Always run this function) |
|
|
Supported version |
1.00 |
|
|
Finalize DLL
Format |
LONG LJV7IF_Finalize(void); |
|
|
|
|
Parameters |
- |
|
|
|
|
Return value |
No individual return code |
|
|
|
|
Explanation |
This function performs the termination processing for the DLL. (Always run this |
|
function) |
||
|
||
|
|
|
Supported version |
1.00 |
|
|
|
Get DLL version
Format |
DWORD LJV7IF_GetVersion(void); |
|
|
Parameters |
- |
|
|
Return value |
DLL version |
|
|
|
This function gets the DLL version. |
|
The version is expressed as a hexadecimal number. Viewed as hexadecimal, |
|
the 4th digit is the major version, the 3rd digit is the minor version, the 2nd digit |
|
is the revision, and the 1st digit is the build. For example, the initial version |
Explanation |
(1.2.3.4) is expressed as 0x1234. |
|
The major version is incremented when the DLL's backward compatibility is lost. |
|
The minor revision is incremented when the version is updated with additional |
|
functions. |
|
|
Supported version |
1.00 |
|
|
28 |
LJ-V7000_COM_RM_E |
For communication devices, see "9.2.9.1 Communication devices".
USB communication connection
Format |
LONG LJV7IF_UsbOpen(LONG lDeviceId); |
|
|
|
|
Parameters |
lDeviceId(in) |
|
Specifies the communication device to communicate with. |
||
|
||
|
|
|
Return value |
No individual return code |
|
|
|
|
Explanation |
This function establishes a connection with the controller so that the library can |
|
communicate with a USB-connected controller. |
||
|
||
|
|
|
Supported version |
1.00 |
|
|
|
Ethernet communication connection
Format |
LONG LJV7IF_EthernetOpen |
|
(LONG lDeviceId, LJV7IF_ETHERNET_CONFIG* pEthernetConfig); |
||
|
||
|
|
|
|
lDeviceId(in) |
|
|
Specifies the communication device to communicate with. |
|
Parameters |
pEthernetConfig(in) |
|
|
Ethernet communication settings. |
|
|
For each member, see "8 Constant, Structure Definitions" |
|
|
|
|
Return value |
No individual return code |
|
|
|
|
Explanation |
This function establishes a connection with the controller so that the library can |
|
communicate with an Ethernet-connected controller. |
||
|
||
|
|
|
Supported version |
1.00 |
|
|
|
Disconnect communication path
Format |
LONG LJV7IF_CommClose(LONG lDeviceId); |
|
|
|
|
Parameters |
lDeviceId(in) |
|
Specifies the communication device to communicate with. |
||
|
||
|
|
|
Return value |
No individual return code |
|
|
|
|
|
This function closes the USB or Ethernet connection. |
|
Explanation |
Even if this function is called when a connection has not been established, an |
|
|
error does not occur. |
|
|
|
|
Supported version |
1.00 |
|
|
|
For communication devices, see "9.2.9.1 Communication devices".
Reboot the controller
Format |
LONG LJV7IF_RebootController(LONG lDeviceId); |
|
|
|
|
Parameters |
lDeviceId(in) |
|
Specifies the communication device to communicate with. |
||
|
||
|
|
|
Return value |
0x80A0: Accessing the save area |
|
|
|
|
Explanation |
This function reboots the controller and connected devices. |
|
An error occurs while accessing the save area. |
||
|
||
|
|
|
Supported version |
1.00 |
|
|
|
LJ-V7000_COM_RM_E |
29 |