WriteMemory (FB) ¶ FUNCTION_BLOCK WriteMemory EXTENDS ETrigA This function block is for writing the memory of EtherCAT slaves. InOut: Scope Name Type Initial Comment Inherited from Input xExecute BOOL Rising edge: Action starts Falling edge: Resets outputs If a falling edge occurs before the function block has completed its action, the outputs operate in the usual manner and are only reset if either the action is completed or in the event of an error. In this case, the corresponding output values ( xDone , xError , iError ) are present at the outputs for exactly one cycle. ETrigA xAbort BOOL TRUE : Action is stopped immediately and all outputs are reset to their initial values. ETrigA Output xDone BOOL TRUE : Action successfully completed ETrigA xBusy BOOL TRUE : Function block active ETrigA xError BOOL TRUE : Error occurred, function block aborts action FALSE : No error ETrigA xAborted BOOL TRUE : Action aborted by user ETrigA Input usiCom USINT 1 index of master 1: first Ethercat master wSlaveAddress WORD address either auto increment address or physical address of device xAutoIncAdr BOOL flag that determines which way to use the given address xBroadcast BOOL flag if broadcast read should be used, if true then wSlaveAddress and bAutoIncAdr are not used uiMemOffset UINT offset of memory iSize INT bytes to write pSrc POINTER TO BYTE buffer to data that should be written udiTimeOut UDINT Timeout for operation in ms Output uiWorkingCounter UINT working counter of received command Methods: ReadPacket Structure: ReadPacket (Method)
WriteMemory.ReadPacket (METH) ¶ METHOD ReadPacket : BOOL InOut: Scope Name Type Return ReadPacket BOOL Input bReset BOOL
EtherCATStack ¶ ETCMasterStack (FunctionBlock) CheckLastPort (Property) DynamicConfig ClearCoEInit (Method) ClearSoEInit (Method) EnableDynamicConfig (Property) ResetConfiguration (Method) GetDCStatistics (Property) MaxSyncTime (Property) MinSyncTime (Property) PhaseDistance (Property) ResetDCStatitics (Method) SkipSuccessfulMessagesForStartupParameters (Property) ETCSlaveStack (FunctionBlock) ALStatus (Property) AutoIncAddr (Property) ClearEmergency (Method) ConfigProductID (Property) ConfigRevisionID (Property) ConfigVendorID (Property) DynamicConfig AddCoEInit (Method) AddFMMU (Method) AddSoEInit (Method) AddSyncManager (Method) AlignFMMU (Method) ChangeFMMU (Method) ChangeSyncManager (Method) ClearCoEInit (Method) ClearSoEInit (Method) GetFMMU (Method) GetSyncManager (Method) HasCoEInit (Method) InputBitOffset (Property) InputBitSize (Property) InputData (Property) NbrFMMU (Property) NbrSyncManager (Property) OutputBitOffset (Property) OutputBitSize (Property) OutputData (Property) SetAssignToPDI (Method) SetConfigData (Method) SetDCSettings (Method) SetEoeSettings (Method) SetLatchSettings (Method) SetOptional (Method) SetStartupChecks (Method) SetSyncUnit (Method) SetTimeouts (Method) SetUseLrdLwr (Method) SetWatchdog (Method) Sync0ShiftTimeInputBased (Property) IsConfigAsOptional (Property) LastEmergency (Property) LastInstance (Property) LinkTimeoutPortA (Property) LinkTimeoutPortB (Property) LinkTimeoutPortC (Property) LinkTimeoutPortD (Property) MailboxPending (Property) NextInstance (Property) PendingMessage (Property) PhysSlaveAddr (Property) ProductID (Property) RevisionID (Property) SerialID (Property) SetOpMode (Method) SlaveAddr (Property) VendorID (Property)
ETCSlaveStack.AddCoEInit (METH) ¶ METHOD AddCoEInit Adds a CoE Init command to the slave Example: pSlave ^. AddCoEInit ( 16#1C12 , 2 , 2 , 16#1600 , 1000 , FALSE , FALSE ); InOut: Scope Name Type Initial Comment Input wIndex WORD Index of object bySubIndex BYTE SubIndex of object uiDataLength UINT Length of data dwData XWORD pointer to data udiTimeOut UDINT timeout in milliseconds bCompleteAccess BOOL true if complete access should be used (subindex must be zero) bAllocMemory BOOL FALSE for uiDataLength > 4 bytes. allocate dynamic memory and copy content from dwData to dynamic memory.
ETCSlaveStack.AddFMMU (METH) ¶ METHOD AddFMMU Adds a FMMU to the slave Example: pSlave ^. AddFMMU ( 0 , 4 , 0 , 7 , 16#1000 , 0 , 2 , 1 ); InOut: Scope Name Type Comment Input dwGlobalStartAddress DWORD only used in manual mode, depnding of the master global settings wLength WORD Length of FMMU in Bytes usiStartBit USINT Startbit of FMMU usiEndBit USINT Endbit of FMMU wPhysStartAddress WORD Physical start adress usiPhysStartBit USINT Physical start bit usiAccess USINT read bit 0 write bit 1 dwFlags DWORD bit 0 channel enable
ETCSlaveStack.AddSoEInit (METH) ¶ METHOD AddSoEInit Adds a SoE Init command to the slave InOut: Scope Name Type Comment Input wIDN WORD IDN of object uiDataLength UINT length to write dwData XWORD pointer to data udiTimeOut UDINT timeout in milliseconds wChannel WORD channel for drives (0: first drive; 1: second drive)
ETCSlaveStack.AddSyncManager (METH) ¶ METHOD AddSyncManager Adds a sync manager to the slave Example: pSlave ^. AddSyncManager ( 16#1100 , 0 , 16#20 , TRUE , 0 ); InOut: Scope Name Type Comment Input wStartAddress WORD Startaddress of sync manager wLength WORD length of sync manager in Bytes usiMode USINT Mode, Direction etc. xEnable BOOL true: enable sync manager usiType USINT 0: ETHERCAT_INPUTs; 1: ETHERCAT_OUTPUTS; 2: ETHERCAT_MAILBOXIN; 3: ETHERCAT_MAILBOXOUT
ETCSlaveStack.AlignFMMU (METH) ¶ METHOD AlignFMMU Aligns the FMMU to next byte border This is required to add fill bytes after some single bit modules. Otherwise the FMMU will be continued and the input and output offset will not be zero Example: pSlave ^. VAR_INPUT ();
ETCSlaveStack.ChangeFMMU (METH) ¶ METHOD ChangeFMMU Changes a FMMU from the slave Example: pSlave ^. ChangeFMMU ( 1 , 0 , wOutLength , 0 , 7 , 16#1100 , 0 , 2 , 1 ); // Outputs InOut: Scope Name Type Comment Input uiNbrFMMU UINT The number to change (1..16) dwGlobalStartAddress DWORD only used in manual mode, depnding of the master global settings wLength WORD Length of FMMU in Bytes usiStartBit USINT Startbit of FMMU usiEndBit USINT Endbit of FMMU wPhysStartAddress WORD Physical start adress usiPhysStartBit USINT Physical start bit usiAccess USINT read bit 0 write bit 1 dwFlags DWORD bit 0 channel enable
ETCSlaveStack.ChangeSyncManager (METH) ¶ METHOD ChangeSyncManager Changes a sync manager from the slave Example: pSlave ^. ChangeSyncManager ( 3 , 16#1100 , wOutLength , 16#74 , TRUE , 1 ); InOut: Scope Name Type Comment Input uiNbrSyncManager UINT The number to read (1..16) wStartAddress WORD Startaddress of sync manager wLength WORD length of sync manager in Bytes usiMode USINT Mode, Direction etc. xEnable BOOL true: enable sync manager usiType USINT 0: ETHERCAT_INPUTs; 1: ETHERCAT_OUTPUTS; 2: ETHERCAT_MAILBOXIN; 3: ETHERCAT_MAILBOXOUT