123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- #pragma once
- #include "CModule.h"
- #include "CCylinder.h"
- class __declspec(dllexport) CTransporter :
- public CModule
- {
- public:
- CTransporter(MODULE_LIST eModuleType);
- ~CTransporter();
- virtual LONG AllocateAxis(vector<CAxis*> vecAxis);
- virtual LONG AllocateIo(vector<CIO*> vecIo);
- virtual LONG ToHome() ;
- virtual LONG ToSafePosition();
- virtual LONG GetParam();
- virtual void SetDataChangFunction();
- virtual LONG SetParam();
- virtual LONG InitResource();
- virtual void DataChangNotice(string strDbName, string strTableName) ;
- virtual LONG Sync();
- //等待传感器信号
- LONG WaitSensor(CIO* sensor);
- //勾料
- LONG PullFeed();
- LONG FeedToWorkPos();
- LONG FeedToPushPos();
- LONG PushFeed();
- private:
- //勾料气缸
- CIO* m_pPullXDo = nullptr;
- CIO* m_pPullXNegDi = nullptr;
- CIO* m_pPullXPosDi = nullptr;
- //勾料顶升气缸
- CIO* m_pPullZDo = nullptr;
- CIO* m_pPullZNegDi = nullptr;
- CIO* m_pPullZPosDi = nullptr;
- //勾料阻挡气缸
- CIO* m_pPullBlockDo = nullptr;
- CIO* m_pPullBlockNegDi = nullptr;
- CIO* m_pPullBlockPosDi = nullptr;
- //工作位阻挡气缸
- CIO* m_pWorkBlockDo = nullptr;
- CIO* m_pWorkBlockNegDi = nullptr;
- CIO* m_pWorkBlockPosDi = nullptr;
- //推料气缸
- CIO* m_pPushXDo = nullptr;
- CIO* m_pPushXNegDi = nullptr;
- CIO* m_pPushXPosDi = nullptr;
- //推料顶升气缸
- CIO* m_pPushZDo = nullptr;
- CIO* m_pPushZNegDi = nullptr;
- CIO* m_pPushZPosDi = nullptr;
- //推料阻挡气缸
- CIO* m_pPushBlockDo = nullptr;
- CIO* m_pPushBlockNegDi = nullptr;
- CIO* m_pPushBlockPosDi = nullptr;
- //步进轴绝对运动 实际是相对运动
- //工位一 勾料步进电机,将料从勾料处传送到
- CAxis* m_pPullStepAxis = nullptr;
- //工位二 工位步进电机,获取料以及传送料
- CAxis* m_pWorkStepAxis = nullptr;
- //工位三 推料步进电机 将料输送到推料位
- CAxis* m_pPushStepAxis = nullptr;
- //入料检测信号
- CIO* m_pFeedInputExistDi = nullptr;
- //勾料到位信号
- CIO* m_pPullArriveDi = nullptr;
- //料到达工作位信号
- CIO* m_pWorkArriveDi = nullptr;
- //推料到位信号
- CIO* m_pPushArriveDi = nullptr;
- //出料检测信号
- CIO* m_pFeedOutputExistDi = nullptr;
- CCylinder* m_pPullXCyl = nullptr;
- CCylinder* m_pPullZCyl = nullptr;
- CCylinder* m_pPullBlockCyl = nullptr;
- //!!!注意顶升气缸上升才能移动推料气缸
- CCylinder* m_pPushXCyl = nullptr;
- CCylinder* m_pPushZCyl = nullptr;
- CCylinder* m_pPushBlockCyl = nullptr;
- CCylinder* m_pWorkBlockCyl = nullptr;
- double m_dPullDis = 0;
- double m_dWorkPullDis = 0;
- double m_dWorkStationPushDis = 0;
- double m_dPushDis = 0;
- };
|