LAPTOP-SNT8I5JK\Boounion
2025-04-29 3426d4e0ee09c61ce379cfd1fe9a6e82de346d90
1.增加CEqCurrentRecipeChangeStep
已添加2个文件
已修改5个文件
141 ■■■■■ 文件已修改
SourceCode/Bond/Servo/CEqCurrentRecipeChangeStep.cpp 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/CEqCurrentRecipeChangeStep.h 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/CEquipment.h 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/CMaster.cpp 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/Common.h 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/Servo.vcxproj 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/Servo.vcxproj.filters 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/CEqCurrentRecipeChangeStep.cpp
对比新文件
@@ -0,0 +1,86 @@
#include "stdafx.h"
#include "CEqCurrentRecipeChangeStep.h"
#include "Log.h"
#include "ToolUnits.h"
namespace SERVO {
    CEqCurrentRecipeChangeStep::CEqCurrentRecipeChangeStep() : CReadStep()
    {
        m_nDataDev = 0;
    }
    CEqCurrentRecipeChangeStep::~CEqCurrentRecipeChangeStep()
    {
    }
    void CEqCurrentRecipeChangeStep::setDataDev(int nDev)
    {
        m_nDataDev = nDev;
    }
    void CEqCurrentRecipeChangeStep::getAttributeVector(CAttributeVector& attrubutes)
    {
        CReadStep::getAttributeVector(attrubutes);
        attrubutes.addAttribute(new CAttribute("UnitNo",
            std::to_string(m_nUnitNo).c_str(), ""));
        attrubutes.addAttribute(new CAttribute("CurrentMasterRecipeId",
            std::to_string(m_nCurrentMasterRecipeId).c_str(), ""));
        attrubutes.addAttribute(new CAttribute("LocalRecipeId",
            std::to_string(m_nLocalRecipeId).c_str(), ""));
    }
    int CEqCurrentRecipeChangeStep::onReadData()
    {
        CReadStep::onReadData();
        char szBuffer[64];
        int nRet = m_pCclink->ReadData2(m_station, DeviceType::W,
            m_nDataDev, 6, szBuffer);
        if (0 != nRet) {
            return -1;
        }
        m_nUnitNo = (unsigned int)CToolUnits::toInt16(&szBuffer[0]);
        m_nCurrentMasterRecipeId = (unsigned int)CToolUnits::toInt16(&szBuffer[2]);
        m_nLocalRecipeId = (unsigned int)CToolUnits::toInt16(&szBuffer[4]);
        LOGI("<CEqCurrentRecipeChangeStep> Current Recipe Changed<UnitNo:%d, CurrentMasterRecipeId:%d, LocalRecipeId:%d>\n",
            m_nUnitNo, m_nCurrentMasterRecipeId, m_nLocalRecipeId);
        return 0;
    }
    int CEqCurrentRecipeChangeStep::onComplete()
    {
        CReadStep::onComplete();
        LOGI("<CEqCurrentRecipeChangeStep> onComplete.");
        return 0;
    }
    int CEqCurrentRecipeChangeStep::onTimeout()
    {
        CReadStep::onTimeout();
        LOGI("<CEqCurrentRecipeChangeStep> onTimeout.");
        return 0;
    }
    int CEqCurrentRecipeChangeStep::getUnitNo()
    {
        return m_nUnitNo;
    }
    int CEqCurrentRecipeChangeStep::getCurrentMasterRecipeId()
    {
        return m_nCurrentMasterRecipeId;
    }
    int CEqCurrentRecipeChangeStep::getLocalRecipeId()
    {
        return m_nLocalRecipeId;
    }
}
SourceCode/Bond/Servo/CEqCurrentRecipeChangeStep.h
对比新文件
@@ -0,0 +1,29 @@
#pragma once
#include "CReadStep.h"
namespace SERVO {
    class CEqCurrentRecipeChangeStep : public CReadStep
    {
    public:
        CEqCurrentRecipeChangeStep();
        ~CEqCurrentRecipeChangeStep();
    public:
        virtual void getAttributeVector(CAttributeVector& attrubutes);
        virtual int onReadData();
        virtual int onComplete();
        virtual int onTimeout();
        void setDataDev(int nDev);
        int getUnitNo();
        int getCurrentMasterRecipeId();
        int getLocalRecipeId();
    private:
        int m_nDataDev;
        int m_nUnitNo;
        int m_nCurrentMasterRecipeId;
        int m_nLocalRecipeId;
    };
}
SourceCode/Bond/Servo/CEquipment.h
@@ -19,6 +19,7 @@
#include "CEqCassetteCtrlCmdStep.h"
#include "CEqJobEventStep.h"
#include "CEqVcrEventStep.h"
#include "CEqCurrentRecipeChangeStep.h"
#include <vector>
#include <map>
#include <list>
SourceCode/Bond/Servo/CMaster.cpp
@@ -587,7 +587,15 @@
                delete pStep;
            }
        }
        {
            CEqCurrentRecipeChangeStep* pStep = new CEqCurrentRecipeChangeStep();
            pStep->setName(STEP_EQ_RURRENT_RECIPE_CHANGE);
            pStep->setWriteSignalDev(0x48);
            pStep->setDataDev(0x6850);
            if (pEquipment->addStep(STEP_ID_CURRENT_RECIPE_CHANGE_REPORT, pStep) != 0) {
                delete pStep;
            }
        }
        // CEqCassetteTranserStateStep
        ADD_EQ_CASSETTE_TRANSFER_STATE_STEP(STEP_EQ_P1_CASSETTE_EMPTY, 0xd8, 
@@ -754,6 +762,15 @@
            }
        }
        {
            CEqCurrentRecipeChangeStep* pStep = new CEqCurrentRecipeChangeStep();
            pStep->setName(STEP_EQ_RURRENT_RECIPE_CHANGE);
            pStep->setWriteSignalDev(index == 0 ? 0x348 : 0x648);
            pStep->setDataDev(index == 0 ? 0xa850 : 0xe850);
            if (pEquipment->addStep(STEP_ID_CURRENT_RECIPE_CHANGE_REPORT, pStep) != 0) {
                delete pStep;
            }
        }
        {
            // CIM Message Confirm
            CEqReadIntStep* pStep = new CEqReadIntStep(__INT32, index == 0 ? 0x9d80 : 0xdd80);
            pStep->setName(STEP_EQ_CIM_MESSAGE_CONFIRM);
SourceCode/Bond/Servo/Common.h
@@ -138,6 +138,7 @@
#define STEP_EQ_SENT_OUT_JOB_DOWNS1        _T("EQJESentOutJobDowns1")
#define STEP_EQ_SENT_OUT_JOB_DOWNS2        _T("EQJESentOutJobDowns2")
#define STEP_EQ_VCR1_EVENT_REPORT        _T("EQVcr1EventReport")
#define STEP_EQ_RURRENT_RECIPE_CHANGE    _T("EQCurrentRecipeChange")
/* Step ID */
@@ -155,6 +156,7 @@
#define STEP_ID_EQALARM4                        0x565
#define STEP_ID_EQALARM5                        0x566
#define STEP_ID_PROCESS_DATA_REPORT                0x567
#define STEP_ID_CURRENT_RECIPE_CHANGE_REPORT    0x568
#define STEP_ID_CIM_MSG_CONFIRM_REPORT            0x569
#define STEP_ID_VCR1_EVENT_REPORT                0x56A
#define STEP_ID_RECIVE_JOB_UPS1                    0x580
SourceCode/Bond/Servo/Servo.vcxproj
@@ -245,6 +245,7 @@
    <ClInclude Include="CPath.h" />
    <ClInclude Include="CPin.h" />
    <ClInclude Include="CReadStep.h" />
    <ClInclude Include="CEqCurrentRecipeChangeStep.h" />
    <ClInclude Include="CSample.h" />
    <ClInclude Include="CStep.h" />
    <ClInclude Include="CVacuumBake.h" />
@@ -331,6 +332,7 @@
    <ClCompile Include="CPath.cpp" />
    <ClCompile Include="CPin.cpp" />
    <ClCompile Include="CReadStep.cpp" />
    <ClCompile Include="CEqCurrentRecipeChangeStep.cpp" />
    <ClCompile Include="CSample.cpp" />
    <ClCompile Include="CStep.cpp" />
    <ClCompile Include="CVacuumBake.cpp" />
SourceCode/Bond/Servo/Servo.vcxproj.filters
@@ -92,6 +92,7 @@
    <ClCompile Include="CVcrEventReport.cpp" />
    <ClCompile Include="CEqVcrEventStep.cpp" />
    <ClCompile Include="CPagePortProperty.cpp" />
    <ClCompile Include="CEqCurrentRecipeChangeStep.cpp" />
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="AlarmManager.h" />
@@ -182,6 +183,7 @@
    <ClInclude Include="CVcrEventReport.h" />
    <ClInclude Include="CEqVcrEventStep.h" />
    <ClInclude Include="CPagePortProperty.h" />
    <ClInclude Include="CEqCurrentRecipeChangeStep.h" />
  </ItemGroup>
  <ItemGroup>
    <ResourceCompile Include="Servo.rc" />