亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? mod_rssimdlg.cpp

?? 用于開(kāi)發(fā)Modbus工業(yè)級(jí)通信
?? CPP
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
/////////////////////////////////////////////////////////////////////////////
//
// FILE; MOD_simDlg.cpp ; implementation file
//
// See "_README.CPP"
//
// Fixes: Tranparency
//        Activity ticks repainting cut down, reduced CPU load& flicker
// Added: Tooltips & Toolbar
//
/////////////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "MOD_Rssim.h"
#include "MOD_RSsimDlg.h"
#include "ServerSettings232Dlg.h"
#include "ServerSettingsEthDlg.h"
#include "AnimationSettings.h"
#include "FaultsDlg.h"
#include "resource.h"
#include "Creditstatic.h"
#include "about.h"
#include "TrainingSimDlg.h"
#include "ABCommsProcessor.h"
#include "JoySCCEmulation.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

#define LOADREGMSGSTRING   "LOADREGISTERS"
#define DEMOSECONDS        (60*30)     // 30 minutes

const UINT    wm_LoadRegisters = RegisterWindowMessage( LOADREGMSGSTRING );

WORD PLCMemPrefixes[MAX_MOD_MEMTYPES] =
{
   0, // outputs
   1, // in
   3, // analogs
   4, // registers
   6, // ext. registers
   
};

CHAR * PLCMemoryTypes[MAX_MOD_MEMTYPES] =
{
   "Coil Outputs        (00000)",// outputs
   "Digital Inputs      (10000)",// in
   "Analogue Inputs  (30000)",   // analogs
   "Holding Registers",          // registers
   "Extended Registers",         // ext. registers
   ""
};


/*
WORD PLCMemDisplayWidths[MAX_MOD_MEMTYPES] =
{
   16, // outputs        
   16, // in             
   10, // analogs        
   10, // registers      
   10, // ext. registers 
};*/

/*
BOOL PLCIsBitMemory[MAX_MOD_MEMTYPES] =
{
      TRUE,       // out
      TRUE,       // in
      FALSE,      // ana
      FALSE,      // reg
      FALSE,      // ext. reg
};*/

//WORD * PLCMemory[MAX_MOD_MEMTYPES];
CControllerMemory PLCMemory;

char * stateDescriptions [] =
{
   "Serv. starting.",   // RSPORTCURRENTLY_VOID       
   "Serv. read data.",  // RSPORTCURRENTLY_READING    
   "Serv. write data.", // RSPORTCURRENTLY_WRITTING   
   "Serv. close port.", // RSPORTCURRENTLY_CLOSING    
   "Serv. opening.",    // RSPORTCURRENTLY_OPENING
   "Serv. idle."        // RSPORTCURRENTLY_IDLE
};

char * sockStateDescriptions [] =
{
   "Serv. starting.",   // SOCKETCURRENTLY_VOID         
   "Serv. listening.",  // SOCKETCURRENTLY_LISTENING    
   "Serv. read data.",  // SOCKETCURRENTLY_READING      
   "Serv. write data.", // SOCKETCURRENTLY_WRITTING     
   "Serv. closing.",    // SOCKETCURRENTLY_CLOSING   
   "Serv. idle."        // SOCKETCURRENTLY_IDLE      
};

DWORD PLCDataFormatsTable[] =
{
   CMemoryEditorList::VIEWFORMAT_DECIMAL,
   CMemoryEditorList::VIEWFORMAT_HEX,
   CMemoryEditorList::VIEWFORMAT_WORD,
   CMemoryEditorList::VIEWFORMAT_DWORD,
   CMemoryEditorList::VIEWFORMAT_LONG,
   CMemoryEditorList::VIEWFORMAT_FLOAT
};

extern CHAR * ViewerFormatNames[6];
 
void ShowRegistrationMessage()
{
   AfxMessageBox("This is a fully functional version of MOD-SIM, but without a key\nit stops after 30 minutes.\n\nTo obtain a key, see the help-about window!");
}

/////////////////////////////////////////////////////////////////////////////
// CMOD_simDlg dialog

CMOD_simDlg::CMOD_simDlg(CWnd* pParent /*=NULL*/)
: CDialog(CMOD_simDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CMOD_simDlg)
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIconMB = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
	m_hIconETH = AfxGetApp()->LoadIcon(IDR_MAINZETH);
	m_hIconDF1 = AfxGetApp()->LoadIcon(IDR_MAINZDF1);
	m_hIconJOY = AfxGetApp()->LoadIcon(IDR_MAINJOY);

   m_registeredOK = FALSE;
   m_registrationTimerStart = GetTickCount();
   m_demoPeriodEnded = FALSE;

 	EnableAutomation();
   m_scriptEngineInitilized = FALSE;
   m_reloadAnimationScript = TRUE;
   m_lastRuntime = -1;

   m_PacketsReceived = m_PacketsSent = 0;
   m_portActivityRX = m_portActivityTX = 0;

   m_loadedProtocol = m_selectedProtocol = PROTOCOL_SELNONE;
   m_ServerSocketState = 0;
//   for (int i=0; i < MAX_MOD_MEMTYPES;i++)
//   {
//      PLCMemory[i] = new WORD[MAX_MOD_MEMWORDS];
//      memset(PLCMemory[i], 0, MAX_MOD_MEMWORDS * sizeof(WORD));
//   }
   m_zeroValues = FALSE;
//   m_pMemWriteSync = new CMutex();

   m_pServerRS232Array = NULL;
   m_pServerSockArray = NULL;
   m_ServerRSState = RSPORTCURRENTLY_VOID;
   m_responseDelay = 0;
   m_MOSCADchecks = FALSE;
   m_modifyThenRespond = TRUE;
   m_disableWrites = FALSE;
   m_PLCMaster = FALSE;
   m_useBCC = FALSE;

   m_autoLoad = FALSE;
   m_startAsOff = FALSE;

   m_JOYsourceStation = 20;
   m_JOYdestStation = 10;  
   m_JOYnumShields = 22;   
   m_JOYrunMode = TRUE;      
   m_JOYreadVariables = FALSE;
   m_JOYwriteVariables = TRUE;
   m_ABmasterIDLETime = 200;
   m_ABtimeoutValue = 300;


   m_stayOnTop = FALSE;

   InitializeCriticalSection(&dispCritSection);
   InitializeCriticalSection(&debuggerCritSection);
   pGlobalDialog = this;

   m_animationIncValue = 10;
   m_animationON = FALSE;
   m_plantAnimation = FALSE;
   m_animationBYTE = FALSE;
   m_animationWORD = TRUE;
   m_animationRefreshes = 5;
   m_animationCounter = m_animationRefreshes;
   m_busyCreatingServers = FALSE;
   m_animationPeriod = 5; //
   m_animationScriptFile = "";

   //m_startTime = GetTickCount();
   m_registerShow = TRUE;
   m_commsTimes = FALSE;
   m_paused = FALSE;
   m_commsTobottom = TRUE;
}

CMOD_simDlg::~CMOD_simDlg()
{

   // Free up memory used by the debugger queue if 
   // it has any un-processed messages at shutdown time.
CString *pDebugentry;
   while (!m_debugDataQueue.IsEmpty())
   {
      pDebugentry = m_debugDataQueue.RemoveHead();
      delete pDebugentry;
   }
}

// ----------------------------------- ToggleOnTop ---------------------------
// toggle the "stay on top" function.
void CMOD_simDlg::ToggleOnTop()
{
CMenu* pSysMenu = GetSystemMenu(FALSE);
DWORD state;

   state = pSysMenu->GetMenuState(IDM_ONTOP, MF_BYCOMMAND);
   pSysMenu->CheckMenuItem(IDM_ONTOP, (state&&MF_CHECKED==MF_CHECKED)? MF_UNCHECKED: MF_CHECKED);
   if (state&&MF_CHECKED==MF_CHECKED)
   { // user un-check the item
      SetWindowPos(&wndNoTopMost,0,0,0,0, SWP_NOSIZE|SWP_NOMOVE);
      m_stayOnTop = FALSE;
   } else
   {
      SetWindowPos(&wndTopMost,0,0,0,0, SWP_NOSIZE|SWP_NOMOVE);
      m_stayOnTop = TRUE;
   }
} // ToggleOnTop

// ---------------------------------- DoDataExchange ---------------------------
void CMOD_simDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CMOD_simDlg)
	DDX_Control(pDX, IDC_PROTOCOL, m_protocolCombo);
	DDX_Control(pDX, IDC_VSCROLLSTATIONS, m_vScrollBarStations);
	DDX_Control(pDX, IDC_COMMSLIST, m_commsListBox);
	DDX_Control(pDX, IDC_DATAFORMAT, m_dataFormatCombo);
	//}}AFX_DATA_MAP
}

// ----------------------------------- OnGetDefID ------------------------------
LRESULT CMOD_simDlg::OnGetDefID(WPARAM wp, LPARAM lp) 
{
   // Do not return an control ID for the default control.
   // This prevents the <ENTER> key from closing the dialog
    return MAKELONG(0,DC_HASDEFID); 
}

//
BEGIN_MESSAGE_MAP(CMOD_simDlg, CDialog)
   ON_MESSAGE(DM_GETDEFID, OnGetDefID)
	ON_WM_CONTEXTMENU()
   ON_NOTIFY_EX( TTN_NEEDTEXT, 0, OnTTN_NeedText )
	//{{AFX_MSG_MAP(CMOD_simDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_WM_TIMER()
	ON_BN_CLICKED(IDC_SETTINGS, OnSettings)
	ON_BN_CLICKED(IDC_VIEWHEX, OnViewhex)
	ON_BN_CLICKED(IDC_VIEWDEC, OnViewdec)
	ON_CBN_SELCHANGE(IDC_COMBOAREA, OnSelchangeComboArea)
	ON_BN_CLICKED(IDC_SIMULATE, OnSimulate)
	ON_BN_CLICKED(IDC_ZEROES, OnZeroes)
	ON_BN_CLICKED(IDC_LOAD, OnLoad)
	ON_BN_CLICKED(IDC_SAVE, OnSave)
	ON_WM_CLOSE()
	ON_BN_CLICKED(IDC_CLONE, OnClone)
	ON_CBN_SELCHANGE(IDC_DATAFORMAT, OnSelchangeDataFormat)
	ON_BN_CLICKED(IDS_ABOUTBOX, OnAboutboxBn)
	ON_COMMAND(IDB_ALPHABLEND, OnAlphablendFlip)
	ON_COMMAND(IDC_NOISE, OnNoise)
	ON_COMMAND(IDC_EMULATION, OnEmulation)

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区久久| 亚洲一区二区三区视频在线| 欧美国产丝袜视频| 亚洲视频1区2区| 天堂蜜桃一区二区三区| 久久97超碰色| av不卡一区二区三区| 欧美三级韩国三级日本一级| 日韩欧美中文字幕公布| 日本一区二区高清| 亚洲尤物在线视频观看| 精品一区二区久久久| 91影院在线观看| 日韩无一区二区| 国产精品国产三级国产aⅴ原创| 亚洲一区在线播放| 国产一区二区不卡在线| 在线视频国内自拍亚洲视频| 精品久久久久久最新网址| 亚洲色图另类专区| 久久精品国产第一区二区三区| 99re这里都是精品| 欧美成人激情免费网| 最新欧美精品一区二区三区| 免费黄网站欧美| 日本精品视频一区二区| 久久人人97超碰com| 亚洲美女视频在线观看| 国内久久精品视频| 欧美日韩精品系列| 亚洲特黄一级片| 狠狠色综合色综合网络| 欧美三片在线视频观看| 中文字幕一区二区三区四区| 久久99国产精品久久99| 欧美视频三区在线播放| 国产精品久久久久久一区二区三区 | 国产午夜精品理论片a级大结局| 一区二区三区久久| 国产精品亚洲第一| 欧美裸体bbwbbwbbw| 中文字幕不卡在线播放| 美女任你摸久久| 欧美日韩黄视频| 亚洲免费高清视频在线| 国产成人免费在线观看| 欧美精品色综合| 亚洲一二三四区| 成人免费福利片| 国产丝袜在线精品| 老司机精品视频在线| 欧美日韩精品欧美日韩精品| 亚洲免费在线看| 风流少妇一区二区| 久久久精品日韩欧美| 久久精品国产一区二区三区免费看| 欧美视频在线一区二区三区| 亚洲欧美日韩国产另类专区| av午夜精品一区二区三区| 国产亚洲一区二区三区四区| 国产一区二区精品久久| 精品国产精品网麻豆系列| 日本伊人午夜精品| 欧美精品九九99久久| 性做久久久久久久免费看| 欧美做爰猛烈大尺度电影无法无天| 国产精品青草综合久久久久99| 国产精品香蕉一区二区三区| 久久久久久久综合日本| 国产一区 二区| 久久亚区不卡日本| 国产99久久久精品| 国产精品欧美一级免费| 成人黄色在线视频| 综合久久一区二区三区| 色网站国产精品| 亚洲一区自拍偷拍| 欧美色窝79yyyycom| 午夜视频一区二区三区| 51精品国自产在线| 美女视频黄免费的久久| www激情久久| 成人小视频在线| 亚洲日本一区二区三区| 在线观看不卡视频| 天天综合日日夜夜精品| 亚洲人成7777| 亚洲丝袜另类动漫二区| voyeur盗摄精品| 亚洲天堂成人网| 日韩和欧美的一区| 在线观看欧美黄色| 国产精品久久久久久久久快鸭| www.激情成人| 在线视频观看一区| 极品美女销魂一区二区三区免费| 国产精品电影一区二区| 91麻豆精品国产自产在线| 成人中文字幕在线| 青娱乐精品视频| 亚洲三级在线看| 精品嫩草影院久久| 91在线porny国产在线看| 美国三级日本三级久久99| 亚洲欧洲av在线| 日韩欧美国产wwwww| 在线视频国内一区二区| 国产精品主播直播| 日韩精品五月天| 亚洲色图20p| 久久久久9999亚洲精品| 69堂国产成人免费视频| 91蜜桃在线免费视频| 国模冰冰炮一区二区| 亚洲一区二区三区视频在线播放| 中文久久乱码一区二区| 日韩欧美国产一区在线观看| 色狠狠综合天天综合综合| 国产精品 欧美精品| 蜜臀av一区二区三区| 亚洲综合免费观看高清完整版| 国产精品欧美久久久久无广告 | 亚洲主播在线观看| 久久精品视频在线看| 欧美一区二区在线观看| 91小视频免费看| 国产成人午夜精品5599| 麻豆国产欧美一区二区三区| 亚洲成人你懂的| 亚洲精品一二三| 亚洲国产精品av| xfplay精品久久| 日韩精品一区二区三区swag | 成人免费视频播放| 激情五月激情综合网| 日韩精品亚洲专区| 午夜激情一区二区三区| 亚洲激情图片一区| 综合久久一区二区三区| 国产精品毛片久久久久久| 久久久久久一级片| 2017欧美狠狠色| 欧美成人激情免费网| 欧美一二三区在线| 欧美一区二区三区在线| 91精品国产品国语在线不卡 | 成人高清视频免费观看| 国产成人午夜高潮毛片| 国产高清久久久| 国产福利不卡视频| 国产露脸91国语对白| 国产高清精品网站| 国产成人午夜精品5599| 国产91高潮流白浆在线麻豆| 国产精品影音先锋| 国产一区二区三区久久久 | 亚洲国产精品人人做人人爽| 一区二区三区四区五区视频在线观看 | 91麻豆国产福利在线观看| 不卡的电影网站| 色综合久久88色综合天天6| 91麻豆高清视频| 91激情在线视频| 欧美精品久久一区二区三区| 69堂国产成人免费视频| 91精品国产麻豆| 欧美不卡视频一区| 精品久久人人做人人爰| 国产婷婷色一区二区三区| 国产精品三级av在线播放| 中文字幕亚洲一区二区av在线| 亚洲人吸女人奶水| 亚洲综合在线视频| 肉色丝袜一区二区| 久久精品免费观看| 国产精品伊人色| 不卡欧美aaaaa| 欧美无砖砖区免费| 欧美一区二区精品在线| 欧美一区二区三区性视频| 久久久噜噜噜久久中文字幕色伊伊| 国产女同性恋一区二区| 亚洲日本在线视频观看| 午夜一区二区三区视频| 毛片av中文字幕一区二区| 国产麻豆成人传媒免费观看| bt欧美亚洲午夜电影天堂| 欧美在线视频不卡| 精品久久久久久久久久久久久久久| 久久久不卡影院| 亚洲另类春色校园小说| 日韩精品每日更新| 国产成人av电影| 在线观看免费成人| 日韩视频免费观看高清完整版| 国产欧美日韩三区| 亚洲国产一区在线观看| 久久99精品国产.久久久久久| av一区二区不卡| 欧美一区二区视频在线观看2020 |