diff --git a/MotionCtrlCard/CGugaoDriver.cpp b/MotionCtrlCard/CGugaoDriver.cpp index 3a13c1c..02d3fab 100644 --- a/MotionCtrlCard/CGugaoDriver.cpp +++ b/MotionCtrlCard/CGugaoDriver.cpp @@ -1,5 +1,8 @@ #include "CGugaoDriver.h" +#ifndef _WINDOWS_H #include +#define _WINDOWS_H +#endif #include "gts.h" #include "gtgl500.h" #include @@ -147,8 +150,8 @@ int CGugaoDriver::AbsMove(int iAxisId, double dMoveSpeed, bool bWaitFinished) { - if (!m_open) - return 1; + /*if (!m_open) + return 1;*/ //执行安全回调 if (m_onAxisMoveSafeFunc != nullptr) @@ -237,12 +240,19 @@ int CGugaoDriver::AbsMove(int iAxisId, Logger::GetInstance()->WriteLog(0, "GTN_Update is error"); return 1; } - + int totalWaitTime = 120 * 1000 * 10; + int useTime = 0; if (bWaitFinished) { long lAxisSts = 0; while (true) { + //大于30S必须强制退出,不然会卡死 + useTime += 25; + if (useTime >= totalWaitTime) + { + return 1; + } // 读取AXIS轴的状态 sRtn = GTN_GetSts(CORE_NUM, iAxisId, &lAxisSts); if (sRtn) diff --git a/MotionCtrlCard/CGugaoDriver.h b/MotionCtrlCard/CGugaoDriver.h index 131b57b..426ba51 100644 --- a/MotionCtrlCard/CGugaoDriver.h +++ b/MotionCtrlCard/CGugaoDriver.h @@ -3,7 +3,11 @@ #define CORE_NUM 1 #define CYCLIC_SYNC_POSITION 8 //ģʽΪѭ˶ģʽ +#ifndef _WINDOWS_H #include +#define _WINDOWS_H +#endif + #include #include "IGugaoDriver.h" #include "Logger.h" @@ -42,7 +46,7 @@ public: virtual bool IsAxisPaslimit(int iAxisId); virtual bool isAxisNagLimit(int iAxisId); -private: +protected: bool m_open = false; }; diff --git a/MotionCtrlCard/CMotorDriver.cpp b/MotionCtrlCard/CMotorDriver.cpp index a4eef48..2e810f0 100644 --- a/MotionCtrlCard/CMotorDriver.cpp +++ b/MotionCtrlCard/CMotorDriver.cpp @@ -1,7 +1,10 @@ #define CARD_DLL_API _declspec(dllexport) #include "CMotorDriver.h" +#ifndef _WINDOWS_H #include +#define _WINDOWS_H +#endif #include "gts.h" #include "gtgl500.h" #include @@ -40,7 +43,7 @@ int CMotorDriver::Relmove(int motorId, double pos, bool waitFinished) prfPos += pos; prfPos = prfPos / motorObj->PulseTo1mm(); - AbsMove(motorId, motorObj->PulseTo1mm(), pos, motorObj->Acc(), motorObj->Dec(), motorObj->Vel(),true); + AbsMove(motorId, motorObj->PulseTo1mm(), prfPos, motorObj->Acc(), motorObj->Dec(), motorObj->Vel(),true); return 0; } @@ -169,8 +172,8 @@ int CMotorDriver::RelmoveMulti(std::vector motorIdVec, std::vector int CMotorDriver::Home(int motorId, bool waitFinished) { - if (!m_open) - return 1; + /*if (!m_open) + return 1;*/ // 必须处于伺服使能状态, 切换到回零模式 short sRtn = GTN_SetHomingMode(m_gugaoCardCore, motorId, 6); diff --git a/MotionCtrlCard/CMotorDriver.h b/MotionCtrlCard/CMotorDriver.h index 15e2dec..59c553c 100644 --- a/MotionCtrlCard/CMotorDriver.h +++ b/MotionCtrlCard/CMotorDriver.h @@ -1,6 +1,9 @@ #pragma once +#ifndef _WINDOWS_H #include +#define _WINDOWS_H +#endif #include #include "Logger.h" #include "CGugaoDriver.h" @@ -29,7 +32,7 @@ public: public: std::vector* m_motor = nullptr; //еĹ - bool m_open = false;;//ƿǷʼɹ + //bool m_open = false;;//ƿǷʼɹ const short m_gugaoCardCore = 1; }; diff --git a/MotionCtrlCard/Debug/CGugaoDriver.obj b/MotionCtrlCard/Debug/CGugaoDriver.obj new file mode 100644 index 0000000..0531f00 Binary files /dev/null and b/MotionCtrlCard/Debug/CGugaoDriver.obj differ diff --git a/MotionCtrlCard/Debug/CMotorDriver.obj b/MotionCtrlCard/Debug/CMotorDriver.obj new file mode 100644 index 0000000..c045339 Binary files /dev/null and b/MotionCtrlCard/Debug/CMotorDriver.obj differ diff --git a/MotionCtrlCard/Debug/Logger.obj b/MotionCtrlCard/Debug/Logger.obj new file mode 100644 index 0000000..104e24a Binary files /dev/null and b/MotionCtrlCard/Debug/Logger.obj differ diff --git a/MotionCtrlCard/Debug/MotionCtrlCard.Build.CppClean.log b/MotionCtrlCard/Debug/MotionCtrlCard.Build.CppClean.log new file mode 100644 index 0000000..f81f939 --- /dev/null +++ b/MotionCtrlCard/Debug/MotionCtrlCard.Build.CppClean.log @@ -0,0 +1,18 @@ +e:\third\motionctrlcard\debug\vc140.pdb +e:\third\motionctrlcard\debug\vc140.idb +e:\third\motionctrlcard\debug\cgugaodriver.obj +e:\third\motionctrlcard\debug\cmotordriver.obj +e:\third\motionctrlcard\debug\logger.obj +e:\third\motionctrlcard\debug\motor.obj +e:\wafermark\code\wafermark\debug\motionctrlcard.ilk +e:\wafermark\code\wafermark\debug\motionctrlcard.dll +e:\wafermark\code\wafermark\debug\motionctrlcard.pdb +e:\third\motionctrlcard\motionctrlcard.lib +e:\third\motionctrlcard\motionctrlcard.exp +e:\third\motionctrlcard\debug\motionctrlcard.tlog\cl.command.1.tlog +e:\third\motionctrlcard\debug\motionctrlcard.tlog\cl.read.1.tlog +e:\third\motionctrlcard\debug\motionctrlcard.tlog\cl.write.1.tlog +e:\third\motionctrlcard\debug\motionctrlcard.tlog\link.command.1.tlog +e:\third\motionctrlcard\debug\motionctrlcard.tlog\link.read.1.tlog +e:\third\motionctrlcard\debug\motionctrlcard.tlog\link.write.1.tlog +e:\third\motionctrlcard\debug\motionctrlcard.tlog\motionctrlcard.write.1u.tlog diff --git a/MotionCtrlCard/Debug/MotionCtrlCard.log b/MotionCtrlCard/Debug/MotionCtrlCard.log new file mode 100644 index 0000000..0f3f60a --- /dev/null +++ b/MotionCtrlCard/Debug/MotionCtrlCard.log @@ -0,0 +1,11 @@ + CMotorDriver.cpp +e:\third\motionctrlcard\igugaodriver.h(48): warning C4251: “IGugaoDriver::m_onAxisMoveSafeFunc”: class“std::function”需要有 dll 接口由 class“IGugaoDriver”的客户端使用 + e:\third\motionctrlcard\igugaodriver.h(7): note: 参见“std::function”的声明 +e:\third\motionctrlcard\igugaodriver.h(49): warning C4251: “IGugaoDriver::m_onAxisPrevHomeFunc”: class“std::function”需要有 dll 接口由 class“IGugaoDriver”的客户端使用 + e:\third\motionctrlcard\igugaodriver.h(8): note: 参见“std::function”的声明 +e:\third\motionctrlcard\igugaodriver.h(50): warning C4251: “IGugaoDriver::m_AxisAfterHomeFunc”: class“std::function”需要有 dll 接口由 class“IGugaoDriver”的客户端使用 + e:\third\motionctrlcard\igugaodriver.h(8): note: 参见“std::function”的声明 +e:\third\motionctrlcard\igugaodriver.h(51): warning C4251: “IGugaoDriver::m_onSetIoSafeFunc”: class“std::function”需要有 dll 接口由 class“IGugaoDriver”的客户端使用 + e:\third\motionctrlcard\igugaodriver.h(10): note: 参见“std::function”的声明 + MotionCtrlCard.vcxproj -> E:\WaferMark\code\WaferMark\Debug\MotionCtrlCard.dll + MotionCtrlCard.vcxproj -> E:\WaferMark\code\WaferMark\Debug\MotionCtrlCard.pdb (Full PDB) diff --git a/MotionCtrlCard/Debug/MotionCtrlCard.tlog/CL.command.1.tlog b/MotionCtrlCard/Debug/MotionCtrlCard.tlog/CL.command.1.tlog new file mode 100644 index 0000000..f97b149 Binary files /dev/null and b/MotionCtrlCard/Debug/MotionCtrlCard.tlog/CL.command.1.tlog differ diff --git a/MotionCtrlCard/Debug/MotionCtrlCard.tlog/CL.read.1.tlog b/MotionCtrlCard/Debug/MotionCtrlCard.tlog/CL.read.1.tlog new file mode 100644 index 0000000..8be5f68 Binary files /dev/null and b/MotionCtrlCard/Debug/MotionCtrlCard.tlog/CL.read.1.tlog differ diff --git a/MotionCtrlCard/Debug/MotionCtrlCard.tlog/CL.write.1.tlog b/MotionCtrlCard/Debug/MotionCtrlCard.tlog/CL.write.1.tlog new file mode 100644 index 0000000..f0e48e8 Binary files /dev/null and b/MotionCtrlCard/Debug/MotionCtrlCard.tlog/CL.write.1.tlog differ diff --git a/MotionCtrlCard/Debug/MotionCtrlCard.tlog/MotionCtrlCard.lastbuildstate b/MotionCtrlCard/Debug/MotionCtrlCard.tlog/MotionCtrlCard.lastbuildstate new file mode 100644 index 0000000..7660ecb --- /dev/null +++ b/MotionCtrlCard/Debug/MotionCtrlCard.tlog/MotionCtrlCard.lastbuildstate @@ -0,0 +1,2 @@ +#TargetFrameworkVersion=v4.0:PlatformToolSet=v140:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=8.1 +Debug|Win32|E:\WaferMark\code\WaferMark\| diff --git a/MotionCtrlCard/Debug/MotionCtrlCard.tlog/MotionCtrlCard.write.1u.tlog b/MotionCtrlCard/Debug/MotionCtrlCard.tlog/MotionCtrlCard.write.1u.tlog new file mode 100644 index 0000000..b64b82e Binary files /dev/null and b/MotionCtrlCard/Debug/MotionCtrlCard.tlog/MotionCtrlCard.write.1u.tlog differ diff --git a/MotionCtrlCard/Debug/MotionCtrlCard.tlog/link.command.1.tlog b/MotionCtrlCard/Debug/MotionCtrlCard.tlog/link.command.1.tlog new file mode 100644 index 0000000..3566032 Binary files /dev/null and b/MotionCtrlCard/Debug/MotionCtrlCard.tlog/link.command.1.tlog differ diff --git a/MotionCtrlCard/Debug/MotionCtrlCard.tlog/link.read.1.tlog b/MotionCtrlCard/Debug/MotionCtrlCard.tlog/link.read.1.tlog new file mode 100644 index 0000000..1f926a9 Binary files /dev/null and b/MotionCtrlCard/Debug/MotionCtrlCard.tlog/link.read.1.tlog differ diff --git a/MotionCtrlCard/Debug/MotionCtrlCard.tlog/link.write.1.tlog b/MotionCtrlCard/Debug/MotionCtrlCard.tlog/link.write.1.tlog new file mode 100644 index 0000000..31795e1 Binary files /dev/null and b/MotionCtrlCard/Debug/MotionCtrlCard.tlog/link.write.1.tlog differ diff --git a/MotionCtrlCard/Debug/Motor.obj b/MotionCtrlCard/Debug/Motor.obj new file mode 100644 index 0000000..f8d0b13 Binary files /dev/null and b/MotionCtrlCard/Debug/Motor.obj differ diff --git a/MotionCtrlCard/Debug/vc140.idb b/MotionCtrlCard/Debug/vc140.idb new file mode 100644 index 0000000..a606c42 Binary files /dev/null and b/MotionCtrlCard/Debug/vc140.idb differ diff --git a/MotionCtrlCard/Debug/vc140.pdb b/MotionCtrlCard/Debug/vc140.pdb new file mode 100644 index 0000000..8f91012 Binary files /dev/null and b/MotionCtrlCard/Debug/vc140.pdb differ diff --git a/MotionCtrlCard/MotionCtrlCard.exp b/MotionCtrlCard/MotionCtrlCard.exp index bd5408f..6b4677a 100644 Binary files a/MotionCtrlCard/MotionCtrlCard.exp and b/MotionCtrlCard/MotionCtrlCard.exp differ diff --git a/MotionCtrlCard/MotionCtrlCard.lib b/MotionCtrlCard/MotionCtrlCard.lib index c68513a..8e5aadf 100644 Binary files a/MotionCtrlCard/MotionCtrlCard.lib and b/MotionCtrlCard/MotionCtrlCard.lib differ diff --git a/camera/mfcdll-basler b/camera/mfcdll-basler new file mode 160000 index 0000000..a7cb218 --- /dev/null +++ b/camera/mfcdll-basler @@ -0,0 +1 @@ +Subproject commit a7cb2188765b88c84535f9b4d3a8691eeeaf7ee5 diff --git a/xizan/XizanManage.cpp b/xizan/XizanManage.cpp index 44dee8c..0dea1f3 100644 --- a/xizan/XizanManage.cpp +++ b/xizan/XizanManage.cpp @@ -21,8 +21,9 @@ void XizanManage::connectXizan() if (m_xizanSocket == nullptr) { m_xizanSocket = new QTcpSocket(this); + //connect(m_xizanSocket, SIGNAL(readyRead()), this, SLOT(onReadyRead())); //connect(m_xizanSocket, &QTcpSocket::connected, this, &XizanManage::onConnected); - connect(m_xizanSocket, &QTcpSocket::readyRead, this, &XizanManage::onReadyRead); + //connect(m_xizanSocket, &QTcpSocket::readyRead, this, &XizanManage::onReadyRead); //connect(m_xizanSocket, &QTcpSocket::disconnected, this, &XizanManage::onReadyRead); } m_xizanSocket->connectToHost(m_ip, m_port); @@ -31,17 +32,38 @@ void XizanManage::connectXizan() void XizanManage::SendOrder(QString& order) { - m_xizanSocket->write(order.toUtf8()); - m_xizanSocket->flush(); + } void XizanManage::disConnectXizan() { - m_xizanSocket->disconnectFromHost(); + if (m_xizanSocket != nullptr) + { + m_xizanSocket->disconnectFromHost(); + } +} + +QString XizanManage::GetXizanData() +{ + QString recvStr; + + connectXizan(); + QString str = "VTFP 0 0"; + if (m_xizanSocket != nullptr) + { + m_xizanSocket->write(str.toStdString().c_str()); + m_xizanSocket->waitForBytesWritten(); // ȷȫ + m_xizanSocket->waitForReadyRead(3000); // ȴӦ + recvStr = QString::fromUtf8(m_xizanSocket->readAll()); + int i = 0; + } + disConnectXizan(); + return recvStr; } void XizanManage::onReadyRead() { - QString recvStr = QString::fromUtf8(m_xizanSocket->readAll()); - emit signal_sendRecvStr(recvStr); + //ݸʽ: VTFP 0 2572.59 2631.00 + /*QString recvStr = QString::fromUtf8(m_xizanSocket->readAll()); + emit signal_sendRecvStr(recvStr);*/ } diff --git a/xizan/XizanManage.h b/xizan/XizanManage.h index 52184ba..6c1f670 100644 --- a/xizan/XizanManage.h +++ b/xizan/XizanManage.h @@ -15,6 +15,7 @@ public: void connectXizan(); void SendOrder(QString& order); void disConnectXizan(); + QString GetXizanData(); signals: void signal_sendRecvStr(QString str);