UsbControl动态库使用说明

上传人:豆*** 文档编号:203562047 上传时间:2023-04-25 格式:DOC 页数:16 大小:49.50KB
返回 下载 相关 举报
UsbControl动态库使用说明_第1页
第1页 / 共16页
UsbControl动态库使用说明_第2页
第2页 / 共16页
UsbControl动态库使用说明_第3页
第3页 / 共16页
点击查看更多>>
资源描述
bConroDL动态库使用阐明UsContrDLL动态库不仅提供了在 P机上访问这些端点的PI低档函数(必须在安装设备控制器的PC机驱动程序后才可以使用, 通过本动态库提供的API函数,虽然您没有完全理解复杂的 USB合同也可以迅速完毕SB的应用软件开发)。还提供了直接控制五路步进或者伺服马达运动的高档函数,通过这些提供的函数,可以协助您迅速地开发出如雕刻机激光切割机点胶机等运动控制类型的软件。一、库函数阐明 sbontlDL动态库一共有3个文献,涉及UbontrDLL.h、bControlDL.lib、UsbControlLL.dll。动态库是Microsoft Wndows的接口原则,流行的软件开发工具VC1. 读IN端点缓冲区函数 读I端点FIFO 函数名称 UsReadDta 函数原型 in _tdca Us_Readat (int iPipeNum, ungne ha *pRcvBuf, int ieaLen, in iWaTim) 功能描述从USB设备读取数据 函数参数 siPium:待操作管道号,可以是、2、4、6、8、10、12 pucvu:接受数据缓冲区指针sieaden: 待读取字节数 siWaitTime:等待超时时间,单位ms,为表达始终等待 函数返回值操作成功:成功读取的字节数;操作失败:-1 2 写OT端点缓冲区函数 写OT端点FFO函数名称Usb _WiteDa函数原型 int _sdall Usb WrieData(int sipeNm, unsined hapucSenduf, int sSedLen, in sWatTim) 功能描述 向USB设备写入数据 函数参数 iPiu: 待操作管道号,可以是1、3、5、7、9、1、1 pSuf:发送数据缓冲区指针sSendLen:待发送字节数saiTim:等待超时时间,单位ms,为-1表达始终等待 函数返回值 操作成功:成功发送的字节数;操作失败:-1 为配合下位机固件程序和以便顾客使用,本动态库对上面的读写端点缓冲区函数做了进一步封装,提供了逻辑端点(管道0、1)和逻辑端点2(管道2、)的读写函数。 3读逻辑端点 读逻辑端点1 函数名称 sb_ReaPort1 函数原型 in_stdcl Us _eadPort1 (unsigned chr *puBuf, ReadLn, intsWaTime) 功能描述 从USB设备的逻辑端点1读取数据 函数参数 ccvuf:接受数据缓冲区指针 siRadLen:待读取字节数 sWaitTime:等待超时时间,单位ms,为-表达始终等待 函数返回值操作成功:成功读取的字节数;操作失败:-14 读逻辑端点 读逻辑端点2 函数名称 UbRador2 函数原型 int_stcal Us _adPot2 (unsigned cha pRBu, nt seadn, int siWatTime) 功能描述 从USB设备的逻辑端点2读取数据 函数参数 pucRcvBuf:接受数据缓冲区指针 iReadLn:待读取字节数 siatTie:等待超时时间,单位m,为-1表达始终等待函数返回值 操作成功:成功读取的字节数;操作失败:15. 写逻辑端点1 写逻辑端点1 函数名称 Usb _WrtePort1函数原型 int _stclUb _WitePrt1 (uinecr*ucSendBu, in sidLen, intsiWaii) 功能描述向US设备的逻辑端点1写入数据 函数参数 pSnduf:发送数据缓冲区指针 indLen:待发送字节数 iatTie:等待超时时间,单位s,为-1表达始终等待 函数返回值 操作成功:成功发送的字节数;操作失败:-1 写逻辑端点2 写逻辑端点2 函数名称 Usb WitePrt2 函数原型 in _stdall Us WritPort2 (ungdchar *puSnBuf, it siSeden, int siWaiime) 功能描述 向B设备的逻辑端点2写入数据 函数参数pcSedBf:发送数据缓冲区指针seLen: 待发送字节数 iaiTe:等待超时时间,单位ms,为-1表达始终等待 函数返回值操作成功:成功发送的字节数;操作失败:- 二、库函数应用举例1. 对端点进行读操作 unsign chr RcvBu16; /定义16字节接受数据缓冲区 sb _ReadData (0,Rcv,1,1000);/ 从逻辑端点1的N端点读取16字节数据 / 等待超时时间为1000 毫秒. 对OT端点进行写操作 unsid arendBuf=0,0,0,0,0;/ 定义5字节发送数据缓冲区 Usb _WriteDaa (,Seduf,5,00); /向逻辑端点1的OU端点 写入5 个字节的数据 / 等待超时时间为 100 毫秒 新增函数/* Functin name:sb_SendPu*Descripton: 向SB设备的逻辑端点2写数据* inptprameters: ucSedBf:发送数据缓冲区指针*siendLen:发送数据字节数*siWTime:等待超时时间,单位ms,为-1表达始终等待* oupuprmetrs:无*Reted vale: 写入成功为发送的字节数,否则为1* 硬件控制数据构造exe C eclspe(dllexrt)tpee strt PramterSze ieSize_A;/左边切割面积大小SizeDrverSi_;/右边切割面积大小ouble SpeeXY;/X轴马达速度doble m_SeY;/Y轴马达速度dol m_egtX;/X轴每周长度doubl m_LengY;/Y轴每周长度dule m_eseve1;/激光脉冲宽度double Rerve;/激光脉冲频率double m_Reserve3;/开光延时intm_MPlNm;/马达每周脉冲数it m_MolNuY;/马达每周脉冲数int _SDlayTme;/开始延时时间itEndeayTime;/结束延时时间n m_laTie;/中间延时 nt m_Accleatin;/加速度 nt m_Reseve4;/转折速度 n _Rseve5;/关光延时 nt mRserve6;/开始点轴坐标 n m_Reser7;/开始点Y轴坐标 nt _Rsve8;/二工位距离 int m_sre9;/保存c m_ork_I;/I工位状态,0:不切;1:切割ham_Flase;/激光模式,0:PWM;1:开关;chr _WorI;/I工位状态,0:不切;1:切割char mTemp;/* Fnction na:Ub_enLae* scriptions: 手动控制激光开关(数字量)*input paramtes: unum:值,为开激光,1,为关激光,Prt_ppe* ouput aramtes:无*/xtern _elsc(dlexport)BOO ASAL EXORT Ub_OeLae(int Punu);/* Fuionnae:Set_Pot_Electrc* Dscripto: 写控制板端口数据* ut areter: rt_Nuber:端标语,为红灯;,为黄灯P0.12,绿灯P0.19,3,气缸P3.2;,气缸IP2.26 ,5,激光P0.6;6PWM_DIR P0.;7.PW_X_PUL P008;.PW_DIR P.;9.PWM_YPU P0.910PWMZ_DI P.8;11.PM_PULP.29;12.PQ_DR .30;3PWMQ_PU P3.1;14.27or_Ape* put paamte:无*/exten C _dcspec(dllepor)vid PASCAL XPORSe_Po_lctric(usnd cr Port_Numbr,unsigd char Port_Appe);* Funct nme:InUsCr* Descrptions: 初始化板卡* inut aameters: 无:* utpt ramete:无*/ete _eclspec(llert)BOOPASCAL XPOR InitUsCard();/* Function name:UsOPor* Desritio: 写控制板端口数据* inpu paraeter: PortNum:*output arameers:无*/etern C _dclse(dllexor)in PASALEPOTUsb_OutPo(nttNum);* Fucti name:Usb_InPt* eiptions: /参数:0-11保存,2:X轴限位0.20,13:X1 P0.1,14: 02;15:Y1 0.23;6:ZP0.24; 1:Z1 P0.25;1: P11;19:1 P1.17* nput prmeers: PortNum: outpu armets:无*/etrn C _declsc(dllexrt)int AAL EXPOT Us_ot(inPortNu);/* uctin name:sb_SePramtr* Descripions: 向UB设备写雕刻参数数据*npu aameters: str rametr:参数构造的指针* ouut prametes:无*xtrnC _decpec(dllexpr)voidPA EOR sb_StParate(sruct Pamte* Pr);/*Fuctionnam:UsbLodVectataA* esrtn: 向SB设备写雕刻曲线数据* iutparameters: m_Point:曲线点数据_Bte:曲线点类型*DataCunt:曲线总数*m_Data:数据位置为左边,1为右边*output parameters:返回正常接受的数据总数,否则为-* Rturned vlu: 读取成功为读取到的字节数,否则为-1*/exe C _decpec(dllexpot)nt PASCLEPOT UsOuVetData(CPoint* _Pint,BT* m_Byt,tDta_Cout,ntm_Dat);*Funtion name:U_ReaDt* Descriptions: 从SB设备读取数据* input praeters: sPipeNum:所要操作的管道号,可以是0,2,4,6,8,1,12*cRcv:接受数据缓冲区指针*sReaLen:接受数据字节数*siWaiTime:等待超时时间,单位ms,为-表达始终等待* otpt paameers:无* Retund vlu: 读取成功为读取到的字节数,否则为-1*/ exter C dlspc(dllepot)int bRedDat(int siPiNum, unsigneha *uRcvuf, n iReadLen, int Waitime);/* Funtoame:Usb_Writet* escrpion: 向UB设备写入数据*inut parameers: siPipeNum:所要操作的管道号,可以是1,3,5,7,9,11,1pucSendBf:发送数据缓冲区指针*siSenLen:发送数据字节数*saitTime:等待超时时间,单位s,为-1表达始终等待* outarmeters:无* Retured aue: 发送成功为发送的字节数,否则为-1*/eter C_dclspc(dllexort) it Usritat(intsiPpeNum,nsgned ca pucendu,nt siendLen,intsWaiTie);/*uncon me:b_ReaPt1* Descios: 从US设备的逻辑端点读数据* inpt praetes: ucRvuf:接受数据缓冲区指针*siReaen:接受数据字节数*siWaitTim:等待超时时间,单位s,为-1表达始终等待* outarameers:无* Returned vlue: 读取成功为读取到的字节数,否则为-1*xtern C _dclspe(dllexport)nt U_Rea_Pot(unsigedchar*uRcvuf,insRen,ntwaitie=-);/* Funti ae:Usb_ReaPo2* criions: 从SB设备的逻辑端点2读数据* inp parameters: ucRcvBu:接受数据缓冲区指针*siReadLe:接受数据字节数*iWaitTime:等待超时时间,单位ms,为表达始终等待* outpt praeters:无* Returned vue: 读取成功为读取到的字节数,否则为-1*/xtn C _declspc(dlexo)n sb_RPot2(usignedchar *pucvBuf,int siRadLen,int siWaitTim=-1);/* Fncionae:Us_WitePrt1* Descriio: 向设备的逻辑端点1写数据* inpuparametes: pucSendBuf:发送数据缓冲区指针*sieden:发送数据字节数*siWaitTim:等待超时时间,单位ms,为-1表达始终等待*outpt prametes:无*Returnedvalue: 写入成功为发送的字节数,否则为-1*/tern C _decsec(dlleport)it Usb_ritePort1(sine ar pucenduf, int sedLen, in siWaitTme=-1);/* Funtion name:UsWrtePort2* Dscripions: 向USB设备的逻辑端点2写数据*iput paaers: pucSeduf:发送数据缓冲区指针*siSdn:发送数据字节数siWaitTim:等待超时时间,单位ms,为-1表达始终等待* outpt paretrs:无*eturedvalu: 写入成功为发送的字节数,否则为-1*xtern C_ecspec(dlexport)int Us_WrtPot(signe har*pucSendBf, intsiedLen, in siWme=-1);/马达旋转;参数1:旋转脉冲数,参数2:速度extern C _declspc(dllexport)OL PAC XT potMotor(it ulu,int Speed);/旋转马达方向,参数::正,负ete _despec(llexpot)oid PASAL XOR Set_MtorD(oo dir);/Y马达旋转;参数1:旋转脉冲数,参数2:速度exrn _dclspec(dllepor)OL PASC EXPOR SprMotorY(inPulum,int Speed);旋转马达方向,参数:0:正,负extern C _eclspec(dlexprt)voidPASCAL ERT St_otoD_Y(boo ir);/Z马达旋转;参数1:旋转脉冲数,参数:速度exern C _declspe(dllepot)BOOL PASCL EPORTSport_t_Z(in Puum,nt Sed);/旋转马达方向,参数:0:正,1负exernC_delspec(dlexport)vid PSA PRSet_MoDZ(bodir);/马达旋转;参数:旋转脉冲数,参数2:速度exter C _dclspc(dllexport)BOL SCAL EXPORT Sort_Mo_Q(in lum,int Spe);/Q旋转马达方向,参数::正,负exernC dlpc(dlport)voidPASCAL EOTeMotorDr_Q(boo i);/* uction name:Usb_InPort* Descriptio: /参数:0-1保存,12:轴限位P0.20,1:X P.2,1:Y P0.22;15:Y P023;1:Z P024; 1:Z1 P.25;18:Q P11;19:Q1 P117*inpparamter: PrtNm:* outputparmrs:无*/xtern C _despec(dllexort)nt PASCAL EXPOT ad_Porto(it m_Pot);/带限位复位至原点,入口参数1:轴;1:轴;2:Z轴;:Q轴.入口参数2:速度;;出口参数:为1 对的,否则错误xte C _delsec(dllexor)bol PASAL EXPRT eetMotor(int m_tal,it Seed);/无限位复位至原点,入口参数:0:X轴;1:Y轴;2:Z轴;3:Q轴.入口参数2:速度;;出口参数:为1 对的,否则错误exern C_ecspec(llexpr)bol PSCL EXPORRet_Mtr_Center(intm_Stalk,iSpeed);/读FLASH数据exn C_declsec(dlxor)bolPASCAL EXPOT edDataash();/保存数据到FLAHxtenC _decspe(dlexpor)bol PASCALEXPORTSave_ata_lah();/入口参数1:功率数据-25;:通道:4;2:数据个数;出口参数:为 对的,否则错误exern C_declspc(dllpot)boolASCAL EXPT Pow_Dta(int _Data,inm,in _enh);
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!