• Articles
  • API reference
  • Previous Versions
Show / Hide Table of Contents
  • Connector
    • Vortex.Adapters.Connector.Tc3
      • AdsConnector
      • AdsConnector.OnAdsStateChangeDelegate
      • LiveClient
      • OnlineSymbolRetriever
      • OnlineVariableInfo
      • OnlineVariableInfo.SymbolLoaderSettings
      • ReportingConsole
      • ReportingConsole.UpdateStartUpDelegate
    • Vortex.Adapters.Connector.Tc3.Adapter
      • ConnectorFactory
      • SymbolLoadingMode
      • SymbolLoadMethod
      • Tc3ConnectorAdapter
    • Vortex.Adapters.Connector.Tc3.AdsExceptionsHandling
      • ExceptionHandler
    • Vortex.Adapters.Connector.Tc3.AdsValueTypes
      • AdsBit
      • AdsBool
      • AdsByte
      • AdsDate
      • AdsDateTime
      • AdsDInt
      • AdsDWord
      • AdsInt
      • AdsLInt
      • AdsLReal
      • AdsLTime
      • AdsLWord
      • AdsReal
      • AdsSInt
      • AdsString
      • AdsTime
      • AdsTimeOfDay
      • AdsUDInt
      • AdsUInt
      • AdsULInt
      • AdsUSInt
      • AdsWord
      • AdsWString
      • ClientSymbol
      • IAdsBaseType
    • Vortex.Adapters.Connector.Tc3Adapter.Adapter
      • NamespaceDoc
    • Vortex.Connector
      • CommStateEnum
      • ConnectorAdapter
      • DataExchangeStatusEnum
      • DummyConnector
      • DummyConnectorFactory
      • EnumeratorDiscriminatorAttribute
      • IConnector
      • IConnectorFactory
      • IgnoreReflectionAttribute
      • InterpolatedAncestor
      • InvalidLicenseConnector
      • InvalidLicenseConnectorAdapter
      • InvalidLicenseConnectorFactory
      • IPlain
      • ITwinController
      • ITwinObject
      • ITwinPrimitive
      • IValueTag
      • IValueTagExtensions
      • IValueTagInfo
      • IVortexElement
      • IVortexObject
      • IVortexObjectExtensions
      • IVortexOnlineObject
      • IVortexShadowObject
      • NamespaceDoc
      • RootVortexerObject
      • StringInterpolator
      • TypeComplexityEnum
    • Vortex.Connector.Attributes
      • AssemblyPlcCounterPart
      • CompilerOmissionGroups
      • CompilerOmitsAttribute
      • ReadOnlyAttribute
      • TypeMetaDescriptorAttribute
    • Vortex.Connector.Identity
      • IVortexIdentity
      • MemberByIdentityAttribute
      • NullVortexIdentity
      • VortexIdentityProvider
    • Vortex.Connector.LibraryDescriptors
      • TypeMetaData
    • Vortex.Connector.ValueTypes
      • NamespaceDoc
      • OnlinerBaseType
      • OnlinerBaseType.ValueChangeDelegate
      • OnlinerBaseType<T>
      • OnlinerBit
      • OnlinerBool
      • OnlinerByte
      • OnlinerDate
      • OnlinerDateTime
      • OnlinerDInt
      • OnlinerDWord
      • OnlinerInt
      • OnlinerLInt
      • OnlinerLReal
      • OnlinerLTime
      • OnlinerLWord
      • OnlinerReal
      • OnlinerSInt
      • OnlinerString
      • OnlinerTime
      • OnlinerTimeOfDay
      • OnlinerUDInt
      • OnlinerUInt
      • OnlinerULInt
      • OnlinerUSInt
      • OnlinerWord
      • OnlinerWString
      • ReadWriteAccess
      • ValueChangedEventArgs
      • ValueChangedEventHandlerDelegate
    • Vortex.Connector.ValueTypes.Online
      • IOnline<T>
      • IOnlineBit
      • IOnlineBool
      • IOnlineByte
      • IOnlineDate
      • IOnlineDateTime
      • IOnlineDInt
      • IOnlineDWord
      • IOnlineInt
      • IOnlineLInt
      • IOnlineLReal
      • IOnlineLTime
      • IOnlineLWord
      • IOnlineReal
      • IOnlineSInt
      • IOnlineString
      • IOnlineTime
      • IOnlineTimeOfDay
      • IOnlineUDInt
      • IOnlineUInt
      • IOnlineULInt
      • IOnlineUSInt
      • IOnlineWord
      • IOnlineWString
      • NamespaceDoc
    • Vortex.Connector.ValueTypes.Shadows
      • IShadow<T>
      • IShadowBit
      • IShadowBool
      • IShadowByte
      • IShadowDate
      • IShadowDateTime
      • IShadowDInt
      • IShadowDWord
      • IShadowInt
      • IShadowLInt
      • IShadowLReal
      • IShadowLTime
      • IShadowLWord
      • IShadowReal
      • IShadowSInt
      • IShadowString
      • IShadowTime
      • IShadowTimeOfDay
      • IShadowUDInt
      • IShadowUInt
      • IShadowULInt
      • IShadowUSInt
      • IShadowWord
      • IShadowWString
      • NamespaceDoc
    • Vortex.Connector.ValueValidation
      • BitValueValidationRule
      • BoolValueValidationRule
      • ByteValueValidationRule
      • DateTimeValueValidationRule
      • DateValueValidationRule
      • DintValueValidationRule
      • DWordValueValidationRule
      • IntValueValidationRule
      • IValueBoundaries<T>
      • LIntValueValidationRule
      • LRealValueValidationRule
      • LTimeValueValidationRule
      • LWordValueValidationRule
      • NamespaceDoc
      • OnlinerValidationRule<T>
      • RealValueValidationRule
      • SIntValueValidationRule
      • StringValueValidationRule
      • TimeOfDayValueValidationRule
      • TimeValueValidationRule
      • UDIntValueValidationRule
      • UIntValueValidationRule
      • ULIntValueValidationRule
      • USintValueValidationRule
      • ValidationResult
      • WordValueValidationRule
      • WStringValueValidationRule
    • Vortex.Localizations
      • IdentifierValidator
      • LocalizableItem
      • Localizables
      • LocalizationHelper
      • LocalizerDictionary
  • Presentation
    • Vortex.Presentation.Controls.Wpf
      • DateTimePickerBox
      • MaterialPickerUtils
      • MultiConverter
      • TimePickerBaseBox
      • TimeTextBoxBaseBox
    • Vortex.Presentation.Controls.Wpf.Enumerators
      • EnumeratorContainer
      • EnumeratorContainerControlSlimView
      • EnumeratorContainerControlSlimViewModel
      • EnumeratorContainerControlView
      • EnumeratorContainerControlViewModel
      • EnumeratorContainerDisplaySlimView
      • EnumeratorContainerDisplaySlimViewModel
      • EnumeratorContainerDisplayView
      • EnumeratorContainerDisplayViewModel
      • EnumeratorContainerShadowControlSlimView
      • EnumeratorContainerShadowControlSlimViewModel
      • EnumeratorContainerShadowControlView
      • EnumeratorContainerShadowControlViewModel
      • EnumeratorContainerShadowDisplaySlimView
      • EnumeratorContainerShadowDisplaySlimViewModel
      • EnumeratorContainerShadowDisplayView
      • EnumeratorContainerShadowDisplayViewModel
      • EnumeratorContainerViewModel
      • EnumToIntConverter
    • Vortex.Presentation.Controls.Wpf.Extension
      • AttributeStringFormatExtensions
      • DateTimePicker
    • Vortex.Presentation.Controls.Wpf.OnlineControl
      • OnlineControlCheckBox
      • OnlineControlCheckBoxValue
      • OnlineControlDate
      • OnlineControlDateTime
      • OnlineControlLTime
      • OnlineControlTextBox
      • OnlineControlTextBoxValue
      • OnlineControlTime
      • OnlineControlTimeOfDay
      • OnlineControlTimeTextBox
    • Vortex.Presentation.Controls.Wpf.OnlineControls
      • OnlineControlSlimCheckBox
      • OnlineControlSlimCheckBoxValue
      • OnlineControlSlimDate
      • OnlineControlSlimDateTime
      • OnlineControlSlimLTime
      • OnlineControlSlimTextBox
      • OnlineControlSlimTextBoxValue
      • OnlineControlSlimTime
      • OnlineControlSlimTimeOfDay
    • Vortex.Presentation.Controls.Wpf.OnlineDisplay
      • OnlineDisplayCheckBox
      • OnlineDisplayTextBox
      • OnlineDisplayTextBoxValue
      • OnlineDisplayTimeTextBox
    • Vortex.Presentation.Controls.Wpf.ShadowControl
      • ShadowControlCheckBox
      • ShadowControlCheckBoxValue
      • ShadowControlDate
      • ShadowControlDateTime
      • ShadowControlLTime
      • ShadowControlTextBox
      • ShadowControlTextBoxValue
      • ShadowControlTime
      • ShadowControlTimeOfDay
      • ShadowControlTimeTextBox
    • Vortex.Presentation.Controls.Wpf.ShadowDisplay
      • ShadowDisplayCheckBox
      • ShadowDisplayTextBox
      • ShadowDisplayTextBoxValue
      • ShadowDisplayTimeTextBox
    • Vortex.Presentation.Controls.Wpf.Shared.Base
      • TimeAndDateConverterFactory
    • Vortex.Presentation.ControlSlims.Wpf
      • MultiConverter
    • Vortex.Presentation.ControlSlims.Wpf.OnlineDisplaySlim
      • OnlineDisplaySlimCheckBox
      • OnlineDisplaySlimTextBox
      • OnlineDisplaySlimTextBoxValue
      • OnlineDisplaySlimTimeTextBox
    • Vortex.Presentation.ControlSlims.Wpf.ShadowControlSlim
      • ShadowControlSlimCheckBox
      • ShadowControlSlimCheckBoxValue
      • ShadowControlSlimDate
      • ShadowControlSlimDateTime
      • ShadowControlSlimLTime
      • ShadowControlSlimTextBox
      • ShadowControlSlimTextBoxValue
      • ShadowControlSlimTime
      • ShadowControlSlimTimeOfDay
    • Vortex.Presentation.ControlSlims.Wpf.ShadowDisplaySlim
      • ShadowDisplaySlimCheckBox
      • ShadowDisplaySlimTextBox
      • ShadowDisplaySlimTextBoxValue
      • ShadowDisplaySlimTimeTextBox
    • Vortex.Presentation.Styling.Wpf
      • VortexResources
    • Vortex.Presentation.Styling.Wpf.Assist
      • DataGridAssist
    • Vortex.Presentation.Wpf
      • ActionRunner
      • ActionRunner.UserApprovedActionDelegate
      • BindableBase
      • ConsoleWriter
      • ConsoleWriterEventArgs
      • ContentOpeningMode
      • CreatorFailureDisplayBox
      • DateFormatConverter
      • DateTimeFormatConverter
      • EnumeratorHelper
      • EnumHelper
      • EnumToCollectionConverter
      • INavigable
      • LazyRenderer
      • MenuControlsHelper
      • MenuControlView
      • MenuControlViewModel
      • MenuControlViewTestViewModel
      • MenuRenderableControlViewModel
      • MvvmVisualState
      • NavCommand
      • NavigableRenderableViewModelBase
      • NavigableViewModelBase
      • PresentationHelper
      • RelayCommand
      • RelayCommand<T>
      • RenderableAssemblyAttribute
      • RenderableContentControl
      • RenderableContentDelayedControl
      • RenderableViewModel
      • RenderContentConverter
      • RenderContentDelayedConverter
      • Renderer
      • Renderer.BaseTypeProperies
      • Renderer.ComponentsCacheItem
      • ReportingLevel
      • SelectedButtonConverter
      • StartUpWindow
      • TestView
      • TimeFormatConverter
      • TooManyObjectsToRenderException
      • ValueDescription
      • WpfLayoutProvider
    • Vortex.Presentation.Wpf.Converters
      • BaseConverter
      • BaseMultiConverter
      • CapitalizeConverter

Class IConnector

Abstract base class provides implementation contract for the PLC connector and basic common underlying logic.

Inheritance
System.Object
RootVortexerObject
IConnector
AdsConnector
DummyConnector
Implements
IVortexObject
ITwinObject
IVortexElement
System.ComponentModel.INotifyPropertyChanged
Inherited Members
RootVortexerObject.SymbolTail
RootVortexerObject.GetSymbolTail()
RootVortexerObject.AttributeName
RootVortexerObject.Symbol
RootVortexerObject.HumanReadable
RootVortexerObject.GetChildren()
RootVortexerObject.Children
RootVortexerObject.Kids
RootVortexerObject.GetParent()
RootVortexerObject.AddChild(IVortexObject)
RootVortexerObject._valueTags
RootVortexerObject.ValueTags
RootVortexerObject.Identity
RootVortexerObject.GetValueTags()
RootVortexerObject.AddValueTag(IValueTag)
RootVortexerObject.GetConnector()
RootVortexerObject.AddKid(IVortexElement)
RootVortexerObject.GetKids()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: Vortex.Connector
Assembly: Vortex.Connector.dll
Syntax
public abstract class IConnector : RootVortexerObject, IVortexObject, ITwinObject, IVortexElement, INotifyPropertyChanged

Constructors

IConnector()

Creates new instance of Connector class

Declaration
public IConnector()

IConnector(Object[])

Creates an instance of Connector class

Declaration
public IConnector(object[] parameters)
Parameters
Type Name Description
System.Object[] parameters

Connection parameters

Examples
var connector = new IConnector();

Fields

_commState

Declaration
CommStateEnum _commState
Field Value
Type Description
CommStateEnum

_cyclicRwDuration

Declaration
long _cyclicRwDuration
Field Value
Type Description
System.Int64

_DataExchangeStatus

Declaration
DataExchangeStatusEnum _DataExchangeStatus
Field Value
Type Description
DataExchangeStatusEnum

_loadingSymbol

Declaration
string _loadingSymbol
Field Value
Type Description
System.String

_logger

Declaration
ILogger _logger
Field Value
Type Description
Serilog.ILogger

_rwCycleCount

Declaration
long _rwCycleCount
Field Value
Type Description
System.Int64

_startUpTime

Declaration
DateTime _startUpTime
Field Value
Type Description
System.DateTime

isRwLoopSuspended

Declaration
bool isRwLoopSuspended
Field Value
Type Description
System.Boolean

readWriteCycleDealy

Declaration
int readWriteCycleDealy
Field Value
Type Description
System.Int32

Properties

CommState

Gets the communication state CommStateEnum of the connector.

Declaration
public CommStateEnum CommState { get; set; }
Property Value
Type Description
CommStateEnum

CyclicRwDuration

Gets the last duration of Read/Write cycle in milliseconds.

Declaration
public long CyclicRwDuration { get; protected set; }
Property Value
Type Description
System.Int64

DataExchangeStatus

Get data exchange status on this connector.

Declaration
public DataExchangeStatusEnum DataExchangeStatus { get; protected set; }
Property Value
Type Description
DataExchangeStatusEnum

ErrorCount

Gets or sets error counter of the adapter.

Declaration
public abstract int ErrorCount { get; set; }
Property Value
Type Description
System.Int32

IdentityProvider

Gets object identity provider.

Declaration
public VortexIdentityProvider IdentityProvider { get; }
Property Value
Type Description
VortexIdentityProvider

IsRwLoopSuspended

Gets or set wheather RW loop is suspended.

Declaration
public bool IsRwLoopSuspended { get; set; }
Property Value
Type Description
System.Boolean

LoadingSymbol

Gets currently loading symbol information from the remote system.

Declaration
public string LoadingSymbol { get; set; }
Property Value
Type Description
System.String

Logger

Provides logging capability for this connector.

Declaration
public ILogger Logger { get; }
Property Value
Type Description
Serilog.ILogger

MonitorConnector

Gets or sets value indicating whether the performance of the monitor should be active.

Declaration
public bool MonitorConnector { get; set; }
Property Value
Type Description
System.Boolean

Online

Gets adapter for onliners.

Declaration
public ConnectorAdapter Online { get; }
Property Value
Type Description
ConnectorAdapter

OnlineTags

Gets online value items tags attached to this connector.

Declaration
public abstract IEnumerable<IValueTag> OnlineTags { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<IValueTag>

ReadWriteCycleDelay

Gets or sets delay between Read/Write cycles.

Declaration
public int ReadWriteCycleDelay { get; set; }
Property Value
Type Description
System.Int32

RwCycleCount

Gets the number of Read Write cycles from the start of the connector.

Declaration
public long RwCycleCount { get; protected set; }
Property Value
Type Description
System.Int64

StartUpTime

Get the connector's startup timestamp.

Declaration
public DateTime StartUpTime { get; protected set; }
Property Value
Type Description
System.DateTime

Methods

BuildAndStart()

Builds and starts this connector.

Declaration
public abstract IConnector BuildAndStart()
Returns
Type Description
IConnector

CreateSymbol(String, String)

Return symbol path combining parent's and member's symbol.

Declaration
public static string CreateSymbol(string parent, string member)
Parameters
Type Name Description
System.String parent

Parent's path.

System.String member

Members name.

Returns
Type Description
System.String

Combine symbol of parent and member.

InvokeRpc(String, String, Object[])

Invokes a method from the plc.

Declaration
public abstract object InvokeRpc(string symbolPath, string methodName, object[] params)
Parameters
Type Name Description
System.String symbolPath

Symbol path of the block whit remotely invokable method

System.String methodName

Method name. NOTE: Method must have attribute 'TcRpcEnable' declared.}

System.Object[] params

Method's parameters. NOTE: Only value type parameters are accepted.

Returns
Type Description
System.Object

Result of the remotely called method. NOTE:Only value types are allowed as return values.

NotifyPropertyChanged(String)

Declaration
void NotifyPropertyChanged(string propertyName)
Parameters
Type Name Description
System.String propertyName

ReadBatch(IEnumerable<IValueTag>)

Reads batch of value items from the plc.

Declaration
public abstract void ReadBatch(IEnumerable<IValueTag> valueTags)
Parameters
Type Name Description
System.Collections.Generic.IEnumerable<IValueTag> valueTags

Value items to be read.

ReloadConnector()

Forces the connector to reload symbols.

Declaration
public abstract void ReloadConnector()

SubscribeAllEditValueObserver(OnlinerBaseType.ValueChangeDelegate)

Subscribes to observe changes on 'Edit' property of all tags attached to this connector.

Declaration
void SubscribeAllEditValueObserver(OnlinerBaseType.ValueChangeDelegate subscriber)
Parameters
Type Name Description
OnlinerBaseType.ValueChangeDelegate subscriber

WriteBatch(IEnumerable<IValueTag>)

Writes batch of value items to the plc.

Declaration
public abstract void WriteBatch(IEnumerable<IValueTag> valueTags)
Parameters
Type Name Description
System.Collections.Generic.IEnumerable<IValueTag> valueTags

Value items to be written.

Events

PropertyChanged

Implementation of System.ComponentModel.INotifyPropertyChanged

Declaration
public event PropertyChangedEventHandler PropertyChanged
Event Type
Type Description
System.ComponentModel.PropertyChangedEventHandler

Implements

IVortexObject
ITwinObject
IVortexElement
System.ComponentModel.INotifyPropertyChanged

Extension Methods

IValueTagExtensions.Cast<T>(T, Object)
IVortexObjectExtensions.MakeReadOnly(IVortexObject)
IVortexObjectExtensions.Read(IVortexObject)
IVortexObjectExtensions.Write(IVortexObject)
IVortexObjectExtensions.RetrieveValueTags(IVortexObject, List<IValueTag>)
IVortexObjectExtensions.SubscribeShadowValueChange(IVortexObject, OnlinerBaseType.ValueChangeDelegate)
IVortexObjectExtensions.UnSubscribeShadowValueChange(IVortexObject)
IVortexObjectExtensions.SubscribeEditValueChange(IVortexObject, OnlinerBaseType.ValueChangeDelegate)
IVortexObjectExtensions.UnSubscribeEditValueChange(IVortexObject)

See Also

RootVortexerObject
System.ComponentModel.INotifyPropertyChanged
In This Article
Back to top

Generated by DocFX | Developed with ❤ at MTS - putting the heart into manufacturing.