#pragma once
|
#include "CEquipment.h"
|
#include "CLoadPort.h"
|
#include "CAligner.h"
|
#include "CFliper.h"
|
#include "CArmTray.h"
|
|
|
namespace SERVO {
|
class CEFEM :
|
public CEquipment
|
{
|
public:
|
CEFEM();
|
virtual ~CEFEM();
|
|
public:
|
virtual const char* getClassName();
|
virtual void init();
|
virtual void term();
|
virtual void initPins();
|
virtual void initSteps();
|
virtual int onStepEvent(CStep* pStep, int code);
|
virtual void onTimer(UINT nTimerid);
|
virtual void serialize(CArchive& ar);
|
virtual void getAttributeVector(CAttributeVector& attrubutes);
|
virtual int recvIntent(CPin* pPin, CIntent* pIntent);
|
virtual BOOL glassWillArrive(CGlass* pGlass);
|
virtual void onReceiveLBData(const char* pszData, size_t size);
|
virtual int onReceivedJob(int port, CJobDataS* pJobDataS);
|
virtual int onSentOutJob(int port, CJobDataS* pJobDataS);
|
virtual int onFetchedOutJob(int port, CJobDataB* pJobDataB);
|
virtual int onStoredJob(int port, CJobDataB* pJobDataB);
|
|
public:
|
void setPort(unsigned int index, CLoadPort* pPort);
|
void setAligner(CAligner* pAligner);
|
void setFliper(CFliper* pFliper);
|
void setArmTray(unsigned int index, CArmTray* pArmTray);
|
int robotCmd(ROBOT_CMD_PARAM& robotCmdParam, ONWRITED onWritedBlock = nullptr);
|
int robotCmds(ROBOT_CMD_PARAM* robotCmdParam, unsigned int count, ONWRITED onWritedBlock = nullptr);
|
|
// ¿ì½Ý·â×°
|
int SendHome(int seq);
|
int SendTransfer(int seq, int armNo, int fromPos, int toPos, int fromSlot, int toSlot);
|
int SendMoveToGet(int seq, int armNo, int pos, int slot);
|
int SendMoveToPut(int seq, int armNo, int pos, int slot);
|
int SendGet(int seq, int armNo, int pos, int slot);
|
int SendPut(int seq, int armNo, int pos, int slot);
|
int SendExchange(int seq, int armNo, int pos, int getSlot, int putSlot);
|
int SendCommandClear(int seq);
|
int SendBatchGet(int seq, int getPos, int getSlot);
|
int SendBatchPut(int seq, int putPos, int putSlot);
|
int SendMoveToGetAndHome(int seq, int armNo, int getPos, int getSlot);
|
int SendMoveToPutAndHome(int seq, int armNo, int putPos, int putSlot);
|
int SendTransferAndHome(int seq, int armNo, int fromPos, int toPos, int fromSlot, int toSlot);
|
int SendGetAndPut(int seq, int armNo, int getPos, int getSlot, int putPos, int putSlot);
|
int SendPutAndHome(int seq, int armNo, int putPos, int putSlot);
|
|
private:
|
CLoadPort* m_pPort[4];
|
CAligner* m_pAligner;
|
CFliper* m_pFliper;
|
CArmTray* m_pArmTray[2];
|
};
|
}
|