QuakeGod
2022-01-16 326d3e312c74726814c39c9d112faab03c4a167c
add status show function dialog
11个文件已修改
1个文件已添加
73 ■■■■ 已修改文件
KLink2/KLink.h 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MTerm1/Settings.ini 补丁 | 查看 | 原始文档 | blame | 历史
MTerm2/CDialogStatusShow.cpp 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
MTerm2/HvSerialPort.cpp 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MTerm2/HvSerialPort.h 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MTerm2/KLink.h 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MTerm2/MTerm2.rc 补丁 | 查看 | 原始文档 | blame | 历史
MTerm2/MTerm2CommDevView.cpp 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MTerm2/MTerm2Doc.cpp 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MTerm2/MTerm2Doc.h 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MTerm2/MainFrm.cpp 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
MTerm2/resource.h 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KLink2/KLink.h
@@ -18,7 +18,7 @@
*/
//AFX_EXT_CLASS
// 此类是从KLink2.dll 导出的
class KLINK2_API KLink2 {
@@ -637,7 +637,6 @@
    int FinishProgram(UCHAR nDst, UCHAR nType, USHORT nStepSize);
    int ReadRunStat(UCHAR nDst, UCHAR nType, USHORT nWordAddr, UCHAR nWordCount, USHORT * Values);
};
MTerm1/Settings.ini
MTerm2/CDialogStatusShow.cpp
@@ -44,7 +44,7 @@
    // TODO:  在此添加额外的初始化
    ShowParams();
    //    m_liststatus1.SetExtendedStyle();
    SetTimer(1, 200, NULL);
    SetTimer(1, 100, NULL);
    return TRUE;  // return TRUE unless you set the focus to a control
                  // 异常: OCX 属性页应返回 FALSE
MTerm2/HvSerialPort.cpp
@@ -49,7 +49,7 @@
        m_dwError = GetLastError();
        m_strResult.Format(_T("COM%d OK."), this->m_nPort);
        LastTime = GetTimeMs();
        LastTime = GetTimemS();
        TotalSendBytes = 0; TotalRecvBytes = 0;
        LastSendBytes = 0; SendBytes = 0; RecvBytes = 0;
        LastRecvBytes = 0; SendSpeed = 0; RecvSpeed = 0;
@@ -155,7 +155,7 @@
int HvSerialPort::CalSpeed()
{
    double thistime = GetTimeMs();
    double thistime = GetTimemS();
    double diftime = thistime - LastTime;
    if (diftime >= 500)
    {
@@ -250,7 +250,7 @@
    int nRunCount = 0;
    //计算接收速度;
    int LastSpeedTime = (int)GetTimeMs();
    int LastSpeedTime = (int)GetTimemS();
    int nThisRecv = 0;
    COMSTAT cs;
MTerm2/HvSerialPort.h
@@ -2,7 +2,7 @@
class HvSerialPort
{
public:
    double GetTimeMs()
    double GetTimemS()
    {
        LARGE_INTEGER perfreq;
        LARGE_INTEGER percounter1;
@@ -64,6 +64,7 @@
    };
    ~HvSerialPort()
    {
        MyThreadProc1ToRun = 0;
        if (this->m_bOpened) { this->Close(); }
        this->hCom1 = INVALID_HANDLE_VALUE;
MTerm2/KLink.h
@@ -5,6 +5,7 @@
*/
#pragma once
#include "KDefine.h"
#include "HvSerialPort.h"
#include <functional>
class KLink
{
@@ -15,6 +16,7 @@
public:
    KLink();
    virtual ~KLink();
    HvSerialPort m_SerialPort;
#define TYPECOIL 0x00
#define TYPEDATA 0x80
    enum enKLCoilTypes
MTerm2/MTerm2.rc
Binary files differ
MTerm2/MTerm2CommDevView.cpp
@@ -138,8 +138,8 @@
//    ON_BN_CLICKED(IDC_BUTTON_CLEAR_STAT, &CMTerm2CommDevView::OnBnClickedButtonClearStat)
//    ON_BN_CLICKED(IDC_BUTTON_READ, &CMTerm2CommDevView::OnBnClickedButtonRead)
//    ON_BN_CLICKED(IDC_BUTTON11, &CMTerm2CommDevView::OnBnClickedButton11)
//    ON_BN_CLICKED(IDC_BUTTON12, &CMTerm2CommDevView::OnBnClickedButton12)
//    ON_BN_CLICKED(IDC_BUTTON13, &CMTerm2CommDevView::OnBnClickedButton13)
    ON_BN_CLICKED(IDC_BUTTON12, &CMTerm2CommDevView::OnBnClickedButton12)
    ON_BN_CLICKED(IDC_BUTTON13, &CMTerm2CommDevView::OnBnClickedButton13)
END_MESSAGE_MAP()
@@ -989,7 +989,7 @@
        ///*
        //WY
        if (nStep == 1)
        if (nStep == 0)
        {
            DataType = pDoc->MyKLink1.KLDataTypeWY;
            DCount = 16;
@@ -1009,7 +1009,7 @@
        }
        ///*
        //WR
        if (nStep==2)
        if (nStep==0)
        {
            DataType = pDoc->MyKLink1.KLDataTypeWR;
            DCount = 32;
@@ -1028,7 +1028,7 @@
        }
        //*/
        //DT
        if (nStep == 3)
        if (nStep == 1)
        {
            DataType = pDoc->MyKLink1.KLDataTypeDT;
            DCount = 96;
@@ -1048,9 +1048,9 @@
        }
        int ByteAddr = 0;
        //SDT
        if (nStep >= 4 && nStep <= 7)
        if (nStep >= 2 && nStep <= 4)
        {
            int nBlock = nStep - 4;
            int nBlock = nStep - 2;
            DataType = pDoc->MyKLink1.KLDataTypeSDT;
            ByteAddr = nBlock * 128;
            DCount = 128;
@@ -1071,7 +1071,7 @@
        nStep++;
//        if (nStep == 2) { nStep = 3; }
        if (nStep > 7) { nStep = 0; }
        if (nStep > 4) { nStep = 0; }
        if (nThisFailCount == 0)
        {
            MonitorSuccessCount++;
@@ -2098,5 +2098,12 @@
    int r = pDoc->myHvSerialPort1.Close();
    s1.Format(_T("%d %s"), r, pDoc->myHvSerialPort1.m_strResult);
    SysLog(s1);
    double REPO_RATE(0.0);
    REPO_RATE = _tstof(_T(""));
    s1.Format(_T("RAPO_RATE = %f \n"), REPO_RATE);
    SysLog(s1);
}
MTerm2/MTerm2Doc.cpp
@@ -27,6 +27,8 @@
#include <propkey.h>
#include "CDialogCommSet1.h"
#include "CDialogStatusShow.h"
#include "HvSerialPort.h"
#include <functional>
@@ -122,9 +124,6 @@
    {OP_MUL,"MUL",3,KLParamWord,"X"},
    {OP_DIV,"DIV",3,KLParamWord,"/"},
};
int CMTerm2Doc::nOpDefCount = sizeof(CMTerm2Doc::OpDef) / sizeof(stOpDef);
@@ -150,8 +149,11 @@
    ON_COMMAND(ID_MENU_SHOW_CONSOLE, &CMTerm2Doc::OnMenuShowConsole)
    ON_COMMAND(ID_MENU_COMM_TEST, &CMTerm2Doc::OnMenuCommTest)
    ON_COMMAND(ID_SIMULATE, &CMTerm2Doc::OnSimulate)
    ON_UPDATE_COMMAND_UI(ID_SIMULATE, &CMTerm2Doc::OnUpdateSimulate)
    ON_COMMAND(ID_MENU_STATUS_SHOW, &CMTerm2Doc::OnMenuStatusShow)
END_MESSAGE_MAP()
@@ -163,7 +165,7 @@
    MyKLink1.SetSendCallBackFunc(std::bind(&CMTerm2Doc::SendPacket, this, std::placeholders::_1, std::placeholders::_2));
    MyKLink1.SetRecvCallBackFunc(std::bind(&CMTerm2Doc::RecvPacket, this, std::placeholders::_1, std::placeholders::_2));
    StartTime = myHvSerialPort1.GetTimeMs();
    StartTime = myHvSerialPort1.GetTimemS();
}
CMTerm2Doc::~CMTerm2Doc()
@@ -1912,12 +1914,25 @@
void CMTerm2Doc::OnTimer(UINT_PTR nIDEvent)
{
    CString s1;
//    s1.Format(_T("Doc::OntTimer"));
//    SysLog(s1);
    if (m_bSimulate && m_bPlcRunning)
    {
        //ProcessPLCProg(Progs, m_nProgSteps);
        myKMachine1.ProcPLC();
        // update PLC Stat
    }
}
void CMTerm2Doc::OnMenuStatusShow()
{
    // TODO: 在此添加命令处理程序代码
    CDialogStatusShow dialog1;
    INT_PTR r = dialog1.DoModal();
    if (r == IDOK)
    {
    }
}
MTerm2/MTerm2Doc.h
@@ -277,4 +277,5 @@
    int AddMonitorData(int nDataType, int nDataAddr, int nDataCount);
    int ClearMonitor();
    int DoPLCMonitor(); 
    afx_msg void OnMenuStatusShow();
};
MTerm2/MainFrm.cpp
@@ -78,7 +78,7 @@
        return -1;      // 未能创建
    }
    ///*
    ///*   输入栏
    if (!m_wndToolBar_InputShow.CreateEx(this, TBSTYLE_FLAT,
        WS_CHILD | WS_VISIBLE | CBRS_BOTTOM | CBRS_FLOAT_MULTI | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC,
        CRect(1, 1, 1, 1), IDW_TOOL_BAR2) ||
MTerm2/resource.h
@@ -393,6 +393,12 @@
#define ID_BUTTON33068                  33068
#define ID_33069                        33069
#define ID_SIMULATE                     33070
#define ID_MENU_STATUS_SHOW             33073
#define ID_PLC_INFO_DISPLAY             33074
#define ID_PLC_INFO_SHOW                33075
#define ID_MENU_DATA_MON                33076
#define ID_MENU_COIL_MON                33077
#define ID_MENU_PLC_INFO_SHOW           33078
#define ID_INDICATOR_SEL_TYPE           59135
#define ID_INDICATOR_MACHINE_TYPE       59142
#define ID_INDICATOR_PROGRAM_POS        59143
@@ -407,7 +413,7 @@
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE        336
#define _APS_NEXT_COMMAND_VALUE         33073
#define _APS_NEXT_COMMAND_VALUE         33079
#define _APS_NEXT_CONTROL_VALUE         1016
#define _APS_NEXT_SYMED_VALUE           317
#endif