| | |
| | | #pragma once |
| | | #include "CEquipment.h" |
| | | #include "CLoadPort.h" |
| | | #include "CAligner.h" |
| | | #include "CFliper.h" |
| | | #include "CArmTray.h" |
| | | #include "Context.h" |
| | | |
| | | |
| | | namespace SERVO { |
| | |
| | | virtual void init(); |
| | | virtual void term(); |
| | | virtual void initPins(); |
| | | virtual void initSteps(); |
| | | virtual void initSlots(); |
| | | 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); |
| | | virtual int getIndexerOperationModeBaseValue(); |
| | | |
| | | public: |
| | | void setContext(CContext* pContext); |
| | | 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); |
| | | RMDATA& getRobotMonitoringData(); |
| | | |
| | | // 快捷封装 |
| | | int robotSendHome(int seq, ONWRITED onWritedBlock = nullptr); |
| | | int robotSendTransfer(int seq, int armNo, int fromPos, int toPos, int fromSlot, int toSlot, ONWRITED onWritedBlock = nullptr); |
| | | int robotSendMoveToGet(int seq, int armNo, int pos, int slot, ONWRITED onWritedBlock = nullptr); |
| | | int robotSendMoveToPut(int seq, int armNo, int pos, int slot, ONWRITED onWritedBlock = nullptr); |
| | | int robotSendGet(int seq, int armNo, int pos, int slot, ONWRITED onWritedBlock = nullptr); |
| | | int robotSendPut(int seq, int armNo, int pos, int slot, ONWRITED onWritedBlock = nullptr); |
| | | int robotSendExchange(int seq, int armNo, int pos, int getSlot, int putSlot, ONWRITED onWritedBlock = nullptr); |
| | | int robotSendCommandClear(int seq, ONWRITED onWritedBlock = nullptr); |
| | | int robotSendBatchGet(int seq, int getPos, int getSlot, ONWRITED onWritedBlock = nullptr); |
| | | int robotSendBatchPut(int seq, int putPos, int putSlot, ONWRITED onWritedBlock = nullptr); |
| | | int robotSendMoveToGetAndHome(int seq, int armNo, int getPos, int getSlot, ONWRITED onWritedBlock = nullptr); |
| | | int robotSendMoveToPutAndHome(int seq, int armNo, int putPos, int putSlot, ONWRITED onWritedBlock = nullptr); |
| | | int robotSendTransferAndHome(int seq, int armNo, int fromPos, int toPos, int fromSlot, int toSlot, ONWRITED onWritedBlock = nullptr); |
| | | int robotSendGetAndPut(int seq, int armNo, int getPos, int getSlot, int putPos, int putSlot, ONWRITED onWritedBlock = nullptr); |
| | | int robotSendPutAndHome(int seq, int armNo, int putPos, int putSlot, ONWRITED onWritedBlock = nullptr); |
| | | |
| | | private: |
| | | CLoadPort* m_pPort[4]; |
| | | CAligner* m_pAligner; |
| | | CFliper* m_pFliper; |
| | | CArmTray* m_pArmTray[2]; |
| | | RMDATA m_robotData; |
| | | CContext* m_pActiveContext; |
| | | }; |
| | | } |
| | | |