QuakeGod
2023-10-20 0200a36062386b937567265e3ea01f93eaa8f1f5
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
/*
 
 
 
 
*/
#pragma once
#include "KDefine.h"
class KMachine
{
 
public:
    KMachine::KMachine();
    KMachine::~KMachine();
 
    stKMem KMem;
    double StartTime;
    int nScanCount = 0;
    int ProgTrace[2048] = { 0 };
 
    stBinProg1 BinProgs[2000];
    int nBinProgSteps = 0;
 
    int m_bPlcRunning = 0;
 
    double GetTimemS();
    int GetTick100uS();
 
    int Init();
 
    int Download(stBinProg1 * pBinrog, int nBinSteps);
 
    int Upload();
    int StartPLC();
    int StopPLC();
    int AddMonitor();
    int ClearMonitor();
    int DoMonitor();
 
 
    int GetCoilValue(int nCoilType, int nCoilAddr);
    int SetCoilValue(int nCoilType, int nCoilAddr, int nCoilValue);
 
    int GetVarData(int nDataType, int nDataAddr);
    int SetVarData(int nDataType, int nDataAddr, int nDataValue);
 
    int InitTimer(int nIndex, int nType);
    int RunTimer(int nIndex, int SV);
    int StopTimer(int nIndex);
    int ResetTimer(int nIndex);
    int SetTimerValue(int nIndex, int bSet, int SV);
    int ProcessTimer(int nIndex);
    int IsTimerOn(int nIndex);
    int GetTimerSV(int nIndex);
    int GetTimerEV(int nIndex);
 
 
    int PushInVal(void);
    int PopOutVal(void);
//    int ProcessPLCProg(const stProg * prog, int nSize);
    int ProcPLC();
    int ProcessPLCBinProg(const stBinProg1 * pBinprog, int nSize);
 
};