|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
1. 概述
MarkEzd.dll 是北京金橙子科技有限公司提供给用户用于ezcad2和lmc1控制卡二
次开发的动态连接库。
MarkEzdDll.h是MarkEzd.dll中输出的函数的头文件。
用户可以使用VC6.0来进行开发。
MarkEzd.dll动态链接库函数的调用方法为显示调用,显式调用方法需要调用
Windows API函数加载和释放动态链接库。
显式调用方法如下:
1.调用Windows API函数LoadLibrary()动态加载DLL;
2.调用Windows API函数GetProcAddress()取得将要调用的DLL中函数的指
针;用函数指针调用DLL中函数完成相应功能;
3.在程序结束时或不再使用DLL中函数时,调用Windows API函数
FreeLibrary()释放动态链接库。
注意:调用MarkEzd.dll的程序必须放在ezcad2.exe同一个目录下,否则
MarkEzd.dll将无法正常工作;而且ezcad2.exe在运行的时候MarkEzd.dll将无法
正常使用,所以在使用MarkEzd.dll时必须关闭ezcad2.exe。
在MarkEzd.dll中所有函数(个别函数除外)返回值均为一个整形的通用错误码
通用错误码定义如下:
#define LMC1_ERR_SUCCESS 0 //成功
#define LMC1_ERR_EZCADRUN 1 //发现 EZCAD 在运行
#define LMC1_ERR_NOFINDCFGFILE 2 //找不到 EZCAD.CFG
#define LMC1_ERR_FAILEDOPEN 3 //打开 LMC1 失败
#define LMC1_ERR_NODEVICE 4 //没有有效的 lmc1 设备
#define LMC1_ERR_HARDVER 5 //lmc1 版本错误
#define LMC1_ERR_DEVCFG 6 //找不到设备配置文件
#define LMC1_ERR_STOPSIGNAL 7 //报警信号
#define LMC1_ERR_USERSTOP 8 //用户停止
#define LMC1_ERR_UNKNOW 9 //不明错误
#define LMC1_ERR_OUTTIME 10 //超时
#define LMC1_ERR_NOINITIAL 11 //未初始化
#define LMC1_ERR_READFILE 12 //读文件错误
#define LMC1_ERR_OWENWNDNULL 13 //窗口为空
#define LMC1_ERR_NOFINDFONT 14 //找不到指定名称的字体
#define LMC1_ERR_PENNO 15 //错误的笔号
#define LMC1_ERR_NOTTEXT 16 //指定名称的对象不是文本对象
#define LMC1_ERR_SAVEFILE 17 //保存文件失败
#define LMC1_ERR_NOFINDENT 18 //找不到指定对象
#define LMC1_ERR_STATUE 19 //当前状态下不能执行此操作
#define LMC1_ERR_PARAM1 20//错误的执行参数
#define LMC1_ERR_PARAM2 21//错误的硬件参数
注意: MarkEzd.dll 中所有函的 TCHAR 对象都必须是 UNICODE 字符。关于
如何把项目设置为 UNICODE 版请参考附录一。
设备
函 数 名: lmc1_Initial
目 的:初始化 lmc1 控制卡。
语 法: int lmc1_Initial(TCHAR* strEzCadPath,BOOL bTestMode,HWND
hOwenWnd);
strEzCadPath 是 ezcad2.exe 所处的目录的全路径名称;
bTestMode 指是否是测试模式,(测试模式控制卡相关函数无法工
作)
hOwenWnd 指拥有用户输入焦点的窗口,用于检测用户暂停消息。
描 述:在程序中必须首先调用 lmc1_Initial,其它函数才能工作。
返 回 值: 通用错误码
函 数 名: lmc1_Initial2
目 的:初始化 lmc1 控制卡。
语 法: int lmc1_Initial2(TCHAR* strEzCadPath,BOOL bTestMode);
strEzCadPath 是 ezcad2.exe 所处的目录的全路径名称;
bTestMode 指是否是测试模式(测试模式控制卡相关函数无法工作)
描 述:在程序中必须首先调用 lmc1_Initial2,其它函数才能工作。
返 回 值: 通用错误码
函 数 名: lmc1_Close
目 的:关闭 lmc1 控制卡。
语 法: int lmc1_Close();
描 述:在程序中退出时必须调用 lmc1_Close 来关闭 lmc1 控制卡。
返 回 值: 通用错误码
函 数 名: lmc1_SetDevCfg
目 的: 设置设备参数
语 法: int lmc1_SetDevCfg();
描 述:调用 lmc1_SetDevCfg 会自动弹出设备参数设置对话框,用户可以设
置设备参数。
返 回 值: 通用错误码
函 数 名: lmc1_SetDevCfg2
目 的: 设置设备参数
语 法: int lmc1_SetDevCfg2(BOOL bAxisShow0, BOOL bAxisShow1);
bAxisShow0 扩展轴 0 的界面是否显示
bAxisShow1 扩展轴 1 的界面是否显示
描 述:调用 lmc1_SetDevCfg2 会自动弹出设备参数设置对话框,可设置扩展
轴界面是否显示,用户可以设置设备参数。
返 回 值: 通用错误码
函 数 名: lmc1_SetRotateMoveParam
目 的: 设置旋转变换参数。
语 法 : void lmc1_SetRotateMoveParam (double dMoveX, double
dMoveY,double dCenterX,double dCenterY,double dRotateAng);
dMoveX X 方向移动距离
dMoveY Y 方向移动距离
dCenterX 旋转中心 x 坐标
dCenterY 旋转中心 y 坐标
dRotateAng 旋转角度(弧度值)
描 述:在程序中调用 lmc1_ SetRotateMoveParam 来设置旋转变换参数,使数
据库中所有对象在加工时绕指定中心旋转,然后移动指定距离。 不影响
数据的显示,只是加工时才对对象进行旋转。
返 回 值: 无
标刻
函 数 名: lmc1_Mark
目 的: 标刻当前数据库里的所有数据。
语 法: int lmc1_Mark(BOOL bFlyMark);
bFlyMark= TRUE 使能飞动打标
描 述:在使用 lmc1_LoadEzdFile 载入 ezd 文件后即可以使用此函数开始打标
加工,此函数一直等待设备加工完毕后,或者用户停止才返回。 即函
数结束表示加工结束。
返 回 值: 通用错误码
函 数 名: lmc1_MarkEntity
目 的: 标刻当前数据库里的指定名称的对象。
语 法: int lmc1_MarkEntity(TCHAR* strEntName);
描 述:在使用 lmc1_LoadEzdFile 载入 ezd 文件后即可以使用此函数开始加工
指定名称的对象,此函数一直等待设备加工完毕后才返回。
返 回 值: 通用错误码
函 数 名: lmc1_MarkFlyByStartSignal
目 的: 飞行标刻当前数据库里的所有数据。
语 法: int lmc1_ MarkFlyByStartSignal();
描 述:在使用此函数后,软件开始等待飞行硬件信号(IN8/IN9,在飞行界面
中设置的),有信号后开始加工。
返 回 值: 通用错误码
函 数 名: lmc1_MarkEntityFly
目 的:飞行标刻当前数据库里的指定名称的对象。
语 法: int lmc1_ MarkEntityFly(TCHAR* strEntName);
描 述:在使用 lmc1_LoadEzdFile 载入 ezd 文件后即可以使用此函数开始飞行
加工指定名称的对象,此函数一直等待设备加工完毕后才返回。
返 回 值: 通用错误码
函 数 名: lmc1_MarkLine
目 的: 标刻指定线段。
语 法: int lmc1_MarkLine(double x1,
double y1
double x2,
double y2,
int pen) ;
x1,y1 起点坐标
x2y2 终点坐标
pen 使用的笔号
返 回 值: 通用错误码
函 数 名: lmc1_MarkPoint
目 的: 标刻指定点。
语 法: int lmc1_ MarkPoint(double x,
double y,
double delay,
int pen) ;
x,y 点坐标
delay 打标时间
pen 使用的笔号
返 回 值: 通用错误码
函 数 名: lmc1_ MarkPointBuf2
目 的: 标刻指定的多个点。
语 法: int lmc1_ MarkPointBuf2(double ptBuf[][2],double dJumpSpeed,
double dLaserOnTimeMs) ;
ptBuf 点坐标组; ptBuf[n][0]表示第 n 个点的 x 坐标, ptBuf[n][1]表示
第 n 个点的 y 坐标
dJumpSpeed 在点之间的跳转速度
dLaserOnTimeMs 点的打标时间,单位 ms
返 回 值: 通用错误码
函 数 名: lmc1_IsMarking
目 的: 判断卡正在处于工作状态
语 法 : bool lmc1_IsMarking ();
描 述: 使用 lmc1_IsMarking 判断板卡正在处于工作状态
返 回 值: bool 值, true 标刻工作状态
函 数 名: lmc1_StopMark
目 的: 强制停止加工或红光。
语 法: int lmc1_StopMark();
描 述: 在程序中调用 lmc1_StopMark 来强制停止加工或红光。
函 数 名: lmc1_RedLightMark
目 的: 标刻一次红光显示框。
语 法: int lmc1_RedLightMark() ;
描 述: 预览一次全部对象的打标范围。
返 回 值: 通用错误码
函 数 名: lmc1_ RedLightMarkContour
目 的: 红光预览当前数据库里面所有数据轮廓一次。
语 法: int lmc1_ RedLightMarkContour() ;
描 述:预览轨迹与打标轨迹一致。如果预览圆,轨迹就是一个圆。
返 回 值: 通用错误码
函 数 名: lmc1_ RedLightMarkByEnt
目 的:红光预览当前数据库里面指定对象。
语 法 : int lmc1_ RedLightMarkByEnt (TCHAR* strEntName , BOOL
bContour);
strEntName 对象名称
bContour 显示的是否是轮廓, true 显示轮廓, false 显示范围
描 述:预览打标位置。
返 回 值: 通用错误码
函 数 名: lmc1_ GetFlySpeed
目 的: 获取当前的飞行速度。
语 法: int lmc1_ GetFlySpeed(double& FlySpeed);
FlySpeed 流水线当前速度
描 述: 在设备空闲时可查询流水线速度,即加工或红光过程中不可使用。
返 回 值: 通用错误码
文件
函 数 名: lmc1_LoadEzdFile
目 的:打开指定的 ezd 文件,并清除当前数据库中的所有对象。
语 法: int lmc1_LoadEzdFile(TCHAR* strFileName);
描 述:在程序中一般用此函数来打开一个用户建立 ezd 模板文件,这样用户
就不需要在程序中设置加工参数,因为模板中的加工参数会自动导入。
返 回 值: 通用错误码
函 数 名: lmc1_GetPrevBitmap
目 的: 得到当前数据库里的所有对象的预览图像。
语 法: Cbitmap* lmc1_GetPrevBitmap(HWND hwnd,int nBMPWIDTH,int
nBMPHEIGHT);
hwnd 需要显示当前图像的窗口句柄
nBMPWIDTH 需要生成的图像的像素宽度
nBMPHEIGHT 需要生成的图像的像素高度
描 述:在程序中调用 lmc1_GetPrevBitmap 得到当前数据库里的所有对象的
预览图像的指针,可以用于更新界面显示。
返 回 值: 如果成功会返回图像句柄,返回值为空表示失败
函 数 名: lmc1_GetPrevBitmap2
目 的: 得到当前数据库里的所有对象的预览图像。
语 法: Cbitmap* lmc1_GetPrevBitmap2(int nBMPWIDTH,int nBMPHEIGHT);
nBMPWIDTH 需要生成的图像的像素宽度
nBMPHEIGHT 需要生成的图像的像素高度
描 述:在程序中调用 lmc1_GetPrevBitmap2 得到当前数据库里的所有对象的
预览图像的指针,可以用于更新界面显示。
返 回 值: 如果成功会返回图像,返回值为空表示失败
函 数 名: lmc1_GetPrevBitmapByName2
目 的: 得到当前数据库里的所有对象的预览图像。
语 法: Cbitmap* lmc1_ lmc1_GetPrevBitmapByName2(TCHAR* strEntName ,
int nBMPWIDTH,int nBMPHEIGHT);
strEntName 对象名称
nBMPWIDTH 需要生成的图像的像素宽度
nBMPHEIGHT 需要生成的图像的像素高度
描 述:在程序中调用 lmc1_ GetPrevBitmapByName2 得到当前数据库里指定
对象的预览图像指针,可以用于更新界面显示。
返 回 值: 如果成功会返回图像,返回值为空表示失败
函 数 名: lmc1_SaveEntLibToFile
目 的: 保存当前数据库里所有对象到指定 ezd 文件里。
语 法: int lmc1_SaveEntLibToFile(TCHAR* strFileName) ;
strFileName ezd 文件名称,最好是包括完全路径
描 述: 保存当前数据库里所有对象到指定 ezd 文件里。
返 回 值: 通用错误码
————————————————
版权声明:本文为CSDN博主「leon_zeng0」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/leon_zeng0/article/details/99709298
|
|