Do you have a question about the Delta Standard AX Series and is the answer not in the manual?
This document serves as the AX Series-Standard Instructions Manual, providing comprehensive information on Delta's self-developed function blocks and functions for PLC application development with the AX series motion controllers. These controllers offer a high-level motion control system based on CODESYS, integrating PLC and motion control functionalities. The manual is applicable to the AX-3 Series and complements the DIADesigner-AX User Manual and the AX-3 Series Operational Manual.
The manual details various function blocks (FBs) and functions (FCs) categorized into Move, Comparison, Timers and Counters, EtherCAT Network, Checksum, Module Read-write, Modbus Communication, Network Communication, Instructions for Reading and Writing a Memory Card, High Speed Output, and Additional Instructions.
pSrc (pointer to source variables), wSrcStartPos (start nibble position of source), pDst (pointer to target variables), wDstStartPos (start nibble position of target), wNum (number of nibbles to shift, 1-256).DFC_NIBMOV (execution result, BOOL), ErrorID (error code).pSrc1 (pointer to variable1), pSrc2 (pointer to variable2), dwNum (length of data in bytes, 1-65535).DFC_XCH (execution result, BOOL), ErrorID (error code).liSrc1, liSrc2).
DFC_CMP (comparison result, WORD: 1 for equal, 2 for less than, 3 for greater than).lwSrc1, lwSrc2).
DFC_UCMP (comparison result, WORD: 1 for equal, 2 for less than, 3 for greater than).lrSrc1, lrSrc2).
DFC_LRCMP (comparison result, WORD: 1 for equal, 2 for less than, 3 for greater than).liSrc) against a defined range (liLowbound, liHighbound).
DFC_ZCP (comparison result, WORD: 1 for less than lowbound, 2 for within range, 3 for greater than highbound).lwSrc) against a defined range (lwLowbound, lwHighbound).
DFC_UZCP (comparison result, WORD: 1 for less than lowbound, 2 for within range, 3 for greater than highbound).lrSrc) against a defined range (lrLowbound, lrHighbound).
DFC_LRZCP (comparison result, WORD: 1 for less than lowbound, 2 for within range, 3 for greater than highbound).Counter (high-speed counter source), bEnable (BOOL, enables instruction), uiMaskValue (UINT, mask range for capture), diDeltaMin, diDeltaMax (DINT, min/max difference between captures), bEdgeSelect (BOOL, rising/falling edge capture, AX-332E only), bCycle (BOOL, continuous capture, AX-332E only).bValid, bBusy, bError, ErrorID, bCapFlag, diCapValue, diCapValuePrevious, diDelta, bCapLenBeyondFlag, dwCapLenBeyondCount.Counter (high-speed counter source), bEnable, Mode (comparison condition), OutputAction (SET/RESET), wRefreshCycle (WORD, output refresh time), diCmpValue (DINT, compare value), diTablePosition (ARRAY OF DINT, compare value array), diTableSize (DINT, array scope).bValid, bBusy, bError, ErrorID.Counter (high-speed counter source), bEnable, xUD_Select (BOOL, count up/down, AX-332 only), bTriggerMode (BOOL, rising/falling edge trigger, AX-332 only).bValid, bBusy, bError, ErrorID, diCounterValue.Timer (high-speed timer source), bEnable, TriggerMode (UP_DOWN/UP_UP).bValid, bBusy, bError, ErrorID, dwTimerValue.Counter (high-speed counter source), bExecute (enables instruction), TriggerType (EXECUTE_TRIGGER/EXTERNAL_TRIGGER), diPresetValue (DINT, preset value).bDone, bBusy, bCommandAborted, bError, ErrorID.Counter (high-speed counter source), bEnable, wSampleTime (WORD, sampling period in ms).bValid, bBusy, bError, ErrorID, diSampleValue.bExecute.bDone, bBusy, bError, ErrorID, AddrArray (UINT[1..128]), uSlaves (UINT, number of slaves).bExecute.bDone, bBusy, bError, ErrorID, uSlaves (UINT, number of slaves).bEnable.bValid, bError, ErrorID, StationNode (StationStatus[1..128]), uSlaves.bExecute.bDone, bBusy, bError, ErrorID, slaveInfoArray (ECATSlaveInfo[1..128]), uSlaves.bEnable.bBusy, bError, ErrorID, EtherCATErrorId.bEnable.bBusy, bError, ErrorID, bStatus.bExecute.bDone, bBusy, bError, ErrorID.bExecute, uiSlaveAddr (UINT, slave address), tTimeout (TIME, reset timeout).bDone, bBusy, bError, ErrorID.pSrc (pointer to start address), wLen (DWORD, data length in bytes).DFC_LRC8 (checksum, BYTE), ErrorID.pSrc, wLen.DFC_LRC16 (checksum, WORD), ErrorID.pSrc, wLen.DFC_LRC32 (checksum, DWORD), ErrorID.bExecute, byRemoteID (BYTE, CPU/remote module ID), byLocalID (BYTE, expansion module ID), wCRAddr (WORD, CR data position), iLength (INT, CR data length, 1-8), pVal (pointer to data to read).bDone, bBusy, bError, ErrorID.bExecute, byRemoteID, byLocalID, wCRAddr, iLength, pVal (pointer to data to write).bDone, bBusy, bError, ErrorID.bEnable, byRemoteID, byLocalID, usiChannelNo (USINT, channel number), bTrigger (BOOL, single-point calibration trigger), iTPoint (INT, total calibration points, 2-20), aTWeight (ARRAY[0..19] OF REAL, calibration weight values).bDone, bBusy, iCPoint, bTriggerDone, bError, ErrorCode.bEnable, byRemoteID, byLocalID, usiChannelNo, rStable (REAL, weight stability range), bZeroS (BOOL, set weight to zero), bTareS (BOOL, set tare weight).bBusy, rTareW, rWeight, iStatus, bError, ErrorCode.bEnable, byLocalID, iAxis (INT, output axis number), iMode (INT, output mode), iStartSpeed (INT, start/end speed), iAccTime (INT, acceleration time), iDecTime (INT, deceleration time), diMaxSpeed (DINT, max output frequency), iZ_no (INT, homing z-phase signals), iOffset (INT, homing offset position).bDone, bBusy, bError, ErrorCode.bEnable, byLocalID, iAxis, bZeroSet (BOOL, clear current position to 0).bBusy, diCurrentPosi, bMoving, bPause, bError, ErrorCode.bEnable, byLocalID, iAxis, diTarPulse (DINT, target output number), diTarSpeed (DINT, target output frequency).bDone, bBusy, bError, ErrorCode.bEnable, byLocalID, iAxis, diRTarPosi (DINT, relative positioning number), diTarSpeed (DINT, target output frequency).bDone, bBusy, bError, ErrorCode.bEnable, byLocalID, iAxis, diATarPosi (DINT, absolute positioning number), diTarSpeed (DINT, target output frequency).bDone, bBusy, bError, ErrorCode.bEnable, byLocalID, iAxis, iMode (INT, homing mode), diTarSpeed (DINT, homing max output frequency), iJogSpeed (INT, homing inching output frequency).bDone, bBusy, bError, ErrorCode.bEnable, byLocalID, iAxis, diJogSpeed (DINT, inching output frequency).bBusy, bError, ErrorCode.bEnable, byLocalID, iInputMode (INT, encoder input mode/counting frequency multiplication), iPeriod (INT, speed fetch cycle time), bZeroSet (BOOL, clear counter to 0).bBusy, diInputPulse, diInputSpeed, bError, ErrorCode.bEnable, byRemoteID, byLocalID, usiChannelNo, bUpdate (BOOL, update PID parameter flag), bPID_Run (BOOL, activate PID), iSV (INT, target value), byPID_M_A (BOOL, PID Auto/Manual mode), bMOUT_AUTO (BOOL, manual value auto update), uiAUTO_DBW (USINT, SV ± dead band range), bPID_EQ (BOOL, PID calculation formula selection), bPID_DE (BOOL, PID differential error calculation), bPID_DIR (BOOL, PID positive/negative direction), iERR_DBW (INT, deviation amount ineffective range), iBIAS (INT, feedforward control output), rKc_Kp (REAL, scale coefficient), rTi_Ki (REAL, integral coefficient), rTd_Kd (REAL, differential coefficient), rTf (REAL, differential action time constant), iALPHA (INT, initial integral compensation - heating), iBETA (INT, initial integral compensation - cooling), uiMOUT (UINT, MV manual value), uiCYCLE (UINT, PID calculation cycle time).bBusy, rMV, rPV, rI_MV, bError, ErrorCode.bEnable, byLocalID, usiChannelNo, bUpdate, usiAction (USINT, counter action mode), diActionValue (DINT, new counter value/offset).bBusy, diCurCnt, byCurSSI_SingleTurn, byCurSSI_MultiTurn, wSSIstatus, wRefCnt, bDir, uiCntStat, bError, ErrorCode.bEnable, byLocalID, usiChannelNo, byTrgSel (BYTE, trigger method selection).bBusy, diCapValue1, bCapValue1_Complete, diCapValue2, bCapValue2_Complete, bError, ErrorCode.bEnable, byLocalID, bUpdate, iOutputSetting (INT, output point action setting).bBusy, iOutputState, bError, ErrorCode.bEnable, byLocalID, usiChannelNo, bUpdate, diCompareValue1, iActionValue1, iY_OutputNo1, iInterruptNo1, diCompareValue2, iActionValue2, iY_OutputNo2, iInterruptNo2.bBusy, bMatch1, bMatch2, bError, ErrorCode.bEnable, byLocalID, usiChannelNo, bUpdate, iCompareLength (INT, compare table groups lengths), aCompareValue (ARRAY[0..9] OF DINT, compare values), aAction (ARRAY[0..9] OF INT, actions), aY_OutputNo (ARRAY[0..9] OF INT, output point numbers), aInterruptNo (ARRAY[0..9] OF INT, interrupt numbers).bBusy, iCurrentNo, bError, ErrorCode.bEnable, byRemoteID, byLocalID, usiChannelNo, iMode (INT, output mode), iPeriod (INT, speed fetch cycle time), iTotalPoints (INT, total records), iPostTrigger (INT, records after trigger).bDone, bBusy, aIntegerData (ARRAY[0~1999] OF INT), aFloatData (ARRAY[0~1999] OF REAL), iCurPointNo, bError, ErrorCode.bEnable, byRemoteID, byLocalID, usiChannelNo.bBusy, iMaxValue, iMinValue, rMaxValue, rMinValue, bError, ErrorCode.bExecute, byComPort (BYTE, COM port number), RxMode (receiving mode), ParaSet (COM port parameters).bDone, bBusy, bError, ErrorID, uiRcvLen.Slave (DFB_ModbusComSlave).bExecute, bAbort, iChannelIndex (INT, channel index).bBusy, bDone, bError, bAborted, ModbusError.byComPort, bExecute, bAbort, usiSlaveAddr (USINT, slave station number), uiFunctionCode (Modbus function code), uiReadOffset, uiReadLen, uiWriteOffset, uiWriteLen, tTimeout (TIME), pWriteBuf (pointer to data to send), pReadBuf (pointer to data to store), Transmission (transmission mode).bBusy, bDone, bError, bAborted, ModbusError.bExecute, bAbort, byComPort, usiSlaveAddr, ModbusCommand (DFB_MODBUS_COMMAND), tResponseTimeout, uiSendTimeout, pSendData, pRecvData, Transmission.bDone, bBusy, bError, bAborted, uiDataLength, ModbusError.bEnable, SocketInfo (tcpClientSocketInfo), bSend (BOOL, send data packets), bRecvRestart (BOOL, restart receive data packets).bBusy, bConnected, bSent, bRcvd, bError, ErrorID, Status, uiRcvdLen.bEnable, SocketInfo (tcpServerSocketInfo), bSend, bRecvRestart.bBusy, bConnected, bSent, bRcvd, bError, ErrorID, Status, uiRcvdLen.bEnable, SocketInfo (udpSocketInfo), bSend, bRecvRestart.bBusy, bSent, bRcvd, bError, ErrorID, Status, uiRcvdLen.Slave (DFB_ModbusTCPSlave).bExecute, bAbort, iChannelIndex.bBusy, bDone, bError, bAborted, ModbusError.Slave (DFB_ModbusTCPSlave).bExecute, bAbort, usiUnitID (USINT, slave station number), ModbusCommand (ModbusCommand), pSendData, pRecvData.bBusy, bDone, bError, bAborted, ModbusError.bExecute, FileInfo (DFB_READ_FILE_INFO, file parameters), dwReadStartPos (DWORD, start address to read), dwElementLength (DWORD, data length), pDestination (pointer to destination).bDone, bBusy, bError, ErrorID.bExecute, FileInfo (DFB_WRITE_FILE_INFO, file parameters), dwWriteStartPos (DWORD, start address to write), dwElementLength (DWORD, data length), pSource (pointer to source).bDone, bBusy, bError, ErrorID.bEnable, Pin (DFB_PWM_OUTPUT_PIN, output pins 0-7), PeriodUnitType (DFB_PWM_PERIOD_UNIT, MicroSecond/MilliSecond), Period (UINT, PWM period), lrDuty (LREAL, PWM duty cycle 0-100).bValid, bBusy, bError, ErrorID.dwLogNum (DWORD, target log files, 0 for all).DFC_LOG_GETSIZE (data size, DWORD), ErrorID.bExecute, pDmpPos (pointer to controller's storage), dwLogNum (DWORD, target log files, 0 for all), dwDmpLength (DWORD, size of log files to read).bDone, bBusy, bError, ErrorID.bConnect (BOOL, establish connection), bExecute (BOOL, execute ftpCmd), fileSpace (MEM_SPACE, file storage location), connectInfo (CONN_INFO, FTP server connection info), ftpCmd (FTP_CMD, FTP execute command), sSrvFilePath (STRING, server file path), sLocalFilePath (STRING, local file path), sFileName (STRING, filename).bConnected, bDone, bBusy, bError, ErrorID, msgBuf.POINTER TO BYTE, POINTER TO WORD) are used for memory addresses.wNum (1-256 nibbles), dwNum (1-65535 bytes), diTarPulse (signed 32-bit), diTarSpeed (e.g., AS02PU: -200K~200K Hz), iTotalPoints (2-20 for DLCCAL, 1-2000 for DADLOG), iPeriod (10-1000ms for DADLOG), uiReadLen (Coil: 1-1920, Register: 1-120 for Modbus), uiSendLen (0-8192 bytes for TCP/UDP), Period (MicroSecond: 1-65535, MilliSecond: 1-42949 for PWM).byRemoteID (0 for CPU, 1-15 for remote modules), byLocalID (0-31 for expansion modules).bError (BOOL) and ErrorID (Enumeration) outputs for troubleshooting. Detailed error codes and corrective actions are provided for each instruction.bUpdate flag, while others are set once at the initial activation.bValid, bBusy, bError, ErrorID, and status indicators (iStatus, Status, uiCntStat) provide real-time feedback on instruction execution and device health.| Brand | Delta |
|---|---|
| Model | Standard AX Series |
| Category | Control Unit |
| Language | English |











