From bf55b2f3083cbfdeb83611b2fa2dd552bf5b0775 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期一, 03 三月 2025 16:20:00 +0800
Subject: [PATCH] 1.开始处理Step属性值; 2.增加左侧master面板;
---
SourceCode/Bond/Servo/CStep.h | 29 ++++++++++++++++++++++++++---
1 files changed, 26 insertions(+), 3 deletions(-)
diff --git a/SourceCode/Bond/Servo/CStep.h b/SourceCode/Bond/Servo/CStep.h
index ec87aa0..d1ece05 100644
--- a/SourceCode/Bond/Servo/CStep.h
+++ b/SourceCode/Bond/Servo/CStep.h
@@ -1,8 +1,17 @@
#pragma once
#include "CCLinkIEControl.h"
+#include "CAttributeVector.h"
namespace SERVO {
+
+ typedef std::function<void(void* pStep, int code, void* pData)> ONSTEPEVENT;
+ typedef struct _StepListener
+ {
+ ONSTEPEVENT onEvent;
+ } StepListener;
+
+ class CEquipment;
class CStep
{
public:
@@ -11,28 +20,42 @@
public:
unsigned WorkingProc();
+ void setListener(StepListener listener);
void setCcLink(CCCLinkIEControl* pCcLink);
+ void setEquipment(CEquipment* pEquipment);
+ CEquipment* getEquipment();
+ void setName(const char* pszName);
+ std::string& getName();
+ virtual void getAttributeVector(CAttributeVector& attrubutes);
+ virtual void setWriteSignalDev(int dev);
virtual void init();
virtual void CStep::term();
virtual void onSignal(BOOL bSignal);
+ virtual int onReadData();
+ virtual int onComplete();
+ virtual int onTimeout();
protected:
inline void Lock() { EnterCriticalSection(&m_criticalSection); }
inline void Unlock() { LeaveCriticalSection(&m_criticalSection); }
inline void nextStep();
inline void resetStep();
- void timeout();
+ void convertString(const char* pszBuffer, int size, std::string& strOut);
- private:
+ protected:
+ StepListener m_listener;
+ StationIdentifier m_station;
+ std::string m_strName;
+ CEquipment* m_pEquipment;
CCCLinkIEControl* m_pCclink;
CRITICAL_SECTION m_criticalSection;
- std::string strName;
HANDLE m_hWorkThreadHandle;
unsigned m_nWordThreadAddr;
HANDLE m_hWorkStop;
HANDLE m_hSignalOn;
HANDLE m_hSignalOff;
int m_nCurStep;
+ int m_nWriteSignalDev; // 对方BIT地址
};
}
--
Gitblit v1.9.3