MC_AxUtiUpdateRegEncTerm_BkPlcMc (from V3.0.7)
The function block writes a parameter set into the registers of a KL terminal. It uses MC_AxUtiReadRegEncTerm_BkPlcMc and MC_AxUtiWriteRegEncTerm_BkPlcMc function blocks for this purpose.
Inputs
VAR_INPUT
Execute: BOOL;
END_VAR
Name | Type | Description |
---|---|---|
Execute | BOOL | The writing process is initiated by a rising edge at this input. |
Inputs/outputs
VAR_INOUT
Axis: Axis_Ref_BkPlcMc;
RegData: ST_TcPlcRegDataTable;
END_VAR
Name | Type | Description |
---|---|---|
Axis | Axis_Ref_BkPlcMc | Here, the address of a variable of type Axis_Ref_BkPlcMc should be transferred. |
RegData | ST_TcPlcRegDataTable | Here, the address of parameter set should be specified, whose content is to be written into the terminal. |
Outputs
VAR_OUTPUT
Done: BOOL;
Busy: BOOL;
CommandAborted: BOOL;
Error: BOOL;
ErrorID: UDINT;
END_VAR
Name | Type | Description |
---|---|---|
Done | BOOL | Indicates successful writing of the parameter. |
Busy | BOOL | Indicates that a command is being processed. |
CommandAborted | BOOL | Indicates abortion of the read operation. |
Error | BOOL | The occurrence of an error is indicated here. |
ErrorID | UDINT | An encoded indication of the cause of the error is provided here. |
Behavior of the function block
On a rising edge at Execute the function block checks the transferred axis interface. A number of problems can be detected and reported during this process:
- If one of the pointers ST_TcPlcDeviceInput and ST_TcPlcDeviceOutput is not initialized, the system responds with Error and ErrorID:=dwTcHydErrCdPtrPlcMc.
- If the axis is enabled for operation, the system responds with Error and ErrorID:=dwTcHydErrCdNotReady.
- If Select is out of the allowed range from 0 to 63, the system responds with Error and ErrorID:=dwTcHydErrCdTblIllegalIndex.
- If an I/O module, which does not support parameter communication, is set as nDrive_Type in the axis parameters, the system responds with Error and ErrorID:=dwTcHydErrCdNotCompatible.
- The value in ST_TcPlcRegDataTable.RegDataItem[...].Access determines how the element is treated.
- 0: Element is ignored.
- 1: The register addressed through Select is read. Its contents are compared with RegData. If the contents differ, the write operation is aborted with Error and ErrorID:=16#FFFFFFFF.
- 2: The register addressed through Select is read. Its contents are compared with RegData. If the contents are not larger, the write operation is aborted with Error and ErrorID:=16#FFFFFFFF.
- 3: The register addressed through Select is read. Its contents are compared with RegData. If the contents are not smaller, the write operation is aborted with Error and ErrorID:=16#FFFFFFFF.
- 4: The register addressed through Select is read. Its contents are compared with RegData. If the contents are not larger or equal, the write operation is aborted with Error and ErrorID:=16#FFFFFFFF.
- 5: The register addressed through Select is read. Its contents are compared with RegData. If the contents are not smaller or equal, the write operation is aborted with Error and ErrorID:=16#FFFFFFFF.
- 10: The register addressed through Select is written with RegData.
- Other values are currently ignored. Future versions of the library may support additional functions. An empty element should therefore always be identified with 0.
A falling edge at Execute clears all the pending output signals. If Execute is set to FALSE while the writing process is still active, the process that had started continues unaffected. The signals provided at the end of the operation (Done, CommandAborted, Error, ErrorID, Done) are made available for one cycle.