目录
- [1. 错误 C2027 使用了未定义类型"PCOMMSERVERLib::DEVUPLOAD"](#1. 错误 C2027 使用了未定义类型“PCOMMSERVERLib::DEVUPLOAD”)
- [2. 输入了正确的pmac的ip地址,没有显示可选的pmac设备](#2. 输入了正确的pmac的ip地址,没有显示可选的pmac设备)
- [3. Pmac DTC-28B无读数](#3. Pmac DTC-28B无读数)
使用QT编写PMAC上位机程序时,利用QT中的dump工具可以将pcommserver.exe转化为pcommserverlib.h和pcommserverlib.cpp文件,然后将这两个文件添加到工程目录中就可以调用其中的函数了。具体可以看我之前的文章。
1. 错误 C2027 使用了未定义类型"PCOMMSERVERLib::DEVUPLOAD"
首先遇到第一个坑,将pcommserverlib.h和pcommserverlib.cpp文件添加并运行会提示如下错误。
错误 C2027 使用了未定义类型"PCOMMSERVERLib::DEVUPLOAD" (编译源文件 qtpmaccommunicate.cpp)
(在图片中我将pcommserverlib.h重命名为pcommdevice.h。.cpp同样进行重命名)
解决办法!
将pcommserverlib.h文件中9915行和11720行的Upload函数注释掉。这样程序就可以正常运行了,但缺点是不能在上位机软件中使用upload功能,因为我们把这个函数的定义给注释掉了。
我的QT版本是5.12.2,不知道是不是因为QT版本的问题导致的。有大神能完美解决的话要给我留言一下呀!
2. 输入了正确的pmac的ip地址,没有显示可选的pmac设备
第二个坑
在调用SelectDevice函数选取pmac设备时总是显示PMAC devices not registered,就算是你输入了正确的pmac的ip地址,test也成功,但就是没有显示可选的pmac设备。
解决办法:
将VS或QT或者你的EXE文件已管理员模式运行就可以了!!!
3. Pmac DTC-28B无读数
第三个坑
PMAC模数转换板DTC-28B的接线问题。在我的项目中使用到了力传感器,输出±5V模拟量信号。之前发现不论怎么按压力传感器,clipper中m105的读数不会变化。经检查发现,接线人员将28B引脚定义整反了!注意,从28B有缺口的一侧开始是1号引脚。