Interfaces ¶ This library contains one Interface-definition: ISafetyIoServices It describes the methods for the data exchange. Two Methods are provided: Receive Send ISafetyIoServices (Interface) Receive (Method) Send (Method)
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