广告招募

VB环境下PMAC卡的初始化

2026年03月18日 08:41:29      来源:东莞市宇匠数控设备有限公司 >> 进入该公司展台      阅读量:0

分享:

设计开发上位机软件的目的是方便用户管理、操作和观察界面,实现对数控加工中心 机床的管理与安全操作[3()]。上位机系统软件基于Windows操作系统平台,采用Microsoft Visual Basic 6.0开发15。机床动作命令必须通过调用动态链接库中的库函数来实现对PMAC 卡的控制,此功能主要由PCOMM32.DLL完成,它是标准的Windows动态链接库[29]PCOMM32PROVB6.0中的加载步骤如下:

1.创建一个通用模块。

2.声明导入函数

Declare Function OpenPmacDevice LibPcomm32.dll”(ByVal pmac As Long) As Long

函数原型:

BOOL OpenPmacDevice(DWORD dwDevice) 〇

调用方式:

Dim Tmp_Val As Long

Tmp_Val=OpenPmacDevice (0)

通过如下代码可以实现运动链接库的定义:

Type PmacMsg

newline As Boolean Msg As String End Type

PMAC.DLL Functions

Declare Function PmacSelect Lib nPcomm32.dlln (ByVal hwnd As Long) As Long

Declare Function OpenPmacDevice Lib nPcomm32.dir (ByVal pmac As Long) As Long

Declare Function PmacConfisure Lib nPcomm32.dlln (BvVal hwnd As Lons. BvVal pmac As Long) As Long

Declare Function PmacGetResponseA Lib nPcomm32.dlln (ByVal pmac As Long, ByVal responses, ByVal dummy As Integer, ByVal com_string$) As Long

Declare Function PmacFlush Lib "Pcomm32.dHn (ByVal pmac As Long) As Integer

Declare Function PmacGetPmacType Lib nPcomm32.dlln (ByVal pmac As Long) As Integer

Declare Function ClosePmacDevice Lib nPcomm32.dir (ByVal pmac As Long) As Long

Declare Function PmacDownloadA Lib nPcomm32.dlln (ByVal pmac As Long, ByVal dummy As Long, ByVal dummy As Long, ByVal dummy As Long, ByVal fname$, ByVal macro%, ByVal map%, ByVal log%, ByVal do_pmacDownloada%) As Integer

DeviceNumber = Pmac Select (hWnd)

OpenPmacDevice (DeviceNumber) ClosePmacDevice (DeviceNumber)

PmacGetResponseA (DeviceNumber, response, 255, n%100n)

为了使PMAC卡可以响应上位机软件的命令,还需要对PMAC卡进行初始化,以确 定硬件地址、线程的开启和将站号、通讯方式等信息在通讯测试成功后写入window的注 册表,完成PMAC在上位机上注册的功能,以便我们换了通讯方式类型的话,下次开启 PEWIN32PRO时自动的与卡进行通讯[29]。初始化通常有以下两种类型:

1.通过PEWIN32PRO软件来注册。

2•使用PCOMM32PRO中的函数。

函数原型:Long Pmac Select (HWND hwnd)

在调用完成时会弹出一个初始化对话框如图3-2所示。

初始化函数调用过程代码如下:

OpenRuntimeLink() // 调用 OpenPmacDevice

dwDevice = PmacSelect(NULL);// 调用 PmacSelect

if (dwDevice >= 0 && dwDevice <= 7)

{if (OpenPmacDevice(dwDevice))

{ m_bDriverOpen = 1;

return true; // return TRUE unless you set the focus to a control

} }

Close〇; //关闭

PmacGetResponse(dwDevicebuf255n#lpn);

AfxMessageBox(buf);

由于PComm32PRO的设计理念是基于线程安全的,所以对数控加工中心机床的命令 在与PMAC卡通讯时要求进行线程保护操作,例如一个应用程序读取I变量的操作进行时, 就不可以同时允许另外一个应用程序也读取相同的变量。PComm32PRO是通过LockPmac ()ReleasePmac()两个函数来实现线程的保护工作的。当进行某一操作时开启LockPmac ()以保护线程不被其它程序打扰,当操作结束时调用RdeasePmac ()关闭保护。

本文采摘自“基于PMAC的加工中心开放式数控系统研究”,因为编辑困难导致有些函数、表格、图片、内容无法显示,有需要者可以在网络中查找相关文章!

本文由伯特利数控整理发表文章均来自网络仅供学习参考,转载请注明!

版权与免责声明:
1.凡本网注明"来源:全球供应商网"的所有作品,版权均属于全球供应商网,转载请必须注明全球供应商网。违反者本网将追究相关法律责任。
2.企业发布的公司新闻、技术文章、资料下载等内容,如涉及侵权、违规遭投诉的,一律由发布企业自行承担责任,本网有权删除内容并追溯责任。
3.本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。 4.如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系。