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() <-chan PlcBrowseRequestResult // ExecuteWithContext is the same as Execute but handles the Context if implemented for Driver ExecuteWithContext(ctx context.Context) <-chan PlcBrowseRequestResult // ExecuteWithInterceptor Will call the given callback for every found resource ExecuteWithInterceptor(interceptor func(result PlcBrowseItem) bool) <-chan PlcBrowseRequestResult // ExecuteWithInterceptorWithContext Will call the given callback for every found resource ExecuteWithInterceptorWithContext(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() <-chan PlcReadRequestResult ExecuteWithContext(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() <-chan PlcSubscriptionRequestResult ExecuteWithContext(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() <-chan PlcUnsubscriptionRequestResult ExecuteWithContext(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() <-chan PlcWriteRequestResult ExecuteWithContext(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.