Initial commit: Wonderware / System Platform tools and reference
Five tools under one repo, all docs organized per DOCS-GUIDE.md: - aalogcli: .NET 4.8 / x86 CliFx CLI for reading System Platform binary logs (*.aaLGX) for LLM debugging, built on aaOpenSource/aaLog. Commands: last, tail, range, unread, fields. Stable JSON envelope under --llm-json. Build template under lib/build/ for rebuilding aaLogReader.dll. - aot: ArchestrA Object Toolkit 2014 v4.0 reference material. Dev guide (Markdown converted from CHM), API reference for the ArchestrA.Toolkit namespace, and the Monitor / Watchdog VS sample solutions. - graccesscli: .NET 4.8 / x86 CliFx CLI that automates Galaxy configuration via the ArchestrA GRAccess COM interop. Includes session daemon, IPC protocol, and llm-json envelope contract. - grdb: SQL/DDL exploration of the Galaxy Repository database. DDL captures, reusable queries, hierarchy / contained-name <-> tag-name translation notes. - histdb: LLM-oriented reference for AVEVA Historian retrieval. INSQL linked-server, extension tables, every wwXxx time-domain extension, every retrieval mode, alarm/event SQL recipes, REST API. Distilled from the 243-page Historian Retrieval Guide. Root contains: - CLAUDE.md: thin index pointing into each tool's README. - DOCS-GUIDE.md: doctrine for organizing docs for LLM consumption. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// Copyright (C) 2008 Invensys Systems Inc. All rights reserved.
|
||||
//
|
||||
// THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
|
||||
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
||||
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
|
||||
// PARTICULAR PURPOSE.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("StatsConfigtime")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("ArchestrA")]
|
||||
[assembly: AssemblyProduct("Configtime")]
|
||||
[assembly: AssemblyCopyright("Copyright © Wonderware 2006")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(true)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("f413d64a-8d99-4e96-ac2b-77a673299ac5")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.1.0.0")]
|
||||
@@ -0,0 +1,302 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// Copyright (C) 2008 Invensys Systems Inc. All rights reserved.
|
||||
//
|
||||
// THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
|
||||
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
||||
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
|
||||
// PARTICULAR PURPOSE.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
using ArchestrA.Core;
|
||||
using ArchestrA.Toolkit;
|
||||
|
||||
namespace ArchestrA.Toolkit.Watchdog
|
||||
{
|
||||
[Guid("057251b9-4dfa-4216-80ae-0981f7bc63e9")]
|
||||
/// <summary>
|
||||
/// Summary description for WatchdogConfigtime
|
||||
/// </summary>
|
||||
public class StatsConfigtime : ConfigtimeBase
|
||||
{
|
||||
#region Attributes - Toolkit generated code
|
||||
// The following C# properties have been defined to simplify access to
|
||||
// attribute values - do not modify the contents of this region with
|
||||
// the code editor.
|
||||
private bool TimeoutCnt_Historized
|
||||
{
|
||||
get { return GetValue("TimeoutCnt.Historized"); }
|
||||
set { SetValue("TimeoutCnt.Historized", (value)); }
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endregion Attributes
|
||||
|
||||
#region Internal Reference Only
|
||||
//Toolkit code required to access the attributes declared in the Object Class
|
||||
private Stats InternalReferenceOnly = null;
|
||||
#endregion Internal Reference Only
|
||||
|
||||
#region Declarations
|
||||
//Declare Configtime Class Variables here.
|
||||
//Variables declared in this region are available to all methods
|
||||
//in the Configtime Class.
|
||||
|
||||
|
||||
#endregion Declarations
|
||||
|
||||
public StatsConfigtime()
|
||||
{
|
||||
InternalReferenceOnly = new Stats();
|
||||
this.AObjectInstance = InternalReferenceOnly;
|
||||
|
||||
#region Configuration Event Registration - Toolkit generated code
|
||||
// Required region for Configuration Events - do not modify
|
||||
// the contents of this region with the code editor.
|
||||
this.ConfigtimeInitialize += new ConfigtimeInitializeDelegate(StatsConfigtime_ConfigtimeInitialize);
|
||||
this.ConfigtimeValidate += new ConfigtimeValidateDelegate(StatsConfigtime_ConfigtimeValidate);
|
||||
this.ConfigtimeMigrate += new MigrateDelegate(StatsConfigtime_ConfigtimeMigrate);
|
||||
this.ConfigtimeDynamic += new ConfigtimeDynamicSetHandlerDelegate(StatsConfigtime_ConfigtimeDynamic);
|
||||
this.PreValidate += new ObjectEventDelegate(StatsConfigtime_PreValidate);
|
||||
this.PostCreate += new ObjectEventDelegate(StatsConfigtime_PostCreate);
|
||||
#endregion Configuration Event Registration
|
||||
|
||||
#region Configtime Set Handler Registration – Toolkit generated code
|
||||
// Required method for Configtime SetHandlers.
|
||||
// Changes made using the code editor will appear in the Toolkit Editor.
|
||||
//
|
||||
// WARNING: Changes made to this region will result in a Shape Change.
|
||||
|
||||
|
||||
// TODO: Configtime SetHandler registration
|
||||
// this.RegisterConfigtimeSetHandler("Example_001", new ConfigtimeSetHandlerDelegate(Example_001SetHandler));
|
||||
this.RegisterConfigtimeSetHandler("TimeoutCnt.Historized", new ConfigtimeSetHandlerDelegate(TimeoutCnt_HistorizedSetHandler));
|
||||
#endregion Configtime Set Handler Registration
|
||||
|
||||
#region Primitive Wrapper Initialization - Toolkit generated code
|
||||
#endregion Primitive Wrapper Initialization
|
||||
|
||||
}
|
||||
|
||||
private void StatsConfigtime_ConfigtimeInitialize(object sender)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - Initialize
|
||||
//
|
||||
// Any custom initialization can be done here, including caching of attribute
|
||||
// values, primitive IDs etc.
|
||||
//------------------------------------------------------------------------------
|
||||
}
|
||||
|
||||
private void StatsConfigtime_ConfigtimeMigrate(object sender, ref MigrateHandler migrate)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - Migrate
|
||||
//
|
||||
// Migrate executes when importing a template into a Galaxy that contains
|
||||
// a previous version (major) of the template. The template must be derived or
|
||||
// instantiated for migrate to execute.
|
||||
//
|
||||
// Migrate provides access to the previous versions attribute information.
|
||||
// A typical application for migrate code is to preserve attribute values
|
||||
// when an attribute name has changed (refer to the Example code below).
|
||||
//
|
||||
// To enable this event the migrate option must be configured via the Toolkit
|
||||
// Editor or in code (i.e. [ObjectAttributes.AMigrate("1","2")]).
|
||||
//
|
||||
// If no implementation is provided, the system will copy all attribute values
|
||||
// from the old object to the new one by matching the attribute names.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#region Example code
|
||||
// //Check major version of previous template
|
||||
// if (migrate.MajorVersion() == 1)
|
||||
// {
|
||||
// //Attribute "Eg_001" has been renamed to "Example_001".
|
||||
// //Transfer attribute value, lock and security classification
|
||||
// Example_001 = migrate.GetValue("Eg_001"); //Gets value
|
||||
// Example_001.Locked = migrate.GetLocked("Eg_001"); //Gets lock status
|
||||
// Example_001.Security = migrate.GetSecurity("Eg_001"); //Gets Security Classification
|
||||
//
|
||||
// //Transfer primitive values
|
||||
// SetValue("Example_001.TrendHi", migrate.GetValue("Eg_001.TrendHi"));
|
||||
// SetValue("Example_001.TrendHi", EATTRIBUTEPROPERTY.idxAttribPropLocked, migrate.GetLocked("Eg_001.TrendHi"));
|
||||
//
|
||||
// //Automatically migrate all child primitives
|
||||
// migrate.AutoMigrateChildPrimitives = true;
|
||||
// }
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
private void StatsConfigtime_ConfigtimeValidate(object sender, ref EPACKAGESTATUS status)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - Validate
|
||||
//
|
||||
// Validate sets the warning or error text for the object.
|
||||
// It is used to check conditions that would not be checked using
|
||||
// a SetHandler, such as reporting that an object was not
|
||||
// configured, or that combinations of attributes are illegal.
|
||||
//
|
||||
// Other than calling AddWarningMessage or AddErrorMessage, Validate
|
||||
// should never modify the state of the object.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#region Example code
|
||||
// if (MyTestDefaultState)
|
||||
// {
|
||||
// //Add a warning message using the dictionay phrase ID "ObjectStillInDefaultState"
|
||||
// AddWarningMessage(GetText("ObjectStillInDefaultState"));
|
||||
//
|
||||
// //Change the status to Warning if the current status is Good
|
||||
// if (status == EPACKAGESTATUS.ePackageGood)
|
||||
// {
|
||||
// status = EPACKAGESTATUS.ePackageWarning;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if (MyTestAttributeCombinationValid)
|
||||
// {
|
||||
// //Add a warning message using the dictionay phrase ID "AttributeCombinationInvalid"
|
||||
// AddWarningMessage(GetText("AttributeCombinationInvalid"));
|
||||
//
|
||||
// // Change the status to Warning if the current status is Good
|
||||
// if (status == EPACKAGESTATUS.ePackageGood)
|
||||
// {
|
||||
// status = EPACKAGESTATUS.ePackageWarning;
|
||||
// }
|
||||
// }
|
||||
#endregion
|
||||
|
||||
// By default set the object status to Good
|
||||
status = EPACKAGESTATUS.ePackageGood;
|
||||
|
||||
|
||||
// The following statement will exit validate when validating templates.
|
||||
// Place code that should be validated in templates and instances before this
|
||||
// statement. Code placed after this statement will execute in instances only.
|
||||
if (IsTemplate)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
private void StatsConfigtime_ConfigtimeDynamic(object sender, ref ConfigtimeSetHandlerEventArgs e)
|
||||
{
|
||||
|
||||
string attrName = Get(e.attributeHandle.shAttributeId, e.attributeHandle.shPrimitiveId, EATTRIBUTEPROPERTY.idxAttribPropName);
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - Dynamic Set Handler
|
||||
//
|
||||
// Implement set handler code for any dynamic attributes you create with set handlers
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#region Example
|
||||
// if (attrName == "MyDynamic")
|
||||
// {
|
||||
// if (e.Value > 10)
|
||||
// {
|
||||
// LogWarning(string.Format("value for {0} must be less or equal to 10", attrName));
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// SetValue(attrName, e.Value);
|
||||
// }
|
||||
//
|
||||
//
|
||||
// return;
|
||||
// }
|
||||
#endregion
|
||||
|
||||
// if unhandled a warning is shown as a reminder
|
||||
SetValue(e.attributeHandle.shAttributeId, e.attributeHandle.shPrimitiveId, e.Value);
|
||||
LogWarning(string.Format("Uknown set handler for attribute '{0}'", attrName));
|
||||
|
||||
}
|
||||
|
||||
private void StatsConfigtime_PostCreate(object sender, object optionalParameter)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - PostCreate
|
||||
//
|
||||
// OnPostCreate is called when an object is first created.
|
||||
//
|
||||
// One purpose for implementing this method is to insure that the initial
|
||||
// state of the primitive is valid.
|
||||
//
|
||||
// This method can be used by a Resuable Primitive to correct invalid initial
|
||||
// states that can arise when an attribute value has been overridden. If the
|
||||
// attribute has a SetHandler with validation or side effects the SetHandler
|
||||
// does not execute as overrides do not trigger SetHandlers.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#region Example code
|
||||
// // If statistics are enabled, add the Statistics virtual primitive
|
||||
// // the way the SetHandler would have done it.
|
||||
// if (StatsEnable)
|
||||
// {
|
||||
// AddPrimitive("Statistics", "Statistics1", "Statistics1");
|
||||
// }
|
||||
#endregion
|
||||
}
|
||||
|
||||
private void StatsConfigtime_PreValidate(object sender, object optionalParameter)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - PreValidate
|
||||
//
|
||||
// PreValidate is called when the object is about to be validated (e.g. when
|
||||
// an edit session is ending and the object is about to be saved.)
|
||||
//
|
||||
// A primitive can modify attributes within this method.
|
||||
//
|
||||
// Note: It is often not necessary to perform any actions in OnPreValidate.
|
||||
//------------------------------------------------------------------------------
|
||||
}
|
||||
|
||||
private void TimeoutCnt_HistorizedSetHandler(object sender, ref ConfigtimeSetHandlerEventArgs e)
|
||||
{
|
||||
// Required Set Handler for Virtual History Primtive.
|
||||
// Do not modify this Set Handler via the code editor.
|
||||
//
|
||||
// WARNING: Changes made to this Set Handler will be overwritten by the code generator.
|
||||
|
||||
if (TimeoutCnt_Historized == e.Value)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.Value)
|
||||
{
|
||||
if (!AddPrimitive("TimeoutCntHistory", "TimeoutCntHistory1", "TimeoutCnt"))
|
||||
{
|
||||
e.Message = PrimitiveResult.message;
|
||||
return; // Add failed
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!DeletePrimitive("TimeoutCntHistory1"))
|
||||
{
|
||||
e.Message = PrimitiveResult.message;
|
||||
return; // Remove Failed failed
|
||||
}
|
||||
}
|
||||
|
||||
TimeoutCnt_Historized = e.Value;
|
||||
}
|
||||
|
||||
//TODO: Configtime SetHandler declaration
|
||||
//private void Example_001SetHandler(object sender, ref ConfigtimeSetHandlerEventArgs e)
|
||||
//{
|
||||
// Example_001 = e.Value;
|
||||
//}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,132 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.21022</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{63437254-FEDA-404A-8FCB-B2036ED949CB}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>ArchestrA.Toolkit.Watchdog</RootNamespace>
|
||||
<AssemblyName>WatchDogStatsConfigtime1</AssemblyName>
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<AssemblyOriginatorKeyFile>..\..\Watchdog.snk</AssemblyOriginatorKeyFile>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="ArchestrA.Toolkit.ArchestrAObjectSupport, Version=4.0.0.0, Culture=neutral, PublicKeyToken=f787e550f2f530ee, processorArchitecture=MSI">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Program Files\Archestra\Toolkits\AOT\bin\ArchestrA.Toolkit.ArchestrAObjectSupport.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="ArchestrA.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=23106a86e706d0ae">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Program Files\Archestra\Toolkits\AOT\bin\ArchestrA.Core.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="StatsConfigtime.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Service Include="{94E38DFF-614B-4cbd-B67C-F211BB35CE8B}" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Statsobj\Statsobj.csproj">
|
||||
<Project>{A7BA2304-935A-4DDD-80CC-E6387B2980E6}</Project>
|
||||
<Name>Statsobj</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\Watchdog.snk">
|
||||
<Link>Watchdog.snk</Link>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 2.0 %28x86%29</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.0 %28x86%29</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
<PreBuildEvent>
|
||||
</PreBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,44 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// Copyright (C) 2008 Invensys Systems Inc. All rights reserved.
|
||||
//
|
||||
// THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
|
||||
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
||||
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
|
||||
// PARTICULAR PURPOSE.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("StatsRuntime")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("ArchestrA")]
|
||||
[assembly: AssemblyProduct("Runtime")]
|
||||
[assembly: AssemblyCopyright("Copyright © Wonderware 2006")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(true)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("1e5f4d65-4d90-4529-896f-3a72ddc8052b")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.1.0.0")]
|
||||
@@ -0,0 +1,329 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// Copyright (C) 2008 Invensys Systems Inc. All rights reserved.
|
||||
//
|
||||
// THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
|
||||
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
||||
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
|
||||
// PARTICULAR PURPOSE.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
using ArchestrA.Core;
|
||||
using ArchestrA.Toolkit;
|
||||
|
||||
namespace ArchestrA.Toolkit.Watchdog
|
||||
{
|
||||
[Guid("85ca8612-8c40-4e51-b8b5-8588f2af5e59")]
|
||||
/// <summary>
|
||||
/// Summary description for Watchdog
|
||||
/// </summary>
|
||||
public class StatsRuntime : RuntimeBase
|
||||
{
|
||||
#region Attributes - Toolkit generated code
|
||||
// The following C# properties have been defined to simplify access to
|
||||
// attribute values - do not modify the contents of this region with
|
||||
// the code editor.
|
||||
private CMxTime LastTimeout
|
||||
{
|
||||
get { return InternalReferenceOnly.LastTimeout; }
|
||||
set { InternalReferenceOnly.LastTimeout.Set(value); }
|
||||
}
|
||||
|
||||
private CMxInteger TimeoutCnt
|
||||
{
|
||||
get { return InternalReferenceOnly.TimeoutCnt; }
|
||||
set { InternalReferenceOnly.TimeoutCnt.Set(value); }
|
||||
}
|
||||
|
||||
private CMxBoolean Reset
|
||||
{
|
||||
get { return InternalReferenceOnly.Reset; }
|
||||
set { InternalReferenceOnly.Reset.Set(value); }
|
||||
}
|
||||
|
||||
private CMxElapsedTime DelayMax
|
||||
{
|
||||
get { return InternalReferenceOnly.DelayMax; }
|
||||
set { InternalReferenceOnly.DelayMax.Set(value); }
|
||||
}
|
||||
|
||||
private CMxElapsedTime DelayAverage
|
||||
{
|
||||
get { return InternalReferenceOnly.DelayAverage; }
|
||||
set { InternalReferenceOnly.DelayAverage.Set(value); }
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endregion Attributes
|
||||
|
||||
#region Internal Reference Only
|
||||
//Toolkit code required to access the attributes declared in the Object Class
|
||||
private Stats InternalReferenceOnly = null;
|
||||
#endregion Internal Reference Only
|
||||
|
||||
#region Declarations
|
||||
//Declare Runtime Class Variables here.
|
||||
//Variables declared in this region are available to all methods
|
||||
//in the Runtime Class.
|
||||
|
||||
bool m_PreviousTimeoutCondition;
|
||||
TimeSpan m_PreviousTimeSinceChange;
|
||||
TimeSpan m_DelayTotal;
|
||||
long m_ChangeDetectedCount;
|
||||
|
||||
#endregion Declarations
|
||||
|
||||
|
||||
public StatsRuntime()
|
||||
{
|
||||
InternalReferenceOnly = new Stats();
|
||||
this.AObjectInstance = InternalReferenceOnly;
|
||||
|
||||
#region Runtime Event Registration - Toolkit generated code
|
||||
// Required region for Runtime Events - do not modify
|
||||
// the contents of this region with the code editor.
|
||||
base.RuntimeGetStatusDesc += new RuntimeGetStatusDescDelegate(StatsRuntime_RuntimeGetStatusDesc);
|
||||
base.RuntimeSetScanState += new RuntimeSetScanStateDelegate(StatsRuntime_RuntimeSetScanState);
|
||||
base.RuntimeExecute += new RuntimeExecuteDelegate(StatsRuntime_RuntimeExecute);
|
||||
base.RuntimeShutdown += new RuntimeShutdownDelegate(StatsRuntime_RuntimeShutdown);
|
||||
base.RuntimeStartup += new RuntimeStartupDelegate(StatsRuntime_RuntimeStartup);
|
||||
base.RuntimeDynamic += new RuntimeDynamicSetHandlerDelegate(StatsRuntime_RuntimeDynamic);
|
||||
base.RuntimeInitialize += new RuntimeInitializeDelegate(StatsRuntime_RuntimeInitialize);
|
||||
#endregion Runtime Event Registration
|
||||
|
||||
#region Runtime Set Handler Registration – Toolkit generated code
|
||||
// Required method for Runtime SetHandlers.
|
||||
// Changes made using the code editor will appear in the Toolkit Editor.
|
||||
//
|
||||
// WARNING: Changes made to this region will result in a Shape Change.
|
||||
|
||||
// TODO: Runtime SetHandler registration
|
||||
this.RegisterRuntimeSetHandler("Reset", new RuntimeSetHandlerDelegate(ResetSetHandler));
|
||||
#endregion Runtime Set Handler Registration
|
||||
|
||||
#region Primitive Wrapper Initialization - Toolkit generated code
|
||||
#endregion Primitive Wrapper Initialization
|
||||
|
||||
#region Primitive Advise only Activate Registration - Toolkit generated code
|
||||
#endregion Primitive Advise only Activate Initialization
|
||||
}
|
||||
|
||||
private void StatsRuntime_RuntimeInitialize(object sender)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Runtime - Initialize
|
||||
//
|
||||
// Do not read or write attribute values of this primitive during Initialize
|
||||
//------------------------------------------------------------------------------
|
||||
}
|
||||
|
||||
private void StatsRuntime_RuntimeExecute(object sender)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Runtime - Execute
|
||||
//
|
||||
// This is where the main logic of the object periodically executes when
|
||||
// the object is on scan.
|
||||
//
|
||||
// Read or write the attributes of this primitive using the generated
|
||||
// properties (Value, Quality).
|
||||
//------------------------------------------------------------------------------
|
||||
#region Example code
|
||||
// // The lines below both increment the value of the attribute "Attribute1" by 1
|
||||
// Example_001 ++;
|
||||
// Example_001 = Example_001 + 1;
|
||||
//
|
||||
// //Example_001 quality is set to Bad on Condition_001 being true.
|
||||
// Example_001.Quality = (Condition_001 ? DataQuality.DataQualityBad : DataQuality.DataQualityGood);
|
||||
//
|
||||
// // The attribute "ElapsedTime" contains the time elapsed since the last reset
|
||||
// ElapsedTime = GetScanTime() - TimeOfLastReset;
|
||||
//
|
||||
// // Increment the 3rd element of an array
|
||||
// FloatArray[3] ++;
|
||||
//
|
||||
// // Increment all the elements of an array
|
||||
// for( short counter = 1; counter <= FloatArray.Length; counter ++)
|
||||
// {
|
||||
// FloatArray[counter] ++;
|
||||
// }
|
||||
#endregion
|
||||
|
||||
bool CurrentTimeoutCondition;
|
||||
GetBoolean("myparent.Timeout", out CurrentTimeoutCondition);
|
||||
if (!m_PreviousTimeoutCondition && CurrentTimeoutCondition)
|
||||
{
|
||||
TimeoutCnt++;
|
||||
LastTimeout = GetScanTime();
|
||||
}
|
||||
|
||||
//Compute the average delay by maintaining a sum/count of all the time elapsed between input changes,
|
||||
//(since the last reset) and dividing by the number input changes detected
|
||||
//
|
||||
TimeSpan CurrentTimeSinceChange;
|
||||
GetElapsedTime("myparent.TimeSinceChange", out CurrentTimeSinceChange);
|
||||
if (CurrentTimeSinceChange.Ticks == 0) //The input just changed
|
||||
{
|
||||
m_DelayTotal = m_DelayTotal + m_PreviousTimeSinceChange;
|
||||
DelayAverage = new TimeSpan(m_DelayTotal.Ticks / ++m_ChangeDetectedCount);
|
||||
}
|
||||
|
||||
//Compute the maximum delay
|
||||
if (CurrentTimeSinceChange > DelayMax)
|
||||
{
|
||||
DelayMax = CurrentTimeSinceChange;
|
||||
}
|
||||
|
||||
//Save these values for tests made during the next scan (see above)
|
||||
m_PreviousTimeoutCondition = CurrentTimeoutCondition;
|
||||
m_PreviousTimeSinceChange = CurrentTimeSinceChange;
|
||||
}
|
||||
|
||||
private void StatsRuntime_RuntimeShutdown(object sender)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Runtime Event - Shutdown
|
||||
//
|
||||
// Clean up dynamic allocation, release open resources, etc.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
// Activate marked attributes before shutting down
|
||||
AdviseOnlyActivateAttributes();
|
||||
}
|
||||
|
||||
private void StatsRuntime_RuntimeStartup(object sender, RuntimeStartupEventArgs e)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Runtime Event - Startup
|
||||
//
|
||||
// Cache attributes. Cache Primitive IDs of other known primitives.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
// RestoreDynamicAttributes will recreate the Dynamic Attributes and restore the check pointed
|
||||
// values during failover startup. The Failover Support for Dynamic Attributes option must
|
||||
// be enabled via the Object Editor to support this function. To maintain the
|
||||
// Dynamic Attribute values the CheckpointDynamicAttributeData function must be called
|
||||
// when Dynamic Attribute values are modified (refer to the Dynamic Attribute Set Handler).
|
||||
|
||||
//RestoreDynamicAttributes();
|
||||
|
||||
// Execute offscan code to initialize the object in its offscan state.
|
||||
SetScanState(false);
|
||||
|
||||
// Suspend marked attributes at startup
|
||||
AdviseOnlySuspendAttributes();
|
||||
}
|
||||
|
||||
|
||||
private void AdviseOnlySuspendAttributes()
|
||||
{
|
||||
// Required Method for Advise only Active.
|
||||
// Do not modify this method via the code editor.
|
||||
//
|
||||
// WARNING: Changes made to this method will be overwritten by the code generator.
|
||||
|
||||
if (AdviseOnlyActiveEnabled)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
private void AdviseOnlyActivateAttributes()
|
||||
{
|
||||
// Required Method for Advise only Active.
|
||||
// Do not modify this method via the code editor.
|
||||
//
|
||||
// WARNING: Changes made to this method will be overwritten by the code generator.
|
||||
|
||||
if (AdviseOnlyActiveEnabled)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void StatsRuntime_RuntimeSetScanState(object sender, RuntimeSetScanStateEventArgs e)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Runtime Event - SetScanState
|
||||
//
|
||||
// Perform actions when the object goes on or off scan.
|
||||
//------------------------------------------------------------------------------
|
||||
}
|
||||
|
||||
private void StatsRuntime_RuntimeGetStatusDesc(object sender, ref RuntimeGetStatusDescEventArgs e)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Runtime Event - GetStatusDesc
|
||||
//
|
||||
// This routine provides a String for an error code when a client requests it.
|
||||
// By default this method looks for an entry in the dictionary that has the
|
||||
// DetailedErrorCode as the PhraseID.
|
||||
//
|
||||
// You need to change this implmentation if you want to provide embedded values
|
||||
// within your messages, or you want to use string PhraseIDs instead of integer
|
||||
// PhraseIDs.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
switch (e.detailedErrorCode)
|
||||
{
|
||||
default:
|
||||
e.status = GetText((int)e.detailedErrorCode);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void StatsRuntime_RuntimeDynamic(object sender, ref RuntimeSetHandlerEventArgs e)
|
||||
{
|
||||
string attrName = Get(e.attributeHandle.shAttributeId, e.attributeHandle.shPrimitiveId, EATTRIBUTEPROPERTY.idxAttribPropName);
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Runtime Event - Dynamic Set Handler
|
||||
//
|
||||
// Implement set handler code for any dynamic attributes you create with set handlers
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
// CheckpointDynamicAttributeData will update the checkpoint values for all Dynamic Attributes.
|
||||
// To recreate Dynamic Attributes and restore Dynamic Attribute values the RestoreDynamicAttributes
|
||||
// function must be called when starting up from failover (refer to the Startup method).
|
||||
|
||||
//CheckpointDynamicAttributeData();
|
||||
|
||||
#region Example
|
||||
// if (attrName == "MyDynamic")
|
||||
// {
|
||||
// if (e.Value > 10)
|
||||
// {
|
||||
// LogWarning(string.Format("value for {0} must be less or equal to 10", attrName));
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// SetValue(attrName, e.Value);
|
||||
// }
|
||||
//
|
||||
//
|
||||
// return;
|
||||
// }
|
||||
#endregion
|
||||
|
||||
// if unhandled a warning is shown as a reminder
|
||||
SetValue(e.attributeHandle.shAttributeId, e.attributeHandle.shPrimitiveId, e.Value);
|
||||
LogWarning(string.Format("Uknown set handler for attribute '{0}'", attrName));
|
||||
|
||||
}
|
||||
|
||||
private void ResetSetHandler(object sender, ref RuntimeSetHandlerEventArgs e)
|
||||
{
|
||||
|
||||
TimeoutCnt = 0;
|
||||
LastTimeout = DateTime.MinValue;
|
||||
DelayAverage = new TimeSpan(0);
|
||||
DelayMax = new TimeSpan(0);
|
||||
|
||||
m_ChangeDetectedCount = 0;
|
||||
m_DelayTotal = new TimeSpan(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,132 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.21022</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{7E2D944C-A637-451B-A66D-E7861F1D4CBE}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>ArchestrA.Toolkit.Watchdog</RootNamespace>
|
||||
<AssemblyName>WatchDogStatsRuntime1</AssemblyName>
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<AssemblyOriginatorKeyFile>..\..\Watchdog.snk</AssemblyOriginatorKeyFile>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="ArchestrA.Toolkit.ArchestrAObjectSupport, Version=4.0.0.0, Culture=neutral, PublicKeyToken=f787e550f2f530ee, processorArchitecture=MSI">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Program Files\Archestra\Toolkits\AOT\bin\ArchestrA.Toolkit.ArchestrAObjectSupport.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="ArchestrA.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=23106a86e706d0ae">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Program Files\Archestra\Toolkits\AOT\bin\ArchestrA.Core.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="StatsRuntime.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Service Include="{94E38DFF-614B-4cbd-B67C-F211BB35CE8B}" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Statsobj\Statsobj.csproj">
|
||||
<Project>{A7BA2304-935A-4DDD-80CC-E6387B2980E6}</Project>
|
||||
<Name>Statsobj</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\Watchdog.snk">
|
||||
<Link>Watchdog.snk</Link>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 2.0 %28x86%29</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.0 %28x86%29</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
<PreBuildEvent>
|
||||
</PreBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,45 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// Copyright (C) 2008 Invensys Systems Inc. All rights reserved.
|
||||
//
|
||||
// THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
|
||||
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
||||
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
|
||||
// PARTICULAR PURPOSE.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("Stats")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("ArchestrA")]
|
||||
[assembly: AssemblyProduct("Stats")]
|
||||
[assembly: AssemblyCopyright("Copyright © Wonderware 2006")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(true)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("ef0c77fe-c73f-4d03-b50f-dc94d84e0a44")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.1.0.0")]
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// Copyright (C) 2008 Invensys Systems Inc. All rights reserved.
|
||||
//
|
||||
// THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
|
||||
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
||||
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
|
||||
// PARTICULAR PURPOSE.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
using ArchestrA.Core;
|
||||
using ArchestrA.Toolkit;
|
||||
|
||||
namespace ArchestrA.Toolkit.Watchdog
|
||||
{
|
||||
#region Object Information - Toolkit generated code
|
||||
// Required region for Object Information - do not modify
|
||||
// the contents of this region with the code editor.
|
||||
[APrimitive()]
|
||||
[Guid("78ce58a4-b80a-4a1e-a9b1-d8b5a4e8233c")]
|
||||
[ObjectAttributes.ExecutionGroup("Custom 2")]
|
||||
[ObjectAttributes.Dictionary(@"WatchDog1.aaDCT")]
|
||||
[ObjectAttributes.Vendor("ArchestrA")]
|
||||
[ObjectAttributes.ConfigtimeCLSID("057251b9-4dfa-4216-80ae-0981f7bc63e9")]
|
||||
[ObjectAttributes.RuntimeCLSID("85ca8612-8c40-4e51-b8b5-8588f2af5e59")]
|
||||
[ObjectAttributes.MajorVersion(1)]
|
||||
[ObjectAttributes.FullName("WatchDogStats")]
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// Summary description for Stats
|
||||
/// </summary>
|
||||
public class Stats : APrimitiveBase
|
||||
{
|
||||
[Attributes.AAttrCategory(MxAttributeCategory.MxCategoryCalculated)]
|
||||
public CMxElapsedTime DelayMax = new CMxElapsedTime();
|
||||
|
||||
[Attributes.AAttrSecurityClassification(MxSecurityClassification.MxSecurityOperate)]
|
||||
[Attributes.AAttrCategory(MxAttributeCategory.MxCategoryWriteable_U)]
|
||||
public CMxBoolean Reset = new CMxBoolean();
|
||||
|
||||
[Attributes.AAttrCategory(MxAttributeCategory.MxCategoryCalculated)]
|
||||
public CMxElapsedTime DelayAverage = new CMxElapsedTime();
|
||||
|
||||
[Attributes.AAttrCategory(MxAttributeCategory.MxCategoryCalculated)]
|
||||
public CMxTime LastTimeout = new CMxTime();
|
||||
|
||||
[SystemPrimitive.HistoryPrimitive.AttrOverride("TimeoutCntHistory", SystemPrimitive.HistoryPrimitive.EngineeringUnits, "LockStatus", true)]
|
||||
[SystemPrimitive.HistoryPrimitive("TimeoutCntHistory", Common.SystemPrimitive.ExtensionMode.VirtualEnable)]
|
||||
[Attributes.AAttrCategory(MxAttributeCategory.MxCategoryCalculated)]
|
||||
public CMxInteger TimeoutCnt = new CMxInteger();
|
||||
|
||||
// required to allow the aaDEF file to be generated
|
||||
public Stats()
|
||||
{
|
||||
}
|
||||
|
||||
// required to use the child primitive as an attribute in an object
|
||||
public Stats(string _name, bool _virt)
|
||||
: base(_name, _virt)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,123 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.21022</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{A7BA2304-935A-4DDD-80CC-E6387B2980E6}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>ArchestrA.Toolkit.Watchdog</RootNamespace>
|
||||
<AssemblyName>WatchDogStats1</AssemblyName>
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<AssemblyOriginatorKeyFile>..\..\Watchdog.snk</AssemblyOriginatorKeyFile>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="ArchestrA.Toolkit.ArchestrAObjectSupport, Version=4.0.0.0, Culture=neutral, PublicKeyToken=f787e550f2f530ee, processorArchitecture=MSI">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Program Files\Archestra\Toolkits\AOT\bin\ArchestrA.Toolkit.ArchestrAObjectSupport.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="ArchestrA.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=23106a86e706d0ae">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Program Files\Archestra\Toolkits\AOT\bin\ArchestrA.Core.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Stats.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\Watchdog.snk">
|
||||
<Link>Watchdog.snk</Link>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 2.0 %28x86%29</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.0 %28x86%29</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
<PreBuildEvent>
|
||||
</PreBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,63 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 2012
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Stats", "Stats", "{6D3152B2-421E-466D-8329-09A231689461}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Watchdog", "Watchdog\Watchdog.csproj", "{0E30645D-B574-41BF-B302-64FEE3C8208A}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WatchdogRuntime", "WatchdogRuntime\WatchdogRuntime.csproj", "{FCAA2DA3-97F2-4C42-BB09-6729738D6872}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WatchdogConfigtime", "WatchdogConfigtime\WatchdogConfigtime.csproj", "{9C114E5F-13AC-4864-8301-4D3B422D075F}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WatchdogEditor", "WatchdogEditor\WatchdogEditor.csproj", "{B2B3A624-324D-47B1-956D-94B48B7140A6}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Statsobj", "Stats\Statsobj\Statsobj.csproj", "{A7BA2304-935A-4DDD-80CC-E6387B2980E6}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StatsConfigtime", "Stats\StatsConfigtime\StatsConfigtime.csproj", "{63437254-FEDA-404A-8FCB-B2036ED949CB}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StatsRuntime", "Stats\StatsRuntime\StatsRuntime.csproj", "{7E2D944C-A637-451B-A66D-E7861F1D4CBE}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{0E30645D-B574-41BF-B302-64FEE3C8208A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0E30645D-B574-41BF-B302-64FEE3C8208A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0E30645D-B574-41BF-B302-64FEE3C8208A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0E30645D-B574-41BF-B302-64FEE3C8208A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{FCAA2DA3-97F2-4C42-BB09-6729738D6872}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{FCAA2DA3-97F2-4C42-BB09-6729738D6872}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{FCAA2DA3-97F2-4C42-BB09-6729738D6872}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{FCAA2DA3-97F2-4C42-BB09-6729738D6872}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{9C114E5F-13AC-4864-8301-4D3B422D075F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{9C114E5F-13AC-4864-8301-4D3B422D075F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{9C114E5F-13AC-4864-8301-4D3B422D075F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{9C114E5F-13AC-4864-8301-4D3B422D075F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{B2B3A624-324D-47B1-956D-94B48B7140A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{B2B3A624-324D-47B1-956D-94B48B7140A6}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{B2B3A624-324D-47B1-956D-94B48B7140A6}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{B2B3A624-324D-47B1-956D-94B48B7140A6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{A7BA2304-935A-4DDD-80CC-E6387B2980E6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{A7BA2304-935A-4DDD-80CC-E6387B2980E6}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{A7BA2304-935A-4DDD-80CC-E6387B2980E6}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A7BA2304-935A-4DDD-80CC-E6387B2980E6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{63437254-FEDA-404A-8FCB-B2036ED949CB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{63437254-FEDA-404A-8FCB-B2036ED949CB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{63437254-FEDA-404A-8FCB-B2036ED949CB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{63437254-FEDA-404A-8FCB-B2036ED949CB}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7E2D944C-A637-451B-A66D-E7861F1D4CBE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7E2D944C-A637-451B-A66D-E7861F1D4CBE}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7E2D944C-A637-451B-A66D-E7861F1D4CBE}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7E2D944C-A637-451B-A66D-E7861F1D4CBE}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{A7BA2304-935A-4DDD-80CC-E6387B2980E6} = {6D3152B2-421E-466D-8329-09A231689461}
|
||||
{63437254-FEDA-404A-8FCB-B2036ED949CB} = {6D3152B2-421E-466D-8329-09A231689461}
|
||||
{7E2D944C-A637-451B-A66D-E7861F1D4CBE} = {6D3152B2-421E-466D-8329-09A231689461}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
Binary file not shown.
@@ -0,0 +1,784 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xml>
|
||||
<version>1</version>
|
||||
<CCData>
|
||||
<RTSODEC><![CDATA[ #region Declarations
|
||||
//Declare Runtime Class Variables here.
|
||||
//Variables declared in this region are available to all methods
|
||||
//in the Runtime Class.
|
||||
|
||||
|
||||
]]></RTSODEC>
|
||||
<RTSOGetStatusDesc><![CDATA[ //------------------------------------------------------------------------------
|
||||
// TODO: Runtime Event - GetStatusDesc
|
||||
//
|
||||
// This routine provides a String for an error code when a client requests it.
|
||||
// By default this method looks for an entry in the dictionary that has the
|
||||
// DetailedErrorCode as the PhraseID.
|
||||
//
|
||||
// You need to change this implmentation if you want to provide embedded values
|
||||
// within your messages, or you want to use string PhraseIDs instead of integer
|
||||
// PhraseIDs.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
switch (e.detailedErrorCode)
|
||||
{
|
||||
default:
|
||||
e.status = GetText((int)e.detailedErrorCode);
|
||||
break;
|
||||
}
|
||||
]]></RTSOGetStatusDesc>
|
||||
<RTSOSetScanState><![CDATA[ //------------------------------------------------------------------------------
|
||||
// TODO: Runtime Event - SetScanState
|
||||
//
|
||||
// Perform actions when the object goes on or off scan.
|
||||
//------------------------------------------------------------------------------
|
||||
]]></RTSOSetScanState>
|
||||
<RTSOInitialize><![CDATA[ //------------------------------------------------------------------------------
|
||||
// TODO: Runtime - Initialize
|
||||
//
|
||||
// Do not read or write attribute values of this primitive during Initialize
|
||||
//------------------------------------------------------------------------------
|
||||
]]></RTSOInitialize>
|
||||
<RTSOExecute><![CDATA[ //------------------------------------------------------------------------------
|
||||
// TODO: Runtime - Execute
|
||||
//
|
||||
// This is where the main logic of the object periodically executes when
|
||||
// the object is on scan.
|
||||
//
|
||||
// Read or write the attributes of this primitive using the generated
|
||||
// properties (Value, Quality).
|
||||
//------------------------------------------------------------------------------
|
||||
#region Example code
|
||||
// // The lines below both increment the value of the attribute "Attribute1" by 1
|
||||
// Example_001 ++;
|
||||
// Example_001 = Example_001 + 1;
|
||||
//
|
||||
// //Example_001 quality is set to Bad on Condition_001 being true.
|
||||
// Example_001.Quality = (Condition_001 ? DataQuality.DataQualityBad : DataQuality.DataQualityGood);
|
||||
//
|
||||
// // The attribute "ElapsedTime" contains the time elapsed since the last reset
|
||||
// ElapsedTime = GetScanTime() - TimeOfLastReset;
|
||||
//
|
||||
// // Increment the 3rd element of an array
|
||||
// FloatArray[3] ++;
|
||||
//
|
||||
// // Increment all the elements of an array
|
||||
// for( short counter = 1; counter <= FloatArray.Length; counter ++)
|
||||
// {
|
||||
// FloatArray[counter] ++;
|
||||
// }
|
||||
#endregion
|
||||
]]></RTSOExecute>
|
||||
<RTSODynamic_Attributes_Set_Handler><![CDATA[
|
||||
string attrName = Get(e.attributeHandle.shAttributeId, e.attributeHandle.shPrimitiveId, EATTRIBUTEPROPERTY.idxAttribPropName);
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Runtime Event - Dynamic Set Handler
|
||||
//
|
||||
// Implement set handler code for any dynamic attributes you create with set handlers
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
// CheckpointDynamicAttributeData will update the checkpoint values for all Dynamic Attributes.
|
||||
// To recreate Dynamic Attributes and restore Dynamic Attribute values the RestoreDynamicAttributes
|
||||
// function must be called when starting up from failover (refer to the Startup method).
|
||||
|
||||
//CheckpointDynamicAttributeData();
|
||||
|
||||
#region Example
|
||||
// if (attrName == "MyDynamic")
|
||||
// {
|
||||
// if (e.Value > 10)
|
||||
// {
|
||||
// LogWarning(string.Format("value for {0} must be less or equal to 10", attrName));
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// SetValue(attrName, e.Value);
|
||||
// }
|
||||
//
|
||||
//
|
||||
// return;
|
||||
// }
|
||||
#endregion
|
||||
|
||||
// if unhandled a warning is shown as a reminder
|
||||
Set(e.attributeHandle.shAttributeId, e.attributeHandle.shPrimitiveId, e.Value);
|
||||
LogWarning(string.Format("Uknown set handler for attribute '{0}'", attrName));
|
||||
|
||||
]]></RTSODynamic_Attributes_Set_Handler>
|
||||
<CTSODEC><![CDATA[ #region Declarations
|
||||
//Declare Configtime Class Variables here.
|
||||
//Variables declared in this region are available to all methods
|
||||
//in the Configtime Class.
|
||||
|
||||
|
||||
]]></CTSODEC>
|
||||
<CTSOValidate><![CDATA[ //------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - Validate
|
||||
//
|
||||
// Validate sets the warning or error text for the object.
|
||||
// It is used to check conditions that would not be checked using
|
||||
// a SetHandler, such as reporting that an object was not
|
||||
// configured, or that combinations of attributes are illegal.
|
||||
//
|
||||
// Other than calling AddWarningMessage or AddErrorMessage, Validate
|
||||
// should never modify the state of the object.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#region Example code
|
||||
// if (MyTestDefaultState)
|
||||
// {
|
||||
// //Add a warning message using the dictionay phrase ID "ObjectStillInDefaultState"
|
||||
// AddWarningMessage(GetText("ObjectStillInDefaultState"));
|
||||
//
|
||||
// //Change the status to Warning if the current status is Good
|
||||
// if (status == EPACKAGESTATUS.ePackageGood)
|
||||
// {
|
||||
// status = EPACKAGESTATUS.ePackageWarning;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if (MyTestAttributeCombinationValid)
|
||||
// {
|
||||
// //Add a warning message using the dictionay phrase ID "AttributeCombinationInvalid"
|
||||
// AddWarningMessage(GetText("AttributeCombinationInvalid"));
|
||||
//
|
||||
// // Change the status to Warning if the current status is Good
|
||||
// if (status == EPACKAGESTATUS.ePackageGood)
|
||||
// {
|
||||
// status = EPACKAGESTATUS.ePackageWarning;
|
||||
// }
|
||||
// }
|
||||
#endregion
|
||||
|
||||
// By default set the object status to Good
|
||||
status = EPACKAGESTATUS.ePackageGood;
|
||||
|
||||
|
||||
// The following statement will exit validate when validating templates.
|
||||
// Place code that should be validated in templates and instances before this
|
||||
// statement. Code placed after this statement will execute in instances only.
|
||||
if ((bool)Get((short)ECOMMONPRIMITIVE.idxCommonIsTemplate, eCommonPrimitiveId))
|
||||
{
|
||||
return;
|
||||
}
|
||||
]]></CTSOValidate>
|
||||
<CTSOInitialize><![CDATA[ //------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - Initialize
|
||||
//
|
||||
// Any custom initialization can be done here, including caching of attribute
|
||||
// values, primitive IDs etc.
|
||||
//------------------------------------------------------------------------------
|
||||
]]></CTSOInitialize>
|
||||
<CTSOMigrate><![CDATA[ //------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - Migrate
|
||||
//
|
||||
// Migrate executes when importing a template into a Galaxy that contains
|
||||
// a previous version (major) of the template. The template must be derived or
|
||||
// instantiated for migrate to execute.
|
||||
//
|
||||
// Migrate provides access to the previous versions attribute information.
|
||||
// A typical application for migrate code is to preserve attribute values
|
||||
// when an attribute name has changed (refer to the Example code below).
|
||||
//
|
||||
// To enable this event the migrate option must be configured via the Toolkit
|
||||
// Editor or in code (i.e. [ObjectAttributes.AMigrate("1","2")]).
|
||||
//
|
||||
// If no implementation is provided, the system will copy all attribute values
|
||||
// from the old object to the new one by matching the attribute names.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#region Example code
|
||||
// //Check major version of previous template
|
||||
// if (migrate.MajorVersion() == 1)
|
||||
// {
|
||||
// //Attribute "Eg_001" has been renamed to "Example_001".
|
||||
// //Transfer attribute value, lock and security classification
|
||||
// Example_001 = migrate.GetValue("Eg_001"); //Gets value
|
||||
// Example_001.Locked = migrate.GetLocked("Eg_001"); //Gets lock status
|
||||
// Example_001.Security = migrate.GetSecurity("Eg_001"); //Gets Security Classification
|
||||
//
|
||||
// //Transfer primitive values
|
||||
// SetValue("Example_001.TrendHi", migrate.GetValue("Eg_001.TrendHi"));
|
||||
// SetValue("Example_001.TrendHi", EATTRIBUTEPROPERTY.idxAttribPropLocked, migrate.GetLocked("Eg_001.TrendHi"));
|
||||
//
|
||||
// //Automatically migrate all child primitives
|
||||
// migrate.AutoMigrateChildPrimitives = true;
|
||||
// }
|
||||
|
||||
#endregion
|
||||
]]></CTSOMigrate>
|
||||
<CTSOPreValidate><![CDATA[ //------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - PreValidate
|
||||
//
|
||||
// PreValidate is called when the object is about to be validated (e.g. when
|
||||
// an edit session is ending and the object is about to be saved.)
|
||||
//
|
||||
// A primitive can modify attributes within this method.
|
||||
//
|
||||
// Note: It is often not necessary to perform any actions in OnPreValidate.
|
||||
//------------------------------------------------------------------------------
|
||||
]]></CTSOPreValidate>
|
||||
<CTSOPostCreate><![CDATA[ //------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - PostCreate
|
||||
//
|
||||
// OnPostCreate is called when an object is first created.
|
||||
//
|
||||
// One purpose for implementing this method is to insure that the initial
|
||||
// state of the primitive is valid.
|
||||
//
|
||||
// This method can be used by a Resuable Primitive to correct invalid initial
|
||||
// states that can arise when an attribute value has been overridden. If the
|
||||
// attribute has a SetHandler with validation or side effects the SetHandler
|
||||
// does not execute as overrides do not trigger SetHandlers.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#region Example code
|
||||
// // If statistics are enabled, add the Statistics virtual primitive
|
||||
// // the way the SetHandler would have done it.
|
||||
// if (StatsEnable)
|
||||
// {
|
||||
// AddPrimitive("Statistics", "Statistics1", "Statistics1");
|
||||
// }
|
||||
#endregion
|
||||
]]></CTSOPostCreate>
|
||||
<CTSODynamic_Attributes_Set_Handler><![CDATA[
|
||||
string attrName = Get(e.attributeHandle.shAttributeId, e.attributeHandle.shPrimitiveId, EATTRIBUTEPROPERTY.idxAttribPropName);
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - Dynamic Set Handler
|
||||
//
|
||||
// Implement set handler code for any dynamic attributes you create with set handlers
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#region Example
|
||||
// if (attrName == "MyDynamic")
|
||||
// {
|
||||
// if (e.Value > 10)
|
||||
// {
|
||||
// LogWarning(string.Format("value for {0} must be less or equal to 10", attrName));
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// SetValue(attrName, e.Value);
|
||||
// }
|
||||
//
|
||||
//
|
||||
// return;
|
||||
// }
|
||||
#endregion
|
||||
|
||||
// if unhandled a warning is shown as a reminder
|
||||
Set(e.attributeHandle.shAttributeId, e.attributeHandle.shPrimitiveId, e.Value);
|
||||
LogWarning(string.Format("Uknown set handler for attribute '{0}'", attrName));
|
||||
|
||||
]]></CTSODynamic_Attributes_Set_Handler>
|
||||
<RTSCDEC><![CDATA[ #region Declarations
|
||||
//Declare Runtime Class Variables here.
|
||||
//Variables declared in this region are available to all methods
|
||||
//in the Runtime Class.
|
||||
|
||||
|
||||
]]></RTSCDEC>
|
||||
<RTSCGetStatusDesc><![CDATA[ //------------------------------------------------------------------------------
|
||||
// TODO: Runtime Event - GetStatusDesc
|
||||
//
|
||||
// This routine provides a String for an error code when a client requests it.
|
||||
// By default this method looks for an entry in the dictionary that has the
|
||||
// DetailedErrorCode as the PhraseID.
|
||||
//
|
||||
// You need to change this implmentation if you want to provide embedded values
|
||||
// within your messages, or you want to use string PhraseIDs instead of integer
|
||||
// PhraseIDs.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
switch (e.detailedErrorCode)
|
||||
{
|
||||
default:
|
||||
e.status = GetText((int)e.detailedErrorCode);
|
||||
break;
|
||||
}
|
||||
]]></RTSCGetStatusDesc>
|
||||
<RTSCSetScanState><![CDATA[ //------------------------------------------------------------------------------
|
||||
// TODO: Runtime Event - SetScanState
|
||||
//
|
||||
// Perform actions when the object goes on or off scan.
|
||||
//------------------------------------------------------------------------------
|
||||
]]></RTSCSetScanState>
|
||||
<RTSCInitialize><![CDATA[ //------------------------------------------------------------------------------
|
||||
// TODO: Runtime - Initialize
|
||||
//
|
||||
// Do not read or write attribute values of this primitive during Initialize
|
||||
//------------------------------------------------------------------------------
|
||||
]]></RTSCInitialize>
|
||||
<RTSCExecute><![CDATA[ //------------------------------------------------------------------------------
|
||||
// TODO: Runtime - Execute
|
||||
//
|
||||
// This is where the main logic of the object periodically executes when
|
||||
// the object is on scan.
|
||||
//
|
||||
// Read or write the attributes of this primitive using the generated
|
||||
// properties (Value, Quality).
|
||||
//------------------------------------------------------------------------------
|
||||
#region Example code
|
||||
// // The lines below both increment the value of the attribute "Attribute1" by 1
|
||||
// Example_001 ++;
|
||||
// Example_001 = Example_001 + 1;
|
||||
//
|
||||
// //Example_001 quality is set to Bad on Condition_001 being true.
|
||||
// Example_001.Quality = (Condition_001 ? DataQuality.DataQualityBad : DataQuality.DataQualityGood);
|
||||
//
|
||||
// // The attribute "ElapsedTime" contains the time elapsed since the last reset
|
||||
// ElapsedTime = GetScanTime() - TimeOfLastReset;
|
||||
//
|
||||
// // Increment the 3rd element of an array
|
||||
// FloatArray[3] ++;
|
||||
//
|
||||
// // Increment all the elements of an array
|
||||
// for( short counter = 1; counter <= FloatArray.Length; counter ++)
|
||||
// {
|
||||
// FloatArray[counter] ++;
|
||||
// }
|
||||
#endregion
|
||||
]]></RTSCExecute>
|
||||
<RTSCDynamic_Attributes_Set_Handler><![CDATA[ string attrName = Get(e.attributeHandle.shAttributeId, e.attributeHandle.shPrimitiveId, EATTRIBUTEPROPERTY.idxAttribPropName);
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Runtime Event - Dynamic Set Handler
|
||||
//
|
||||
// Implement set handler code for any dynamic attributes you create with set handlers
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
// CheckpointDynamicAttributeData will update the checkpoint values for all Dynamic Attributes.
|
||||
// To recreate Dynamic Attributes and restore Dynamic Attribute values the RestoreDynamicAttributes
|
||||
// function must be called when starting up from failover (refer to the Startup method).
|
||||
|
||||
//CheckpointDynamicAttributeData();
|
||||
|
||||
#region Example
|
||||
// if (attrName == "MyDynamic")
|
||||
// {
|
||||
// if (e.Value > 10)
|
||||
// {
|
||||
// LogWarning(string.Format("value for {0} must be less or equal to 10", attrName));
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// SetValue(attrName, e.Value);
|
||||
// }
|
||||
//
|
||||
//
|
||||
// return;
|
||||
// }
|
||||
#endregion
|
||||
|
||||
// if unhandled a warning is shown as a reminder
|
||||
Set(e.attributeHandle.shAttributeId, e.attributeHandle.shPrimitiveId, e.Value);
|
||||
LogWarning(string.Format("Uknown set handler for attribute '{0}'", attrName));
|
||||
|
||||
]]></RTSCDynamic_Attributes_Set_Handler>
|
||||
<CTSCDEC><![CDATA[ #region Declarations
|
||||
//Declare Configtime Class Variables here.
|
||||
//Variables declared in this region are available to all methods
|
||||
//in the Configtime Class.
|
||||
|
||||
|
||||
]]></CTSCDEC>
|
||||
<CTSCValidate><![CDATA[ //------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - Validate
|
||||
//
|
||||
// Validate sets the warning or error text for the object.
|
||||
// It is used to check conditions that would not be checked using
|
||||
// a SetHandler, such as reporting that an object was not
|
||||
// configured, or that combinations of attributes are illegal.
|
||||
//
|
||||
// Other than calling AddWarningMessage or AddErrorMessage, Validate
|
||||
// should never modify the state of the object.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#region Example code
|
||||
// if (MyTestDefaultState)
|
||||
// {
|
||||
// //Add a warning message using the dictionay phrase ID "ObjectStillInDefaultState"
|
||||
// AddWarningMessage(GetText("ObjectStillInDefaultState"));
|
||||
//
|
||||
// //Change the status to Warning if the current status is Good
|
||||
// if (status == EPACKAGESTATUS.ePackageGood)
|
||||
// {
|
||||
// status = EPACKAGESTATUS.ePackageWarning;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if (MyTestAttributeCombinationValid)
|
||||
// {
|
||||
// //Add a warning message using the dictionay phrase ID "AttributeCombinationInvalid"
|
||||
// AddWarningMessage(GetText("AttributeCombinationInvalid"));
|
||||
//
|
||||
// // Change the status to Warning if the current status is Good
|
||||
// if (status == EPACKAGESTATUS.ePackageGood)
|
||||
// {
|
||||
// status = EPACKAGESTATUS.ePackageWarning;
|
||||
// }
|
||||
// }
|
||||
#endregion
|
||||
|
||||
// By default set the object status to Good
|
||||
status = EPACKAGESTATUS.ePackageGood;
|
||||
|
||||
|
||||
// The following statement will exit validate when validating templates.
|
||||
// Place code that should be validated in templates and instances before this
|
||||
// statement. Code placed after this statement will execute in instances only.
|
||||
if ((bool)Get((short)ECOMMONPRIMITIVE.idxCommonIsTemplate, eCommonPrimitiveId))
|
||||
{
|
||||
return;
|
||||
}
|
||||
]]></CTSCValidate>
|
||||
<CTSCInitialize><![CDATA[ //------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - Initialize
|
||||
//
|
||||
// Any custom initialization can be done here, including caching of attribute
|
||||
// values, primitive IDs etc.
|
||||
//------------------------------------------------------------------------------
|
||||
]]></CTSCInitialize>
|
||||
<CTSCMigrate><![CDATA[ //------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - Migrate
|
||||
//
|
||||
// Migrate executes when importing a template into a Galaxy that contains
|
||||
// a previous version (major) of the template. The template must be derived or
|
||||
// instantiated for migrate to execute.
|
||||
//
|
||||
// Migrate provides access to the previous versions attribute information.
|
||||
// A typical application for migrate code is to preserve attribute values
|
||||
// when an attribute name has changed (refer to the Example code below).
|
||||
//
|
||||
// To enable this event the migrate option must be configured via the Toolkit
|
||||
// Editor or in code (i.e. [ObjectAttributes.AMigrate("1","2")]).
|
||||
//
|
||||
// If no implementation is provided, the system will copy all attribute values
|
||||
// from the old object to the new one by matching the attribute names.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#region Example code
|
||||
// //Check major version of previous template
|
||||
// if (migrate.MajorVersion() == 1)
|
||||
// {
|
||||
// //Attribute "Eg_001" has been renamed to "Example_001".
|
||||
// //Transfer attribute value, lock and security classification
|
||||
// Example_001 = migrate.GetValue("Eg_001"); //Gets value
|
||||
// Example_001.Locked = migrate.GetLocked("Eg_001"); //Gets lock status
|
||||
// Example_001.Security = migrate.GetSecurity("Eg_001"); //Gets Security Classification
|
||||
//
|
||||
// //Transfer primitive values
|
||||
// SetValue("Example_001.TrendHi", migrate.GetValue("Eg_001.TrendHi"));
|
||||
// SetValue("Example_001.TrendHi", EATTRIBUTEPROPERTY.idxAttribPropLocked, migrate.GetLocked("Eg_001.TrendHi"));
|
||||
//
|
||||
// //Automatically migrate all child primitives
|
||||
// migrate.AutoMigrateChildPrimitives = true;
|
||||
// }
|
||||
|
||||
#endregion
|
||||
]]></CTSCMigrate>
|
||||
<CTSCPreValidate><![CDATA[ //------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - PreValidate
|
||||
//
|
||||
// PreValidate is called when the object is about to be validated (e.g. when
|
||||
// an edit session is ending and the object is about to be saved.)
|
||||
//
|
||||
// A primitive can modify attributes within this method.
|
||||
//
|
||||
// Note: It is often not necessary to perform any actions in OnPreValidate.
|
||||
//------------------------------------------------------------------------------
|
||||
]]></CTSCPreValidate>
|
||||
<CTSCPostCreate><![CDATA[ //------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - PostCreate
|
||||
//
|
||||
// OnPostCreate is called when an object is first created.
|
||||
//
|
||||
// One purpose for implementing this method is to insure that the initial
|
||||
// state of the primitive is valid.
|
||||
//
|
||||
// This method can be used by a Resuable Primitive to correct invalid initial
|
||||
// states that can arise when an attribute value has been overridden. If the
|
||||
// attribute has a SetHandler with validation or side effects the SetHandler
|
||||
// does not execute as overrides do not trigger SetHandlers.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#region Example code
|
||||
// // If statistics are enabled, add the Statistics virtual primitive
|
||||
// // the way the SetHandler would have done it.
|
||||
// if (StatsEnable)
|
||||
// {
|
||||
// AddPrimitive("Statistics", "Statistics1", "Statistics1");
|
||||
// }
|
||||
#endregion
|
||||
]]></CTSCPostCreate>
|
||||
<CTSCDynamic_Attributes_Set_Handler><![CDATA[
|
||||
string attrName = Get(e.attributeHandle.shAttributeId, e.attributeHandle.shPrimitiveId, EATTRIBUTEPROPERTY.idxAttribPropName);
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - Dynamic Set Handler
|
||||
//
|
||||
// Implement set handler code for any dynamic attributes you create with set handlers
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#region Example
|
||||
// if (attrName == "MyDynamic")
|
||||
// {
|
||||
// if (e.Value > 10)
|
||||
// {
|
||||
// LogWarning(string.Format("value for {0} must be less or equal to 10", attrName));
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// SetValue(attrName, e.Value);
|
||||
// }
|
||||
//
|
||||
//
|
||||
// return;
|
||||
// }
|
||||
#endregion
|
||||
|
||||
// if unhandled a warning is shown as a reminder
|
||||
Set(e.attributeHandle.shAttributeId, e.attributeHandle.shPrimitiveId, e.Value);
|
||||
LogWarning(string.Format("Uknown set handler for attribute '{0}'", attrName));
|
||||
|
||||
]]></CTSCDynamic_Attributes_Set_Handler>
|
||||
<RTSOShutdown><![CDATA[ //------------------------------------------------------------------------------
|
||||
// TODO: Runtime Event - Shutdown
|
||||
//
|
||||
// Clean up dynamic allocation, release open resources, etc.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
// Activate marked attributes before shutting down
|
||||
AdviseOnlyActivateAttributes();
|
||||
]]></RTSOShutdown><RTSOStartup><![CDATA[ //------------------------------------------------------------------------------
|
||||
// TODO: Runtime Event - Startup
|
||||
//
|
||||
// Cache attributes. Cache Primitive IDs of other known primitives.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
// RestoreDynamicAttributes will recreate the Dynamic Attributes and restore the check pointed
|
||||
// values during failover startup. The Failover Support for Dynamic Attributes option must
|
||||
// be enabled via the Object Editor to support this function. To maintain the
|
||||
// Dynamic Attribute values the CheckpointDynamicAttributeData function must be called
|
||||
// when Dynamic Attribute values are modified (refer to the Dynamic Attribute Set Handler).
|
||||
|
||||
//RestoreDynamicAttributes();
|
||||
|
||||
m_TimeOfLastChange = GetScanTime();
|
||||
|
||||
// Execute offscan code to initialize the object in its offscan state.
|
||||
SetScanState(false);
|
||||
|
||||
// Suspend marked attributes at startup
|
||||
AdviseOnlySuspendAttributes();
|
||||
|
||||
]]></RTSOStartup><RTSCShutdown><![CDATA[ //------------------------------------------------------------------------------
|
||||
// TODO: Runtime Event - Shutdown
|
||||
//
|
||||
// Clean up dynamic allocation, release open resources, etc.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
// Activate marked attributes before shutting down
|
||||
AdviseOnlyActivateAttributes();
|
||||
]]></RTSCShutdown><RTSCStartup><![CDATA[ //------------------------------------------------------------------------------
|
||||
// TODO: Runtime Event - Startup
|
||||
//
|
||||
// Cache attributes. Cache Primitive IDs of other known primitives.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
// RestoreDynamicAttributes will recreate the Dynamic Attributes and restore the check pointed
|
||||
// values during failover startup. The Failover Support for Dynamic Attributes option must
|
||||
// be enabled via the Object Editor to support this function. To maintain the
|
||||
// Dynamic Attribute values the CheckpointDynamicAttributeData function must be called
|
||||
// when Dynamic Attribute values are modified (refer to the Dynamic Attribute Set Handler).
|
||||
|
||||
//RestoreDynamicAttributes();
|
||||
|
||||
// Execute offscan code to initialize the object in its offscan state.
|
||||
SetScanState(false);
|
||||
|
||||
// Suspend marked attributes at startup
|
||||
AdviseOnlySuspendAttributes();
|
||||
]]></RTSCStartup></CCData>
|
||||
<Build Attach_Runtime_Debugger="False" Attach_IDE_Debugger="False" Enable_Migrate="False" Copy_Reusable="True" Copy_Output="False" Output_Path="" Attach_Configuration_Debugger="False" />
|
||||
<Version Restart_Bootstrap="False" Version_Type="Retain" Restart_GR="False" AppendDelete_Version="Delete" Restart_IDE="False" />
|
||||
<BuildInfo>
|
||||
<OutputDir><![CDATA[..\Output\]]></OutputDir>
|
||||
<Project CreateAADEF="True">
|
||||
<FullOutputFileName><![CDATA[..\Stats\Statsobj\bin\Debug\WatchDogStats1.dll]]></FullOutputFileName>
|
||||
<OutputPath><![CDATA[..\Stats\Statsobj\bin\Debug\]]></OutputPath>
|
||||
<ProjectPath><![CDATA[..\Stats\Statsobj]]></ProjectPath>
|
||||
<ClassName>ArchestrA.Toolkit.Watchdog.Stats</ClassName>
|
||||
<DependentFiles>
|
||||
<dep>
|
||||
<name><![CDATA[WatchDogStats1RC.dll]]></name>
|
||||
<vendor><![CDATA[ArchestrA]]></vendor>
|
||||
<type>Runtime</type>
|
||||
<fileType>ComDLL</fileType>
|
||||
<def />
|
||||
</dep>
|
||||
<dep>
|
||||
<name><![CDATA[WatchDogStats1.dll]]></name>
|
||||
<vendor><![CDATA[ArchestrA]]></vendor>
|
||||
<type>Runtime, Configtime</type>
|
||||
<fileType>NETFrameworkAssembly</fileType>
|
||||
</dep>
|
||||
<dep>
|
||||
<name><![CDATA[WatchDogStats1.reg]]></name>
|
||||
<vendor><![CDATA[ArchestrA]]></vendor>
|
||||
<type>Runtime, Configtime</type>
|
||||
<fileType>MergeRegistryScript</fileType>
|
||||
</dep>
|
||||
<dep>
|
||||
<name><![CDATA[WatchDogStatsRuntime1.dll]]></name>
|
||||
<vendor><![CDATA[ArchestrA]]></vendor>
|
||||
<type>Runtime</type>
|
||||
<fileType>NETFrameworkAssembly</fileType>
|
||||
</dep>
|
||||
<dep>
|
||||
<name><![CDATA[WatchDogStatsRuntime1.reg]]></name>
|
||||
<vendor><![CDATA[ArchestrA]]></vendor>
|
||||
<type>Runtime</type>
|
||||
<fileType>MergeRegistryScript</fileType>
|
||||
</dep>
|
||||
<dep>
|
||||
<name><![CDATA[WatchDogStatsConfigtime1.dll]]></name>
|
||||
<vendor><![CDATA[ArchestrA]]></vendor>
|
||||
<type>Configtime</type>
|
||||
<fileType>NETFrameworkAssembly</fileType>
|
||||
</dep>
|
||||
<dep>
|
||||
<name><![CDATA[WatchDogStatsConfigtime1.reg]]></name>
|
||||
<vendor><![CDATA[ArchestrA]]></vendor>
|
||||
<type>Configtime</type>
|
||||
<fileType>MergeRegistryScript</fileType>
|
||||
</dep>
|
||||
<dep>
|
||||
<name><![CDATA[C:\WINDOWS\assembly\GAC_MSIL\ArchestrA.Toolkit.ArchestrAObjectSupport\1.0.0.0__f787e550f2f530ee\ArchestrA.Toolkit.ArchestrAObjectSupport.dll]]></name>
|
||||
<vendor><![CDATA[Wonderware]]></vendor>
|
||||
<type>Runtime, Configtime</type>
|
||||
<fileType>NETFrameworkAssembly</fileType>
|
||||
</dep>
|
||||
<attribute>
|
||||
<name>Reset</name>
|
||||
<run />
|
||||
</attribute>
|
||||
<FullName>WatchDogStats</FullName>
|
||||
</DependentFiles>
|
||||
</Project>
|
||||
<Project TopMost="True" CreateAADEF="True">
|
||||
<FullOutputFileName><![CDATA[bin\Debug\WatchDog1.dll]]></FullOutputFileName>
|
||||
<OutputPath><![CDATA[bin\Debug\]]></OutputPath>
|
||||
<ProjectPath><![CDATA[]]></ProjectPath>
|
||||
<ClassName>ArchestrA.Toolkit.Watchdog.WatchDog</ClassName>
|
||||
<DependentFiles>
|
||||
<dep>
|
||||
<name><![CDATA[WatchDog1RC.dll]]></name>
|
||||
<vendor><![CDATA[ArchestrA]]></vendor>
|
||||
<type>Runtime</type>
|
||||
<fileType>ComDLL</fileType>
|
||||
<def />
|
||||
</dep>
|
||||
<dep>
|
||||
<name><![CDATA[WatchDog1.dll]]></name>
|
||||
<vendor><![CDATA[ArchestrA]]></vendor>
|
||||
<type>Runtime, Configtime</type>
|
||||
<fileType>NETFrameworkAssembly</fileType>
|
||||
</dep>
|
||||
<dep>
|
||||
<name><![CDATA[WatchDog1.reg]]></name>
|
||||
<vendor><![CDATA[ArchestrA]]></vendor>
|
||||
<type>Runtime, Configtime</type>
|
||||
<fileType>MergeRegistryScript</fileType>
|
||||
</dep>
|
||||
<dep>
|
||||
<name><![CDATA[WatchdogRuntime1.dll]]></name>
|
||||
<vendor><![CDATA[ArchestrA]]></vendor>
|
||||
<type>Runtime</type>
|
||||
<fileType>NETFrameworkAssembly</fileType>
|
||||
</dep>
|
||||
<dep>
|
||||
<name><![CDATA[WatchdogRuntime1.reg]]></name>
|
||||
<vendor><![CDATA[ArchestrA]]></vendor>
|
||||
<type>Runtime</type>
|
||||
<fileType>MergeRegistryScript</fileType>
|
||||
</dep>
|
||||
<dep>
|
||||
<name><![CDATA[WatchdogConfigtime1.dll]]></name>
|
||||
<vendor><![CDATA[ArchestrA]]></vendor>
|
||||
<type>Configtime</type>
|
||||
<fileType>NETFrameworkAssembly</fileType>
|
||||
</dep>
|
||||
<dep>
|
||||
<name><![CDATA[WatchdogConfigtime1.reg]]></name>
|
||||
<vendor><![CDATA[ArchestrA]]></vendor>
|
||||
<type>Configtime</type>
|
||||
<fileType>MergeRegistryScript</fileType>
|
||||
</dep>
|
||||
<dep>
|
||||
<name><![CDATA[WatchdogEditor1.dll]]></name>
|
||||
<vendor><![CDATA[ArchestrA]]></vendor>
|
||||
<type>Editor</type>
|
||||
<fileType>NETFrameworkAssembly</fileType>
|
||||
</dep>
|
||||
<dep>
|
||||
<name><![CDATA[WatchdogEditor1.reg]]></name>
|
||||
<vendor><![CDATA[ArchestrA]]></vendor>
|
||||
<type>Editor</type>
|
||||
<fileType>MergeRegistryScript</fileType>
|
||||
</dep>
|
||||
<dep>
|
||||
<name><![CDATA[C:\WINDOWS\assembly\GAC_MSIL\ArchestrA.Toolkit.ArchestrAControlLibrary\1.0.0.0__f787e550f2f530ee\ArchestrA.Toolkit.ArchestrAControlLibrary.dll]]></name>
|
||||
<vendor><![CDATA[Wonderware]]></vendor>
|
||||
<type>Runtime, Configtime, Editor</type>
|
||||
<fileType>NETFrameworkAssembly</fileType>
|
||||
</dep>
|
||||
<dep>
|
||||
<name><![CDATA[C:\WINDOWS\assembly\GAC_MSIL\ArchestrA.Toolkit.ArchestrAObjectSupport\1.0.0.0__f787e550f2f530ee\ArchestrA.Toolkit.ArchestrAObjectSupport.dll]]></name>
|
||||
<vendor><![CDATA[Wonderware]]></vendor>
|
||||
<type>Runtime, Configtime</type>
|
||||
<fileType>NETFrameworkAssembly</fileType>
|
||||
</dep>
|
||||
<editor>WatchdogEditor1</editor>
|
||||
<attribute>
|
||||
<name>Stats_Enable</name>
|
||||
<cfg />
|
||||
</attribute>
|
||||
<attribute>
|
||||
<name>Timeout_Limit</name>
|
||||
<cfg />
|
||||
<run />
|
||||
</attribute>
|
||||
<FullName>WatchDog</FullName>
|
||||
</DependentFiles>
|
||||
</Project>
|
||||
<Project>
|
||||
<FullOutputFileName><![CDATA[..\WatchdogEditor\bin\Debug\WatchdogEditor1.dll]]></FullOutputFileName>
|
||||
<OutputPath><![CDATA[..\WatchdogEditor\bin\Debug\]]></OutputPath>
|
||||
<ProjectPath><![CDATA[..\WatchdogEditor]]></ProjectPath>
|
||||
</Project>
|
||||
<Project>
|
||||
<FullOutputFileName><![CDATA[..\WatchdogConfigtime\bin\Debug\WatchdogConfigtime1.dll]]></FullOutputFileName>
|
||||
<OutputPath><![CDATA[..\WatchdogConfigtime\bin\Debug\]]></OutputPath>
|
||||
<ProjectPath><![CDATA[..\WatchdogConfigtime]]></ProjectPath>
|
||||
</Project>
|
||||
<Project>
|
||||
<FullOutputFileName><![CDATA[..\WatchdogRuntime\bin\Debug\WatchdogRuntime1.dll]]></FullOutputFileName>
|
||||
<OutputPath><![CDATA[..\WatchdogRuntime\bin\Debug\]]></OutputPath>
|
||||
<ProjectPath><![CDATA[..\WatchdogRuntime]]></ProjectPath>
|
||||
</Project>
|
||||
<Project>
|
||||
<FullOutputFileName><![CDATA[..\Stats\StatsConfigtime\bin\Debug\WatchDogStatsConfigtime1.dll]]></FullOutputFileName>
|
||||
<OutputPath><![CDATA[..\Stats\StatsConfigtime\bin\Debug\]]></OutputPath>
|
||||
<ProjectPath><![CDATA[..\Stats\StatsConfigtime]]></ProjectPath>
|
||||
</Project>
|
||||
<Project>
|
||||
<FullOutputFileName><![CDATA[..\Stats\StatsRuntime\bin\Debug\WatchDogStatsRuntime1.dll]]></FullOutputFileName>
|
||||
<OutputPath><![CDATA[..\Stats\StatsRuntime\bin\Debug\]]></OutputPath>
|
||||
<ProjectPath><![CDATA[..\Stats\StatsRuntime]]></ProjectPath>
|
||||
</Project>
|
||||
</BuildInfo>
|
||||
</xml>
|
||||
@@ -0,0 +1,45 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// Copyright (C) 2008 Invensys Systems Inc. All rights reserved.
|
||||
//
|
||||
// THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
|
||||
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
||||
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
|
||||
// PARTICULAR PURPOSE.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("WatchdogDef")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("ArchestrA")]
|
||||
[assembly: AssemblyProduct("WatchdogDef")]
|
||||
[assembly: AssemblyCopyright("Copyright © Wonderware 2006")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(true)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("f7d23252-7e19-48f7-be50-fc7b2ee424a5")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.1.0.0")]
|
||||
|
||||
@@ -0,0 +1,108 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Dictionary>
|
||||
<Phrase_Index PhraseID="aaWatchdogMonitoredBitInputSourcePrompt">
|
||||
<Language LangID="1033">
|
||||
<VALUE>MonitoredBit.InputSource:</VALUE>
|
||||
</Language>
|
||||
</Phrase_Index>
|
||||
<Phrase_Index PhraseID="aaStats_EnablePrompt">
|
||||
<Language LangID="1033">
|
||||
<VALUE>Stats.Enable:</VALUE>
|
||||
</Language>
|
||||
</Phrase_Index>
|
||||
<Phrase_Index PhraseID="aaWatchdogStatsTimeoutCnt_HistorizedPrompt">
|
||||
<Language LangID="1033">
|
||||
<VALUE>Stats.TimeoutCnt.Historized:</VALUE>
|
||||
</Language>
|
||||
</Phrase_Index>
|
||||
<Phrase_Index PhraseID="aaTimeout_AlarmedPrompt">
|
||||
<Language LangID="1033">
|
||||
<VALUE>Timeout.Alarmed:</VALUE>
|
||||
</Language>
|
||||
</Phrase_Index>
|
||||
<Phrase_Index PhraseID="aaTimeout_LimitPrompt">
|
||||
<Language LangID="1033">
|
||||
<VALUE>Timeout.Limit:</VALUE>
|
||||
</Language>
|
||||
</Phrase_Index>
|
||||
<Phrase_Index PhraseID="aaTimeSinceChange_HistorizedPrompt">
|
||||
<Language LangID="1033">
|
||||
<VALUE>TimeSinceChange.Historized:</VALUE>
|
||||
</Language>
|
||||
</Phrase_Index>
|
||||
<Phrase_Index PhraseID="GeneralTab">
|
||||
<Language LangID="1033">
|
||||
<VALUE>General</VALUE>
|
||||
</Language>
|
||||
</Phrase_Index>
|
||||
<Phrase_Index PhraseID="aaWatchdogStatsResetPrompt">
|
||||
<Language LangID="1033">
|
||||
<VALUE>Stats.Reset:</VALUE>
|
||||
</Language>
|
||||
</Phrase_Index>
|
||||
<Phrase_Index PhraseID="aaWatchdogStatsTimeoutCntHistForceStoragePeriodPrompt">
|
||||
<Language LangID="1033">
|
||||
<VALUE>Stats.TimeoutCnt.ForceStoragePeriod:</VALUE>
|
||||
</Language>
|
||||
</Phrase_Index>
|
||||
<Phrase_Index PhraseID="aaWatchdogStatsTimeoutCntHistTrendHiPrompt">
|
||||
<Language LangID="1033">
|
||||
<VALUE>Stats.TimeoutCnt.TrendHi:</VALUE>
|
||||
</Language>
|
||||
</Phrase_Index>
|
||||
<Phrase_Index PhraseID="aaWatchdogStatsTimeoutCntHistTrendLoPrompt">
|
||||
<Language LangID="1033">
|
||||
<VALUE>Stats.TimeoutCnt.TrendLo:</VALUE>
|
||||
</Language>
|
||||
</Phrase_Index>
|
||||
<Phrase_Index PhraseID="aaWatchdogStatsTimeoutCntHistValueDeadBandPrompt">
|
||||
<Language LangID="1033">
|
||||
<VALUE>Stats.TimeoutCnt.ValueDeadBand:</VALUE>
|
||||
</Language>
|
||||
</Phrase_Index>
|
||||
<Phrase_Index PhraseID="aaWatchdogTimeoutAlarmAckMsgPrompt">
|
||||
<Language LangID="1033">
|
||||
<VALUE>Timeout.AckMsg:</VALUE>
|
||||
</Language>
|
||||
</Phrase_Index>
|
||||
<Phrase_Index PhraseID="aaWatchdogTimeoutAlarmDescAttrNamePrompt">
|
||||
<Language LangID="1033">
|
||||
<VALUE>Timeout.DescAttrName:</VALUE>
|
||||
</Language>
|
||||
</Phrase_Index>
|
||||
<Phrase_Index PhraseID="aaWatchdogTimeoutAlarmPriorityPrompt">
|
||||
<Language LangID="1033">
|
||||
<VALUE>Timeout.Priority:</VALUE>
|
||||
</Language>
|
||||
</Phrase_Index>
|
||||
<Phrase_Index PhraseID="aaWatchdogTimeSinceChangeHistForceStoragePeriodPrompt">
|
||||
<Language LangID="1033">
|
||||
<VALUE>TimeSinceChange.ForceStoragePeriod:</VALUE>
|
||||
</Language>
|
||||
</Phrase_Index>
|
||||
<Phrase_Index PhraseID="aaWatchdogTimeSinceChangeHistTrendHiPrompt">
|
||||
<Language LangID="1033">
|
||||
<VALUE>TimeSinceChange.TrendHi:</VALUE>
|
||||
</Language>
|
||||
</Phrase_Index>
|
||||
<Phrase_Index PhraseID="aaWatchdogTimeSinceChangeHistTrendLoPrompt">
|
||||
<Language LangID="1033">
|
||||
<VALUE>TimeSinceChange.TrendLo:</VALUE>
|
||||
</Language>
|
||||
</Phrase_Index>
|
||||
<Phrase_Index PhraseID="aaWatchdogTimeSinceChangeHistValueDeadBandPrompt">
|
||||
<Language LangID="1033">
|
||||
<VALUE>TimeSinceChange.ValueDeadBand:</VALUE>
|
||||
</Language>
|
||||
</Phrase_Index>
|
||||
<Phrase_Index PhraseID="AdvancedTab">
|
||||
<Language LangID="1033">
|
||||
<VALUE>Advanced</VALUE>
|
||||
</Language>
|
||||
</Phrase_Index>
|
||||
<Phrase_Index PhraseID="Timeout.Limit must be a positive number.">
|
||||
<Language LangID="1033">
|
||||
<VALUE>Timeout.Limit must be a positive number.</VALUE>
|
||||
</Language>
|
||||
</Phrase_Index>
|
||||
</Dictionary>
|
||||
@@ -0,0 +1,79 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// Copyright (C) 2008 Invensys Systems Inc. All rights reserved.
|
||||
//
|
||||
// THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
|
||||
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
||||
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
|
||||
// PARTICULAR PURPOSE.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Collections;
|
||||
using ArchestrA.Core;
|
||||
using ArchestrA.Toolkit;
|
||||
using ArchestrA.Toolkit.SystemPrimitive;
|
||||
|
||||
namespace ArchestrA.Toolkit.Watchdog
|
||||
{
|
||||
#region Object Information - Toolkit generated code
|
||||
// Required region for Object Information - do not modify
|
||||
// the contents of this region with the code editor.
|
||||
[AObject()]
|
||||
[Stats("Stats", true)]
|
||||
[Guid("d53d3f79-53f7-40c9-9718-531accb6bb6d")]
|
||||
[ObjectAttributes.Dictionary(@"WatchDog1.aaDCT")]
|
||||
[ObjectAttributes.ConfigtimeCLSID("0fba961c-3462-49d6-9963-11aac3c6e9d1")]
|
||||
[ObjectAttributes.RuntimeCLSID("886e73ad-ddb7-45ca-8ca2-e652e1e9bafd")]
|
||||
[ObjectAttributes.MajorVersion(1)]
|
||||
[ObjectAttributes.MinorVersion(1)]
|
||||
[ObjectAttributes.MinIASVersion("3.1.0")]
|
||||
[ObjectAttributes.Migrate("")]
|
||||
#endregion
|
||||
|
||||
// Required attributes for Object Information.
|
||||
// Changes made using the code editor will appear in the Toolkit Editor.
|
||||
[ObjectAttributes.Name("WatchDog")]
|
||||
[ObjectAttributes.Vendor("ArchestrA")]
|
||||
[ObjectAttributes.ShortDescription("This object raises an alarm when an input stops changing for too long. It optionally maintains statistics.")]
|
||||
[ObjectAttributes.ToolsetName("AOT Samples")]
|
||||
[ObjectAttributes.Events()]
|
||||
[ObjectAttributes.IDEBehavior()]
|
||||
[AReusablePrimitiveRef(@"ArchestrA\InputPrimitive1.aaPri", "InputPrimitive1", "MonitoredBit", false)]
|
||||
[AReusablePrimitiveRef.AttrOverride("InputPrimitive1", "DataType", "LockStatus", true)]
|
||||
[AReusablePrimitiveRef.AttrOverride("InputPrimitive1", "DataType", "Value", MxDataType.MxBoolean)]
|
||||
|
||||
/// <summary>
|
||||
/// Summary description for Watchdog
|
||||
/// </summary>
|
||||
public class WatchDog
|
||||
{
|
||||
[Attributes.AAttrName("Timeout.Limit")]
|
||||
[Attributes.AAttrSecurityClassification(MxSecurityClassification.MxSecurityTune)]
|
||||
[Attributes.AAttrFrequentlyAccessed(true)]
|
||||
[Attributes.AAttrCategory(MxAttributeCategory.MxCategoryWriteable_UC_Lockable)]
|
||||
public CMxElapsedTime Timeout_Limit = new CMxElapsedTime("00:00:05.0000000");
|
||||
|
||||
[Attributes.AAttrName("Stats.Enable")]
|
||||
[Attributes.AAttrCategory(MxAttributeCategory.MxCategoryPackageOnly_Lockable)]
|
||||
public CMxBoolean Stats_Enable = new CMxBoolean();
|
||||
|
||||
[SystemPrimitive.HistoryPrimitive.AttrOverride("TimeSinceChangeHistory", SystemPrimitive.HistoryPrimitive.EngineeringUnits, "LockStatus", true)]
|
||||
[SystemPrimitive.HistoryPrimitive("TimeSinceChangeHistory", Common.SystemPrimitive.ExtensionMode.VirtualEnable)]
|
||||
[Attributes.AAttrCategory(MxAttributeCategory.MxCategoryCalculated)]
|
||||
public CMxElapsedTime TimeSinceChange = new CMxElapsedTime();
|
||||
|
||||
[SystemPrimitive.AlarmPrimitive.AttrOverride("TimeoutAlarm", SystemPrimitive.AlarmPrimitive.Value, "LockStatus", true)]
|
||||
[SystemPrimitive.AlarmPrimitive.AttrOverride("TimeoutAlarm", SystemPrimitive.AlarmPrimitive.Limit, "LockStatus", true)]
|
||||
[SystemPrimitive.AlarmPrimitive.AttrOverride("TimeoutAlarm", SystemPrimitive.AlarmPrimitive.EngineeringUnits, "LockStatus", true)]
|
||||
[SystemPrimitive.AlarmPrimitive.AttrOverride("TimeoutAlarm", SystemPrimitive.AlarmPrimitive.Category, "LockStatus", true)]
|
||||
[SystemPrimitive.AlarmPrimitive.AttrOverride("TimeoutAlarm", SystemPrimitive.AlarmPrimitive.Category, "Value", 12)]
|
||||
[SystemPrimitive.AlarmPrimitive("TimeoutAlarm", Common.SystemPrimitive.ExtensionMode.VirtualEnable)]
|
||||
[Attributes.AAttrCategory(MxAttributeCategory.MxCategoryCalculated)]
|
||||
public CMxBoolean Timeout = new CMxBoolean();
|
||||
public WatchDog()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,133 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.21022</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{0E30645D-B574-41BF-B302-64FEE3C8208A}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>ArchestrA.Toolkit.Watchdog</RootNamespace>
|
||||
<AssemblyName>WatchDog1</AssemblyName>
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<AssemblyOriginatorKeyFile>..\Watchdog.snk</AssemblyOriginatorKeyFile>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="ArchestrA.Toolkit.ArchestrAObjectSupport, Version=4.0.0.0, Culture=neutral, PublicKeyToken=f787e550f2f530ee, processorArchitecture=MSI">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Program Files\Archestra\Toolkits\AOT\bin\ArchestrA.Toolkit.ArchestrAObjectSupport.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="ArchestrA.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=23106a86e706d0ae">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Program Files\Archestra\Toolkits\AOT\bin\ArchestrA.Core.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Watchdog.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="AAObjectInfo.xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\Watchdog.snk">
|
||||
<Link>Watchdog.snk</Link>
|
||||
</None>
|
||||
<None Include="WatchDog1.aaDCT" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 2.0 %28x86%29</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.0 %28x86%29</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Stats\Statsobj\Statsobj.csproj">
|
||||
<Project>{A7BA2304-935A-4DDD-80CC-E6387B2980E6}</Project>
|
||||
<Name>Statsobj</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
<PreBuildEvent>
|
||||
</PreBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,44 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// Copyright (C) 2008 Invensys Systems Inc. All rights reserved.
|
||||
//
|
||||
// THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
|
||||
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
||||
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
|
||||
// PARTICULAR PURPOSE.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("Configtime")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("ArchestrA")]
|
||||
[assembly: AssemblyProduct("Configtime")]
|
||||
[assembly: AssemblyCopyright("Copyright © Wonderware 2006")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(true)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("b23434ca-aaab-4ec7-90c5-5689e0ac7892")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.1.0.0")]
|
||||
@@ -0,0 +1,573 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// Copyright (C) 2008 Invensys Systems Inc. All rights reserved.
|
||||
//
|
||||
// THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
|
||||
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
||||
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
|
||||
// PARTICULAR PURPOSE.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Collections;
|
||||
using ArchestrA.Core;
|
||||
using ArchestrA.Toolkit;
|
||||
|
||||
namespace ArchestrA.Toolkit.Watchdog
|
||||
{
|
||||
[Guid("0fba961c-3462-49d6-9963-11aac3c6e9d1")]
|
||||
/// <summary>
|
||||
/// Summary description for WatchdogConfigtime
|
||||
/// </summary>
|
||||
public class WatchdogConfigtime : ConfigtimeBase
|
||||
{
|
||||
#region Attributes - Toolkit generated code
|
||||
// The following C# properties have been defined to simplify access to
|
||||
// attribute values - do not modify the contents of this region with
|
||||
// the code editor.
|
||||
private bool Timeout_Alarmed
|
||||
{
|
||||
get { return GetValue("Timeout.Alarmed"); }
|
||||
set { SetValue("Timeout.Alarmed", (value)); }
|
||||
}
|
||||
|
||||
private CMxBoolean Stats_Enable
|
||||
{
|
||||
get { return InternalReferenceOnly.Stats_Enable; }
|
||||
set { InternalReferenceOnly.Stats_Enable.Set(value); }
|
||||
}
|
||||
|
||||
private bool TimeSinceChange_Historized
|
||||
{
|
||||
get { return GetValue("TimeSinceChange.Historized"); }
|
||||
set { SetValue("TimeSinceChange.Historized", (value)); }
|
||||
}
|
||||
|
||||
private CMxElapsedTime Timeout_Limit
|
||||
{
|
||||
get { return InternalReferenceOnly.Timeout_Limit; }
|
||||
set { InternalReferenceOnly.Timeout_Limit.Set(value); }
|
||||
}
|
||||
|
||||
|
||||
|
||||
public __InputPrimitive1 InputPrimitive1 = null;
|
||||
|
||||
public class __InputPrimitive1
|
||||
{
|
||||
public SupportWrapper Wrapper = new SupportWrapper();
|
||||
|
||||
private CMxReference _InputSource = null;
|
||||
|
||||
public CMxReference InputSource
|
||||
{
|
||||
get { if (_InputSource == null) { _InputSource = new CMxReference(Wrapper, "MonitoredBit.InputSource"); } return _InputSource; }
|
||||
set { if (_InputSource == null) { _InputSource = new CMxReference(Wrapper, "MonitoredBit.InputSource"); } _InputSource.Set(value); }
|
||||
}
|
||||
|
||||
private CMxDataType _DataType = null;
|
||||
|
||||
public CMxDataType DataType
|
||||
{
|
||||
get { if (_DataType == null) { _DataType = new CMxDataType(Wrapper, "MonitoredBit.DataType"); } return _DataType; }
|
||||
set { if (_DataType == null) { _DataType = new CMxDataType(Wrapper, "MonitoredBit.DataType"); } _DataType.Set(value); }
|
||||
}
|
||||
|
||||
public __InputPrimitive1(AObjectBase baseClass)
|
||||
{
|
||||
Wrapper.baseClass = baseClass;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endregion Attributes
|
||||
|
||||
#region Internal Reference Only
|
||||
//Toolkit code required to access the attributes declared in the Object Class
|
||||
private WatchDog InternalReferenceOnly = null;
|
||||
#endregion Internal Reference Only
|
||||
|
||||
#region Declarations
|
||||
//Declare Configtime Class Variables here.
|
||||
//Variables declared in this region are available to all methods
|
||||
//in the Configtime Class.
|
||||
|
||||
|
||||
#endregion Declarations
|
||||
|
||||
|
||||
public WatchdogConfigtime()
|
||||
{
|
||||
InternalReferenceOnly = new WatchDog();
|
||||
this.AObjectInstance = InternalReferenceOnly;
|
||||
|
||||
#region Configuration Event Registration - Toolkit generated code
|
||||
// Required region for Configuration Events - do not modify
|
||||
// the contents of this region with the code editor.
|
||||
this.ConfigtimeInitialize += new ConfigtimeInitializeDelegate(WatchdogConfigtime_ConfigtimeInitialize);
|
||||
this.ConfigtimeValidate += new ConfigtimeValidateDelegate(WatchdogConfigtime_ConfigtimeValidate);
|
||||
this.ConfigtimeMigrate += new MigrateDelegate(WatchdogConfigtime_ConfigtimeMigrate);
|
||||
this.ConfigtimeDynamic += new ConfigtimeDynamicSetHandlerDelegate(WatchdogConfigtime_ConfigtimeDynamic);
|
||||
this.PreValidate += new ObjectEventDelegate(WatchdogConfigtime_PreValidate);
|
||||
this.PostCreate += new ObjectEventDelegate(WatchdogConfigtime_PostCreate);
|
||||
#endregion Configuration Event Registration
|
||||
|
||||
#region Optional Configuration Event Registration - Toolkit generated code
|
||||
// Required region for Configuration Events - do not modify
|
||||
// the contents of this region with the code editor.
|
||||
// Optional events are enabled by the ObjectAttributes.Events
|
||||
// attribute in the Object class.
|
||||
#endregion Optional Configuration Event Registration
|
||||
|
||||
#region Configtime Set Handler Registration – Toolkit generated code
|
||||
// Required method for Configtime SetHandlers.
|
||||
// Changes made using the code editor will appear in the Toolkit Editor.
|
||||
//
|
||||
// WARNING: Changes made to this region will result in a Shape Change.
|
||||
|
||||
|
||||
// TODO: Configtime SetHandler registration
|
||||
// this.RegisterConfigtimeSetHandler("Example_001", new ConfigtimeSetHandlerDelegate(Example_001SetHandler));
|
||||
this.RegisterConfigtimeSetHandler("Timeout.Alarmed", new ConfigtimeSetHandlerDelegate(Timeout_AlarmedSetHandler));
|
||||
this.RegisterConfigtimeSetHandler("TimeSinceChange.Historized", new ConfigtimeSetHandlerDelegate(TimeSinceChange_HistorizedSetHandler));
|
||||
this.RegisterConfigtimeSetHandler("Stats.Enable", new ConfigtimeSetHandlerDelegate(Stats_EnableSetHandler));
|
||||
this.RegisterConfigtimeSetHandler("Timeout.Limit", new ConfigtimeSetHandlerDelegate(Timeout_LimitSetHandler));
|
||||
#endregion Configtime Set Handler Registration
|
||||
|
||||
#region Primitive Wrapper Initialization - Toolkit generated code
|
||||
InputPrimitive1 = new __InputPrimitive1(this);
|
||||
#endregion Primitive Wrapper Initialization
|
||||
|
||||
}
|
||||
|
||||
private void WatchdogConfigtime_ConfigtimeInitialize(object sender)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - Initialize
|
||||
//
|
||||
// Any custom initialization can be done here, including caching of attribute
|
||||
// values, primitive IDs etc.
|
||||
//------------------------------------------------------------------------------
|
||||
}
|
||||
|
||||
private void WatchdogConfigtime_ConfigtimeMigrate(object sender, ref MigrateHandler migrate)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - Migrate
|
||||
//
|
||||
// Migrate executes when importing a template into a Galaxy that contains
|
||||
// a previous version (major) of the template. The template must be derived or
|
||||
// instantiated for migrate to execute.
|
||||
//
|
||||
// Migrate provides access to the previous versions attribute information.
|
||||
// A typical application for migrate code is to preserve attribute values
|
||||
// when an attribute name has changed (refer to the Example code below).
|
||||
//
|
||||
// To enable this event the migrate option must be configured via the Toolkit
|
||||
// Editor or in code (i.e. [ObjectAttributes.AMigrate("1","2")]).
|
||||
//
|
||||
// If no implementation is provided, the system will copy all attribute values
|
||||
// from the old object to the new one by matching the attribute names.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#region Example code
|
||||
// //Check major version of previous template
|
||||
// if (migrate.MajorVersion() == 1)
|
||||
// {
|
||||
// //Attribute "Eg_001" has been renamed to "Example_001".
|
||||
// //Transfer attribute value, lock and security classification
|
||||
// Example_001 = migrate.GetValue("Eg_001"); //Gets value
|
||||
// Example_001.Locked = migrate.GetLocked("Eg_001"); //Gets lock status
|
||||
// Example_001.Security = migrate.GetSecurity("Eg_001"); //Gets Security Classification
|
||||
//
|
||||
// //Transfer primitive values
|
||||
// SetValue("Example_001.TrendHi", migrate.GetValue("Eg_001.TrendHi"));
|
||||
// SetValue("Example_001.TrendHi", EATTRIBUTEPROPERTY.idxAttribPropLocked, migrate.GetLocked("Eg_001.TrendHi"));
|
||||
//
|
||||
// //Automatically migrate all child primitives
|
||||
// migrate.AutoMigrateChildPrimitives = true;
|
||||
// }
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
private void WatchdogConfigtime_ConfigtimeValidate(object sender, ref EPACKAGESTATUS status)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - Validate
|
||||
//
|
||||
// Validate sets the warning or error text for the object.
|
||||
// It is used to check conditions that would not be checked using
|
||||
// a SetHandler, such as reporting that an object was not
|
||||
// configured, or that combinations of attributes are illegal.
|
||||
//
|
||||
// Other than calling AddWarningMessage or AddErrorMessage, Validate
|
||||
// should never modify the state of the object.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#region Example code
|
||||
// if (MyTestDefaultState)
|
||||
// {
|
||||
// //Add a warning message using the dictionay phrase ID "ObjectStillInDefaultState"
|
||||
// AddWarningMessage(GetText("ObjectStillInDefaultState"));
|
||||
//
|
||||
// //Change the status to Warning if the current status is Good
|
||||
// if (status == EPACKAGESTATUS.ePackageGood)
|
||||
// {
|
||||
// status = EPACKAGESTATUS.ePackageWarning;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if (MyTestAttributeCombinationValid)
|
||||
// {
|
||||
// //Add a warning message using the dictionay phrase ID "AttributeCombinationInvalid"
|
||||
// AddWarningMessage(GetText("AttributeCombinationInvalid"));
|
||||
//
|
||||
// // Change the status to Warning if the current status is Good
|
||||
// if (status == EPACKAGESTATUS.ePackageGood)
|
||||
// {
|
||||
// status = EPACKAGESTATUS.ePackageWarning;
|
||||
// }
|
||||
// }
|
||||
#endregion
|
||||
|
||||
// By default set the object status to Good
|
||||
status = EPACKAGESTATUS.ePackageGood;
|
||||
|
||||
|
||||
// The following statement will exit validate when validating templates.
|
||||
// Place code that should be validated in templates and instances before this
|
||||
// statement. Code placed after this statement will execute in instances only.
|
||||
if (IsTemplate)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
private void WatchdogConfigtime_ConfigtimeDynamic(object sender, ref ConfigtimeSetHandlerEventArgs e)
|
||||
{
|
||||
|
||||
string attrName = Get(e.attributeHandle.shAttributeId, e.attributeHandle.shPrimitiveId, EATTRIBUTEPROPERTY.idxAttribPropName);
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - Dynamic Set Handler
|
||||
//
|
||||
// Implement set handler code for any dynamic attributes you create with set handlers
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#region Example
|
||||
// if (attrName == "MyDynamic")
|
||||
// {
|
||||
// if (e.Value > 10)
|
||||
// {
|
||||
// LogWarning(string.Format("value for {0} must be less or equal to 10", attrName));
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// SetValue(attrName, e.Value);
|
||||
// }
|
||||
//
|
||||
//
|
||||
// return;
|
||||
// }
|
||||
#endregion
|
||||
|
||||
// if unhandled a warning is shown as a reminder
|
||||
SetValue(e.attributeHandle.shAttributeId, e.attributeHandle.shPrimitiveId, e.Value);
|
||||
LogWarning(string.Format("Uknown set handler for attribute '{0}'", attrName));
|
||||
|
||||
}
|
||||
|
||||
private void WatchdogConfigtime_PostCreate(object sender, object optionalParameter)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - PostCreate
|
||||
//
|
||||
// OnPostCreate is called when an object is first created.
|
||||
//
|
||||
// One purpose for implementing this method is to insure that the initial
|
||||
// state of the primitive is valid.
|
||||
//
|
||||
// This method can be used by a Resuable Primitive to correct invalid initial
|
||||
// states that can arise when an attribute value has been overridden. If the
|
||||
// attribute has a SetHandler with validation or side effects the SetHandler
|
||||
// does not execute as overrides do not trigger SetHandlers.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#region Example code
|
||||
// // If statistics are enabled, add the Statistics virtual primitive
|
||||
// // the way the SetHandler would have done it.
|
||||
// if (StatsEnable)
|
||||
// {
|
||||
// AddPrimitive("Statistics", "Statistics1", "Statistics1");
|
||||
// }
|
||||
#endregion
|
||||
}
|
||||
|
||||
private void WatchdogConfigtime_PreValidate(object sender, object optionalParameter)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - PreValidate
|
||||
//
|
||||
// PreValidate is called when the object is about to be validated (e.g. when
|
||||
// an edit session is ending and the object is about to be saved.)
|
||||
//
|
||||
// A primitive can modify attributes within this method.
|
||||
//
|
||||
// Note: It is often not necessary to perform any actions in OnPreValidate.
|
||||
//------------------------------------------------------------------------------
|
||||
}
|
||||
|
||||
#region Optional Configuration Events
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Optional Configtime Events
|
||||
//
|
||||
// Use the Toolkit Editor to enable each optional event or add the event to the
|
||||
// ObjectAttributes.Events attribute in the object class.
|
||||
//
|
||||
// Multiple events can be enabled using the | delimiter.
|
||||
//
|
||||
// Example:
|
||||
// [ObjectAttributes.Events(a.EventHandlerEnum.OnPreDeploy | a.EventHandlerEnum.OnPreDelete)]
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
private void WatchdogConfigtime_PreUndeploy(object sender, ref SupportEventArgs e)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - PreUndeploy
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
}
|
||||
private void WatchdogConfigtime_PreUnassign(object sender, ref GeneralEventArgs e)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - PreUnassign
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
}
|
||||
private void WatchdogConfigtime_PreRename(object sender, ref RenameEventArgs e)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - PreRename
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
}
|
||||
private void WatchdogConfigtime_PreDeploy(object sender, ref DeployEventArgs e)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - PreDeploy
|
||||
//
|
||||
// Use the Toolkit Editor to enable this event or add OnPreDeploy to the
|
||||
// ObjectAttributes.Events attribute in the object class. Multiple events can
|
||||
// be enabled using the | delimiter.
|
||||
//
|
||||
// Example: [ObjectAttributes.Events(a.EventHandlerEnum.OnPreDeploy)]
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
}
|
||||
private void WatchdogConfigtime_PreDelete(object sender, ref SupportEventArgs e)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - PreDelete
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
}
|
||||
private void WatchdogConfigtime_PreCheckIn(object sender, ref SupportEventArgs e)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - PreCheckIn
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
}
|
||||
private void WatchdogConfigtime_PreAssignTo(object sender, ref GeneralEventArgs e)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - PreAssignTo
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
}
|
||||
private void WatchdogConfigtime_PostUndeploy(object sender, ref SupportEventArgs e)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - PostUndeploy
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
}
|
||||
private void WatchdogConfigtime_PostUnassignFrom(object sender, ref GeneralEventArgs e)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - PostUnassignFrom
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
}
|
||||
private void WatchdogConfigtime_PostUnassign(object sender, ref GeneralEventArgs e)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - PostUnassign
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
}
|
||||
private void WatchdogConfigtime_PostRename(object sender, ref RenameEventArgs e)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - PostRename
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
}
|
||||
private void WatchdogConfigtime_PostDeploy(object sender, ref SupportEventArgs e)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - PostDeploy
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
}
|
||||
private void WatchdogConfigtime_PostDelete(object sender, ref SupportEventArgs e)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - PostDelete
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
}
|
||||
private void WatchdogConfigtime_PostAssignTo(object sender, ref GeneralEventArgs e)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - PostAssignTo
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
}
|
||||
private void WatchdogConfigtime_PostAssign(object sender, ref GeneralEventArgs e)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - PostAssign
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
}
|
||||
private void WatchdogConfigtime_PostCheckIn(object sender, ref SupportEventArgs e)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Configtime Event - PostCheckIn
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private void TimeSinceChange_HistorizedSetHandler(object sender, ref ConfigtimeSetHandlerEventArgs e)
|
||||
{
|
||||
// Required Set Handler for Virtual History Primtive.
|
||||
// Do not modify this Set Handler via the code editor.
|
||||
//
|
||||
// WARNING: Changes made to this Set Handler will be overwritten by the code generator.
|
||||
|
||||
if (TimeSinceChange_Historized == e.Value)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.Value)
|
||||
{
|
||||
if (!AddPrimitive("TimeSinceChangeHistory", "TimeSinceChangeHistory1", "TimeSinceChange"))
|
||||
{
|
||||
e.Message = PrimitiveResult.message;
|
||||
return; // Add failed
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!DeletePrimitive("TimeSinceChangeHistory1"))
|
||||
{
|
||||
e.Message = PrimitiveResult.message;
|
||||
return; // Remove Failed failed
|
||||
}
|
||||
}
|
||||
|
||||
TimeSinceChange_Historized = e.Value;
|
||||
}
|
||||
|
||||
private void Timeout_AlarmedSetHandler(object sender, ref ConfigtimeSetHandlerEventArgs e)
|
||||
{
|
||||
// Required Set Handler for Virtual Alarm Primtive.
|
||||
// Do not modify this Set Handler via the code editor.
|
||||
//
|
||||
// WARNING: Changes made to this Set Handler will be overwritten by the code generator.
|
||||
|
||||
if (Timeout_Alarmed == e.Value)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.Value)
|
||||
{
|
||||
if (!AddPrimitive("TimeoutAlarm", "TimeoutAlarm1", "Timeout"))
|
||||
{
|
||||
e.Message = PrimitiveResult.message;
|
||||
return; // Add failed
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!DeletePrimitive("TimeoutAlarm1"))
|
||||
{
|
||||
e.Message = PrimitiveResult.message;
|
||||
return; // Remove Failed failed
|
||||
}
|
||||
}
|
||||
|
||||
Timeout_Alarmed = e.Value;
|
||||
}
|
||||
|
||||
private void Timeout_LimitSetHandler(object sender, ref ConfigtimeSetHandlerEventArgs e)
|
||||
{
|
||||
if (e.Value < 0)
|
||||
{
|
||||
e.Message = GetText("Timeout.Limit must be a positive number.");
|
||||
}
|
||||
|
||||
Timeout_Limit.SetHandlerValue = e;
|
||||
}
|
||||
|
||||
private void Stats_EnableSetHandler(object sender, ref ConfigtimeSetHandlerEventArgs e)
|
||||
{
|
||||
|
||||
if (e.Value == Stats_Enable) return;
|
||||
|
||||
if (e.Value)
|
||||
{
|
||||
if (!AddPrimitive("Stats", "Stats1", "Stats"))
|
||||
{
|
||||
e.Message = PrimitiveResult.message;
|
||||
return; //Add failed
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!DeletePrimitive("Stats1"))
|
||||
{
|
||||
e.Message = PrimitiveResult.message;
|
||||
return; //delete failed
|
||||
}
|
||||
}
|
||||
|
||||
Stats_Enable.SetHandlerValue = e;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,132 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.21022</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{9C114E5F-13AC-4864-8301-4D3B422D075F}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>ArchestrA.Toolkit.Watchdog</RootNamespace>
|
||||
<AssemblyName>WatchdogConfigtime1</AssemblyName>
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<AssemblyOriginatorKeyFile>..\Watchdog.snk</AssemblyOriginatorKeyFile>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="ArchestrA.Toolkit.ArchestrAObjectSupport, Version=4.0.0.0, Culture=neutral, PublicKeyToken=f787e550f2f530ee, processorArchitecture=MSI">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Program Files\Archestra\Toolkits\AOT\bin\ArchestrA.Toolkit.ArchestrAObjectSupport.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="ArchestrA.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=23106a86e706d0ae">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Program Files\Archestra\Toolkits\AOT\bin\ArchestrA.Core.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="WatchdogConfigtime.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Service Include="{94E38DFF-614B-4cbd-B67C-F211BB35CE8B}" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Watchdog\Watchdog.csproj">
|
||||
<Project>{0E30645D-B574-41BF-B302-64FEE3C8208A}</Project>
|
||||
<Name>Watchdog</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\Watchdog.snk">
|
||||
<Link>Watchdog.snk</Link>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 2.0 %28x86%29</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.0 %28x86%29</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
<PreBuildEvent>
|
||||
</PreBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,44 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// Copyright (C) 2008 Invensys Systems Inc. All rights reserved.
|
||||
//
|
||||
// THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
|
||||
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
||||
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
|
||||
// PARTICULAR PURPOSE.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("Editor")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("ArchestrA")]
|
||||
[assembly: AssemblyProduct("Editor")]
|
||||
[assembly: AssemblyCopyright("Copyright © Wonderware 2006")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(true)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("1ce95fcc-1c0e-4318-aec4-8871c21457b8")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.1.0.0")]
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,36 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// Copyright (C) 2008 Invensys Systems Inc. All rights reserved.
|
||||
//
|
||||
// THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
|
||||
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
||||
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
|
||||
// PARTICULAR PURPOSE.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Data;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
|
||||
namespace ArchestrA.Toolkit.Watchdog
|
||||
{
|
||||
[Guid("146f620e-19d6-43b6-80b9-e9cdfcb383e8")]
|
||||
[ProgId("ArchestrA.WatchDog.1")]
|
||||
|
||||
public partial class WatchdogEditor : ArchestraEditorFramework.aaBaseEditorForm
|
||||
{
|
||||
public WatchdogEditor()
|
||||
{
|
||||
this.Dictionary = "ArchestrA:WatchDog1.aaDCT";
|
||||
// This call is required by the Windows Form Designer.
|
||||
InitializeComponent();
|
||||
|
||||
// TODO: Add any initialization after the InitializeComponent call
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,139 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.21022</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{B2B3A624-324D-47B1-956D-94B48B7140A6}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>ArchestrA.Toolkit.Watchdog</RootNamespace>
|
||||
<AssemblyName>WatchdogEditor1</AssemblyName>
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<AssemblyOriginatorKeyFile>..\Watchdog.snk</AssemblyOriginatorKeyFile>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="ArchestrA.Toolkit.ArchestrAControlLibrary, Version=4.0.0.0, Culture=neutral, PublicKeyToken=f787e550f2f530ee, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Program Files\Archestra\Toolkits\AOT\bin\ArchestrA.Toolkit.ArchestrAControlLibrary.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="ArchestraEditorFramework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=fdcbee9982d955e0, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Program Files\Archestra\Toolkits\AOT\bin\ArchestraEditorFramework.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="IaaEditorFormLibInterop, Version=2.0.0.0, Culture=neutral, PublicKeyToken=fdcbee9982d955e0, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Program Files\Archestra\Toolkits\AOT\bin\IaaEditorFormLibInterop.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="WatchdogEditor.cs">
|
||||
</Compile>
|
||||
<Compile Include="WatchdogEditor.Designer.cs">
|
||||
<DependentUpon>WatchdogEditor.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Service Include="{94E38DFF-614B-4cbd-B67C-F211BB35CE8B}" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="WatchdogEditor.resx">
|
||||
<SubType>Designer</SubType>
|
||||
<DependentUpon>WatchdogEditor.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\Watchdog.snk">
|
||||
<Link>Watchdog.snk</Link>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 2.0 %28x86%29</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.0 %28x86%29</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
<PreBuildEvent>
|
||||
</PreBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,540 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="m_ToolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="aaWatchdogMonitoredBitInputSourceSecurityClass.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
|
||||
CxMBAJqcGAAAAg1JREFUOE+t1G1P2lAYBuDtN/mf+Dt+NPu4uDcWEyMKggxM3CIimMoUcAjIoLSFliJS
|
||||
oLSnvXfOqZV24sYWmjwfSHku7ofz8hrAq7U+DFxnhbBoVMey2toqY1ktC/IEMog9hACm6cIYu9B1B0rP
|
||||
Qb1BUK3YKJVsFAsWcjkL0c+32NzMspZQqGfgcAgMBi5UzYEs22g2TRwfq8hmVWQyfaTTPaSOFCQT4v+D
|
||||
mYyKL2mKUSiVknF4KK0Gui7wlFBdJDxKL6BEXMLBvrga6DiPoB4eOZmUkUhIiB+IiMVE7O11VgOJ4/KE
|
||||
OgMDCePxLvZpqkjkzYvlL05oUQjxQL4oATBGEzGMvfOL/aimed9TFMLf80Piy2zb2PYj+FvC3d12CNzY
|
||||
iMAvSbIhitZy0LKcRcLAttnZaXkg3aoM6vdZKhvdrsU/392Zz0GWlKU05w4fWQuMHP3U5A2q6qLXI5Ak
|
||||
gk7HQqs15+CP2nQ56KOzGQn9hx8/NHiDIhM+3s/2nG94hlVvJri+Nl4GfXQ6Jd5JaZh4/+6WN3TaFh1v
|
||||
jnp9xrFKeYLvpTEEYfRn0Ecnhnf0tt/WeEOD4jU6XrUywdXVGJeXD7i4GOE8f/930EeNMb0UBIc33NDx
|
||||
ymWDXhJjnrBQuMfZmY7TU301kKHsRmHFQJZKEB5QLI6Qzw+Ro9C3rwOcnGirg8Hr6Z9Oyrpu7V90BMb8
|
||||
GyGmhwAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="aaWatchdogMonitoredBitInputSourceLock.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
|
||||
CxMBAJqcGAAAAWtJREFUOE+tlG1ugkAQhtuLeAkv0lNwHX97mf6wxmrVoFXUGhE/qboUxY8qiL7urLFZ
|
||||
Wws0heRNYNl5Zt6B2XsAd7FeBIxTscKE29+qU5QSZEV1cRNIoFIJV0okHjgzvD0/gBdYOg3IogRRoIFA
|
||||
GRArUFHSvJ+39b0NoRUSaD7Hl2z7CMs6grEDJhNfJJKhV0DqXyr1eCUZmEwquMg09xiNvHAgsw6QJYA2
|
||||
BGg2o6r2GI898WwYu2jA6dTHcORCNz5FAGNH0Jpp8vWhh17PFcC39vl9oGWqrtff8s1rVGsLETB594W9
|
||||
/sBFt7sTsGZrg3p9HQ1Y15Yol21ks0wEDAcet+ei09kKWEPb4LW6gqo60YDyD01AXd+hze01GxvUaitU
|
||||
KpTQwUvh7CDQsvwl6Z4CWtyepvEW8KporVhcIJ+3kcvZwcBbs0pAqkpVl3y2HRQKczxzUPbpA5mM9Xcg
|
||||
JfnXpEQ5UYL2xH7AngA3wnpl9OQ1/wAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="aaStats_EnableLock.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
|
||||
CxMBAJqcGAAAAWtJREFUOE+tlG1ugkAQhtuLeAkv0lNwHX97mf6wxmrVoFXUGhE/qboUxY8qiL7urLFZ
|
||||
Wws0heRNYNl5Zt6B2XsAd7FeBIxTscKE29+qU5QSZEV1cRNIoFIJV0okHjgzvD0/gBdYOg3IogRRoIFA
|
||||
GRArUFHSvJ+39b0NoRUSaD7Hl2z7CMs6grEDJhNfJJKhV0DqXyr1eCUZmEwquMg09xiNvHAgsw6QJYA2
|
||||
BGg2o6r2GI898WwYu2jA6dTHcORCNz5FAGNH0Jpp8vWhh17PFcC39vl9oGWqrtff8s1rVGsLETB594W9
|
||||
/sBFt7sTsGZrg3p9HQ1Y15Yol21ks0wEDAcet+ei09kKWEPb4LW6gqo60YDyD01AXd+hze01GxvUaitU
|
||||
KpTQwUvh7CDQsvwl6Z4CWtyepvEW8KporVhcIJ+3kcvZwcBbs0pAqkpVl3y2HRQKczxzUPbpA5mM9Xcg
|
||||
JfnXpEQ5UYL2xH7AngA3wnpl9OQ1/wAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="aaWatchdogStatsTimeoutCnt_HistorizedLock.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
|
||||
CxMBAJqcGAAAAWtJREFUOE+tlG1ugkAQhtuLeAkv0lNwHX97mf6wxmrVoFXUGhE/qboUxY8qiL7urLFZ
|
||||
Wws0heRNYNl5Zt6B2XsAd7FeBIxTscKE29+qU5QSZEV1cRNIoFIJV0okHjgzvD0/gBdYOg3IogRRoIFA
|
||||
GRArUFHSvJ+39b0NoRUSaD7Hl2z7CMs6grEDJhNfJJKhV0DqXyr1eCUZmEwquMg09xiNvHAgsw6QJYA2
|
||||
BGg2o6r2GI898WwYu2jA6dTHcORCNz5FAGNH0Jpp8vWhh17PFcC39vl9oGWqrtff8s1rVGsLETB594W9
|
||||
/sBFt7sTsGZrg3p9HQ1Y15Yol21ks0wEDAcet+ei09kKWEPb4LW6gqo60YDyD01AXd+hze01GxvUaitU
|
||||
KpTQwUvh7CDQsvwl6Z4CWtyepvEW8KporVhcIJ+3kcvZwcBbs0pAqkpVl3y2HRQKczxzUPbpA5mM9Xcg
|
||||
JfnXpEQ5UYL2xH7AngA3wnpl9OQ1/wAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="aaTimeout_AlarmedLock.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
|
||||
CxMBAJqcGAAAAWtJREFUOE+tlG1ugkAQhtuLeAkv0lNwHX97mf6wxmrVoFXUGhE/qboUxY8qiL7urLFZ
|
||||
Wws0heRNYNl5Zt6B2XsAd7FeBIxTscKE29+qU5QSZEV1cRNIoFIJV0okHjgzvD0/gBdYOg3IogRRoIFA
|
||||
GRArUFHSvJ+39b0NoRUSaD7Hl2z7CMs6grEDJhNfJJKhV0DqXyr1eCUZmEwquMg09xiNvHAgsw6QJYA2
|
||||
BGg2o6r2GI898WwYu2jA6dTHcORCNz5FAGNH0Jpp8vWhh17PFcC39vl9oGWqrtff8s1rVGsLETB594W9
|
||||
/sBFt7sTsGZrg3p9HQ1Y15Yol21ks0wEDAcet+ei09kKWEPb4LW6gqo60YDyD01AXd+hze01GxvUaitU
|
||||
KpTQwUvh7CDQsvwl6Z4CWtyepvEW8KporVhcIJ+3kcvZwcBbs0pAqkpVl3y2HRQKczxzUPbpA5mM9Xcg
|
||||
JfnXpEQ5UYL2xH7AngA3wnpl9OQ1/wAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="aaTimeout_LimitSecurityClass.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
|
||||
CxMBAJqcGAAAAg1JREFUOE+t1G1P2lAYBuDtN/mf+Dt+NPu4uDcWEyMKggxM3CIimMoUcAjIoLSFliJS
|
||||
oLSnvXfOqZV24sYWmjwfSHku7ofz8hrAq7U+DFxnhbBoVMey2toqY1ktC/IEMog9hACm6cIYu9B1B0rP
|
||||
Qb1BUK3YKJVsFAsWcjkL0c+32NzMspZQqGfgcAgMBi5UzYEs22g2TRwfq8hmVWQyfaTTPaSOFCQT4v+D
|
||||
mYyKL2mKUSiVknF4KK0Gui7wlFBdJDxKL6BEXMLBvrga6DiPoB4eOZmUkUhIiB+IiMVE7O11VgOJ4/KE
|
||||
OgMDCePxLvZpqkjkzYvlL05oUQjxQL4oATBGEzGMvfOL/aimed9TFMLf80Piy2zb2PYj+FvC3d12CNzY
|
||||
iMAvSbIhitZy0LKcRcLAttnZaXkg3aoM6vdZKhvdrsU/392Zz0GWlKU05w4fWQuMHP3U5A2q6qLXI5Ak
|
||||
gk7HQqs15+CP2nQ56KOzGQn9hx8/NHiDIhM+3s/2nG94hlVvJri+Nl4GfXQ6Jd5JaZh4/+6WN3TaFh1v
|
||||
jnp9xrFKeYLvpTEEYfRn0Ecnhnf0tt/WeEOD4jU6XrUywdXVGJeXD7i4GOE8f/930EeNMb0UBIc33NDx
|
||||
ymWDXhJjnrBQuMfZmY7TU301kKHsRmHFQJZKEB5QLI6Qzw+Ro9C3rwOcnGirg8Hr6Z9Oyrpu7V90BMb8
|
||||
GyGmhwAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="aaTimeout_LimitLock.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
|
||||
CxMBAJqcGAAAAWtJREFUOE+tlG1ugkAQhtuLeAkv0lNwHX97mf6wxmrVoFXUGhE/qboUxY8qiL7urLFZ
|
||||
Wws0heRNYNl5Zt6B2XsAd7FeBIxTscKE29+qU5QSZEV1cRNIoFIJV0okHjgzvD0/gBdYOg3IogRRoIFA
|
||||
GRArUFHSvJ+39b0NoRUSaD7Hl2z7CMs6grEDJhNfJJKhV0DqXyr1eCUZmEwquMg09xiNvHAgsw6QJYA2
|
||||
BGg2o6r2GI898WwYu2jA6dTHcORCNz5FAGNH0Jpp8vWhh17PFcC39vl9oGWqrtff8s1rVGsLETB594W9
|
||||
/sBFt7sTsGZrg3p9HQ1Y15Yol21ks0wEDAcet+ei09kKWEPb4LW6gqo60YDyD01AXd+hze01GxvUaitU
|
||||
KpTQwUvh7CDQsvwl6Z4CWtyepvEW8KporVhcIJ+3kcvZwcBbs0pAqkpVl3y2HRQKczxzUPbpA5mM9Xcg
|
||||
JfnXpEQ5UYL2xH7AngA3wnpl9OQ1/wAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="aaTimeSinceChange_HistorizedLock.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
|
||||
CxMBAJqcGAAAAWtJREFUOE+tlG1ugkAQhtuLeAkv0lNwHX97mf6wxmrVoFXUGhE/qboUxY8qiL7urLFZ
|
||||
Wws0heRNYNl5Zt6B2XsAd7FeBIxTscKE29+qU5QSZEV1cRNIoFIJV0okHjgzvD0/gBdYOg3IogRRoIFA
|
||||
GRArUFHSvJ+39b0NoRUSaD7Hl2z7CMs6grEDJhNfJJKhV0DqXyr1eCUZmEwquMg09xiNvHAgsw6QJYA2
|
||||
BGg2o6r2GI898WwYu2jA6dTHcORCNz5FAGNH0Jpp8vWhh17PFcC39vl9oGWqrtff8s1rVGsLETB594W9
|
||||
/sBFt7sTsGZrg3p9HQ1Y15Yol21ks0wEDAcet+ei09kKWEPb4LW6gqo60YDyD01AXd+hze01GxvUaitU
|
||||
KpTQwUvh7CDQsvwl6Z4CWtyepvEW8KporVhcIJ+3kcvZwcBbs0pAqkpVl3y2HRQKczxzUPbpA5mM9Xcg
|
||||
JfnXpEQ5UYL2xH7AngA3wnpl9OQ1/wAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="aaWatchdogStatsResetSecurityClass.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
|
||||
CxMBAJqcGAAAAg1JREFUOE+t1G1P2lAYBuDtN/mf+Dt+NPu4uDcWEyMKggxM3CIimMoUcAjIoLSFliJS
|
||||
oLSnvXfOqZV24sYWmjwfSHku7ofz8hrAq7U+DFxnhbBoVMey2toqY1ktC/IEMog9hACm6cIYu9B1B0rP
|
||||
Qb1BUK3YKJVsFAsWcjkL0c+32NzMspZQqGfgcAgMBi5UzYEs22g2TRwfq8hmVWQyfaTTPaSOFCQT4v+D
|
||||
mYyKL2mKUSiVknF4KK0Gui7wlFBdJDxKL6BEXMLBvrga6DiPoB4eOZmUkUhIiB+IiMVE7O11VgOJ4/KE
|
||||
OgMDCePxLvZpqkjkzYvlL05oUQjxQL4oATBGEzGMvfOL/aimed9TFMLf80Piy2zb2PYj+FvC3d12CNzY
|
||||
iMAvSbIhitZy0LKcRcLAttnZaXkg3aoM6vdZKhvdrsU/392Zz0GWlKU05w4fWQuMHP3U5A2q6qLXI5Ak
|
||||
gk7HQqs15+CP2nQ56KOzGQn9hx8/NHiDIhM+3s/2nG94hlVvJri+Nl4GfXQ6Jd5JaZh4/+6WN3TaFh1v
|
||||
jnp9xrFKeYLvpTEEYfRn0Ecnhnf0tt/WeEOD4jU6XrUywdXVGJeXD7i4GOE8f/930EeNMb0UBIc33NDx
|
||||
ymWDXhJjnrBQuMfZmY7TU301kKHsRmHFQJZKEB5QLI6Qzw+Ro9C3rwOcnGirg8Hr6Z9Oyrpu7V90BMb8
|
||||
GyGmhwAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="aaWatchdogStatsTimeoutCntHistForceStoragePeriodSecurityClass.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
|
||||
CxMBAJqcGAAAAg1JREFUOE+t1G1P2lAYBuDtN/mf+Dt+NPu4uDcWEyMKggxM3CIimMoUcAjIoLSFliJS
|
||||
oLSnvXfOqZV24sYWmjwfSHku7ofz8hrAq7U+DFxnhbBoVMey2toqY1ktC/IEMog9hACm6cIYu9B1B0rP
|
||||
Qb1BUK3YKJVsFAsWcjkL0c+32NzMspZQqGfgcAgMBi5UzYEs22g2TRwfq8hmVWQyfaTTPaSOFCQT4v+D
|
||||
mYyKL2mKUSiVknF4KK0Gui7wlFBdJDxKL6BEXMLBvrga6DiPoB4eOZmUkUhIiB+IiMVE7O11VgOJ4/KE
|
||||
OgMDCePxLvZpqkjkzYvlL05oUQjxQL4oATBGEzGMvfOL/aimed9TFMLf80Piy2zb2PYj+FvC3d12CNzY
|
||||
iMAvSbIhitZy0LKcRcLAttnZaXkg3aoM6vdZKhvdrsU/392Zz0GWlKU05w4fWQuMHP3U5A2q6qLXI5Ak
|
||||
gk7HQqs15+CP2nQ56KOzGQn9hx8/NHiDIhM+3s/2nG94hlVvJri+Nl4GfXQ6Jd5JaZh4/+6WN3TaFh1v
|
||||
jnp9xrFKeYLvpTEEYfRn0Ecnhnf0tt/WeEOD4jU6XrUywdXVGJeXD7i4GOE8f/930EeNMb0UBIc33NDx
|
||||
ymWDXhJjnrBQuMfZmY7TU301kKHsRmHFQJZKEB5QLI6Qzw+Ro9C3rwOcnGirg8Hr6Z9Oyrpu7V90BMb8
|
||||
GyGmhwAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="aaWatchdogStatsTimeoutCntHistForceStoragePeriodLock.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
|
||||
CxMBAJqcGAAAAWtJREFUOE+tlG1ugkAQhtuLeAkv0lNwHX97mf6wxmrVoFXUGhE/qboUxY8qiL7urLFZ
|
||||
Wws0heRNYNl5Zt6B2XsAd7FeBIxTscKE29+qU5QSZEV1cRNIoFIJV0okHjgzvD0/gBdYOg3IogRRoIFA
|
||||
GRArUFHSvJ+39b0NoRUSaD7Hl2z7CMs6grEDJhNfJJKhV0DqXyr1eCUZmEwquMg09xiNvHAgsw6QJYA2
|
||||
BGg2o6r2GI898WwYu2jA6dTHcORCNz5FAGNH0Jpp8vWhh17PFcC39vl9oGWqrtff8s1rVGsLETB594W9
|
||||
/sBFt7sTsGZrg3p9HQ1Y15Yol21ks0wEDAcet+ei09kKWEPb4LW6gqo60YDyD01AXd+hze01GxvUaitU
|
||||
KpTQwUvh7CDQsvwl6Z4CWtyepvEW8KporVhcIJ+3kcvZwcBbs0pAqkpVl3y2HRQKczxzUPbpA5mM9Xcg
|
||||
JfnXpEQ5UYL2xH7AngA3wnpl9OQ1/wAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="aaWatchdogStatsTimeoutCntHistTrendHiSecurityClass.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
|
||||
CxMBAJqcGAAAAg1JREFUOE+t1G1P2lAYBuDtN/mf+Dt+NPu4uDcWEyMKggxM3CIimMoUcAjIoLSFliJS
|
||||
oLSnvXfOqZV24sYWmjwfSHku7ofz8hrAq7U+DFxnhbBoVMey2toqY1ktC/IEMog9hACm6cIYu9B1B0rP
|
||||
Qb1BUK3YKJVsFAsWcjkL0c+32NzMspZQqGfgcAgMBi5UzYEs22g2TRwfq8hmVWQyfaTTPaSOFCQT4v+D
|
||||
mYyKL2mKUSiVknF4KK0Gui7wlFBdJDxKL6BEXMLBvrga6DiPoB4eOZmUkUhIiB+IiMVE7O11VgOJ4/KE
|
||||
OgMDCePxLvZpqkjkzYvlL05oUQjxQL4oATBGEzGMvfOL/aimed9TFMLf80Piy2zb2PYj+FvC3d12CNzY
|
||||
iMAvSbIhitZy0LKcRcLAttnZaXkg3aoM6vdZKhvdrsU/392Zz0GWlKU05w4fWQuMHP3U5A2q6qLXI5Ak
|
||||
gk7HQqs15+CP2nQ56KOzGQn9hx8/NHiDIhM+3s/2nG94hlVvJri+Nl4GfXQ6Jd5JaZh4/+6WN3TaFh1v
|
||||
jnp9xrFKeYLvpTEEYfRn0Ecnhnf0tt/WeEOD4jU6XrUywdXVGJeXD7i4GOE8f/930EeNMb0UBIc33NDx
|
||||
ymWDXhJjnrBQuMfZmY7TU301kKHsRmHFQJZKEB5QLI6Qzw+Ro9C3rwOcnGirg8Hr6Z9Oyrpu7V90BMb8
|
||||
GyGmhwAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="aaWatchdogStatsTimeoutCntHistTrendHiLock.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
|
||||
CxMBAJqcGAAAAWtJREFUOE+tlG1ugkAQhtuLeAkv0lNwHX97mf6wxmrVoFXUGhE/qboUxY8qiL7urLFZ
|
||||
Wws0heRNYNl5Zt6B2XsAd7FeBIxTscKE29+qU5QSZEV1cRNIoFIJV0okHjgzvD0/gBdYOg3IogRRoIFA
|
||||
GRArUFHSvJ+39b0NoRUSaD7Hl2z7CMs6grEDJhNfJJKhV0DqXyr1eCUZmEwquMg09xiNvHAgsw6QJYA2
|
||||
BGg2o6r2GI898WwYu2jA6dTHcORCNz5FAGNH0Jpp8vWhh17PFcC39vl9oGWqrtff8s1rVGsLETB594W9
|
||||
/sBFt7sTsGZrg3p9HQ1Y15Yol21ks0wEDAcet+ei09kKWEPb4LW6gqo60YDyD01AXd+hze01GxvUaitU
|
||||
KpTQwUvh7CDQsvwl6Z4CWtyepvEW8KporVhcIJ+3kcvZwcBbs0pAqkpVl3y2HRQKczxzUPbpA5mM9Xcg
|
||||
JfnXpEQ5UYL2xH7AngA3wnpl9OQ1/wAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="aaWatchdogStatsTimeoutCntHistTrendLoSecurityClass.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
|
||||
CxMBAJqcGAAAAg1JREFUOE+t1G1P2lAYBuDtN/mf+Dt+NPu4uDcWEyMKggxM3CIimMoUcAjIoLSFliJS
|
||||
oLSnvXfOqZV24sYWmjwfSHku7ofz8hrAq7U+DFxnhbBoVMey2toqY1ktC/IEMog9hACm6cIYu9B1B0rP
|
||||
Qb1BUK3YKJVsFAsWcjkL0c+32NzMspZQqGfgcAgMBi5UzYEs22g2TRwfq8hmVWQyfaTTPaSOFCQT4v+D
|
||||
mYyKL2mKUSiVknF4KK0Gui7wlFBdJDxKL6BEXMLBvrga6DiPoB4eOZmUkUhIiB+IiMVE7O11VgOJ4/KE
|
||||
OgMDCePxLvZpqkjkzYvlL05oUQjxQL4oATBGEzGMvfOL/aimed9TFMLf80Piy2zb2PYj+FvC3d12CNzY
|
||||
iMAvSbIhitZy0LKcRcLAttnZaXkg3aoM6vdZKhvdrsU/392Zz0GWlKU05w4fWQuMHP3U5A2q6qLXI5Ak
|
||||
gk7HQqs15+CP2nQ56KOzGQn9hx8/NHiDIhM+3s/2nG94hlVvJri+Nl4GfXQ6Jd5JaZh4/+6WN3TaFh1v
|
||||
jnp9xrFKeYLvpTEEYfRn0Ecnhnf0tt/WeEOD4jU6XrUywdXVGJeXD7i4GOE8f/930EeNMb0UBIc33NDx
|
||||
ymWDXhJjnrBQuMfZmY7TU301kKHsRmHFQJZKEB5QLI6Qzw+Ro9C3rwOcnGirg8Hr6Z9Oyrpu7V90BMb8
|
||||
GyGmhwAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="aaWatchdogStatsTimeoutCntHistTrendLoLock.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
|
||||
CxMBAJqcGAAAAWtJREFUOE+tlG1ugkAQhtuLeAkv0lNwHX97mf6wxmrVoFXUGhE/qboUxY8qiL7urLFZ
|
||||
Wws0heRNYNl5Zt6B2XsAd7FeBIxTscKE29+qU5QSZEV1cRNIoFIJV0okHjgzvD0/gBdYOg3IogRRoIFA
|
||||
GRArUFHSvJ+39b0NoRUSaD7Hl2z7CMs6grEDJhNfJJKhV0DqXyr1eCUZmEwquMg09xiNvHAgsw6QJYA2
|
||||
BGg2o6r2GI898WwYu2jA6dTHcORCNz5FAGNH0Jpp8vWhh17PFcC39vl9oGWqrtff8s1rVGsLETB594W9
|
||||
/sBFt7sTsGZrg3p9HQ1Y15Yol21ks0wEDAcet+ei09kKWEPb4LW6gqo60YDyD01AXd+hze01GxvUaitU
|
||||
KpTQwUvh7CDQsvwl6Z4CWtyepvEW8KporVhcIJ+3kcvZwcBbs0pAqkpVl3y2HRQKczxzUPbpA5mM9Xcg
|
||||
JfnXpEQ5UYL2xH7AngA3wnpl9OQ1/wAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="aaWatchdogStatsTimeoutCntHistValueDeadBandSecurityClass.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
|
||||
CxMBAJqcGAAAAg1JREFUOE+t1G1P2lAYBuDtN/mf+Dt+NPu4uDcWEyMKggxM3CIimMoUcAjIoLSFliJS
|
||||
oLSnvXfOqZV24sYWmjwfSHku7ofz8hrAq7U+DFxnhbBoVMey2toqY1ktC/IEMog9hACm6cIYu9B1B0rP
|
||||
Qb1BUK3YKJVsFAsWcjkL0c+32NzMspZQqGfgcAgMBi5UzYEs22g2TRwfq8hmVWQyfaTTPaSOFCQT4v+D
|
||||
mYyKL2mKUSiVknF4KK0Gui7wlFBdJDxKL6BEXMLBvrga6DiPoB4eOZmUkUhIiB+IiMVE7O11VgOJ4/KE
|
||||
OgMDCePxLvZpqkjkzYvlL05oUQjxQL4oATBGEzGMvfOL/aimed9TFMLf80Piy2zb2PYj+FvC3d12CNzY
|
||||
iMAvSbIhitZy0LKcRcLAttnZaXkg3aoM6vdZKhvdrsU/392Zz0GWlKU05w4fWQuMHP3U5A2q6qLXI5Ak
|
||||
gk7HQqs15+CP2nQ56KOzGQn9hx8/NHiDIhM+3s/2nG94hlVvJri+Nl4GfXQ6Jd5JaZh4/+6WN3TaFh1v
|
||||
jnp9xrFKeYLvpTEEYfRn0Ecnhnf0tt/WeEOD4jU6XrUywdXVGJeXD7i4GOE8f/930EeNMb0UBIc33NDx
|
||||
ymWDXhJjnrBQuMfZmY7TU301kKHsRmHFQJZKEB5QLI6Qzw+Ro9C3rwOcnGirg8Hr6Z9Oyrpu7V90BMb8
|
||||
GyGmhwAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="aaWatchdogStatsTimeoutCntHistValueDeadBandLock.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
|
||||
CxMBAJqcGAAAAWtJREFUOE+tlG1ugkAQhtuLeAkv0lNwHX97mf6wxmrVoFXUGhE/qboUxY8qiL7urLFZ
|
||||
Wws0heRNYNl5Zt6B2XsAd7FeBIxTscKE29+qU5QSZEV1cRNIoFIJV0okHjgzvD0/gBdYOg3IogRRoIFA
|
||||
GRArUFHSvJ+39b0NoRUSaD7Hl2z7CMs6grEDJhNfJJKhV0DqXyr1eCUZmEwquMg09xiNvHAgsw6QJYA2
|
||||
BGg2o6r2GI898WwYu2jA6dTHcORCNz5FAGNH0Jpp8vWhh17PFcC39vl9oGWqrtff8s1rVGsLETB594W9
|
||||
/sBFt7sTsGZrg3p9HQ1Y15Yol21ks0wEDAcet+ei09kKWEPb4LW6gqo60YDyD01AXd+hze01GxvUaitU
|
||||
KpTQwUvh7CDQsvwl6Z4CWtyepvEW8KporVhcIJ+3kcvZwcBbs0pAqkpVl3y2HRQKczxzUPbpA5mM9Xcg
|
||||
JfnXpEQ5UYL2xH7AngA3wnpl9OQ1/wAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="aaWatchdogTimeoutAlarmAckMsgSecurityClass.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
|
||||
CxMBAJqcGAAAAg1JREFUOE+t1G1P2lAYBuDtN/mf+Dt+NPu4uDcWEyMKggxM3CIimMoUcAjIoLSFliJS
|
||||
oLSnvXfOqZV24sYWmjwfSHku7ofz8hrAq7U+DFxnhbBoVMey2toqY1ktC/IEMog9hACm6cIYu9B1B0rP
|
||||
Qb1BUK3YKJVsFAsWcjkL0c+32NzMspZQqGfgcAgMBi5UzYEs22g2TRwfq8hmVWQyfaTTPaSOFCQT4v+D
|
||||
mYyKL2mKUSiVknF4KK0Gui7wlFBdJDxKL6BEXMLBvrga6DiPoB4eOZmUkUhIiB+IiMVE7O11VgOJ4/KE
|
||||
OgMDCePxLvZpqkjkzYvlL05oUQjxQL4oATBGEzGMvfOL/aimed9TFMLf80Piy2zb2PYj+FvC3d12CNzY
|
||||
iMAvSbIhitZy0LKcRcLAttnZaXkg3aoM6vdZKhvdrsU/392Zz0GWlKU05w4fWQuMHP3U5A2q6qLXI5Ak
|
||||
gk7HQqs15+CP2nQ56KOzGQn9hx8/NHiDIhM+3s/2nG94hlVvJri+Nl4GfXQ6Jd5JaZh4/+6WN3TaFh1v
|
||||
jnp9xrFKeYLvpTEEYfRn0Ecnhnf0tt/WeEOD4jU6XrUywdXVGJeXD7i4GOE8f/930EeNMb0UBIc33NDx
|
||||
ymWDXhJjnrBQuMfZmY7TU301kKHsRmHFQJZKEB5QLI6Qzw+Ro9C3rwOcnGirg8Hr6Z9Oyrpu7V90BMb8
|
||||
GyGmhwAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="aaWatchdogTimeoutAlarmDescAttrNameLock.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
|
||||
CxMBAJqcGAAAAWtJREFUOE+tlG1ugkAQhtuLeAkv0lNwHX97mf6wxmrVoFXUGhE/qboUxY8qiL7urLFZ
|
||||
Wws0heRNYNl5Zt6B2XsAd7FeBIxTscKE29+qU5QSZEV1cRNIoFIJV0okHjgzvD0/gBdYOg3IogRRoIFA
|
||||
GRArUFHSvJ+39b0NoRUSaD7Hl2z7CMs6grEDJhNfJJKhV0DqXyr1eCUZmEwquMg09xiNvHAgsw6QJYA2
|
||||
BGg2o6r2GI898WwYu2jA6dTHcORCNz5FAGNH0Jpp8vWhh17PFcC39vl9oGWqrtff8s1rVGsLETB594W9
|
||||
/sBFt7sTsGZrg3p9HQ1Y15Yol21ks0wEDAcet+ei09kKWEPb4LW6gqo60YDyD01AXd+hze01GxvUaitU
|
||||
KpTQwUvh7CDQsvwl6Z4CWtyepvEW8KporVhcIJ+3kcvZwcBbs0pAqkpVl3y2HRQKczxzUPbpA5mM9Xcg
|
||||
JfnXpEQ5UYL2xH7AngA3wnpl9OQ1/wAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="aaWatchdogTimeoutAlarmPrioritySecurityClass.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
|
||||
CxMBAJqcGAAAAg1JREFUOE+t1G1P2lAYBuDtN/mf+Dt+NPu4uDcWEyMKggxM3CIimMoUcAjIoLSFliJS
|
||||
oLSnvXfOqZV24sYWmjwfSHku7ofz8hrAq7U+DFxnhbBoVMey2toqY1ktC/IEMog9hACm6cIYu9B1B0rP
|
||||
Qb1BUK3YKJVsFAsWcjkL0c+32NzMspZQqGfgcAgMBi5UzYEs22g2TRwfq8hmVWQyfaTTPaSOFCQT4v+D
|
||||
mYyKL2mKUSiVknF4KK0Gui7wlFBdJDxKL6BEXMLBvrga6DiPoB4eOZmUkUhIiB+IiMVE7O11VgOJ4/KE
|
||||
OgMDCePxLvZpqkjkzYvlL05oUQjxQL4oATBGEzGMvfOL/aimed9TFMLf80Piy2zb2PYj+FvC3d12CNzY
|
||||
iMAvSbIhitZy0LKcRcLAttnZaXkg3aoM6vdZKhvdrsU/392Zz0GWlKU05w4fWQuMHP3U5A2q6qLXI5Ak
|
||||
gk7HQqs15+CP2nQ56KOzGQn9hx8/NHiDIhM+3s/2nG94hlVvJri+Nl4GfXQ6Jd5JaZh4/+6WN3TaFh1v
|
||||
jnp9xrFKeYLvpTEEYfRn0Ecnhnf0tt/WeEOD4jU6XrUywdXVGJeXD7i4GOE8f/930EeNMb0UBIc33NDx
|
||||
ymWDXhJjnrBQuMfZmY7TU301kKHsRmHFQJZKEB5QLI6Qzw+Ro9C3rwOcnGirg8Hr6Z9Oyrpu7V90BMb8
|
||||
GyGmhwAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="aaWatchdogTimeoutAlarmPriorityLock.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
|
||||
CxMBAJqcGAAAAWtJREFUOE+tlG1ugkAQhtuLeAkv0lNwHX97mf6wxmrVoFXUGhE/qboUxY8qiL7urLFZ
|
||||
Wws0heRNYNl5Zt6B2XsAd7FeBIxTscKE29+qU5QSZEV1cRNIoFIJV0okHjgzvD0/gBdYOg3IogRRoIFA
|
||||
GRArUFHSvJ+39b0NoRUSaD7Hl2z7CMs6grEDJhNfJJKhV0DqXyr1eCUZmEwquMg09xiNvHAgsw6QJYA2
|
||||
BGg2o6r2GI898WwYu2jA6dTHcORCNz5FAGNH0Jpp8vWhh17PFcC39vl9oGWqrtff8s1rVGsLETB594W9
|
||||
/sBFt7sTsGZrg3p9HQ1Y15Yol21ks0wEDAcet+ei09kKWEPb4LW6gqo60YDyD01AXd+hze01GxvUaitU
|
||||
KpTQwUvh7CDQsvwl6Z4CWtyepvEW8KporVhcIJ+3kcvZwcBbs0pAqkpVl3y2HRQKczxzUPbpA5mM9Xcg
|
||||
JfnXpEQ5UYL2xH7AngA3wnpl9OQ1/wAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="aaWatchdogTimeSinceChangeHistForceStoragePeriodSecurityClass.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
|
||||
CxMBAJqcGAAAAg1JREFUOE+t1G1P2lAYBuDtN/mf+Dt+NPu4uDcWEyMKggxM3CIimMoUcAjIoLSFliJS
|
||||
oLSnvXfOqZV24sYWmjwfSHku7ofz8hrAq7U+DFxnhbBoVMey2toqY1ktC/IEMog9hACm6cIYu9B1B0rP
|
||||
Qb1BUK3YKJVsFAsWcjkL0c+32NzMspZQqGfgcAgMBi5UzYEs22g2TRwfq8hmVWQyfaTTPaSOFCQT4v+D
|
||||
mYyKL2mKUSiVknF4KK0Gui7wlFBdJDxKL6BEXMLBvrga6DiPoB4eOZmUkUhIiB+IiMVE7O11VgOJ4/KE
|
||||
OgMDCePxLvZpqkjkzYvlL05oUQjxQL4oATBGEzGMvfOL/aimed9TFMLf80Piy2zb2PYj+FvC3d12CNzY
|
||||
iMAvSbIhitZy0LKcRcLAttnZaXkg3aoM6vdZKhvdrsU/392Zz0GWlKU05w4fWQuMHP3U5A2q6qLXI5Ak
|
||||
gk7HQqs15+CP2nQ56KOzGQn9hx8/NHiDIhM+3s/2nG94hlVvJri+Nl4GfXQ6Jd5JaZh4/+6WN3TaFh1v
|
||||
jnp9xrFKeYLvpTEEYfRn0Ecnhnf0tt/WeEOD4jU6XrUywdXVGJeXD7i4GOE8f/930EeNMb0UBIc33NDx
|
||||
ymWDXhJjnrBQuMfZmY7TU301kKHsRmHFQJZKEB5QLI6Qzw+Ro9C3rwOcnGirg8Hr6Z9Oyrpu7V90BMb8
|
||||
GyGmhwAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="aaWatchdogTimeSinceChangeHistForceStoragePeriodLock.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
|
||||
CxMBAJqcGAAAAWtJREFUOE+tlG1ugkAQhtuLeAkv0lNwHX97mf6wxmrVoFXUGhE/qboUxY8qiL7urLFZ
|
||||
Wws0heRNYNl5Zt6B2XsAd7FeBIxTscKE29+qU5QSZEV1cRNIoFIJV0okHjgzvD0/gBdYOg3IogRRoIFA
|
||||
GRArUFHSvJ+39b0NoRUSaD7Hl2z7CMs6grEDJhNfJJKhV0DqXyr1eCUZmEwquMg09xiNvHAgsw6QJYA2
|
||||
BGg2o6r2GI898WwYu2jA6dTHcORCNz5FAGNH0Jpp8vWhh17PFcC39vl9oGWqrtff8s1rVGsLETB594W9
|
||||
/sBFt7sTsGZrg3p9HQ1Y15Yol21ks0wEDAcet+ei09kKWEPb4LW6gqo60YDyD01AXd+hze01GxvUaitU
|
||||
KpTQwUvh7CDQsvwl6Z4CWtyepvEW8KporVhcIJ+3kcvZwcBbs0pAqkpVl3y2HRQKczxzUPbpA5mM9Xcg
|
||||
JfnXpEQ5UYL2xH7AngA3wnpl9OQ1/wAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="aaWatchdogTimeSinceChangeHistTrendHiSecurityClass.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
|
||||
CxMBAJqcGAAAAg1JREFUOE+t1G1P2lAYBuDtN/mf+Dt+NPu4uDcWEyMKggxM3CIimMoUcAjIoLSFliJS
|
||||
oLSnvXfOqZV24sYWmjwfSHku7ofz8hrAq7U+DFxnhbBoVMey2toqY1ktC/IEMog9hACm6cIYu9B1B0rP
|
||||
Qb1BUK3YKJVsFAsWcjkL0c+32NzMspZQqGfgcAgMBi5UzYEs22g2TRwfq8hmVWQyfaTTPaSOFCQT4v+D
|
||||
mYyKL2mKUSiVknF4KK0Gui7wlFBdJDxKL6BEXMLBvrga6DiPoB4eOZmUkUhIiB+IiMVE7O11VgOJ4/KE
|
||||
OgMDCePxLvZpqkjkzYvlL05oUQjxQL4oATBGEzGMvfOL/aimed9TFMLf80Piy2zb2PYj+FvC3d12CNzY
|
||||
iMAvSbIhitZy0LKcRcLAttnZaXkg3aoM6vdZKhvdrsU/392Zz0GWlKU05w4fWQuMHP3U5A2q6qLXI5Ak
|
||||
gk7HQqs15+CP2nQ56KOzGQn9hx8/NHiDIhM+3s/2nG94hlVvJri+Nl4GfXQ6Jd5JaZh4/+6WN3TaFh1v
|
||||
jnp9xrFKeYLvpTEEYfRn0Ecnhnf0tt/WeEOD4jU6XrUywdXVGJeXD7i4GOE8f/930EeNMb0UBIc33NDx
|
||||
ymWDXhJjnrBQuMfZmY7TU301kKHsRmHFQJZKEB5QLI6Qzw+Ro9C3rwOcnGirg8Hr6Z9Oyrpu7V90BMb8
|
||||
GyGmhwAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="aaWatchdogTimeSinceChangeHistTrendHiLock.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
|
||||
CxMBAJqcGAAAAWtJREFUOE+tlG1ugkAQhtuLeAkv0lNwHX97mf6wxmrVoFXUGhE/qboUxY8qiL7urLFZ
|
||||
Wws0heRNYNl5Zt6B2XsAd7FeBIxTscKE29+qU5QSZEV1cRNIoFIJV0okHjgzvD0/gBdYOg3IogRRoIFA
|
||||
GRArUFHSvJ+39b0NoRUSaD7Hl2z7CMs6grEDJhNfJJKhV0DqXyr1eCUZmEwquMg09xiNvHAgsw6QJYA2
|
||||
BGg2o6r2GI898WwYu2jA6dTHcORCNz5FAGNH0Jpp8vWhh17PFcC39vl9oGWqrtff8s1rVGsLETB594W9
|
||||
/sBFt7sTsGZrg3p9HQ1Y15Yol21ks0wEDAcet+ei09kKWEPb4LW6gqo60YDyD01AXd+hze01GxvUaitU
|
||||
KpTQwUvh7CDQsvwl6Z4CWtyepvEW8KporVhcIJ+3kcvZwcBbs0pAqkpVl3y2HRQKczxzUPbpA5mM9Xcg
|
||||
JfnXpEQ5UYL2xH7AngA3wnpl9OQ1/wAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="aaWatchdogTimeSinceChangeHistTrendLoSecurityClass.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
|
||||
CxMBAJqcGAAAAg1JREFUOE+t1G1P2lAYBuDtN/mf+Dt+NPu4uDcWEyMKggxM3CIimMoUcAjIoLSFliJS
|
||||
oLSnvXfOqZV24sYWmjwfSHku7ofz8hrAq7U+DFxnhbBoVMey2toqY1ktC/IEMog9hACm6cIYu9B1B0rP
|
||||
Qb1BUK3YKJVsFAsWcjkL0c+32NzMspZQqGfgcAgMBi5UzYEs22g2TRwfq8hmVWQyfaTTPaSOFCQT4v+D
|
||||
mYyKL2mKUSiVknF4KK0Gui7wlFBdJDxKL6BEXMLBvrga6DiPoB4eOZmUkUhIiB+IiMVE7O11VgOJ4/KE
|
||||
OgMDCePxLvZpqkjkzYvlL05oUQjxQL4oATBGEzGMvfOL/aimed9TFMLf80Piy2zb2PYj+FvC3d12CNzY
|
||||
iMAvSbIhitZy0LKcRcLAttnZaXkg3aoM6vdZKhvdrsU/392Zz0GWlKU05w4fWQuMHP3U5A2q6qLXI5Ak
|
||||
gk7HQqs15+CP2nQ56KOzGQn9hx8/NHiDIhM+3s/2nG94hlVvJri+Nl4GfXQ6Jd5JaZh4/+6WN3TaFh1v
|
||||
jnp9xrFKeYLvpTEEYfRn0Ecnhnf0tt/WeEOD4jU6XrUywdXVGJeXD7i4GOE8f/930EeNMb0UBIc33NDx
|
||||
ymWDXhJjnrBQuMfZmY7TU301kKHsRmHFQJZKEB5QLI6Qzw+Ro9C3rwOcnGirg8Hr6Z9Oyrpu7V90BMb8
|
||||
GyGmhwAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="aaWatchdogTimeSinceChangeHistTrendLoLock.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
|
||||
CxMBAJqcGAAAAWtJREFUOE+tlG1ugkAQhtuLeAkv0lNwHX97mf6wxmrVoFXUGhE/qboUxY8qiL7urLFZ
|
||||
Wws0heRNYNl5Zt6B2XsAd7FeBIxTscKE29+qU5QSZEV1cRNIoFIJV0okHjgzvD0/gBdYOg3IogRRoIFA
|
||||
GRArUFHSvJ+39b0NoRUSaD7Hl2z7CMs6grEDJhNfJJKhV0DqXyr1eCUZmEwquMg09xiNvHAgsw6QJYA2
|
||||
BGg2o6r2GI898WwYu2jA6dTHcORCNz5FAGNH0Jpp8vWhh17PFcC39vl9oGWqrtff8s1rVGsLETB594W9
|
||||
/sBFt7sTsGZrg3p9HQ1Y15Yol21ks0wEDAcet+ei09kKWEPb4LW6gqo60YDyD01AXd+hze01GxvUaitU
|
||||
KpTQwUvh7CDQsvwl6Z4CWtyepvEW8KporVhcIJ+3kcvZwcBbs0pAqkpVl3y2HRQKczxzUPbpA5mM9Xcg
|
||||
JfnXpEQ5UYL2xH7AngA3wnpl9OQ1/wAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="aaWatchdogTimeSinceChangeHistValueDeadBandSecurityClass.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
|
||||
CxMBAJqcGAAAAg1JREFUOE+t1G1P2lAYBuDtN/mf+Dt+NPu4uDcWEyMKggxM3CIimMoUcAjIoLSFliJS
|
||||
oLSnvXfOqZV24sYWmjwfSHku7ofz8hrAq7U+DFxnhbBoVMey2toqY1ktC/IEMog9hACm6cIYu9B1B0rP
|
||||
Qb1BUK3YKJVsFAsWcjkL0c+32NzMspZQqGfgcAgMBi5UzYEs22g2TRwfq8hmVWQyfaTTPaSOFCQT4v+D
|
||||
mYyKL2mKUSiVknF4KK0Gui7wlFBdJDxKL6BEXMLBvrga6DiPoB4eOZmUkUhIiB+IiMVE7O11VgOJ4/KE
|
||||
OgMDCePxLvZpqkjkzYvlL05oUQjxQL4oATBGEzGMvfOL/aimed9TFMLf80Piy2zb2PYj+FvC3d12CNzY
|
||||
iMAvSbIhitZy0LKcRcLAttnZaXkg3aoM6vdZKhvdrsU/392Zz0GWlKU05w4fWQuMHP3U5A2q6qLXI5Ak
|
||||
gk7HQqs15+CP2nQ56KOzGQn9hx8/NHiDIhM+3s/2nG94hlVvJri+Nl4GfXQ6Jd5JaZh4/+6WN3TaFh1v
|
||||
jnp9xrFKeYLvpTEEYfRn0Ecnhnf0tt/WeEOD4jU6XrUywdXVGJeXD7i4GOE8f/930EeNMb0UBIc33NDx
|
||||
ymWDXhJjnrBQuMfZmY7TU301kKHsRmHFQJZKEB5QLI6Qzw+Ro9C3rwOcnGirg8Hr6Z9Oyrpu7V90BMb8
|
||||
GyGmhwAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="aaWatchdogTimeSinceChangeHistValueDeadBandLock.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
|
||||
CxMBAJqcGAAAAWtJREFUOE+tlG1ugkAQhtuLeAkv0lNwHX97mf6wxmrVoFXUGhE/qboUxY8qiL7urLFZ
|
||||
Wws0heRNYNl5Zt6B2XsAd7FeBIxTscKE29+qU5QSZEV1cRNIoFIJV0okHjgzvD0/gBdYOg3IogRRoIFA
|
||||
GRArUFHSvJ+39b0NoRUSaD7Hl2z7CMs6grEDJhNfJJKhV0DqXyr1eCUZmEwquMg09xiNvHAgsw6QJYA2
|
||||
BGg2o6r2GI898WwYu2jA6dTHcORCNz5FAGNH0Jpp8vWhh17PFcC39vl9oGWqrtff8s1rVGsLETB594W9
|
||||
/sBFt7sTsGZrg3p9HQ1Y15Yol21ks0wEDAcet+ei09kKWEPb4LW6gqo60YDyD01AXd+hze01GxvUaitU
|
||||
KpTQwUvh7CDQsvwl6Z4CWtyepvEW8KporVhcIJ+3kcvZwcBbs0pAqkpVl3y2HRQKczxzUPbpA5mM9Xcg
|
||||
JfnXpEQ5UYL2xH7AngA3wnpl9OQ1/wAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -0,0 +1,44 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// Copyright (C) 2008 Invensys Systems Inc. All rights reserved.
|
||||
//
|
||||
// THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
|
||||
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
||||
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
|
||||
// PARTICULAR PURPOSE.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("Runtime")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("ArchestrA")]
|
||||
[assembly: AssemblyProduct("Runtime")]
|
||||
[assembly: AssemblyCopyright("Copyright © Wonderware 2006")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(true)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("8f60c23a-adac-41fd-a589-8006d96dd206")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.1.0.0")]
|
||||
@@ -0,0 +1,381 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// Copyright (C) 2008 Invensys Systems Inc. All rights reserved.
|
||||
//
|
||||
// THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
|
||||
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
||||
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
|
||||
// PARTICULAR PURPOSE.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Collections;
|
||||
using ArchestrA.Core;
|
||||
using ArchestrA.Toolkit;
|
||||
|
||||
namespace ArchestrA.Toolkit.Watchdog
|
||||
{
|
||||
[Guid("886e73ad-ddb7-45ca-8ca2-e652e1e9bafd")]
|
||||
/// <summary>
|
||||
/// Summary description for Watchdog
|
||||
/// </summary>
|
||||
public class WatchdogRuntime : RuntimeBase
|
||||
{
|
||||
#region Attributes - Toolkit generated code
|
||||
// The following C# properties have been defined to simplify access to
|
||||
// attribute values - do not modify the contents of this region with
|
||||
// the code editor.
|
||||
private CMxBoolean Timeout
|
||||
{
|
||||
get { return InternalReferenceOnly.Timeout; }
|
||||
set { InternalReferenceOnly.Timeout.Set(value); }
|
||||
}
|
||||
|
||||
private CMxElapsedTime TimeSinceChange
|
||||
{
|
||||
get { return InternalReferenceOnly.TimeSinceChange; }
|
||||
set { InternalReferenceOnly.TimeSinceChange.Set(value); }
|
||||
}
|
||||
|
||||
private CMxElapsedTime Timeout_Limit
|
||||
{
|
||||
get { return InternalReferenceOnly.Timeout_Limit; }
|
||||
set { InternalReferenceOnly.Timeout_Limit.Set(value); }
|
||||
}
|
||||
|
||||
|
||||
|
||||
public __InputPrimitive1 InputPrimitive1 = null;
|
||||
|
||||
public class __InputPrimitive1 : InputPrimBase
|
||||
{
|
||||
protected override void Initialize(SupportWrapper _Wrapper)
|
||||
{
|
||||
if (_Value == null) { _Value = new CMxVariant(Wrapper, "MonitoredBit.Value"); }
|
||||
if (_DataType == null) { _DataType = new CMxDataType(Wrapper, "MonitoredBit.DataType"); }
|
||||
|
||||
attrId = _Value.Attribute.shAttributeId;
|
||||
primId = _Value.Attribute.shPrimitiveId;
|
||||
dataType = _DataType.Value;
|
||||
|
||||
base.Initialize(Wrapper);
|
||||
}
|
||||
|
||||
public SupportWrapper Wrapper = new SupportWrapper();
|
||||
|
||||
private CMxVariant _Value = null;
|
||||
|
||||
public CMxVariant Value
|
||||
{
|
||||
get { if (_Value == null) { _Value = new CMxVariant(Wrapper, "MonitoredBit.Value"); } return _Value; }
|
||||
set { if (_Value == null) { _Value = new CMxVariant(Wrapper, "MonitoredBit.Value"); } _Value.Set(value); }
|
||||
}
|
||||
|
||||
private CMxStatus _ReadStatus = null;
|
||||
|
||||
public CMxStatus ReadStatus
|
||||
{
|
||||
get { if (_ReadStatus == null) { _ReadStatus = new CMxStatus(Wrapper, "MonitoredBit.ReadStatus"); } return _ReadStatus; }
|
||||
set { if (_ReadStatus == null) { _ReadStatus = new CMxStatus(Wrapper, "MonitoredBit.ReadStatus"); } _ReadStatus.Set(value); }
|
||||
}
|
||||
|
||||
private CMxReference _InputSource = null;
|
||||
|
||||
public CMxReference InputSource
|
||||
{
|
||||
get { if (_InputSource == null) { _InputSource = new CMxReference(Wrapper, "MonitoredBit.InputSource"); } return _InputSource; }
|
||||
set { if (_InputSource == null) { _InputSource = new CMxReference(Wrapper, "MonitoredBit.InputSource"); } _InputSource.Set(value); }
|
||||
}
|
||||
|
||||
private CMxDataType _DataType = null;
|
||||
|
||||
public CMxDataType DataType
|
||||
{
|
||||
get { if (_DataType == null) { _DataType = new CMxDataType(Wrapper, "MonitoredBit.DataType"); } return _DataType; }
|
||||
}
|
||||
|
||||
public AoAWrapper AoA = null;
|
||||
|
||||
public void SuspendUpdatesList()
|
||||
{
|
||||
if (AoA == null) { AoA = new AoAWrapper(Wrapper, new string[] { "MonitoredBit.Value" }); } AoA.SuspendUpdatesList();
|
||||
}
|
||||
|
||||
public void ActivateUpdatesList()
|
||||
{
|
||||
if (AoA == null) { AoA = new AoAWrapper(Wrapper, new string[] { "MonitoredBit.Value" }); } AoA.ActivateUpdatesList();
|
||||
}
|
||||
|
||||
public __InputPrimitive1(AObjectBase baseClass)
|
||||
{
|
||||
Wrapper.baseClass = baseClass;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endregion Attributes
|
||||
|
||||
#region Internal Reference Only
|
||||
//Toolkit code required to access the attributes declared in the Object Class
|
||||
private WatchDog InternalReferenceOnly = null;
|
||||
#endregion Internal Reference Only
|
||||
|
||||
#region Declarations
|
||||
//Declare Runtime Class Variables here.
|
||||
//Variables declared in this region are available to all methods
|
||||
//in the Runtime Class.
|
||||
DateTime m_TimeOfLastChange;
|
||||
bool m_LastInputValue;
|
||||
|
||||
|
||||
#endregion Declarations
|
||||
|
||||
|
||||
public WatchdogRuntime()
|
||||
{
|
||||
InternalReferenceOnly = new WatchDog();
|
||||
this.AObjectInstance = InternalReferenceOnly;
|
||||
|
||||
#region Runtime Event Registration - Toolkit generated code
|
||||
// Required region for Runtime Events - do not modify
|
||||
// the contents of this region with the code editor.
|
||||
base.RuntimeGetStatusDesc += new RuntimeGetStatusDescDelegate(WatchdogRuntime_RuntimeGetStatusDesc);
|
||||
base.RuntimeSetScanState += new RuntimeSetScanStateDelegate(Watchdog_RuntimeSetScanState);
|
||||
base.RuntimeExecute += new RuntimeExecuteDelegate(Watchdog_RuntimeExecute);
|
||||
base.RuntimeShutdown += new RuntimeShutdownDelegate(Watchdog_RuntimeShutdown);
|
||||
base.RuntimeStartup += new RuntimeStartupDelegate(Watchdog_RuntimeStartup);
|
||||
base.RuntimeDynamic += new RuntimeDynamicSetHandlerDelegate(WatchdogRuntime_RuntimeDynamic);
|
||||
base.RuntimeInitialize += new RuntimeInitializeDelegate(WatchdogRuntime_RuntimeInitialize);
|
||||
#endregion Runtime Event Registration
|
||||
|
||||
#region Runtime Set Handler Registration – Toolkit generated code
|
||||
// Required method for Runtime SetHandlers.
|
||||
// Changes made using the code editor will appear in the Toolkit Editor.
|
||||
//
|
||||
// WARNING: Changes made to this region will result in a Shape Change.
|
||||
|
||||
// TODO: Runtime SetHandler registration
|
||||
this.RegisterRuntimeSetHandler("Timeout.Limit", new RuntimeSetHandlerDelegate(Timeout_LimitSetHandler));
|
||||
#endregion Runtime Set Handler Registration
|
||||
|
||||
#region Primitive Wrapper Initialization - Toolkit generated code
|
||||
InputPrimitive1 = new __InputPrimitive1(this);
|
||||
#endregion Primitive Wrapper Initialization
|
||||
|
||||
#region Primitive Advise only Activate Registration - Toolkit generated code
|
||||
#endregion Primitive Advise only Activate Initialization
|
||||
}
|
||||
|
||||
private void WatchdogRuntime_RuntimeInitialize(object sender)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Runtime - Initialize
|
||||
//
|
||||
// Do not read or write attribute values of this primitive during Initialize
|
||||
//------------------------------------------------------------------------------
|
||||
}
|
||||
|
||||
private void Watchdog_RuntimeExecute(object sender)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Runtime - Execute
|
||||
//
|
||||
// This is where the main logic of the object periodically executes when
|
||||
// the object is on scan.
|
||||
//
|
||||
// Read or write the attributes of this primitive using the generated
|
||||
// properties (Value, Quality).
|
||||
//------------------------------------------------------------------------------
|
||||
#region Example code
|
||||
// // The lines below both increment the value of the attribute "Attribute1" by 1
|
||||
// Example_001 ++;
|
||||
// Example_001 = Example_001 + 1;
|
||||
//
|
||||
// //Example_001 quality is set to Bad on Condition_001 being true.
|
||||
// Example_001.Quality = (Condition_001 ? DataQuality.DataQualityBad : DataQuality.DataQualityGood);
|
||||
//
|
||||
// // The attribute "ElapsedTime" contains the time elapsed since the last reset
|
||||
// ElapsedTime = GetScanTime() - TimeOfLastReset;
|
||||
//
|
||||
// // Increment the 3rd element of an array
|
||||
// FloatArray[3] ++;
|
||||
//
|
||||
// // Increment all the elements of an array
|
||||
// for( short counter = 1; counter <= FloatArray.Length; counter ++)
|
||||
// {
|
||||
// FloatArray[counter] ++;
|
||||
// }
|
||||
#endregion
|
||||
|
||||
bool CurrentBitValue = (bool)InputPrimitive1.GetValue();
|
||||
DateTime Now = GetScanTime();
|
||||
|
||||
//Cache the current time internally if the monitored bit has just changed
|
||||
if (CurrentBitValue != m_LastInputValue)
|
||||
{
|
||||
m_TimeOfLastChange = Now; //remember the current time
|
||||
}
|
||||
m_LastInputValue = CurrentBitValue;
|
||||
|
||||
//Now update the calculated attributes: "TimeSinceChange" and "Timeout.Condition"
|
||||
TimeSinceChange = Now - m_TimeOfLastChange;
|
||||
Timeout = TimeSinceChange > Timeout_Limit;
|
||||
}
|
||||
|
||||
private void Watchdog_RuntimeShutdown(object sender)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Runtime Event - Shutdown
|
||||
//
|
||||
// Clean up dynamic allocation, release open resources, etc.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
// Activate marked attributes before shutting down
|
||||
AdviseOnlyActivateAttributes();
|
||||
}
|
||||
|
||||
private void Watchdog_RuntimeStartup(object sender, RuntimeStartupEventArgs e)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Runtime Event - Startup
|
||||
//
|
||||
// Cache attributes. Cache Primitive IDs of other known primitives.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
// RestoreDynamicAttributes will recreate the Dynamic Attributes and restore the check pointed
|
||||
// values during failover startup. The Failover Support for Dynamic Attributes option must
|
||||
// be enabled via the Object Editor to support this function. To maintain the
|
||||
// Dynamic Attribute values the CheckpointDynamicAttributeData function must be called
|
||||
// when Dynamic Attribute values are modified (refer to the Dynamic Attribute Set Handler).
|
||||
|
||||
//RestoreDynamicAttributes();
|
||||
|
||||
m_TimeOfLastChange = GetScanTime();
|
||||
|
||||
// Execute offscan code to initialize the object in its offscan state.
|
||||
SetScanState(false);
|
||||
|
||||
// Suspend marked attributes at startup
|
||||
AdviseOnlySuspendAttributes();
|
||||
|
||||
}
|
||||
|
||||
private void AdviseOnlySuspendAttributes()
|
||||
{
|
||||
// Required Method for Advise only Active.
|
||||
// Do not modify this method via the code editor.
|
||||
//
|
||||
// WARNING: Changes made to this method will be overwritten by the code generator.
|
||||
|
||||
if (AdviseOnlyActiveEnabled)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
private void AdviseOnlyActivateAttributes()
|
||||
{
|
||||
// Required Method for Advise only Active.
|
||||
// Do not modify this method via the code editor.
|
||||
//
|
||||
// WARNING: Changes made to this method will be overwritten by the code generator.
|
||||
|
||||
if (AdviseOnlyActiveEnabled)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
private void Watchdog_RuntimeSetScanState(object sender, RuntimeSetScanStateEventArgs e)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Runtime Event - SetScanState
|
||||
//
|
||||
// Perform actions when the object goes on or off scan.
|
||||
//------------------------------------------------------------------------------
|
||||
}
|
||||
|
||||
private void WatchdogRuntime_RuntimeGetStatusDesc(object sender, ref RuntimeGetStatusDescEventArgs e)
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Runtime Event - GetStatusDesc
|
||||
//
|
||||
// This routine provides a String for an error code when a client requests it.
|
||||
// By default this method looks for an entry in the dictionary that has the
|
||||
// DetailedErrorCode as the PhraseID.
|
||||
//
|
||||
// You need to change this implmentation if you want to provide embedded values
|
||||
// within your messages, or you want to use string PhraseIDs instead of integer
|
||||
// PhraseIDs.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
switch (e.detailedErrorCode)
|
||||
{
|
||||
case 10000:
|
||||
e.status = GetText("Timeout.Limit must be a positive number.");
|
||||
break;
|
||||
default:
|
||||
e.status = GetText((int)e.detailedErrorCode);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void WatchdogRuntime_RuntimeDynamic(object sender, ref RuntimeSetHandlerEventArgs e)
|
||||
{
|
||||
|
||||
string attrName = Get(e.attributeHandle.shAttributeId, e.attributeHandle.shPrimitiveId, EATTRIBUTEPROPERTY.idxAttribPropName);
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// TODO: Runtime Event - Dynamic Set Handler
|
||||
//
|
||||
// Implement set handler code for any dynamic attributes you create with set handlers
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
// CheckpointDynamicAttributeData will update the checkpoint values for all Dynamic Attributes.
|
||||
// To recreate Dynamic Attributes and restore Dynamic Attribute values the RestoreDynamicAttributes
|
||||
// function must be called when starting up from failover (refer to the Startup method).
|
||||
|
||||
//CheckpointDynamicAttributeData();
|
||||
|
||||
#region Example
|
||||
// if (attrName == "MyDynamic")
|
||||
// {
|
||||
// if (e.Value > 10)
|
||||
// {
|
||||
// LogWarning(string.Format("value for {0} must be less or equal to 10", attrName));
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// SetValue(attrName, e.Value);
|
||||
// }
|
||||
//
|
||||
//
|
||||
// return;
|
||||
// }
|
||||
#endregion
|
||||
|
||||
// if unhandled a warning is shown as a reminder
|
||||
SetValue(e.attributeHandle.shAttributeId, e.attributeHandle.shPrimitiveId, e.Value);
|
||||
LogWarning(string.Format("Uknown set handler for attribute '{0}'", attrName));
|
||||
|
||||
}
|
||||
|
||||
private void Timeout_LimitSetHandler(object sender, ref RuntimeSetHandlerEventArgs e)
|
||||
{
|
||||
|
||||
if (e.Value < 0)
|
||||
{
|
||||
e.status.detail = 10000;
|
||||
e.status.Category = MxStatusCategory.MxCategoryConfigurationError;
|
||||
return;
|
||||
}
|
||||
|
||||
Timeout_Limit.SetHandlerValue = e;
|
||||
}
|
||||
|
||||
//TODO: Runtime SetHandler declaration
|
||||
//private void Example_001SetHandler(object sender, ref RuntimeSetHandlerEventArgs e)
|
||||
//{
|
||||
// Example_001 = e.Value;
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,118 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.21022</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{FCAA2DA3-97F2-4C42-BB09-6729738D6872}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>ArchestrA.Toolkit.Watchdog</RootNamespace>
|
||||
<AssemblyName>WatchdogRuntime1</AssemblyName>
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<AssemblyOriginatorKeyFile>..\Watchdog.snk</AssemblyOriginatorKeyFile>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<RegisterForComInterop>false</RegisterForComInterop>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="ArchestrA.Toolkit.ArchestrAObjectSupport, Version=4.0.0.0, Culture=neutral, PublicKeyToken=f787e550f2f530ee, processorArchitecture=MSI">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Program Files\Archestra\Toolkits\AOT\bin\ArchestrA.Toolkit.ArchestrAObjectSupport.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="ArchestrA.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=23106a86e706d0ae">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Program Files\Archestra\Toolkits\AOT\bin\ArchestrA.Core.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="WatchdogRuntime.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Service Include="{94E38DFF-614B-4cbd-B67C-F211BB35CE8B}" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Watchdog\Watchdog.csproj">
|
||||
<Project>{0E30645D-B574-41BF-B302-64FEE3C8208A}</Project>
|
||||
<Name>Watchdog</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\Watchdog.snk">
|
||||
<Link>Watchdog.snk</Link>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
<PreBuildEvent>
|
||||
</PreBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
Reference in New Issue
Block a user