CiModCi52x (FB)
FUNCTION_BLOCK CiModCi52x EXTENDS AbbLConCA
CiModCi52x Function block is used to establish the communciation between AC500 PLC and Fieldbus Modbus module CI521 or CI522 Using this function block, status of the CI52x module configured in the network can be known. The diagnosis info (CiModCi52x Function block outputs) from CI module can be read out only once. e.g. If secondary CPU has read CI module and afterwards change happens in CI52x diagnosis, then it is not reflected in secondary CPU, leading to different diagnosis information in Primary and Secondary CPU. Hence it is recommended to the user that the diagnosis info should be handled in application program e.g. should be synchronized in a separate structure OR handled on SCADA side.
Note
CiModCi52x function block disabling (Enable = FALSE) will not set output “RuntimeError Bit 0” (Bit 0 - CI module lost error) on HaModControl function block
Note
Function block CiModCi52x only handles Dynamic I/O Mapping, if fixed mapping is used, module doesn’t respond anymore. In the Automation Builder CI52x configuration, select I/O mapping structure as “Dynamic Mapping” only. If Bulkdatamanager is used, always dynamic mapping is used.
- InOut:
Scope
Name
Type
Initial
Comment
Input
ConfigIPSTRING(15)2: IP Address of the IO Module
ConfigEthBYTE0
3: Ethernet Slot used for communication on the PLC. Input is ignored, existing only for compatibility reason
Para0DWORD0
4: Busmodule Configuration Address
Data0DWORD0
5: Bus module IO Structure address
Para1DWORD0
6: IO module 1 configuration address
Data1DWORD0
7: IO module 1 IO Structure address
Para2DWORD0
8: IO module 2 configuration address
Data2DWORD0
9: IO module 2 IO Structure address
Para3DWORD0
10: IO module 3 configuration address
Data3DWORD0
11: IO module 3 IO Structure address
Para4DWORD0
12: IO module 4 configuration address
Data4DWORD0
13: IO module 4 IO Structure address
Para5DWORD0
14: IO module 5 configuration address
Data5DWORD0
15: IO module 5 IO Structure address
Para6DWORD0
16: IO module 6 configuration address
Data6DWORD0
17: IO module 6 IO Structure address
Para7DWORD0
18: IO module 7 configuration address
Data7DWORD0
19: IO module 7 IO Structure address
Para8DWORD0
20: IO module 8 configuration address
Data8DWORD0
21: IO module 8 IO Structure address
Para9DWORD0
22: IO module 9 configuration address
Data9DWORD0
23: IO module 9 IO Structure address
Para10DWORD0
24: IO module 10 configuration address
Data10DWORD0
25: IO module 10 IO Structure address
AckBOOLFALSE
26: Acknowledge
Output
RunBOOLFALSE
3: If TRUE - CI52x module is running
CfgErrorBYTE0
4: Each bit of the byte represents different configuration errors:Bit0 - reserved,Bit1 - ConfigEth invalid,Bit2 - ConfigIP invalidRuntimeErrorBYTE0
5: Each bit of the byte represents different Runtime errors:Bit0 - communication error,Bit1 - IO bus error i.e. parameter state is wrong ,Bit2 - cluster error i.e. Diagnostic buffer has error,Bit3 - HW configuration error, Mismatch between configuration and actual hardware detectedBit4 - HW configuration error, too much IO Data-> reduce IO modul to new ClusterInLenARRAY [1..10] OF INT
Methods:
D_AbortAction
C_CleaningAction
B_CyclicAction
A_StartAction
E_ResetAction
Structure:
CiModCi52x.ACTION_INPUT_REFRESH(ACT)CiModCi52x.ACTION_OUTPUT_REFRESH(ACT)CiModCi52x.A_StartAction(METH)CiModCi52x.B_CyclicAction(METH)CiModCi52x.C_CleaningAction(METH)CiModCi52x.D_AbortAction(METH)CiModCi52x.E_ResetAction(METH)CiModCi52x.S10_CheckConfig(ACT)CiModCi52x.S30_InitCI(ACT)CiModCi52x.S35_ClcIoAmount(ACT)CiModCi52x.S40_ReadWriteIOs(ACT)CiModCi52x.S50_ReadStatusWord(ACT)CiModCi52x.S60_ErrorHandling(ACT)CiModCi52x.S65_Error2Table(ACT)CiModCi52x.zActionEnterCriticalSection(ACT)CiModCi52x.zActionIO(ACT)CiModCi52x.zActionLeaveCriticalSection(ACT)