ISafetyIoServices (ITF) ¶ INTERFACE ISafetyIoServices EXTENDS __SYSTEM.IQueryInterface This interface defines communication methods used to exchange module-related service requests with the Safety runtime-system. Methods: Receive Send Structure: Receive (Method) Send (Method)
ISafetyIoServices.Receive (METH) ¶ METHOD Receive : SafetyIoServicesResult This method receives io-service-data from the IoServices. InOut: Scope Name Type Comment Return Receive SafetyIoServicesResult SISR_OK - if data was received successfully; SISR_PENDING - if no data has been received yet; SISR_FAILED - if an error occurred. Input udiModuleId UDINT The id of the module to receive io-service-data for. uiProtocolTypeId UINT The id of the protocol type. pbyMemData POINTER TO BYTE Pointer to the reserved memory for the io-service-data. udiMemDataSize UDINT Size of the reserved memory. Output udiDataSize UDINT Size of provided io-service-data at pbyMemData.
ISafetyIoServices.Send (METH) ¶ METHOD Send : SafetyIoServicesResult This method sends io-service-data to the IoServices. InOut: Scope Name Type Comment Return Send SafetyIoServicesResult SISR_OK - if data was sent successfully; SISR_PENDING - if data has not been sent yet; SISR_FAILED - if an error occurred. Input udiModuleId UDINT The id of the module to send io-service-data for. uiProtocolTypeId UINT The id of the protocol type. pbyData POINTER TO BYTE Pointer to the io-service-data. udiDataSize UDINT Size of the io-service-data to send.
Unions ¶ This library contains one Union-definition: ISafetyIoServices_Converter It is used to convert a memory address (aka pointer) to a typed reference. It’s a common trick to keep the compiler relaxed when converting between types without having a cast-operator. ISafetyIoServices_Converter (Union)
ISafetyIoServices_Converter (UNION) ¶ TYPE ISafetyIoServices_Converter : UNION Helps to ‘convert’ a POINTER/__XWORD into a reference of type ISafetyIoServices without generating warning/errors in the compiler. This is needed when reading and writing the instance to/from Parameters. Use instead of not-available type-casts. how to use Create a variable of this union-type. Write your memory address / pointer to the val -member of the variable. Get your typed reference to the interface ISafetyIoServices from the itf -member of the variable. InOut: Name Type Comment itf ISafetyIoServices typed access val __XWORD memory address
File and Project Information ¶ Scope Name Type Content FileHeader creationDateTime date 12.12.2018, 14:39:39 companyName string 3S-Smart Software Solutions GmbH libraryFile DrvSafetyIoServices_Itfs.library primaryProject True productName CODESYS productProfile CODESYS V3.5 SP13 contentFile DrvSafetyIoServices_Itfs.clean.json version version 2.0.0.0 ProjectInformation IsEndUserLibrary bool False IsInterfaceLibrary True Released True LastModificationDateTime date 12.12.2018, 14:39:37 LibraryCategories library-category-list Intern|IoDrivers Author string 3S - Smart Software Solutions GmbH Company 3S - Smart Software Solutions GmbH DefaultNamespace SafetyIoServicesItfs Description See: Description DocFormat reStructuredText LanguageModelAttribute qualified-access-only Project DrvSafetyIoServices_Itfs Title DrvSafetyIoServices Interfaces Version version 1.5.0.0
InterfaceIds (GVL) ¶ Attributes: qualified_only InOut: Scope Name Type Initial Constant ITFID_IGeneric DWORD 0 ITFID_IDataServer DWORD 1 ITFID_IDataServer2 DWORD 2 ITFID_ICredentialsProvider DWORD 3 ITFID_IDataSourceDriver DWORD 4 ITFID_IDataSourceDriver2 DWORD 5 ITFID_IDataSourceDriver3 DWORD 6 ITFID_IDataServer3 DWORD 7 ITFID_IDataServer4 DWORD 8 ITFID_ICallback DWORD 9 ITFID_IDataItemList DWORD 10 ITFID_IProvidesConcreteType DWORD 11 ITFID_IDataSourceDriver4 DWORD 12 ITFID_IDataServer5 DWORD 13 ITFID_ITempShutdownResult DWORD 14 ITFID_IDataServerActionRecord DWORD 15 ITFID_IDataSourceDriver5 DWORD 16 ITFID_IDataServer6 DWORD 17
PlcAddressInfoUnion (UNION) ¶ TYPE PlcAddressInfoUnion : UNION InOut: Name Type Comment Common PlcAddressInfo can be used for checking the type Absolute PlcAbsoluteAddressInfo if type == absolute PropByCall PlcPropertyByCallAddressInfo if type == propbycall
ReturnValues (GVL) ¶ InOut: Scope Name Type Initial Comment Constant ERR_OK UDINT 16#0 ERR_FAILED UDINT 16#1 ERR_PARAMETER UDINT 16#2 ERR_NOTINITIALIZED UDINT 16#3 ERR_VERSION UDINT 16#4 ERR_TIMEOUT UDINT 16#5 ERR_NOBUFFER UDINT 16#6 ERR_PENDING UDINT 16#A ERR_NUMPENDING UDINT 16#B ERR_NOTIMPLEMENTED UDINT 16#C ERR_INVALIDID UDINT 16#D ERR_OVERFLOW UDINT 16#E ERR_BUFFERSIZE UDINT 16#F ERR_NO_OBJECT UDINT 16#10 ERR_NOMEMORY UDINT 16#11 ERR_DUPLICATE UDINT 16#12 ERR_INVALID_HANDLE UDINT 16#14 ERR_NO_CHANGE UDINT 16#16 ERR_INVALID_INTERFACE UDINT 16#17 ERR_NOT_SUPPORTED UDINT 16#18 ERR_OUT_OF_LIMITS UDINT 16#1A ERR_DS_UNKNOWN UDINT 16#2000 Range for DataServer Errors 16#2000 until 16#20FF ERR_DS_UNKNOWN_GROUP UDINT 16#2001 ERR_DS_UNKNOWN_SYMBOL UDINT 16#2002 ERR_DS_UNKNOWN_TRANSACTION UDINT 16#2003 ERR_DS_INVALID_STATE UDINT 16#2004 ERR_DS_INVALID_PATH UDINT 16#2005 ERR_DS_SOURCENOTFOUND UDINT 16#2006 ERR_DS_ITEMNOTFOUND UDINT 16#2007 ERR_DS_MULTITASKING_LOCKED UDINT 16#2008 ERR_DS_TIMEOUT UDINT 16#2009 ERR_DS_BADITEMS UDINT 16#200A ERR_DS_ITEMNOTACTIVE UDINT 16#200B The searched item has been found but it is currently deactivated ERR_DS_RETRYLOGIN UDINT 16#200C ERR_DSD_IDENTITY_MISMATCH UDINT 16#2100 Range for DataSourceDriver Errors 16#2100 until 16#21FF ERR_DSD_LOGINFAILED UDINT 16#2101 login to the connected plc etc. failed due to invalid credentials ERR_DSD_LOGINNECESSARY UDINT 16#2102 a login to the connected plc is necessary (ie. device login with credentials) but has not been done
SwappingInfo (ENUM) ¶ TYPE SwappingInfo : This enumeration is needed to describe the information, whether the data server swaps the data it read from the remote device. It is an enhancement of the BOOL data type with an additional value “unknown”. Additionally it contains some values, that are needed for error processing, i.e. those values signal an error state. Attributes: qualified_only InOut: Name Initial Comment NoSwappingNeeded 0 Similar to FALSE: no swapping needed, i.e. byte order of the remote device is the same than the byte order of the local device SwappingNeeded 1 Similar to TRUE: swapping needed Unknown -1 Indicates, that the information “swapping needed” is not yet available ApplicationNotFound -2 The application, passed to IDataServer6.IsSwappingNeeded, is unknown InterfaceNotImplemented -3 At least one component does not implement a required interface