Documentation
¶
Index ¶
- type ArrayInfo
- type PlcBrowseItem
- type PlcBrowseRequest
- type PlcBrowseRequestBuilder
- type PlcBrowseRequestResult
- type PlcBrowseResponse
- type PlcConnectionMetadata
- type PlcConsumerRegistration
- type PlcDiscoveryItem
- type PlcMessage
- type PlcQuery
- type PlcReadRequest
- type PlcReadRequestBuilder
- type PlcReadRequestResult
- type PlcReadResponse
- type PlcRequest
- type PlcResponse
- type PlcResponseCode
- type PlcSubscriptionEvent
- type PlcSubscriptionEventConsumer
- type PlcSubscriptionHandle
- type PlcSubscriptionRequest
- type PlcSubscriptionRequestBuilder
- type PlcSubscriptionRequestResult
- type PlcSubscriptionResponse
- type PlcSubscriptionTag
- type PlcSubscriptionType
- type PlcTag
- type PlcUnsubscriptionRequest
- type PlcUnsubscriptionRequestBuilder
- type PlcUnsubscriptionRequestResult
- type PlcUnsubscriptionResponse
- type PlcWriteRequest
- type PlcWriteRequestBuilder
- type PlcWriteRequestResult
- type PlcWriteResponse
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type PlcBrowseItem ¶
type PlcBrowseRequest ¶
type PlcBrowseRequest interface {
PlcRequest
// Execute Will not return until a potential scan is finished and will return all results in one block
Execute(ctx context.Context) <-chan PlcBrowseRequestResult
// ExecuteWithInterceptor Will call the given callback for every found resource
ExecuteWithInterceptor(ctx context.Context, interceptor func(result PlcBrowseItem) bool) <-chan PlcBrowseRequestResult
GetQueryNames() []string
GetQuery(queryName string) PlcQuery
}
type PlcBrowseRequestBuilder ¶
type PlcBrowseRequestBuilder interface {
fmt.Stringer
AddQuery(name string, query string) PlcBrowseRequestBuilder
Build() (PlcBrowseRequest, error)
}
type PlcBrowseRequestResult ¶
type PlcBrowseRequestResult interface {
fmt.Stringer
GetRequest() PlcBrowseRequest
GetResponse() PlcBrowseResponse
GetErr() error
}
type PlcBrowseResponse ¶
type PlcBrowseResponse interface {
PlcResponse
GetRequest() PlcBrowseRequest
GetQueryNames() []string
GetResponseCode(name string) PlcResponseCode
GetQueryResults(name string) []PlcBrowseItem
}
type PlcConnectionMetadata ¶
type PlcConnectionMetadata interface {
fmt.Stringer
// GetConnectionAttributes Gives access to a map of additional information the driver might be able to provide.
GetConnectionAttributes() map[string]string
// CanRead Indicates that the connection supports reading.
CanRead() bool
// CanWrite Indicates that the connection supports writing.
CanWrite() bool
// CanSubscribe Indicates that the connection supports subscription.
CanSubscribe() bool
// CanBrowse Indicates that the connection supports browsing.
CanBrowse() bool
}
PlcConnectionMetadata Information about connection capabilities. This includes connection and driver specific metadata.
type PlcConsumerRegistration ¶
type PlcConsumerRegistration interface {
GetConsumerId() int
GetSubscriptionHandles() []PlcSubscriptionHandle
Unregister()
}
type PlcDiscoveryItem ¶
type PlcMessage ¶
type PlcReadRequest ¶
type PlcReadRequest interface {
PlcRequest
Execute(ctx context.Context) <-chan PlcReadRequestResult
GetTagNames() []string
GetTag(tagName string) PlcTag
}
type PlcReadRequestBuilder ¶
type PlcReadRequestBuilder interface {
fmt.Stringer
AddTagAddress(tagName string, tagAddress string) PlcReadRequestBuilder
AddTag(tagName string, tag PlcTag) PlcReadRequestBuilder
Build() (PlcReadRequest, error)
}
type PlcReadRequestResult ¶
type PlcReadRequestResult interface {
fmt.Stringer
GetRequest() PlcReadRequest
GetResponse() PlcReadResponse
GetErr() error
}
type PlcReadResponse ¶
type PlcReadResponse interface {
PlcResponse
GetRequest() PlcReadRequest
GetTagNames() []string
GetResponseCode(tagName string) PlcResponseCode
GetValue(tagName string) values.PlcValue
}
type PlcRequest ¶
type PlcRequest interface {
PlcMessage
}
type PlcResponse ¶
type PlcResponse interface {
PlcMessage
}
type PlcResponseCode ¶
type PlcResponseCode uint8
const ( PlcResponseCode_OK PlcResponseCode = 0x01 PlcResponseCode_NOT_FOUND PlcResponseCode = 0x02 PlcResponseCode_ACCESS_DENIED PlcResponseCode = 0x03 PlcResponseCode_INVALID_ADDRESS PlcResponseCode = 0x04 PlcResponseCode_INVALID_DATATYPE PlcResponseCode = 0x05 PlcResponseCode_INVALID_DATA PlcResponseCode = 0x06 PlcResponseCode_INTERNAL_ERROR PlcResponseCode = 0x07 PlcResponseCode_REMOTE_BUSY PlcResponseCode = 0x08 PlcResponseCode_REMOTE_ERROR PlcResponseCode = 0x09 PlcResponseCode_UNSUPPORTED PlcResponseCode = 0x10 PlcResponseCode_RESPONSE_PENDING PlcResponseCode = 0x11 PlcResponseCode_REQUEST_TIMEOUT PlcResponseCode = 0x12 )
func (PlcResponseCode) GetName ¶
func (m PlcResponseCode) GetName() string
func (PlcResponseCode) Serialize ¶
func (m PlcResponseCode) Serialize() ([]byte, error)
func (PlcResponseCode) SerializeWithWriteBuffer ¶
func (m PlcResponseCode) SerializeWithWriteBuffer(_ context.Context, writeBuffer utils.WriteBuffer) error
func (PlcResponseCode) String ¶
func (m PlcResponseCode) String() string
type PlcSubscriptionEvent ¶
type PlcSubscriptionEvent interface {
PlcResponse
// GetTagNames returns all tag names which can be found in this event
GetTagNames() []string
// GetResponseCode returns the PlcResponseCode for a tag
GetResponseCode(tagName string) PlcResponseCode
// GetAddress returns the address for an event. This is meant to for reading or writing one item.
// Sometimes there are tags which can't be directly addressed (e.g. only through a broadcast).
// In that case (if applicable) the GetSource contains the source information about the sending device.
GetAddress(tagName string) string
// GetSource returns usually the same as GetAddress in case when the address contains information about the source.
// If we have a tag which is not directly addressable (see doc for GetAddress) the source is useful to identify the device.
GetSource(tagName string) string
// GetValue returns the tag value for a named tag.
GetValue(tagName string) values.PlcValue
}
type PlcSubscriptionEventConsumer ¶
type PlcSubscriptionEventConsumer func(event PlcSubscriptionEvent)
type PlcSubscriptionHandle ¶
type PlcSubscriptionHandle interface {
fmt.Stringer
Register(consumer PlcSubscriptionEventConsumer) PlcConsumerRegistration
}
type PlcSubscriptionRequest ¶
type PlcSubscriptionRequest interface {
PlcRequest
Execute(ctx context.Context) <-chan PlcSubscriptionRequestResult
GetTagNames() []string
GetTag(tagName string) PlcSubscriptionTag
}
type PlcSubscriptionRequestBuilder ¶
type PlcSubscriptionRequestBuilder interface {
AddCyclicTagAddress(tagName string, tagAddress string, interval time.Duration) PlcSubscriptionRequestBuilder
AddCyclicTag(tagName string, tag PlcSubscriptionTag, interval time.Duration) PlcSubscriptionRequestBuilder
AddChangeOfStateTagAddress(tagName string, tagAddress string) PlcSubscriptionRequestBuilder
AddChangeOfStateTag(tagName string, tag PlcSubscriptionTag) PlcSubscriptionRequestBuilder
AddEventTagAddress(tagName string, tagAddress string) PlcSubscriptionRequestBuilder
AddEventTag(tagName string, tag PlcSubscriptionTag) PlcSubscriptionRequestBuilder
AddPreRegisteredConsumer(tagName string, consumer PlcSubscriptionEventConsumer) PlcSubscriptionRequestBuilder
Build() (PlcSubscriptionRequest, error)
}
type PlcSubscriptionRequestResult ¶
type PlcSubscriptionRequestResult interface {
GetRequest() PlcSubscriptionRequest
GetResponse() PlcSubscriptionResponse
GetErr() error
}
type PlcSubscriptionResponse ¶
type PlcSubscriptionResponse interface {
fmt.Stringer
GetRequest() PlcSubscriptionRequest
GetTagNames() []string
GetResponseCode(name string) PlcResponseCode
GetSubscriptionHandle(name string) (PlcSubscriptionHandle, error)
GetSubscriptionHandles() []PlcSubscriptionHandle
}
type PlcSubscriptionTag ¶
type PlcSubscriptionTag interface {
PlcTag
GetPlcSubscriptionType() PlcSubscriptionType
GetDuration() time.Duration
}
type PlcSubscriptionType ¶
type PlcSubscriptionType uint8
const ( SubscriptionCyclic PlcSubscriptionType = 0x01 SubscriptionChangeOfState PlcSubscriptionType = 0x02 SubscriptionEvent PlcSubscriptionType = 0x03 )
func (PlcSubscriptionType) String ¶
func (i PlcSubscriptionType) String() string
type PlcUnsubscriptionRequest ¶
type PlcUnsubscriptionRequest interface {
PlcRequest
Execute(ctx context.Context) <-chan PlcUnsubscriptionRequestResult
}
type PlcUnsubscriptionRequestBuilder ¶
type PlcUnsubscriptionRequestBuilder interface {
fmt.Stringer
AddHandles(handles ...PlcSubscriptionHandle) PlcUnsubscriptionRequestBuilder
Build() (PlcUnsubscriptionRequest, error)
}
type PlcUnsubscriptionRequestResult ¶
type PlcUnsubscriptionRequestResult interface {
fmt.Stringer
GetRequest() PlcUnsubscriptionRequest
GetResponse() PlcUnsubscriptionResponse
GetErr() error
}
type PlcUnsubscriptionResponse ¶
type PlcUnsubscriptionResponse interface {
fmt.Stringer
GetRequest() PlcUnsubscriptionRequest
}
type PlcWriteRequest ¶
type PlcWriteRequest interface {
PlcRequest
Execute(ctx context.Context) <-chan PlcWriteRequestResult
GetTagNames() []string
GetTag(tagName string) PlcTag
GetValue(tagName string) values.PlcValue
}
type PlcWriteRequestBuilder ¶
type PlcWriteRequestBuilder interface {
fmt.Stringer
AddTagAddress(tagName string, tagAddress string, value any) PlcWriteRequestBuilder
AddTag(tagName string, tag PlcTag, value any) PlcWriteRequestBuilder
Build() (PlcWriteRequest, error)
}
type PlcWriteRequestResult ¶
type PlcWriteRequestResult interface {
fmt.Stringer
GetRequest() PlcWriteRequest
GetResponse() PlcWriteResponse
GetErr() error
}
type PlcWriteResponse ¶
type PlcWriteResponse interface {
PlcResponse
GetRequest() PlcWriteRequest
GetTagNames() []string
GetResponseCode(tagName string) PlcResponseCode
}
Source Files
¶
Click to show internal directories.
Click to hide internal directories.