Documentation ¶
Index ¶
- func Bool(v bool) *bool
- func CheckResponse(r *http.Response) error
- func Int(v int) *int
- func String(v string) *string
- type ArrayBlockSize
- type BautRate
- type ByteOrder
- type Channel
- type ChannelOptions
- type ChannelService
- func (s *ChannelService) CreateChannel(options *ChannelOptions) error
- func (s *ChannelService) DeleteChannel(name string) error
- func (s *ChannelService) GetChannel(name string) (*Channel, error)
- func (s *ChannelService) ListChannels() ([]*Channel, error)
- func (s *ChannelService) UpdateChannel(name string, options *ChannelOptions) error
- type Client
- type ClientAccess
- type ConnectionPriority
- type ControlLogixEthernetDevice
- type ControlLogixEthernetDeviceOptions
- type ControlLogixEthernetModel
- type DataBits
- type DataType
- type DeadbandType
- type Device
- type DeviceService
- func (s *DeviceService) CreateControlLogixEthernetDevice(channel string, options *ControlLogixEthernetDeviceOptions) error
- func (s *DeviceService) CreateOPCUAClientDevice(channel string, options *OPCUAClientDeviceOptions) error
- func (s *DeviceService) CreateSiemensS5AS511Device(channel string, options *SiemensS5AS511DeviceOptions) error
- func (s *DeviceService) CreateSiemensTCPIPEthernetDevice(channel string, options *SiemensTCPIPEthernetDeviceOptions) error
- func (s *DeviceService) DeleteDevice(channel, name string) error
- func (s *DeviceService) GetControlLogixEthernetDevice(channel, name string) (*ControlLogixEthernetDevice, error)
- func (s *DeviceService) GetOPCUAClientDevice(channel, name string) (*OPCUAClientDevice, error)
- func (s *DeviceService) GetSiemensS5AS511Device(channel, name string) (*SiemensS5AS511Device, error)
- func (s *DeviceService) GetSiemensTCPIPEthernetDevice(channel, name string) (*SiemensTCPIPEthernetDevice, error)
- func (s *DeviceService) ListDevices(channel string) ([]*Device, error)
- func (s *DeviceService) UpdateControlLogixEthernetDevice(channel string, options *ControlLogixEthernetDevice) error
- func (s *DeviceService) UpdateOPCUAClientDevice(channel, name string, options *OPCUAClientDeviceOptions) error
- func (s *DeviceService) UpdateSiemensS5AS511Device(channel, name string, options *SiemensS5AS511DeviceOptions) error
- func (s *DeviceService) UpdateSiemensTCPIPEthernetDevice(channel, name string, options *SiemensTCPIPEthernetDeviceOptions) error
- type ErrorResponse
- type FloatingPointValues
- type FlowControl
- type IDFormat
- type ImportMethod
- type InactivityWatchdog
- type LinkType
- type MaxPDUSize
- type MessageMode
- type NetworkMode
- type OPCUAClientDevice
- type OPCUAClientDeviceOptions
- type OPCUAClientModel
- type OnDeviceStartup
- type OnDuplicateTag
- type OptimizationMethod
- type Parity
- type PhysicalMedium
- type Protocol
- type ProtocolMode
- type ReadProcessing
- type RequestSize
- type ScaledDataType
- type ScalingType
- type ScanMode
- type SecurityPolicy
- type SiemensS5AS511Device
- type SiemensS5AS511DeviceOptions
- type SiemensS5AS511Model
- type SiemensTCPIPEthernetDevice
- type SiemensTCPIPEthernetDeviceOptions
- type SiemensTCPIPEthernetModel
- type StopBits
- type Tag
- type TagGroup
- type TagGroupOptions
- type TagGroupService
- func (s *TagGroupService) CreatetagGroup(channel, device string, options *TagGroupOptions) error
- func (s *TagGroupService) DeleteTagGroup(channel, device, name string) error
- func (s *TagGroupService) GetTagGroup(channel, device, name string) (*TagGroup, error)
- func (s *TagGroupService) ListTagGroups(channel, device string) ([]*TagGroup, error)
- func (s *TagGroupService) UpdateTagGroup(channel, device, name string, options *TagGroupOptions) error
- type TagHierarchy
- type TagOptions
- type TagService
- func (s *TagService) CreateTag(channel, device, group string, options *TagOptions) error
- func (s *TagService) DeleteTag(channel, device, group, name string) error
- func (s *TagService) GetTag(channel, device, group, name string) (*Tag, error)
- func (s *TagService) ListTags(channel, device, group string) ([]*Tag, error)
- func (s *TagService) UpdateTag(channel, device, group, name string, options *TagOptions) error
- type UpdateMode
- type VirtualNetwork
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Bool ¶
Bool is a helper routine that allocates a new bool value to store v and returns a pointer to it.
func CheckResponse ¶
CheckResponse checks the API response for errors, and returns them if present.
Types ¶
type ArrayBlockSize ¶
type ArrayBlockSize int
ArrayBlockSize represents an array block size.
const ( ArrayBlockSize_30 ArrayBlockSize = 30 ArrayBlockSize_60 ArrayBlockSize = 60 ArrayBlockSize_120 ArrayBlockSize = 120 ArrayBlockSize_240 ArrayBlockSize = 240 ArrayBlockSize_480 ArrayBlockSize = 480 ArrayBlockSize_960 ArrayBlockSize = 960 ArrayBlockSize_1920 ArrayBlockSize = 1920 ArrayBlockSize_3840 ArrayBlockSize = 3840 )
List of available array block sizes.
type BautRate ¶
type BautRate int
BautRate represents a baut rate.
const ( BautRate_300 BautRate = 300 BautRate_600 BautRate = 600 BautRate_1200 BautRate = 1200 BautRate_2400 BautRate = 2400 BautRate_4800 BautRate = 4800 BautRate_9600 BautRate = 9600 BautRate_14400 BautRate = 14400 BautRate_19200 BautRate = 19200 BautRate_28800 BautRate = 28800 BautRate_38400 BautRate = 38400 BautRate_56000 BautRate = 56000 BautRate_57600 BautRate = 57600 BautRate_115200 BautRate = 115200 BautRate_128000 BautRate = 128000 BautRate_256000 BautRate = 256000 )
List of available baut rates.
type Channel ¶
type Channel struct { Name string `json:"common.ALLTYPES_NAME"` Description string `json:"common.ALLTYPES_DESCRIPTION"` UniqueID int64 `json:"servermain.CHANNEL_UNIQUE_ID"` ProjectID int64 `json:"PROJECT_ID"` Driver string `json:"servermain.MULTIPLE_TYPES_DEVICE_DRIVER"` DiagnosticsCapture bool `json:"servermain.CHANNEL_DIAGNOSTICS_CAPTURE"` NetworkAdapter string `json:"servermain.CHANNEL_ETHERNET_COMMUNICATIONS_NETWORK_ADAPTER_STRING"` OptimizationMethod OptimizationMethod `json:"servermain.CHANNEL_WRITE_OPTIMIZATIONS_METHOD"` DutyCycle int `json:"servermain.CHANNEL_WRITE_OPTIMIZATIONS_DUTY_CYCLE"` FloatingPointValues FloatingPointValues `json:"servermain.CHANNEL_NON_NORMALIZED_FLOATING_POINT_HANDLING"` }
Channel represents a KEPServerEX channel.
type ChannelOptions ¶
type ChannelOptions struct { Name string `json:"common.ALLTYPES_NAME,omitempty"` Description string `json:"common.ALLTYPES_DESCRIPTION,omitempty"` Driver string `json:"servermain.MULTIPLE_TYPES_DEVICE_DRIVER,omitempty"` DiagnosticsCapture bool `json:"servermain.CHANNEL_DIAGNOSTICS_CAPTURE,omitempty"` NetworkAdapter string `json:"servermain.CHANNEL_SERIAL_COMMUNICATIONS_NETWORK_ADAPTER_STRING,omitempty"` OptimizationMethod OptimizationMethod `json:"servermain.CHANNEL_WRITE_OPTIMIZATIONS_METHOD,omitempty"` DutyCycle int `json:"servermain.CHANNEL_WRITE_OPTIMIZATIONS_DUTY_CYCLE,omitempty"` FloatingPointValues FloatingPointValues `json:"servermain.CHANNEL_NON_NORMALIZED_FLOATING_POINT_HANDLING,omitempty"` }
ChannelOptions represents all channel options.
type ChannelService ¶
type ChannelService struct {
// contains filtered or unexported fields
}
ChannelService handles communication with the channel related methods of the KEPServerEX API.
func (*ChannelService) CreateChannel ¶
func (s *ChannelService) CreateChannel(options *ChannelOptions) error
CreateChannel creates a new channel.
func (*ChannelService) DeleteChannel ¶
func (s *ChannelService) DeleteChannel(name string) error
DeleteChannel deletes a channel.
func (*ChannelService) GetChannel ¶
func (s *ChannelService) GetChannel(name string) (*Channel, error)
GetChannel gets a channel.
func (*ChannelService) ListChannels ¶
func (s *ChannelService) ListChannels() ([]*Channel, error)
ListChannels gets a list of channels.
func (*ChannelService) UpdateChannel ¶
func (s *ChannelService) UpdateChannel(name string, options *ChannelOptions) error
UpdateChannel updates an existing channel.
type Client ¶
type Client struct { // Services used for talking to different parts of the KEPServerEX API. Channels *ChannelService Devices *DeviceService TagGroups *TagGroupService Tags *TagService // contains filtered or unexported fields }
A Client manages communication with the KEPServerEX API.
func NewClient ¶
NewClient returns a new KEPServerEX API client. If a nil httpClient is provided, http.DefaultClient will be used. To use API methods which require authentication, provide a valid username and password.
func (*Client) Do ¶
Do sends an API request and returns the API response. The API response is JSON decoded and stored in the value pointed to by v, or returned as an error if an API error has occurred. If v implements the io.Writer interface, the raw response body will be written to v, without attempting to first decode it.
func (*Client) NewRequest ¶
NewRequest creates an API request. A relative URL path can be provided in path, in which case it is resolved relative to the base URL of the Client. Relative URL paths should always be specified without a preceding slash. If specified, the value pointed to by opt is JSON encoded and included as the request body.
func (*Client) SetBaseURL ¶
SetBaseURL sets the base URL for API requests to a custom endpoint.
type ClientAccess ¶
type ClientAccess int
ClientAccess represents a client access type.
const ( ClientAccess_ReadOnly ClientAccess = iota ClientAccess_ReadWrite )
List of available client access types.
type ConnectionPriority ¶
type ConnectionPriority int
ConnectionPriority represents a connection priority.
const ( ConnectionPriority_Lowest ConnectionPriority = 0 ConnectionPriority_Low ConnectionPriority = 64 ConnectionPriority_Medium ConnectionPriority = 128 ConnectionPriority_High ConnectionPriority = 192 ConnectionPriority_Highest ConnectionPriority = 255 )
List of available connection priorities.
type ControlLogixEthernetDevice ¶
type ControlLogixEthernetDevice struct { Name string `json:"common.ALLTYPES_NAME"` Description string `json:"common.ALLTYPES_DESCRIPTION"` UniqueID int64 `json:"servermain.DEVICE_UNIQUE_ID"` ProjectID int64 `json:"PROJECT_ID"` ChannelAssignment string `json:"servermain.DEVICE_CHANNEL_ASSIGNMENT"` Driver string `json:"servermain.MULTIPLE_TYPES_DEVICE_DRIVER"` Model ControlLogixEthernetModel `json:"servermain.DEVICE_MODEL"` IDFormat IDFormat `json:"servermain.DEVICE_ID_FORMAT"` IDString string `json:"servermain.DEVICE_ID_STRING"` IDHexadecimal int `json:"servermain.DEVICE_ID_HEXADECIMAL"` IDDecimal int `json:"servermain.DEVICE_ID_DECIMAL"` IDOctal int `json:"servermain.DEVICE_ID_OCTAL"` DataCollection bool `json:"servermain.DEVICE_DATA_COLLECTION"` Simulated bool `json:"servermain.DEVICE_SIMULATED"` ScanMode ScanMode `json:"servermain.DEVICE_SCAN_MODE"` ScanRate int `json:"servermain.DEVICE_SCAN_MODE_RATE_MS"` InitialUpdatesFromCache bool `json:"servermain.DEVICE_SCAN_MODE_PROVIDE_INITIAL_UPDATES_FROM_CACHE"` ConnectionTimeout int `json:"servermain.DEVICE_CONNECTION_TIMEOUT_SECONDS"` RequestTimeout int `json:"servermain.DEVICE_REQUEST_TIMEOUT_MILLISECONDS"` AttemptsBeforeTimeout int `json:"servermain.DEVICE_RETRY_ATTEMPTS"` InterRequestDelay int `json:"servermain.DEVICE_INTER_REQUEST_DELAY_MILLISECONDS"` DemoteOnFailure bool `json:"servermain.DEVICE_AUTO_DEMOTION_ENABLE_ON_COMMUNICATIONS_FAILURES"` TimeoutToDemote int `json:"servermain.DEVICE_AUTO_DEMOTION_DEMOTE_AFTER_SUCCESSIVE_TIMEOUTS"` DemotionPeriod int `json:"servermain.DEVICE_AUTO_DEMOTION_PERIOD_MS"` DiscardRequestsWhenDemoted bool `json:"servermain.DEVICE_AUTO_DEMOTION_DISCARD_WRITES"` OnDeviceStartup OnDeviceStartup `json:"servermain.DEVICE_TAG_GENERATION_ON_STARTUP"` OnDuplicateTag OnDuplicateTag `json:"servermain.DEVICE_TAG_GENERATION_DUPLICATE_HANDLING"` ParentGroup string `json:"servermain.DEVICE_TAG_GENERATION_GROUP"` AllowAutomaticallyGeneratedSubgroups bool `json:"servermain.DEVICE_TAG_GENERATION_ALLOW_SUB_GROUPS"` TCPIPPort int `json:"controllogix_ethernet.DEVICE_PORT_NUMBER"` ConnectionSize int `json:"controllogix_ethernet.DEVICE_CONNECTION_SIZE_BYTES"` InactivityWatchdog InactivityWatchdog `json:"controllogix_ethernet.DEVICE_INACTIVITY_WATCHDOG_SECONDS"` ArrayBlockSize ArrayBlockSize `json:"controllogix_ethernet.DEVICE_ARRAY_BLOCK_SIZE_ELEMENTS"` ProtocolMode ProtocolMode `json:"controllogix_ethernet.DEVICE_PROTOCOL_MODE"` SynchronizeAfterOnlineEdits bool `json:"controllogix_ethernet.DEVICE_ONLINE_EDITS"` SynchronizeAfterOfflineEdits bool `json:"controllogix_ethernet.DEVICE_OFFLINE_EDITS"` TerminateStringDataAtLEN bool `json:"controllogix_ethernet.DEVICE_AUTOMATICALLY_READ_STRING_LENGTH"` DefaultDataType DataType `json:"controllogix_ethernet.DEVICE_DEFAULT_DATA_TYPE"` PerformanceStatistics bool `json:"controllogix_ethernet.DEVICE_ENABLE_PERFORMANCE_STATISTICS"` DatabaseImportMethod ImportMethod `json:"controllogix_ethernet.DEVICE_DATABASE_IMPORT_METHOD"` TagImportFile string `json:"controllogix_ethernet.DEVICE_TAG_IMPORT_FILE"` TagDescriptions bool `json:"controllogix_ethernet.DEVICE_DISPLAY_DESCRIPTIONS"` LimitNameLength bool `json:"controllogix_ethernet.DEVICE_LIMIT_TAG_NAMES"` TagHierarchy TagHierarchy `json:"controllogix_ethernet.DEVICE_TAG_HIERARCHY"` ImposeArrayLimit bool `json:"controllogix_ethernet.DEVICE_IMPOSE_ARRAY_ELEMENT_COUNT_LIMIT"` ArrayCountUpperLimit int `json:"controllogix_ethernet.DEVICE_ARRAY_ELEMENT_COUNT_LIMIT"` RemoteTCPIPPort int `json:"controllogix_ethernet.DEVICE_CL_ENET_PORT_NUMBER"` RequestSize RequestSize `json:"controllogix_ethernet.DEVICE_REQUEST_SIZE"` AllowFunctionFileBlockWrites bool `json:"controllogix_ethernet.DEVICE_PERFORM_BLOCK_WRITES"` Slot struct { Module []int `json:"controllogix_ethernet.DEVICE_SLOT_CONFIGURATION_MODULE"` InputWords []int `json:"controllogix_ethernet.DEVICE_SLOT_CONFIGURATION_INPUT_WORDS"` OutputWords []int `json:"controllogix_ethernet.DEVICE_SLOT_CONFIGURATION_OUTPUT_WORDS"` } `json:"controllogix_ethernet.DEVICE_SLOT_CONFIGURATION"` }
ControlLogixEthernetDevice represents an ControlLogix Ethernet device.
type ControlLogixEthernetDeviceOptions ¶
type ControlLogixEthernetDeviceOptions struct { Name string `json:"common.ALLTYPES_NAME,omitempty"` Description string `json:"common.ALLTYPES_DESCRIPTION,omitempty"` Driver string `json:"servermain.MULTIPLE_TYPES_DEVICE_DRIVER"` Model ControlLogixEthernetModel `json:"servermain.DEVICE_MODEL"` IDFormat IDFormat `json:"servermain.DEVICE_ID_FORMAT,omitempty"` IDString string `json:"servermain.DEVICE_ID_STRING,omitempty"` IDHexadecimal int `json:"servermain.DEVICE_ID_HEXADECIMAL,omitempty"` IDDecimal int `json:"servermain.DEVICE_ID_DECIMAL,omitempty"` IDOctal int `json:"servermain.DEVICE_ID_OCTAL,omitempty"` DataCollection *bool `json:"servermain.DEVICE_DATA_COLLECTION,omitempty"` Simulated *bool `json:"servermain.DEVICE_SIMULATED,omitempty"` ScanMode *ScanMode `json:"servermain.DEVICE_SCAN_MODE,omitempty"` ScanRate *int `json:"servermain.DEVICE_SCAN_MODE_RATE_MS,omitempty"` InitialUpdatesFromCache *bool `json:"servermain.DEVICE_SCAN_MODE_PROVIDE_INITIAL_UPDATES_FROM_CACHE,omitempty"` ConnectionTimeout *int `json:"servermain.DEVICE_CONNECTION_TIMEOUT_SECONDS,omitempty"` RequestTimeout *int `json:"servermain.DEVICE_REQUEST_TIMEOUT_MILLISECONDS,omitempty"` AttemptsBeforeTimeout *int `json:"servermain.DEVICE_RETRY_ATTEMPTS,omitempty"` InterRequestDelay *int `json:"servermain.DEVICE_INTER_REQUEST_DELAY_MILLISECONDS,omitempty"` DemoteOnFailure *bool `json:"servermain.DEVICE_AUTO_DEMOTION_ENABLE_ON_COMMUNICATIONS_FAILURES,omitempty"` TimeoutToDemote *int `json:"servermain.DEVICE_AUTO_DEMOTION_DEMOTE_AFTER_SUCCESSIVE_TIMEOUTS,omitempty"` DemotionPeriod *int `json:"servermain.DEVICE_AUTO_DEMOTION_PERIOD_MS,omitempty"` DiscardRequestsWhenDemoted *bool `json:"servermain.DEVICE_AUTO_DEMOTION_DISCARD_WRITES,omitempty"` OnDeviceStartup *OnDeviceStartup `json:"servermain.DEVICE_TAG_GENERATION_ON_STARTUP,omitempty"` OnDuplicateTag *OnDuplicateTag `json:"servermain.DEVICE_TAG_GENERATION_DUPLICATE_HANDLING,omitempty"` ParentGroup *string `json:"servermain.DEVICE_TAG_GENERATION_GROUP,omitempty"` AllowAutomaticallyGeneratedSubgroups *bool `json:"servermain.DEVICE_TAG_GENERATION_ALLOW_SUB_GROUPS,omitempty"` TCPIPPort *int `json:"controllogix_ethernet.DEVICE_PORT_NUMBER,omitempty"` ConnectionSize *int `json:"controllogix_ethernet.DEVICE_CONNECTION_SIZE_BYTES,omitempty"` InactivityWatchdog *InactivityWatchdog `json:"controllogix_ethernet.DEVICE_INACTIVITY_WATCHDOG_SECONDS,omitempty"` ArrayBlockSize *ArrayBlockSize `json:"controllogix_ethernet.DEVICE_ARRAY_BLOCK_SIZE_ELEMENTS,omitempty"` ProtocolMode *ProtocolMode `json:"controllogix_ethernet.DEVICE_PROTOCOL_MODE,omitempty"` SynchronizeAfterOnlineEdits *bool `json:"controllogix_ethernet.DEVICE_ONLINE_EDITS,omitempty"` SynchronizeAfterOfflineEdits *bool `json:"controllogix_ethernet.DEVICE_OFFLINE_EDITS,omitempty"` TerminateStringDataAtLEN *bool `json:"controllogix_ethernet.DEVICE_AUTOMATICALLY_READ_STRING_LENGTH,omitempty"` DefaultDataType *DataType `json:"controllogix_ethernet.DEVICE_DEFAULT_DATA_TYPE,omitempty"` PerformanceStatistics *bool `json:"controllogix_ethernet.DEVICE_ENABLE_PERFORMANCE_STATISTICS,omitempty"` DatabaseImportMethod *ImportMethod `json:"controllogix_ethernet.DEVICE_DATABASE_IMPORT_METHOD,omitempty"` TagImportFile *string `json:"controllogix_ethernet.DEVICE_TAG_IMPORT_FILE,omitempty"` TagDescriptions *bool `json:"controllogix_ethernet.DEVICE_DISPLAY_DESCRIPTIONS,omitempty"` LimitNameLength *bool `json:"controllogix_ethernet.DEVICE_LIMIT_TAG_NAMES,omitempty"` TagHierarchy *TagHierarchy `json:"controllogix_ethernet.DEVICE_TAG_HIERARCHY,omitempty"` ImposeArrayLimit *bool `json:"controllogix_ethernet.DEVICE_IMPOSE_ARRAY_ELEMENT_COUNT_LIMIT,omitempty"` ArrayCountUpperLimit *int `json:"controllogix_ethernet.DEVICE_ARRAY_ELEMENT_COUNT_LIMIT,omitempty"` RemoteTCPIPPort *int `json:"controllogix_ethernet.DEVICE_CL_ENET_PORT_NUMBER,omitempty"` RequestSize *RequestSize `json:"controllogix_ethernet.DEVICE_REQUEST_SIZE,omitempty"` AllowFunctionFileBlockWrites *bool `json:"controllogix_ethernet.DEVICE_PERFORM_BLOCK_WRITES,omitempty"` }
ControlLogixEthernetDeviceOptions represents all ControlLogix Ethernet device options.
type ControlLogixEthernetModel ¶
type ControlLogixEthernetModel int
ControlLogixEthernetModel represents a ControlLogix Ethernet model.
const ( ControlLogix_5500 ControlLogixEthernetModel = iota CompactLogix_5300 FlexLogix_5400 SoftLogix_5800 DH_Gateway_PLC_5 DH_Gateway_SLC_5_04 ControlNetGateway_PLC_5C EIP_Gateway_MicroLogix EIP_Gateway_SLC_Fixed EIP_Gateway_SLC_Modular EIP_Gateway_PLC_5 Serial_Gateway_ControlLogix Serial_Gateway_CompactLogix Serial_Gateway_FlexLogix Serial_Gateway_SoftLogix ENI_ControlLogix_5500 ENI_CompactLogix_5300 ENI_FlexLogix_5400 ENI_SoftLogix_5800 ENI_SLC_500_Fixed_IO ENI_SLC_500_Modular_IO ENI_PLC_5 MicroLogix_1100 MicroLogix_1400 )
List of available ControlLogix Ethernet models.
type DataType ¶
type DataType int
DataType represents a data type.
const ( DataType_Default DataType = iota - 1 DataType_String DataType_Boolean DataType_Char DataType_Byte DataType_Short DataType_Word DataType_Long DataType_DWord DataType_Float DataType_Double DataType_BCD DataType_LBCD DataType_Date DataType_LLong DataType_Qword DataType_StringArray DataType_BooleanArray DataType_CharArray DataType_ByteArray DataType_ShortArray DataType_WordArray DataType_LongArray DataType_DWordArray DataType_FloatArray DataType_DoubleArray DataType_BCDArray DataType_LBCDArray DataType_DateArray DataType_LLongArray DataType_QwordArray )
List of available data types.
type DeadbandType ¶
type DeadbandType int
DeadbandType represents a deadband type.
const ( DeadbandType_None DeadbandType = iota DeadbandType_Percent DeadbandType_Absolute )
List of available deadband types.
type Device ¶
type Device struct { Name string `json:"common.ALLTYPES_NAME"` Description string `json:"common.ALLTYPES_DESCRIPTION"` UniqueID int64 `json:"servermain.DEVICE_UNIQUE_ID"` ProjectID int64 `json:"PROJECT_ID"` ChannelAssignment string `json:"servermain.DEVICE_CHANNEL_ASSIGNMENT"` Driver string `json:"servermain.MULTIPLE_TYPES_DEVICE_DRIVER"` }
Device represents a KEPServerEX device.
type DeviceService ¶
type DeviceService struct {
// contains filtered or unexported fields
}
DeviceService handles communication with the device related methods of the KEPServerEX API.
func (*DeviceService) CreateControlLogixEthernetDevice ¶
func (s *DeviceService) CreateControlLogixEthernetDevice(channel string, options *ControlLogixEthernetDeviceOptions) error
CreateControlLogixEthernetDevice creates a new ControlLogix Ethernet device.
func (*DeviceService) CreateOPCUAClientDevice ¶
func (s *DeviceService) CreateOPCUAClientDevice(channel string, options *OPCUAClientDeviceOptions) error
CreateOPCUAClientDevice creates a new OPC UA client device.
func (*DeviceService) CreateSiemensS5AS511Device ¶
func (s *DeviceService) CreateSiemensS5AS511Device(channel string, options *SiemensS5AS511DeviceOptions) error
CreateSiemensS5AS511Device creates a new Siemens S5 (AS511) device.
func (*DeviceService) CreateSiemensTCPIPEthernetDevice ¶
func (s *DeviceService) CreateSiemensTCPIPEthernetDevice(channel string, options *SiemensTCPIPEthernetDeviceOptions) error
CreateSiemensTCPIPEthernetDevice creates a new Siemens TCP/IP Ethernet device.
func (*DeviceService) DeleteDevice ¶
func (s *DeviceService) DeleteDevice(channel, name string) error
DeleteDevice deletes a device.
func (*DeviceService) GetControlLogixEthernetDevice ¶
func (s *DeviceService) GetControlLogixEthernetDevice(channel, name string) (*ControlLogixEthernetDevice, error)
GetControlLogixEthernetDevice gets a ControlLogix Ethernet device.
func (*DeviceService) GetOPCUAClientDevice ¶
func (s *DeviceService) GetOPCUAClientDevice(channel, name string) (*OPCUAClientDevice, error)
GetOPCUAClientDevice gets an OPC UA client device.
func (*DeviceService) GetSiemensS5AS511Device ¶
func (s *DeviceService) GetSiemensS5AS511Device(channel, name string) (*SiemensS5AS511Device, error)
GetSiemensS5AS511Device gets an Siemens S5 (AS511) device.
func (*DeviceService) GetSiemensTCPIPEthernetDevice ¶
func (s *DeviceService) GetSiemensTCPIPEthernetDevice(channel, name string) (*SiemensTCPIPEthernetDevice, error)
GetSiemensTCPIPEthernetDevice gets an Siemens TCP/IP Ethernet device.
func (*DeviceService) ListDevices ¶
func (s *DeviceService) ListDevices(channel string) ([]*Device, error)
ListDevices gets a list of devices.
func (*DeviceService) UpdateControlLogixEthernetDevice ¶
func (s *DeviceService) UpdateControlLogixEthernetDevice(channel string, options *ControlLogixEthernetDevice) error
UpdateControlLogixEthernetDevice updates an existing ControlLogix Ethernet device.
func (*DeviceService) UpdateOPCUAClientDevice ¶
func (s *DeviceService) UpdateOPCUAClientDevice(channel, name string, options *OPCUAClientDeviceOptions) error
UpdateOPCUAClientDevice updates an existing OPC UA client device.
func (*DeviceService) UpdateSiemensS5AS511Device ¶
func (s *DeviceService) UpdateSiemensS5AS511Device(channel, name string, options *SiemensS5AS511DeviceOptions) error
UpdateSiemensS5AS511Device updates an existing Siemens S5 (AS511) device.
func (*DeviceService) UpdateSiemensTCPIPEthernetDevice ¶
func (s *DeviceService) UpdateSiemensTCPIPEthernetDevice(channel, name string, options *SiemensTCPIPEthernetDeviceOptions) error
UpdateSiemensTCPIPEthernetDevice updates an existing Siemens TCP/IP Ethernet device.
type ErrorResponse ¶
An ErrorResponse reports errors caused by an API request.
func (*ErrorResponse) Error ¶
func (e *ErrorResponse) Error() string
type FloatingPointValues ¶
type FloatingPointValues int
FloatingPointValues represents a floating point option.
const ( ReplaceWithZero FloatingPointValues = iota Unmodified )
List of available floating point options.
type FlowControl ¶
type FlowControl int
FlowControl represents a flow control option.
const ( FlowControl_None FlowControl = iota FlowControl_DTR FlowControl_RTS FlowControl_RTSDTR FlowControl_RTSAlways FlowControl_RTSManual )
List of available flow control options.
type ImportMethod ¶
type ImportMethod int
ImportMethod represents a database import method.
const ( CreateFromDevice ImportMethod = iota CreateFromImportFile )
List of available database import methods.
type InactivityWatchdog ¶
type InactivityWatchdog int
InactivityWatchdog represents an inactivity watchdog timeout
const ( InactivityWatchdog_8 InactivityWatchdog = 8 InactivityWatchdog_16 InactivityWatchdog = 16 InactivityWatchdog_32 InactivityWatchdog = 32 InactivityWatchdog_64 InactivityWatchdog = 64 InactivityWatchdog_128 InactivityWatchdog = 128 )
List of available inactivity watchdog seconds.
type MaxPDUSize ¶
type MaxPDUSize int
MaxPDUSize represents a maximum PDU size mode.
const ( MaxPDUSize_240 MaxPDUSize = 240 MaxPDUSize_480 MaxPDUSize = 480 MaxPDUSize_960 MaxPDUSize = 960 )
List of available maximum PDU sizes.
type MessageMode ¶
type MessageMode int
MessageMode represents a message mode.
const ( MessageMode_None MessageMode = iota + 1 MessageMode_Sign MessageMode_SignAndEncrypt )
List of available message modes.
type NetworkMode ¶
type NetworkMode int
NetworkMode represents a network mode.
const ( NetworkMode_LoadBalanced NetworkMode = iota NetworkMode_Priority )
List of available network modes.
type OPCUAClientDevice ¶
type OPCUAClientDevice struct { Name string `json:"common.ALLTYPES_NAME"` Description string `json:"common.ALLTYPES_DESCRIPTION"` UniqueID int64 `json:"servermain.DEVICE_UNIQUE_ID"` ProjectID int64 `json:"PROJECT_ID"` ChannelAssignment string `json:"servermain.DEVICE_CHANNEL_ASSIGNMENT"` Driver string `json:"servermain.MULTIPLE_TYPES_DEVICE_DRIVER"` Model OPCUAClientModel `json:"servermain.DEVICE_MODEL"` DataCollection bool `json:"servermain.DEVICE_DATA_COLLECTION"` Simulated bool `json:"servermain.DEVICE_SIMULATED"` ScanMode ScanMode `json:"servermain.DEVICE_SCAN_MODE"` ScanRate int `json:"servermain.DEVICE_SCAN_MODE_RATE_MS"` InitialUpdatesFromCache bool `json:"servermain.DEVICE_SCAN_MODE_PROVIDE_INITIAL_UPDATES_FROM_CACHE"` PublishingInterval int `json:"opcuaclient.DEVICE_SUBSCRIPTION_PUBLISHING_INTERVAL_MILLISECONDS"` MaxNotificationsPerPublish int `json:"opcuaclient.DEVICE_SUBSCRIPTION_MAX_NOTIFICATIONS_PER_PUBLISH"` UpdateMode UpdateMode `json:"opcuaclient.DEVICE_SUBSCRIPTION_UPDATE_MODE"` RegisteredReadWrite bool `json:"opcuaclient.DEVICE_SUBSCRIPTION_REGISTERED_READWRITE"` MaxItemsPerRead int `json:"opcuaclient.DEVICE_MAX_ITEMS_PER_READ"` MaxItemsPerWrite int `json:"opcuaclient.DEVICE_MAX_ITEMS_PER_WRITE"` ReadTimeout int `json:"opcuaclient.DEVICE_READ_TIMEOUT_MS"` WriteTimeout int `json:"opcuaclient.DEVICE_WRITE_TIMEOUT_MS"` ReadAfterWrite bool `json:"opcuaclient.DEVICE_READ_AFTER_WRITE"` LifetimeCount int `json:"opcuaclient.DEVICE_CONNECTION_LIFETIME_COUNT"` KeepAliveCount int `json:"opcuaclient.DEVICE_CONNECTION_MAX_KEEP_ALIVE"` ConnectionPriority ConnectionPriority `json:"opcuaclient.DEVICE_CONNECTION_PRIORITY"` SampleInterval int `json:"opcuaclient.DEVICE_MONITORED_ITEMS_SAMPLE_INTERVAL_MILLISECONDS"` QueueSize int `json:"opcuaclient.DEVICE_MONITORED_ITEMS_QUEUE_SIZE"` DiscardOldest bool `json:"opcuaclient.DEVICE_MONITORED_ITEMS_DISCARD_OLDEST"` DeadbandType DeadbandType `json:"opcuaclient.DEVICE_MONITORED_ITEMS_DEADBAND_TYPE"` DeadbandValue int `json:"opcuaclient.DEVICE_MONITORED_ITEMS_DEADBAND_VALUE"` SelectImportItems []int `json:"opcuaclient.DEVICE_MONITORED_ITEMS_SELECT_IMPORT"` }
OPCUAClientDevice represents an OPC UA client device.
type OPCUAClientDeviceOptions ¶
type OPCUAClientDeviceOptions struct { Name string `json:"common.ALLTYPES_NAME,omitempty"` Description string `json:"common.ALLTYPES_DESCRIPTION,omitempty"` UniqueID int64 `json:"servermain.DEVICE_UNIQUE_ID,omitempty"` Model OPCUAClientModel `json:"servermain.DEVICE_MODEL,omitempty"` DataCollection *bool `json:"servermain.DEVICE_DATA_COLLECTION,omitempty"` Simulated *bool `json:"servermain.DEVICE_SIMULATED,omitempty"` ScanMode *ScanMode `json:"servermain.DEVICE_SCAN_MODE,omitempty"` ScanRate *int `json:"servermain.DEVICE_SCAN_MODE_RATE_MS,omitempty"` InitialUpdatesFromCache *bool `json:"servermain.DEVICE_SCAN_MODE_PROVIDE_INITIAL_UPDATES_FROM_CACHE,omitempty"` PublishingInterval *int `json:"opcuaclient.DEVICE_SUBSCRIPTION_PUBLISHING_INTERVAL_MILLISECONDS,omitempty"` MaxNotificationsPerPublish *int `json:"opcuaclient.DEVICE_SUBSCRIPTION_MAX_NOTIFICATIONS_PER_PUBLISH,omitempty"` UpdateMode *UpdateMode `json:"opcuaclient.DEVICE_SUBSCRIPTION_UPDATE_MODE,omitempty"` RegisteredReadWrite *bool `json:"opcuaclient.DEVICE_SUBSCRIPTION_REGISTERED_READWRITE,omitempty"` MaxItemsPerRead *int `json:"opcuaclient.DEVICE_MAX_ITEMS_PER_READ,omitempty"` MaxItemsPerWrite *int `json:"opcuaclient.DEVICE_MAX_ITEMS_PER_WRITE,omitempty"` ReadTimeout *int `json:"opcuaclient.DEVICE_READ_TIMEOUT_MS,omitempty"` WriteTimeout *int `json:"opcuaclient.DEVICE_WRITE_TIMEOUT_MS,omitempty"` ReadAfterWrite *bool `json:"opcuaclient.DEVICE_READ_AFTER_WRITE,omitempty"` LifetimeCount *int `json:"opcuaclient.DEVICE_CONNECTION_LIFETIME_COUNT,omitempty"` KeepAliveCount *int `json:"opcuaclient.DEVICE_CONNECTION_MAX_KEEP_ALIVE,omitempty"` ConnectionPriority *ConnectionPriority `json:"opcuaclient.DEVICE_CONNECTION_PRIORITY,omitempty"` SampleInterval *int `json:"opcuaclient.DEVICE_MONITORED_ITEMS_SAMPLE_INTERVAL_MILLISECONDS,omitempty"` QueueSize *int `json:"opcuaclient.DEVICE_MONITORED_ITEMS_QUEUE_SIZE,omitempty"` DiscardOldest *bool `json:"opcuaclient.DEVICE_MONITORED_ITEMS_DISCARD_OLDEST,omitempty"` DeadbandType *DeadbandType `json:"opcuaclient.DEVICE_MONITORED_ITEMS_DEADBAND_TYPE,omitempty"` DeadbandValue *int `json:"opcuaclient.DEVICE_MONITORED_ITEMS_DEADBAND_VALUE,omitempty"` SelectImportItems []int `json:"opcuaclient.DEVICE_MONITORED_ITEMS_SELECT_IMPORT,omitempty"` }
OPCUAClientDeviceOptions represents all OPC UA client device options.
type OPCUAClientModel ¶
type OPCUAClientModel int
OPCUAClientModel represents an OPC UA Client model.
const (
OPCUA OPCUAClientModel = iota
)
List of available OPC UA Client models.
type OnDeviceStartup ¶
type OnDeviceStartup int
OnDeviceStartup represents a on device startup mode.
const ( DoNotGenerateOnStartup OnDeviceStartup = iota AlwaysGenerateOnStartup GenerateOnFirstStartup )
List of available on device startup modes.
type OnDuplicateTag ¶
type OnDuplicateTag int
OnDuplicateTag represents a on duplicate tag mode.
const ( DeleteOnCreate OnDuplicateTag = iota OverwriteAsNecessary DoNotOverwrite DoNotOverwriteLogError )
List of available on duplicate tag modes.
type OptimizationMethod ¶
type OptimizationMethod int
OptimizationMethod represents an optimization method.
const ( WriteAllValuesForAllTags OptimizationMethod = iota WriteOnlyLatestValueForNonBooleanTags WriteOnlyLatestValueForAllTags )
List of available optimization methods.
type PhysicalMedium ¶
type PhysicalMedium int
PhysicalMedium represents a physical medium.
const ( PhysicalMedium_None PhysicalMedium = iota PhysicalMedium_COMPort PhysicalMedium_Modem PhysicalMedium_EthernetEncap )
List of available physical mediums.
type ProtocolMode ¶
type ProtocolMode int
ProtocolMode represents a protocol mode.
const ( Symbolic ProtocolMode = iota LogicalNonBlocking LogicalBlocking )
List of available protocol modes.
type ReadProcessing ¶
type ReadProcessing int
ReadProcessing represents a read processing option.
const ( ReadProcessing_Ignore ReadProcessing = iota ReadProcessing_Fail )
List of available read processing options.
type RequestSize ¶
type RequestSize int
RequestSize represents a request size.
const ( RequestSize_32 RequestSize = 32 RequestSize_64 RequestSize = 64 RequestSize_128 RequestSize = 128 RequestSize_232 RequestSize = 232 )
List of available request sizes.
type ScaledDataType ¶
type ScaledDataType int
ScaledDataType represents a scaled data type.
const ( ScaledDataType_Char ScaledDataType = iota + 2 ScaledDataType_Byte ScaledDataType_Short ScaledDataType_Word ScaledDataType_Long ScaledDataType_DWord ScaledDataType_Float ScaledDataType_Double )
List of available scaled data types.
type ScalingType ¶
type ScalingType int
ScalingType represents a scaling type.
const ( ScalingType_None ScalingType = iota ScalingType_Linear ScalingType_SquareRoot )
List of available scaling types.
type SecurityPolicy ¶
type SecurityPolicy int
SecurityPolicy represents a security policy.
const ( SecurityPolicy_None SecurityPolicy = 0 SecurityPolicy_Basic256SHA256 SecurityPolicy = 3 )
List of available security policies.
type SiemensS5AS511Device ¶
type SiemensS5AS511Device struct { Name string `json:"common.ALLTYPES_NAME"` Description string `json:"common.ALLTYPES_DESCRIPTION"` UniqueID int64 `json:"servermain.DEVICE_UNIQUE_ID"` ProjectID int64 `json:"PROJECT_ID"` ChannelAssignment string `json:"servermain.DEVICE_CHANNEL_ASSIGNMENT"` Driver string `json:"servermain.MULTIPLE_TYPES_DEVICE_DRIVER"` Model SiemensS5AS511Model `json:"servermain.DEVICE_MODEL"` IDFormat IDFormat `json:"servermain.DEVICE_ID_FORMAT"` IDString string `json:"servermain.DEVICE_ID_STRING"` IDHexadecimal int `json:"servermain.DEVICE_ID_HEXADECIMAL"` IDDecimal int `json:"servermain.DEVICE_ID_DECIMAL"` IDOctal int `json:"servermain.DEVICE_ID_OCTAL"` DataCollection bool `json:"servermain.DEVICE_DATA_COLLECTION"` Simulated bool `json:"servermain.DEVICE_SIMULATED"` ScanMode ScanMode `json:"servermain.DEVICE_SCAN_MODE"` ScanRate int `json:"servermain.DEVICE_SCAN_MODE_RATE_MS"` InitialUpdatesFromCache bool `json:"servermain.DEVICE_SCAN_MODE_PROVIDE_INITIAL_UPDATES_FROM_CACHE"` IPAddress string `json:"servermain.DEVICE_ETHERNET_COMMUNICATIONS_IP"` Port int `json:"servermain.DEVICE_ETHERNET_COMMUNICATIONS_PORT"` Protocol Protocol `json:"servermain.DEVICE_ETHERNET_COMMUNICATIONS_PROTOCOL"` ConnectionTimeout int `json:"servermain.DEVICE_CONNECTION_TIMEOUT_SECONDS"` RequestTimeout int `json:"servermain.DEVICE_REQUEST_TIMEOUT_MILLISECONDS"` AttemptsBeforeTimeout int `json:"servermain.DEVICE_RETRY_ATTEMPTS"` DemoteOnFailure bool `json:"servermain.DEVICE_AUTO_DEMOTION_ENABLE_ON_COMMUNICATIONS_FAILURES"` TimeoutToDemote int `json:"servermain.DEVICE_AUTO_DEMOTION_DEMOTE_AFTER_SUCCESSIVE_TIMEOUTS"` DemotionPeriod int `json:"servermain.DEVICE_AUTO_DEMOTION_PERIOD_MS"` DiscardRequestsWhenDemoted bool `json:"servermain.DEVICE_AUTO_DEMOTION_DISCARD_WRITES"` }
SiemensS5AS511Device represents a Siemens S5 (AS511) device.
type SiemensS5AS511DeviceOptions ¶
type SiemensS5AS511DeviceOptions struct { Name string `json:"common.ALLTYPES_NAME,omitempty"` Description string `json:"common.ALLTYPES_DESCRIPTION,omitempty"` UniqueID int64 `json:"servermain.DEVICE_UNIQUE_ID,omitempty"` Driver string `json:"servermain.MULTIPLE_TYPES_DEVICE_DRIVER"` Model SiemensS5AS511Model `json:"servermain.DEVICE_MODEL,omitempty"` IDFormat IDFormat `json:"servermain.DEVICE_ID_FORMAT,omitempty"` IDString string `json:"servermain.DEVICE_ID_STRING,omitempty"` IDHexadecimal int `json:"servermain.DEVICE_ID_HEXADECIMAL,omitempty"` IDDecimal int `json:"servermain.DEVICE_ID_DECIMAL,omitempty"` IDOctal int `json:"servermain.DEVICE_ID_OCTAL,omitempty"` DataCollection *bool `json:"servermain.DEVICE_DATA_COLLECTION,omitempty"` Simulated *bool `json:"servermain.DEVICE_SIMULATED,omitempty"` ScanMode *ScanMode `json:"servermain.DEVICE_SCAN_MODE,omitempty"` ScanRate *int `json:"servermain.DEVICE_SCAN_MODE_RATE_MS,omitempty"` InitialUpdatesFromCache *bool `json:"servermain.DEVICE_SCAN_MODE_PROVIDE_INITIAL_UPDATES_FROM_CACHE,omitempty"` IPAddress *string `json:"servermain.DEVICE_ETHERNET_COMMUNICATIONS_IP,omitempty"` Port *int `json:"servermain.DEVICE_ETHERNET_COMMUNICATIONS_PORT,omitempty"` Protocol *Protocol `json:"servermain.DEVICE_ETHERNET_COMMUNICATIONS_PROTOCOL,omitempty"` ConnectionTimeout *int `json:"servermain.DEVICE_CONNECTION_TIMEOUT_SECONDS,omitempty"` RequestTimeout *int `json:"servermain.DEVICE_REQUEST_TIMEOUT_MILLISECONDS,omitempty"` AttemptsBeforeTimeout *int `json:"servermain.DEVICE_RETRY_ATTEMPTS,omitempty"` DemoteOnFailure *bool `json:"servermain.DEVICE_AUTO_DEMOTION_ENABLE_ON_COMMUNICATIONS_FAILURES,omitempty"` TimeoutToDemote *int `json:"servermain.DEVICE_AUTO_DEMOTION_DEMOTE_AFTER_SUCCESSIVE_TIMEOUTS,omitempty"` DemotionPeriod *int `json:"servermain.DEVICE_AUTO_DEMOTION_PERIOD_MS,omitempty"` DiscardRequestsWhenDemoted *bool `json:"servermain.DEVICE_AUTO_DEMOTION_DISCARD_WRITES,omitempty"` }
SiemensS5AS511DeviceOptions represents all Siemens S5 (AS511) device options.
type SiemensS5AS511Model ¶
type SiemensS5AS511Model int
SiemensS5AS511Model represents a Siemens S5 (AS511) model.
const ( S5_AS511_90U SiemensS5AS511Model = iota S5_AS511_95U S5_AS511_100U100 S5_AS511_100U101 S5_AS511_100U103 S5_AS511_101U S5_AS511_115U941 S5_AS511_115U942 S5_AS511_115U943 S5_AS511_115U944 S5_AS511_115U945 S5_AS511_135U921 S5_AS511_135U922 S5_AS511_135U928 S5_AS511_155U946 S5_AS511_155U947 )
List of available Siemens S5 (AS511) models.
type SiemensTCPIPEthernetDevice ¶
type SiemensTCPIPEthernetDevice struct { Name string `json:"common.ALLTYPES_NAME"` Description string `json:"common.ALLTYPES_DESCRIPTION"` UniqueID int64 `json:"servermain.DEVICE_UNIQUE_ID"` ProjectID int64 `json:"PROJECT_ID"` ChannelAssignment string `json:"servermain.DEVICE_CHANNEL_ASSIGNMENT"` Driver string `json:"servermain.MULTIPLE_TYPES_DEVICE_DRIVER"` Model SiemensTCPIPEthernetModel `json:"servermain.DEVICE_MODEL"` IDFormat IDFormat `json:"servermain.DEVICE_ID_FORMAT"` IDString string `json:"servermain.DEVICE_ID_STRING"` IDHexadecimal int `json:"servermain.DEVICE_ID_HEXADECIMAL"` IDDecimal int `json:"servermain.DEVICE_ID_DECIMAL"` IDOctal int `json:"servermain.DEVICE_ID_OCTAL"` DataCollection bool `json:"servermain.DEVICE_DATA_COLLECTION"` Simulated bool `json:"servermain.DEVICE_SIMULATED"` ScanMode ScanMode `json:"servermain.DEVICE_SCAN_MODE"` ScanRate int `json:"servermain.DEVICE_SCAN_MODE_RATE_MS"` InitialUpdatesFromCache bool `json:"servermain.DEVICE_SCAN_MODE_PROVIDE_INITIAL_UPDATES_FROM_CACHE"` ConnectionTimeout int `json:"servermain.DEVICE_CONNECTION_TIMEOUT_SECONDS"` RequestTimeout int `json:"servermain.DEVICE_REQUEST_TIMEOUT_MILLISECONDS"` AttemptsBeforeTimeout int `json:"servermain.DEVICE_RETRY_ATTEMPTS"` InterRequestDelay int `json:"servermain.DEVICE_INTER_REQUEST_DELAY_MILLISECONDS"` DemoteOnFailure bool `json:"servermain.DEVICE_AUTO_DEMOTION_ENABLE_ON_COMMUNICATIONS_FAILURES"` TimeoutToDemote int `json:"servermain.DEVICE_AUTO_DEMOTION_DEMOTE_AFTER_SUCCESSIVE_TIMEOUTS"` DemotionPeriod int `json:"servermain.DEVICE_AUTO_DEMOTION_PERIOD_MS"` DiscardRequestsWhenDemoted bool `json:"servermain.DEVICE_AUTO_DEMOTION_DISCARD_WRITES"` OnDeviceStartup OnDeviceStartup `json:"servermain.DEVICE_TAG_GENERATION_ON_STARTUP"` OnDuplicateTag OnDuplicateTag `json:"servermain.DEVICE_TAG_GENERATION_DUPLICATE_HANDLING"` ParentGroup string `json:"servermain.DEVICE_TAG_GENERATION_GROUP"` AllowAutomaticallyGeneratedSubgroups bool `json:"servermain.DEVICE_TAG_GENERATION_ALLOW_SUB_GROUPS"` PortNumber int `json:"siemens_tcpip_ethernet.DEVICE_COMMUNICATIONS_PORT_NUMBER"` MPIID int `json:"siemens_tcpip_ethernet.DEVICE_COMMUNICATIONS_MPI_ID"` MaxPDUSize MaxPDUSize `json:"siemens_tcpip_ethernet.DEVICE_S7_COMMUNICATIONS_MAX_PDU"` LocalTSAP int `json:"siemens_tcpip_ethernet.DEVICE_S7_COMMUNICATIONS_200_LOCAL_TSAP"` RemoteTSAP int `json:"siemens_tcpip_ethernet.DEVICE_S7_COMMUNICATIONS_200_REMOTE_TSAP"` LinkType LinkType `json:"siemens_tcpip_ethernet.DEVICE_S7_COMMUNICATIONS_300_400_1200_1500_LINK_TYPE"` CPURack int `json:"siemens_tcpip_ethernet.DEVICE_S7_COMMUNICATIONS_CPU_RACK"` CPUSlot int `json:"siemens_tcpip_ethernet.DEVICE_S7_COMMUNICATIONS_CPU_SLOT"` ByteOrder ByteOrder `json:"siemens_tcpip_ethernet.DEVICE_ADDRESSING_BYTE_ORDER"` TagImportType int `json:"siemens_tcpip_ethernet.DEVICE_TAG_IMPORT_TYPE"` CodePage int64 `json:"siemens_tcpip_ethernet.DEVICE_TAG_IMPORT_CODE_PAGE"` Step7Project string `json:"siemens_tcpip_ethernet.DEVICE_TAG_IMPORT_STEP_7_PROJECT_FILE"` ProgramPath string `json:"siemens_tcpip_ethernet.DEVICE_TAG_IMPORT_PROGRAM_PATH"` TIAPortalExporterFile string `json:"siemens_tcpip_ethernet.DEVICE_TAG_IMPORT_TIA_EXPORT_FILE"` }
SiemensTCPIPEthernetDevice represents a Siemens TCP/IP Ethernet device.
type SiemensTCPIPEthernetDeviceOptions ¶
type SiemensTCPIPEthernetDeviceOptions struct { Name string `json:"common.ALLTYPES_NAME,omitempty"` Description string `json:"common.ALLTYPES_DESCRIPTION,omitempty"` UniqueID int64 `json:"servermain.DEVICE_UNIQUE_ID,omitempty"` Driver string `json:"servermain.MULTIPLE_TYPES_DEVICE_DRIVER"` Model SiemensTCPIPEthernetModel `json:"servermain.DEVICE_MODEL,omitempty"` IDFormat IDFormat `json:"servermain.DEVICE_ID_FORMAT,omitempty"` IDString string `json:"servermain.DEVICE_ID_STRING,omitempty"` IDHexadecimal int `json:"servermain.DEVICE_ID_HEXADECIMAL,omitempty"` IDDecimal int `json:"servermain.DEVICE_ID_DECIMAL,omitempty"` IDOctal int `json:"servermain.DEVICE_ID_OCTAL,omitempty"` DataCollection *bool `json:"servermain.DEVICE_DATA_COLLECTION,omitempty"` Simulated *bool `json:"servermain.DEVICE_SIMULATED,omitempty"` ScanMode *ScanMode `json:"servermain.DEVICE_SCAN_MODE,omitempty"` ScanRate *int `json:"servermain.DEVICE_SCAN_MODE_RATE_MS,omitempty"` InitialUpdatesFromCache *bool `json:"servermain.DEVICE_SCAN_MODE_PROVIDE_INITIAL_UPDATES_FROM_CACHE,omitempty"` ConnectionTimeout *int `json:"servermain.DEVICE_CONNECTION_TIMEOUT_SECONDS,omitempty"` RequestTimeout *int `json:"servermain.DEVICE_REQUEST_TIMEOUT_MILLISECONDS,omitempty"` AttemptsBeforeTimeout *int `json:"servermain.DEVICE_RETRY_ATTEMPTS,omitempty"` InterRequestDelay *int `json:"servermain.DEVICE_INTER_REQUEST_DELAY_MILLISECONDS,omitempty"` DemoteOnFailure *bool `json:"servermain.DEVICE_AUTO_DEMOTION_ENABLE_ON_COMMUNICATIONS_FAILURES,omitempty"` TimeoutToDemote *int `json:"servermain.DEVICE_AUTO_DEMOTION_DEMOTE_AFTER_SUCCESSIVE_TIMEOUTS,omitempty"` DemotionPeriod *int `json:"servermain.DEVICE_AUTO_DEMOTION_PERIOD_MS,omitempty"` DiscardRequestsWhenDemoted *bool `json:"servermain.DEVICE_AUTO_DEMOTION_DISCARD_WRITES,omitempty"` OnDeviceStartup *OnDeviceStartup `json:"servermain.DEVICE_TAG_GENERATION_ON_STARTUP,omitempty"` OnDuplicateTag *OnDuplicateTag `json:"servermain.DEVICE_TAG_GENERATION_DUPLICATE_HANDLING,omitempty"` ParentGroup *string `json:"servermain.DEVICE_TAG_GENERATION_GROUP,omitempty"` AllowAutomaticallyGeneratedSubgroups *bool `json:"servermain.DEVICE_TAG_GENERATION_ALLOW_SUB_GROUPS,omitempty"` PortNumber *int `json:"siemens_tcpip_ethernet.DEVICE_COMMUNICATIONS_PORT_NUMBER,omitempty"` MPIID *int `json:"siemens_tcpip_ethernet.DEVICE_COMMUNICATIONS_MPI_ID,omitempty"` MaxPDUSize *MaxPDUSize `json:"siemens_tcpip_ethernet.DEVICE_S7_COMMUNICATIONS_MAX_PDU,omitempty"` LocalTSAP *int `json:"siemens_tcpip_ethernet.DEVICE_S7_COMMUNICATIONS_200_LOCAL_TSAP,omitempty"` RemoteTSAP *int `json:"siemens_tcpip_ethernet.DEVICE_S7_COMMUNICATIONS_200_REMOTE_TSAP,omitempty"` LinkType *LinkType `json:"siemens_tcpip_ethernet.DEVICE_S7_COMMUNICATIONS_300_400_1200_1500_LINK_TYPE,omitempty"` CPURack *int `json:"siemens_tcpip_ethernet.DEVICE_S7_COMMUNICATIONS_CPU_RACK,omitempty"` CPUSlot *int `json:"siemens_tcpip_ethernet.DEVICE_S7_COMMUNICATIONS_CPU_SLOT,omitempty"` ByteOrder *ByteOrder `json:"siemens_tcpip_ethernet.DEVICE_ADDRESSING_BYTE_ORDER,omitempty"` TagImportType *int `json:"siemens_tcpip_ethernet.DEVICE_TAG_IMPORT_TYPE,omitempty"` CodePage *int64 `json:"siemens_tcpip_ethernet.DEVICE_TAG_IMPORT_CODE_PAGE,omitempty"` Step7Project *string `json:"siemens_tcpip_ethernet.DEVICE_TAG_IMPORT_STEP_7_PROJECT_FILE,omitempty"` ProgramPath *string `json:"siemens_tcpip_ethernet.DEVICE_TAG_IMPORT_PROGRAM_PATH,omitempty"` TIAPortalExporterFile *string `json:"siemens_tcpip_ethernet.DEVICE_TAG_IMPORT_TIA_EXPORT_FILE,omitempty"` }
SiemensTCPIPEthernetDeviceOptions represents all Siemens TCP/IP Ethernet device options.
type SiemensTCPIPEthernetModel ¶
type SiemensTCPIPEthernetModel int
SiemensTCPIPEthernetModel represents a Siemens TCP/IP Ethernet model.
const ( S7_200 SiemensTCPIPEthernetModel = iota S7_300 S7_400 S7_1200 S7_1500 Netlink_S7_300 Netlink_S7_400 )
List of available Siemens TCP/IP Ethernet models.
type Tag ¶
type Tag struct { Name string `json:"common.ALLTYPES_NAME"` Description string `json:"common.ALLTYPES_DESCRIPTION"` ProjectID int64 `json:"PROJECT_ID"` Address string `json:"servermain.TAG_ADDRESS"` DataType DataType `json:"servermain.TAG_DATA_TYPE"` ClientAccess ClientAccess `json:"servermain.TAG_READ_WRITE_ACCESS"` ScanRate int `json:"servermain.TAG_SCAN_RATE_MILLISECONDS"` Autogenerated bool `json:"servermain.TAG_AUTOGENERATED"` ScalingType ScalingType `json:"servermain.TAG_SCALING_TYPE"` RawLow int `json:"servermain.TAG_SCALING_RAW_LOW"` RawHigh int `json:"servermain.TAG_SCALING_RAW_HIGH"` ScaledDataType ScaledDataType `json:"servermain.TAG_SCALING_SCALED_DATA_TYPE"` ScaledLow int `json:"servermain.TAG_SCALING_SCALED_LOW"` ScaledHigh int `json:"servermain.TAG_SCALING_SCALED_HIGH"` ClampLow bool `json:"servermain.TAG_SCALING_CLAMP_LOW"` ClampHigh bool `json:"servermain.TAG_SCALING_CLAMP_HIGH"` NegateValue bool `json:"servermain.TAG_SCALING_NEGATE_VALUE"` Units string `json:"servermain.TAG_SCALING_UNITS"` }
Tag represents a tag.
type TagGroup ¶
type TagGroup struct { Name string `json:"common.ALLTYPES_NAME"` Description string `json:"common.ALLTYPES_DESCRIPTION"` LocalTagCount int `json:"servermain.TAGGROUP_LOCAL_TAG_COUNT"` TotalTagCount int `json:"servermain.TAGGROUP_TOTAL_TAG_COUNT"` AutoGenerated bool `json:"servermain.TAGGROUP_AUTOGENERATED"` }
TagGroup represents a tag group.
type TagGroupOptions ¶
type TagGroupOptions struct { Name string `json:"common.ALLTYPES_NAME"` Description string `json:"common.ALLTYPES_DESCRIPTION"` AutoGenerated bool `json:"servermain.TAGGROUP_AUTOGENERATED"` }
TagGroupOptions represents all tag group options.
type TagGroupService ¶
type TagGroupService struct {
// contains filtered or unexported fields
}
TagGroupService handles communication with the tag group related methods of the KEPServerEX API.
func (*TagGroupService) CreatetagGroup ¶
func (s *TagGroupService) CreatetagGroup(channel, device string, options *TagGroupOptions) error
CreateTagGroup creates a new tag group.
func (*TagGroupService) DeleteTagGroup ¶
func (s *TagGroupService) DeleteTagGroup(channel, device, name string) error
DeleteTagGroup deletes a tag group.
func (*TagGroupService) GetTagGroup ¶
func (s *TagGroupService) GetTagGroup(channel, device, name string) (*TagGroup, error)
GetTagGroup gets a specific tag group.
func (*TagGroupService) ListTagGroups ¶
func (s *TagGroupService) ListTagGroups(channel, device string) ([]*TagGroup, error)
ListTagGroups gets a list of tag groups.
func (*TagGroupService) UpdateTagGroup ¶
func (s *TagGroupService) UpdateTagGroup(channel, device, name string, options *TagGroupOptions) error
UpdateTagGroup updates an existing tag group.
type TagHierarchy ¶
type TagHierarchy int
TagHierarchy represents a tag hierarchy.
const ( Condensed TagHierarchy = iota Expanded )
List of available tag hierarchies.
type TagOptions ¶
type TagOptions struct { Name *string `json:"common.ALLTYPES_NAME,omitempty"` Description *string `json:"common.ALLTYPES_DESCRIPTION,omitempty"` Address *string `json:"servermain.TAG_ADDRESS,omitempty"` DataType *DataType `json:"servermain.TAG_DATA_TYPE,omitempty"` ClientAccess *ClientAccess `json:"servermain.TAG_READ_WRITE_ACCESS,omitempty"` ScanRate *int `json:"servermain.TAG_SCAN_RATE_MILLISECONDS,omitempty"` Autogenerated *bool `json:"servermain.TAG_AUTOGENERATED,omitempty"` ScalingType *ScalingType `json:"servermain.TAG_SCALING_TYPE,omitempty"` RawLow *int `json:"servermain.TAG_SCALING_RAW_LOW,omitempty"` RawHigh *int `json:"servermain.TAG_SCALING_RAW_HIGH,omitempty"` ScaledDataType *ScaledDataType `json:"servermain.TAG_SCALING_SCALED_DATA_TYPE,omitempty"` ScaledLow *int `json:"servermain.TAG_SCALING_SCALED_LOW,omitempty"` ScaledHigh *int `json:"servermain.TAG_SCALING_SCALED_HIGH,omitempty"` ClampLow *bool `json:"servermain.TAG_SCALING_CLAMP_LOW,omitempty"` ClampHigh *bool `json:"servermain.TAG_SCALING_CLAMP_HIGH,omitempty"` NegateValue *bool `json:"servermain.TAG_SCALING_NEGATE_VALUE,omitempty"` Units *string `json:"servermain.TAG_SCALING_UNITS,omitempty"` }
TagOptions represents all tag options.
type TagService ¶
type TagService struct {
// contains filtered or unexported fields
}
TagService handles communication with the tag related methods of the KEPServerEX API.
func (*TagService) CreateTag ¶
func (s *TagService) CreateTag(channel, device, group string, options *TagOptions) error
CreateTag creates a new tag.
func (*TagService) DeleteTag ¶
func (s *TagService) DeleteTag(channel, device, group, name string) error
DeleteTag deletes a tag.
func (*TagService) GetTag ¶
func (s *TagService) GetTag(channel, device, group, name string) (*Tag, error)
GetTag gets a specific tag.
func (*TagService) ListTags ¶
func (s *TagService) ListTags(channel, device, group string) ([]*Tag, error)
ListTags gets a list of tags.
func (*TagService) UpdateTag ¶
func (s *TagService) UpdateTag(channel, device, group, name string, options *TagOptions) error
UpdateTag updates an existing tag.
type UpdateMode ¶
type UpdateMode int
UpdateMode represents an update mode.
const ( UpdateMode_Exception UpdateMode = iota UpdateMode_Poll )
List of available update modes.
type VirtualNetwork ¶
type VirtualNetwork int
VirtualNetwork represents a virtual network.
const ( VirtualNetwork_None VirtualNetwork = iota VirtualNetwork_1 VirtualNetwork_2 VirtualNetwork_3 VirtualNetwork_4 VirtualNetwork_5 VirtualNetwork_6 VirtualNetwork_7 VirtualNetwork_8 VirtualNetwork_9 VirtualNetwork_10 VirtualNetwork_11 VirtualNetwork_12 VirtualNetwork_13 VirtualNetwork_14 VirtualNetwork_15 VirtualNetwork_16 VirtualNetwork_17 VirtualNetwork_18 VirtualNetwork_19 VirtualNetwork_20 VirtualNetwork_21 VirtualNetwork_22 VirtualNetwork_23 VirtualNetwork_24 VirtualNetwork_25 VirtualNetwork_26 VirtualNetwork_27 VirtualNetwork_28 VirtualNetwork_29 VirtualNetwork_30 VirtualNetwork_31 VirtualNetwork_32 VirtualNetwork_33 VirtualNetwork_34 VirtualNetwork_35 VirtualNetwork_36 VirtualNetwork_37 VirtualNetwork_38 VirtualNetwork_39 VirtualNetwork_40 VirtualNetwork_41 VirtualNetwork_42 VirtualNetwork_43 VirtualNetwork_44 VirtualNetwork_45 VirtualNetwork_46 VirtualNetwork_47 VirtualNetwork_48 VirtualNetwork_49 VirtualNetwork_50 VirtualNetwork_51 VirtualNetwork_52 VirtualNetwork_53 VirtualNetwork_54 VirtualNetwork_55 VirtualNetwork_56 VirtualNetwork_57 VirtualNetwork_58 VirtualNetwork_59 VirtualNetwork_60 VirtualNetwork_61 VirtualNetwork_62 VirtualNetwork_63 VirtualNetwork_64 VirtualNetwork_65 VirtualNetwork_66 VirtualNetwork_67 VirtualNetwork_68 VirtualNetwork_69 VirtualNetwork_70 VirtualNetwork_71 VirtualNetwork_72 VirtualNetwork_73 VirtualNetwork_74 VirtualNetwork_75 VirtualNetwork_76 VirtualNetwork_77 VirtualNetwork_78 VirtualNetwork_79 VirtualNetwork_80 VirtualNetwork_81 VirtualNetwork_82 VirtualNetwork_83 VirtualNetwork_84 VirtualNetwork_85 VirtualNetwork_86 VirtualNetwork_87 VirtualNetwork_88 VirtualNetwork_89 VirtualNetwork_90 VirtualNetwork_91 VirtualNetwork_92 VirtualNetwork_93 VirtualNetwork_94 VirtualNetwork_95 VirtualNetwork_96 VirtualNetwork_97 VirtualNetwork_98 VirtualNetwork_99 VirtualNetwork_100 VirtualNetwork_101 VirtualNetwork_102 VirtualNetwork_103 VirtualNetwork_104 VirtualNetwork_105 VirtualNetwork_106 VirtualNetwork_107 VirtualNetwork_108 VirtualNetwork_109 VirtualNetwork_110 VirtualNetwork_111 VirtualNetwork_112 VirtualNetwork_113 VirtualNetwork_114 VirtualNetwork_115 VirtualNetwork_116 VirtualNetwork_117 VirtualNetwork_118 VirtualNetwork_119 VirtualNetwork_120 VirtualNetwork_121 VirtualNetwork_122 VirtualNetwork_123 VirtualNetwork_124 VirtualNetwork_125 VirtualNetwork_126 VirtualNetwork_127 VirtualNetwork_128 VirtualNetwork_129 VirtualNetwork_130 VirtualNetwork_131 VirtualNetwork_132 VirtualNetwork_133 VirtualNetwork_134 VirtualNetwork_135 VirtualNetwork_136 VirtualNetwork_137 VirtualNetwork_138 VirtualNetwork_139 VirtualNetwork_140 VirtualNetwork_141 VirtualNetwork_142 VirtualNetwork_143 VirtualNetwork_144 VirtualNetwork_145 VirtualNetwork_146 VirtualNetwork_147 VirtualNetwork_148 VirtualNetwork_149 VirtualNetwork_150 VirtualNetwork_151 VirtualNetwork_152 VirtualNetwork_153 VirtualNetwork_154 VirtualNetwork_155 VirtualNetwork_156 VirtualNetwork_157 VirtualNetwork_158 VirtualNetwork_159 VirtualNetwork_160 VirtualNetwork_161 VirtualNetwork_162 VirtualNetwork_163 VirtualNetwork_164 VirtualNetwork_165 VirtualNetwork_166 VirtualNetwork_167 VirtualNetwork_168 VirtualNetwork_169 VirtualNetwork_170 VirtualNetwork_171 VirtualNetwork_172 VirtualNetwork_173 VirtualNetwork_174 VirtualNetwork_175 VirtualNetwork_176 VirtualNetwork_177 VirtualNetwork_178 VirtualNetwork_179 VirtualNetwork_180 VirtualNetwork_181 VirtualNetwork_182 VirtualNetwork_183 VirtualNetwork_184 VirtualNetwork_185 VirtualNetwork_186 VirtualNetwork_187 VirtualNetwork_188 VirtualNetwork_189 VirtualNetwork_190 VirtualNetwork_191 VirtualNetwork_192 VirtualNetwork_193 VirtualNetwork_194 VirtualNetwork_195 VirtualNetwork_196 VirtualNetwork_197 VirtualNetwork_198 VirtualNetwork_199 VirtualNetwork_200 VirtualNetwork_201 VirtualNetwork_202 VirtualNetwork_203 VirtualNetwork_204 VirtualNetwork_205 VirtualNetwork_206 VirtualNetwork_207 VirtualNetwork_208 VirtualNetwork_209 VirtualNetwork_210 VirtualNetwork_211 VirtualNetwork_212 VirtualNetwork_213 VirtualNetwork_214 VirtualNetwork_215 VirtualNetwork_216 VirtualNetwork_217 VirtualNetwork_218 VirtualNetwork_219 VirtualNetwork_220 VirtualNetwork_221 VirtualNetwork_222 VirtualNetwork_223 VirtualNetwork_224 VirtualNetwork_225 VirtualNetwork_226 VirtualNetwork_227 VirtualNetwork_228 VirtualNetwork_229 VirtualNetwork_230 VirtualNetwork_231 VirtualNetwork_232 VirtualNetwork_233 VirtualNetwork_234 VirtualNetwork_235 VirtualNetwork_236 VirtualNetwork_237 VirtualNetwork_238 VirtualNetwork_239 VirtualNetwork_240 VirtualNetwork_241 VirtualNetwork_242 VirtualNetwork_243 VirtualNetwork_244 VirtualNetwork_245 VirtualNetwork_246 VirtualNetwork_247 VirtualNetwork_248 VirtualNetwork_249 VirtualNetwork_250 VirtualNetwork_251 VirtualNetwork_252 VirtualNetwork_253 VirtualNetwork_254 VirtualNetwork_255 VirtualNetwork_256 VirtualNetwork_257 VirtualNetwork_258 VirtualNetwork_259 VirtualNetwork_260 VirtualNetwork_261 VirtualNetwork_262 VirtualNetwork_263 VirtualNetwork_264 VirtualNetwork_265 VirtualNetwork_266 VirtualNetwork_267 VirtualNetwork_268 VirtualNetwork_269 VirtualNetwork_270 VirtualNetwork_271 VirtualNetwork_272 VirtualNetwork_273 VirtualNetwork_274 VirtualNetwork_275 VirtualNetwork_276 VirtualNetwork_277 VirtualNetwork_278 VirtualNetwork_279 VirtualNetwork_280 VirtualNetwork_281 VirtualNetwork_282 VirtualNetwork_283 VirtualNetwork_284 VirtualNetwork_285 VirtualNetwork_286 VirtualNetwork_287 VirtualNetwork_288 VirtualNetwork_289 VirtualNetwork_290 VirtualNetwork_291 VirtualNetwork_292 VirtualNetwork_293 VirtualNetwork_294 VirtualNetwork_295 VirtualNetwork_296 VirtualNetwork_297 VirtualNetwork_298 VirtualNetwork_299 VirtualNetwork_300 VirtualNetwork_301 VirtualNetwork_302 VirtualNetwork_303 VirtualNetwork_304 VirtualNetwork_305 VirtualNetwork_306 VirtualNetwork_307 VirtualNetwork_308 VirtualNetwork_309 VirtualNetwork_310 VirtualNetwork_311 VirtualNetwork_312 VirtualNetwork_313 VirtualNetwork_314 VirtualNetwork_315 VirtualNetwork_316 VirtualNetwork_317 VirtualNetwork_318 VirtualNetwork_319 VirtualNetwork_320 VirtualNetwork_321 VirtualNetwork_322 VirtualNetwork_323 VirtualNetwork_324 VirtualNetwork_325 VirtualNetwork_326 VirtualNetwork_327 VirtualNetwork_328 VirtualNetwork_329 VirtualNetwork_330 VirtualNetwork_331 VirtualNetwork_332 VirtualNetwork_333 VirtualNetwork_334 VirtualNetwork_335 VirtualNetwork_336 VirtualNetwork_337 VirtualNetwork_338 VirtualNetwork_339 VirtualNetwork_340 VirtualNetwork_341 VirtualNetwork_342 VirtualNetwork_343 VirtualNetwork_344 VirtualNetwork_345 VirtualNetwork_346 VirtualNetwork_347 VirtualNetwork_348 VirtualNetwork_349 VirtualNetwork_350 VirtualNetwork_351 VirtualNetwork_352 VirtualNetwork_353 VirtualNetwork_354 VirtualNetwork_355 VirtualNetwork_356 VirtualNetwork_357 VirtualNetwork_358 VirtualNetwork_359 VirtualNetwork_360 VirtualNetwork_361 VirtualNetwork_362 VirtualNetwork_363 VirtualNetwork_364 VirtualNetwork_365 VirtualNetwork_366 VirtualNetwork_367 VirtualNetwork_368 VirtualNetwork_369 VirtualNetwork_370 VirtualNetwork_371 VirtualNetwork_372 VirtualNetwork_373 VirtualNetwork_374 VirtualNetwork_375 VirtualNetwork_376 VirtualNetwork_377 VirtualNetwork_378 VirtualNetwork_379 VirtualNetwork_380 VirtualNetwork_381 VirtualNetwork_382 VirtualNetwork_383 VirtualNetwork_384 VirtualNetwork_385 VirtualNetwork_386 VirtualNetwork_387 VirtualNetwork_388 VirtualNetwork_389 VirtualNetwork_390 VirtualNetwork_391 VirtualNetwork_392 VirtualNetwork_393 VirtualNetwork_394 VirtualNetwork_395 VirtualNetwork_396 VirtualNetwork_397 VirtualNetwork_398 VirtualNetwork_399 VirtualNetwork_400 VirtualNetwork_401 VirtualNetwork_402 VirtualNetwork_403 VirtualNetwork_404 VirtualNetwork_405 VirtualNetwork_406 VirtualNetwork_407 VirtualNetwork_408 VirtualNetwork_409 VirtualNetwork_410 VirtualNetwork_411 VirtualNetwork_412 VirtualNetwork_413 VirtualNetwork_414 VirtualNetwork_415 VirtualNetwork_416 VirtualNetwork_417 VirtualNetwork_418 VirtualNetwork_419 VirtualNetwork_420 VirtualNetwork_421 VirtualNetwork_422 VirtualNetwork_423 VirtualNetwork_424 VirtualNetwork_425 VirtualNetwork_426 VirtualNetwork_427 VirtualNetwork_428 VirtualNetwork_429 VirtualNetwork_430 VirtualNetwork_431 VirtualNetwork_432 VirtualNetwork_433 VirtualNetwork_434 VirtualNetwork_435 VirtualNetwork_436 VirtualNetwork_437 VirtualNetwork_438 VirtualNetwork_439 VirtualNetwork_440 VirtualNetwork_441 VirtualNetwork_442 VirtualNetwork_443 VirtualNetwork_444 VirtualNetwork_445 VirtualNetwork_446 VirtualNetwork_447 VirtualNetwork_448 VirtualNetwork_449 VirtualNetwork_450 VirtualNetwork_451 VirtualNetwork_452 VirtualNetwork_453 VirtualNetwork_454 VirtualNetwork_455 VirtualNetwork_456 VirtualNetwork_457 VirtualNetwork_458 VirtualNetwork_459 VirtualNetwork_460 VirtualNetwork_461 VirtualNetwork_462 VirtualNetwork_463 VirtualNetwork_464 VirtualNetwork_465 VirtualNetwork_466 VirtualNetwork_467 VirtualNetwork_468 VirtualNetwork_469 VirtualNetwork_470 VirtualNetwork_471 VirtualNetwork_472 VirtualNetwork_473 VirtualNetwork_474 VirtualNetwork_475 VirtualNetwork_476 VirtualNetwork_477 VirtualNetwork_478 VirtualNetwork_479 VirtualNetwork_480 VirtualNetwork_481 VirtualNetwork_482 VirtualNetwork_483 VirtualNetwork_484 VirtualNetwork_485 VirtualNetwork_486 VirtualNetwork_487 VirtualNetwork_488 VirtualNetwork_489 VirtualNetwork_490 VirtualNetwork_491 VirtualNetwork_492 VirtualNetwork_493 VirtualNetwork_494 VirtualNetwork_495 VirtualNetwork_496 VirtualNetwork_497 VirtualNetwork_498 VirtualNetwork_499 VirtualNetwork_500 )
List of available virtual networks.