chenluhua1980
2026-01-19 44360bc2cdeee16be72f9cc4bfb42e0ac26b5b44
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#include "stdafx.h"
#include "CEqAlarmStep.h"
#include "Log.h"
#include "ToolUnits.h"
 
 
namespace SERVO {
    CEqAlarmStep::CEqAlarmStep() : CReadStep()
    {
        m_nAlarmDev = 0;
        m_nAlarmState = 0;
        m_nUnitId = 0;
        m_nAlarmLevel = 0;
        m_nAlarmCode = 0;
        m_nAlarmId = 0;
    }
 
    CEqAlarmStep::~CEqAlarmStep()
    {
 
    }
 
    void CEqAlarmStep::getAttributeVector(CAttributeVector& attrubutes)
    {
        CReadStep::getAttributeVector(attrubutes);
 
        unsigned int weight = 31;
        attrubutes.addAttribute(new CAttribute("Alarm State",
            std::to_string(m_nAlarmState).c_str(), "", weight++));
        attrubutes.addAttribute(new CAttribute("Unit ID",
            std::to_string(m_nUnitId).c_str(), "", weight++));
        attrubutes.addAttribute(new CAttribute("Alarm Level",
            std::to_string(m_nAlarmLevel).c_str(), "", weight++));
        attrubutes.addAttribute(new CAttribute("Alarm Code",
            std::to_string(m_nAlarmCode).c_str(), "", weight++));
        attrubutes.addAttribute(new CAttribute("Alarm ID",
            std::to_string(m_nAlarmId).c_str(), "", weight++));
        attrubutes.addAttribute(new CAttribute("Text",
            m_strText.c_str(), "", weight++));
        attrubutes.addAttribute(new CAttribute("Description",
            m_strDescription.c_str(), "", weight++));
    }
 
    int CEqAlarmStep::onReadData()
    {
        CReadStep::onReadData();
 
        char szBuffer[64];
        int nRet = m_pCclink->ReadData2(m_station, DeviceType::W,
            m_nAlarmDev, 64, szBuffer);
        if (0 != nRet) {
            return -1;
        }
 
        m_nAlarmState = (unsigned int)CToolUnits::toInt16(&szBuffer[0]);
        m_nUnitId = (unsigned int)CToolUnits::toInt16(&szBuffer[2]);
        m_nAlarmId = (unsigned int)CToolUnits::toInt16(&szBuffer[4]);
        m_nAlarmCode = (unsigned int)CToolUnits::toInt16(&szBuffer[6]);
        m_nAlarmLevel = (unsigned int)CToolUnits::toInt16(&szBuffer[8]);
 
        LOGE("<CEqAlarmStep> Equipment Alarm state Changed<State:%d, Unit:%d, Level:%d, Code:%d, ID:%d>",
            m_nAlarmState, m_nUnitId, m_nAlarmLevel, m_nAlarmCode, m_nAlarmId,
            m_strText.c_str(), m_strDescription.c_str());
 
        return 0;
    }
 
    int CEqAlarmStep::onComplete()
    {
        CReadStep::onComplete();
        LOGD("<CEqAlarmStep> onComplete.");
 
        return 0;
    }
 
    int CEqAlarmStep::onTimeout()
    {
        CReadStep::onTimeout();
        LOGE("<CEqAlarmStep> onTimeout.");
 
        return 0;
    }
 
    void CEqAlarmStep::setAlarmDev(int nAlarmDev) {
        m_nAlarmDev = nAlarmDev;
    }
 
    int CEqAlarmStep::getAlarmState()
    {
        return m_nAlarmState;
    }
 
    int CEqAlarmStep::getUnitId()
    {
        return m_nUnitId;
    }
 
    int CEqAlarmStep::getAlarmLevel()
    {
        return m_nAlarmLevel;
    }
 
    int CEqAlarmStep::getAlarmCode()
    {
        return m_nAlarmCode;
    }
 
    int CEqAlarmStep::getAlarmId()
    {
        return m_nAlarmId;
    }
}