C#写的组态软件--简单版


1.简单的C#组态软件, 2.实现自画控件,BUTTON ,SET ,RST ,ON_OFF, INVERT , 3.实现,自定义协议
资源截图
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Threading;
using FreeSCADA.Common;
using FreeSCADA.Interfaces;

namespace FreeSCADA.Archiver
{
public class ArchiverMain
{
ChannelsSettings channelSettings = new ChannelsSettings();
DatabaseSettings databaseSettings = new DatabaseSettings();
DbWriter dbWriter;
        DbReader dbReader;
Thread channelUpdaterThread;

#region Initialization and singleton implementation

static ArchiverMain instance;

public static void Initialize()
{
if (instance == null)
instance = new ArchiverMain();
}
        
public static void Deinitialize()
{
instance = null;
}

public static ArchiverMain Current
{
get
{
if (instance == null)
throw new System.NullReferenceException();

return instance;
}
}

ArchiverMain()
{
Env.Current.Project.ProjectLoaded += new System.EventHandler(OnProjectLoaded);
Env.Current.Project.ProjectClosed += new System.EventHandler(OnProjectClosed);

OnProjectLoaded(Env.Current.Project new System.EventArgs());

if (Env.Current.Mode == EnvironmentMode.Designer)
{
ICommandContext context = Env.Current.Commands.GetPredefinedContext(PredefinedContexts.Project);
Env.Current.Commands.AddCommand(context new PropertyCommand());
}
}

#endregion

void OnProjectClosed(object sender System.EventArgs e)
{
channelSettings.Clear();
}

void OnProjectLoaded(object sender System.EventArgs e)
{
databaseSettings.Load();
channelSettings.Load();
}

public ChannelsSettings ChannelsSettings
{
get
{
return channelSettings;
}
}

public DatabaseSettings DatabaseSettings
{
get
{
return databaseSettings;
}
}

public bool IsRunning
{
get { return channelUpdaterThread != null; }
}

private static void ChannelUpdaterThreadProc(object obj)
{
ArchiverMain self = (ArchiverMain)obj;

try
{
for (; ; )
{
//System.Console.WriteLine(“{0} ChannelUpdaterThreadProc: Start loop“ System.DateTime.Now);
foreach (Rule rule in self.channelSettings.Rules)
{
if (rule.Enable)
{
foreach (baseCondition cond in rule.Conditions)
cond.Process();

if (rule.Archive)
self.dbWriter.WriteChannels(rule.Channels);
}
}
Thread.Sleep(100);
}
}
catch (ThreadAbortException)
{
}

if (self.dbWriter != null)
self.dbWriter.Close();
}

public bool Start()
{
dbWriter = new DbWriter();
if (dbWriter.Open() == false)
return false;

channelUpdaterThread = new Thread(new ParameterizedThreadStart(ChannelUpdaterThreadProc));
channelUpdaterThread.Start(this);

            dbReader = new DbReader();
            if (dbReader.Open() == false)
                return false;

return IsRunn

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

    .......   1822720  2010-10-28 00:52  12343rdParty#SNMPBrowser.exe

    .......      6544  2010-10-28 00:52  12343rdParty#SNMPBrowser.exe.config

    .......   1724416  2010-10-28 00:52  12343rdParty#SNMPCompiler.exe

    .......      4678  2010-10-28 00:52  12343rdParty#SNMPCompiler.exe.config

    .......     61440  2010-10-28 00:52  12343rdParty#SNMPCrad.Windows.Forms.Actions.dll

    .......   1985871  2010-10-28 00:38  12343rdParty#SNMPHelpDocumentation.chm

    .......      1274  2010-10-28 00:38  12343rdParty#SNMPHelpDocumentation.HxC

    .......   1390312  2010-10-28 00:38  12343rdParty#SNMPHelpDocumentation.HxS

    .......       246  2010-10-28 00:38  12343rdParty#SNMPHelpDocumentation.HxT

    .......       120  2010-10-28 00:38  12343rdParty#SNMPHelpDocumentation_A.HxK

    .......       120  2010-10-28 00:38  12343rdParty#SNMPHelpDocumentation_B.HxK

    .......       120  2010-10-28 00:38  12343rdParty#SNMPHelpDocumentation_F.HxK

    .......       156  2010-10-28 00:38  12343rdParty#SNMPHelpDocumentation_K.HxK

    .......       132  2010-10-28 00:38  12343rdParty#SNMPHelpDocumentation_NamedURLIndex.HxK

    .......       120  2010-10-28 00:38  12343rdParty#SNMPHelpDocumentation_S.HxK

    .......    190464  2010-10-28 00:38  12343rdParty#SNMPHelpH2Reg.exe

    .......      1600  2010-10-28 00:38  12343rdParty#SNMPHelpH2Reg.ini

    .......      5520  2010-10-28 00:38  12343rdParty#SNMPHelpH2Reg_Log.txt

    .......     76680  2010-10-28 00:52  12343rdParty#SNMPMicrosoft.Practices.objectBuilder2.dll

    .......     52104  2010-10-28 00:52  12343rdParty#SNMPMicrosoft.Practices.Unity.Configuration.dll

    .......     76680  2010-10-28 00:52  12343rdParty#SNMPMicrosoft.Practices.Unity.dll

    .......        57  2010-10-28 00:52  12343rdParty#SNMPmodulesindex

    .......        14  2010-10-28 00:52  12343rdParty#SNMPmodulesSNMPV2-CONF.module

    .......      5606  2010-10-28 00:52  12343rdParty#SNMPmodulesSNMPV2-MIB.module

    .......      1119  2010-10-28 00:52  12343rdParty#SNMPmodulesSNMPV2-SMI.module

    .......        14  2010-10-28 00:52  12343rdParty#SNMPmodulesSNMPV2-TC.module

    .......       667  2010-10-28 00:52  12343rdParty#SNMPmodulesSNMPV2-TM.module

    .......     90112  2010-10-28 00:52  12343rdParty#SNMPsharpsnmplib.cf35.dll

    .......    306688  2010-10-28 00:52  12343rdParty#SNMPsharpsnmplib.cf35.pdb

    .......     40960  2010-10-28 00:52  12343rdParty#SNMPSharpSnmpLib.Controls.dll

............此处省略1579个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)