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

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

?? mod_rssimdlg.cpp

?? 用于開發(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一区二区三区免费野_久草精品视频
亚洲五码中文字幕| 极品少妇xxxx精品少妇| 成人黄色av电影| 国产精品久久毛片| 久久国产福利国产秒拍| 日韩亚洲欧美一区二区三区| 午夜精品视频一区| 国产精品视频免费看| 色婷婷国产精品久久包臀| 亚洲免费高清视频在线| 717成人午夜免费福利电影| 蜜芽一区二区三区| 欧美哺乳videos| 国产专区综合网| 中文字幕精品—区二区四季| 成人黄色在线看| 亚洲同性同志一二三专区| 欧美老肥妇做.爰bbww视频| 久久成人免费网| 中文字幕一区二区三区在线观看 | 日韩 欧美一区二区三区| 欧美巨大另类极品videosbest| 九九**精品视频免费播放| 伊人一区二区三区| 久久综合九色综合97_久久久| 一本到不卡免费一区二区| 国产成人免费在线| 亚洲chinese男男1069| 中文字幕精品在线不卡| 精品污污网站免费看| 国产成人福利片| 国产一区二区三区蝌蚪| 日韩av一二三| 亚洲精选免费视频| 久久久99免费| 国产女人18水真多18精品一级做| 日韩一级黄色大片| 91精品黄色片免费大全| 欧美性猛交xxxxxx富婆| 成人亚洲一区二区一| 日本最新不卡在线| 亚洲h在线观看| 亚洲 欧美综合在线网络| 亚洲永久免费av| 亚洲成人午夜电影| 无吗不卡中文字幕| 亚洲成人www| 五月天亚洲精品| 婷婷综合久久一区二区三区| 一区二区高清视频在线观看| 亚洲一区二区三区三| 亚洲精品国产品国语在线app| 国产精品国产a级| 亚洲免费av网站| 免费av网站大全久久| 成人污污视频在线观看| 成人福利视频在线| 精品国产在天天线2019| 欧美激情一区二区三区在线| 久久久国产精品麻豆| 日韩成人精品在线观看| 成人精品免费视频| 欧美一区二区国产| 亚洲精品久久久久久国产精华液| 久久aⅴ国产欧美74aaa| 国产在线日韩欧美| 国产精品全国免费观看高清| 亚洲日本在线看| www.亚洲人| 555www色欧美视频| 国产喷白浆一区二区三区| 亚洲男同1069视频| 国产综合一区二区| 在线观看亚洲a| 国产精品伦理一区二区| 精品美女在线播放| 精品伊人久久久久7777人| 日韩视频一区在线观看| 国产一区久久久| 国产精品乱人伦中文| 色综合久久久久综合体桃花网| 久久久美女毛片| 老司机精品视频在线| 欧美一区二区精品在线| 亚洲最大成人网4388xx| 国产很黄免费观看久久| 日韩欧美高清dvd碟片| 五月综合激情网| 欧美日韩精品免费观看视频| 亚洲色图视频免费播放| 波多野结衣中文字幕一区| 久久婷婷国产综合国色天香 | 国产校园另类小说区| 国产一区在线精品| 国产拍欧美日韩视频二区| 国产精品99久久久久久久女警| 4438x亚洲最大成人网| 亚洲色图欧洲色图婷婷| 日本道在线观看一区二区| 亚洲国产精品一区二区www| 欧美伊人久久久久久久久影院 | 成人性生交大片免费看在线播放 | 精品久久久久久无| 99麻豆久久久国产精品免费| 国产精品麻豆一区二区| 日本高清不卡aⅴ免费网站| 亚洲在线中文字幕| 7777女厕盗摄久久久| 激情av综合网| 亚洲日本va在线观看| 日韩欧美国产一区在线观看| 国产精品香蕉一区二区三区| 亚洲女与黑人做爰| 欧美一级日韩免费不卡| 色综合久久九月婷婷色综合| 午夜精品久久久久| 国产精品久久久久久久久快鸭 | 精品一区二区三区在线观看| 国产人妖乱国产精品人妖| 欧美日韩一区二区三区四区五区 | 成人黄色av电影| 久久不见久久见免费视频1| 亚洲一区二区三区视频在线播放 | 911精品国产一区二区在线| 狠狠色伊人亚洲综合成人| 无码av中文一区二区三区桃花岛| 国产精品网友自拍| 欧美主播一区二区三区美女| 狠狠色丁香九九婷婷综合五月| 一区二区三区四区在线| 久久久99精品久久| 在线播放国产精品二区一二区四区 | 在线91免费看| www.日韩av| 国产成人综合在线| 黄色日韩网站视频| 手机精品视频在线观看| 亚洲一区二区三区中文字幕在线| 久久中文字幕电影| 日韩一区和二区| 日韩一级在线观看| 91精品国产91久久久久久最新毛片| 色94色欧美sute亚洲线路二 | 丰满亚洲少妇av| 国产精品一区二区久激情瑜伽| 黑人巨大精品欧美黑白配亚洲| 久草精品在线观看| 国产乱国产乱300精品| 国产一区二区三区香蕉| 丁香天五香天堂综合| 99热99精品| 欧美日韩三级视频| 亚洲精品在线电影| 国产日韩视频一区二区三区| 久久久99精品免费观看| 一区二区三区成人| 丝袜诱惑制服诱惑色一区在线观看| 久久超碰97中文字幕| 视频一区视频二区在线观看| 美腿丝袜亚洲综合| 国产91丝袜在线18| 欧美在线观看一区| 久久久午夜电影| 亚洲午夜久久久久| 国产米奇在线777精品观看| 成人综合婷婷国产精品久久蜜臀 | av中文字幕亚洲| 精品国精品国产| 亚洲线精品一区二区三区八戒| 丝袜亚洲另类欧美| 成人精品免费视频| 91精品免费在线| 亚洲欧美日韩在线| 国产福利不卡视频| 日韩一区二区三区电影在线观看 | 亚洲成a人片综合在线| 国产精品99久久久久久似苏梦涵| 欧美性视频一区二区三区| 中文字幕精品在线不卡| 六月丁香婷婷久久| 欧美精三区欧美精三区| 日韩理论电影院| 国产成人免费xxxxxxxx| 26uuu欧美| 韩国女主播成人在线观看| 91精品一区二区三区久久久久久| 亚洲欧美激情在线| 成人app软件下载大全免费| 国产欧美精品国产国产专区| 久久超碰97人人做人人爱| 91精品婷婷国产综合久久| 亚洲国产一区视频| 精品污污网站免费看| 午夜精品福利一区二区蜜股av| 91黄色在线观看| 亚洲在线观看免费视频| 91看片淫黄大片一级在线观看| 国产精品麻豆视频| av爱爱亚洲一区| 亚洲资源在线观看|