您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 关于PMAC上位软件开发的介绍
2020/1/6北京元茂兴控制设备技术有限公司2简单概念运动程序使用特定语言(G代码等)下载到卡上执行由卡决定运行状态的变化不能扩展卡的功能没有界面上位机程序采用Windows编程语言在上位机上执行监视或者改变卡的运行状态可以扩展卡的功能可编辑自己的界面2020/1/6北京元茂兴控制设备技术有限公司3自己编写上位机界面的优点灵活定制,不受硬件的干扰不改变硬件,只需改变软件,就可以更新产品的应用可以轻松扩展功能可以利用到上位机更广泛的资源可以循环利用,节省人力资源使用户拥有自己的特点,增加了产品的竞争力最大限度的发挥卡的潜力,应用场合广泛2020/1/6北京元茂兴控制设备技术有限公司4动态连接库的概念程序编制一般需经编辑、编译、连接、加载和运行几个步骤。由于一些公用代码需要反复使用,就把它们预先编译成目标文件并保存在库中。当它与用户程序的目标文件连接时,连接器得从库中选取用户程序需要的代码,然后复制到生成的可执行文件中。它与用户程序的目标文件连接时,连接器只是作上标记,说明程序需要该动态连接库,而不真的把库代码复制到可执行文件中;仅当可执行文件运行时,加载器根据这个标记,检查该库是否已经被其它可执行文件加载进内存。2020/1/6北京元茂兴控制设备技术有限公司5PComm32ProLibrary(PMAC为在WINDOWS系统下开发人机界面提供的动态链接库)2020/1/6北京元茂兴控制设备技术有限公司6PComm32ProLibrary(PMAC为在WINDOWS系统下开发人机界面提供的动态链接库)这个DeltaTauPComm32PRO通讯驱动是在Windows98/ME/2000andXP环境下建立PMAC应用程序的开发工具,可以设定和使用多于400个功能函数。这个程序被设计为强大的,快速的,并且轻便的使用功能。PComm32PRO可以通用在所有的PMAC设备和通讯上。PComm32PRO兼容32位的美国Borland公司和美国Microsoft公司(微软公司)的开发工具。包括:MicrosoftVisualC/C++,MicrosoftVisualBasic,BorlandDelphi,BorlandC++Builder.PMAC通信驱动是可以通过ISA、PCI或者附带DPRAM的形式用Linux的动态链接库来即时激活的。源代码提供给Linux用户。终端设备和监视端口软件允许内置2020/1/6北京元茂兴控制设备技术有限公司7PComm32ProLibrary(PMAC为在WINDOWS系统下开发人机界面提供的动态链接库)PComm32PRO包括以下5个文件:1.PCOMM32动态连接库—32位的动态连接库2.PMACSERVER.EXE:一个服务器应用程序,负责传递全局变量3.PMACISA(SER,PCI,orUSB).SYS-Windows98/ME/2000/XP核心驱动4.ETHCONFIGURE.EXE,andUSBCONFIGURE.EXE:网卡和USB结构的执行软件。负责导入软件的下载和对于USB和网卡模式通讯的IP结构。2020/1/6北京元茂兴控制设备技术有限公司8PMACPcomm32.dll常用函数介绍//与卡建立连接BOOLOpenPmacDevice(DWORDdwDevice);//关闭与卡的连接BOOLClosePmacDevice(DWORDdwDevice);//往卡上发送字符串,可以是程序行字符串longPmacSendLineA(DWORDdwDevice,PCHARcommand);//与卡进行交互,大多数的数据读取、赋值和指令发送都能实现longPmacGetResponseA(DWORDdwDevice,PCHARresponse,UINTmaxchar,PCHARcommand);//往卡上下载程序文件voidPmacDownloadFile(DWORDdwDevice,PCHARfilename)2020/1/6北京元茂兴控制设备技术有限公司9库函数的调用以函数BOOLOpenPmacDevice(DWORDdwDevice);为例来说明。1.函数指针类型声明:ttypedefBOOL(CALLBACK*OpenPmac)(DWORD);2.函数声明:OpenPmacopen;3.建立链接(获得函数入口地址):open=(OpenPmac)GetProcAddress(hMydll,OpenPmacDevice);4.函数调用:open(0);2020/1/6北京元茂兴控制设备技术有限公司10上位机软件开发基本过程1.链接(装载)Pcomm32.dll动态库,得到非零句柄。HINSTANCEhMydll;hMydll=LoadLibrary(Pcomm32);(或hMydll=LoadLibrary(Pcomm32.dll);)2.与卡建立通讯。BOOLbReady=PmacOpen(0);if(bReady==FALSE){AfxMessageBox(“与卡通讯失败,请检查。”);return;}2020/1/6北京元茂兴控制设备技术有限公司11上位机软件开发基本过程3.一般性应用,包括赋值、读取、一般性指令操作等等。(演示程序generalprog,RUN_DOWN_JOG)3.1赋值:PmacGetResponse(0,buf,10,P1=10);//charbuf[10];3.2读取:PmacGetResponse(0,buf,10,P1);//charbuf[10];3.3发送指令:PmacGetResponse(0,buf,10,“&1b1r);//charbuf[10];2020/1/6北京元茂兴控制设备技术有限公司12PMAC上位机软件开发基本过程4.应用程序下载。4.1分行下载(演示程序SendLineprog)……pmacSendLine(0,#1-10x);pmacSendLine(0,“x1000);……4.2整个下载(演示程序RUN_DOWN_JOG)……pmacDownload(0,“MyPMACProg.txt);2020/1/6北京元茂兴控制设备技术有限公司13PMAC上位机软件开发基本过程4.3同步下载(开辟循环缓冲区rotarymotionProgrambuffer)(演示程序ROTprog)注:程序流禁止使用条件分支语句(但允许单行的分支)和WHILE循环语句,然后用PmacGetResponse逐行下载5.关断与卡的连接。close(0);6.释放动态库Pcomm32.dllif(hMydll)FreeLibrary(hMydll);2020/1/6北京元茂兴控制设备技术有限公司14PMAC运动程序简介1.运动程序分类:a.G代码语句。(附G代码解释程序prog1000)……G17G91G01X1000……b.类basic语句。……LINEARX100Y100……2020/1/6北京元茂兴控制设备技术有限公司15PMAC运动程序简介2.运动程序格式:openprognclear…………close3.运动程序语句组成:RAPIDDWELL{Time}单轴运动:X100多轴联动:X1000Y10002020/1/6北京元茂兴控制设备技术有限公司16PMAC运动程序简介变量操作:P1=P2+1参数化编程:X(Q10)Y(Q20)指令发送:COMMAND”…”条件分支:IF(P1=1)……ENDIF循环:WHILE(P100)……ENDWHILE2020/1/6北京元茂兴控制设备技术有限公司17PMAC运动程序简介4.运动模式:4.1直线运动模式linear4.2圆弧运动模式circle圆弧插补功能,I130,根据定义的圆弧平面法线方向不同(normal{}),生成不同的圆弧轨迹。4.3PVT运动模式—主要针对轨迹控制PVT{t}X{Xi}:{Vix}Y{Yi}:{Viy}……2020/1/6北京元茂兴控制设备技术有限公司18PMAC运动程序简介4.4样条运动模式SPLINE1/SPLINE2(参照手册后例程7)主要针对生成比较复杂的几何形状的情况。优点:PMAC会在每一个目标位置察看其前后的运动,使该位置在运动中有一个轻微的“释放”,以便在分界点产生尽量小的速度、加速度突变,使运动更加平稳,从而提高运动轨迹质量。2020/1/6北京元茂兴控制设备技术有限公司19在VB中声明函数TypePmacMsgnewlineAsBooleanmsgAsStringEndType'PMAC.DLLFunctionsDeclareFunctionPmacSelectLibPcomm32.dll(ByValhWndAsLong)AsLongDeclareFunctionOpenPmacDeviceLibPcomm32.dll(ByValpmacAsLong)AsLongDeclareFunctionPmacConfigureLibPcomm32.dll(ByValhWndAsLong,ByValpmacAsLong)AsLong2020/1/6北京元茂兴控制设备技术有限公司20在VB中声明函数DeclareFunctionPmacGetResponseALibPcomm32.dll(ByValpmacAsLong,ByValresponse$,ByValdummyAsInteger,ByValcom_string$)AsLongDeclareFunctionClosePmacDeviceLibPcomm32.dll(ByValpmacAsLong)AsLongDeclareFunctionPmacDownloadALibPcomm32.dll(ByValpmacAsLong,ByValdummyAsLong,ByValdummyAsLong,ByValdummyAsLong,ByValfname$,ByValmacro%,ByValmap%,ByVallog%,ByValdo_pmacDownloada%)AsInteger2020/1/6北京元茂兴控制设备技术有限公司21在VB中调用函数DeviceNumber=PmacSelect(hWnd)OpenPmacDevice(DeviceNumber)ClosePmacDevice(DeviceNumber)PmacGetResponseA(DeviceNumber,response,255,%100)(演示程序vb_pmac)
本文标题:关于PMAC上位软件开发的介绍
链接地址:https://www.777doc.com/doc-2665603 .html