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
ConfigIP
STRING(15)
2: IP Address of the IO Module
ConfigEth
BYTE
0
3: Ethernet Slot used for communication on the PLC. Input is ignored, existing only for compatibility reason
Para0
DWORD
0
4: Busmodule Configuration Address
Data0
DWORD
0
5: Bus module IO Structure address
Para1
DWORD
0
6: IO module 1 configuration address
Data1
DWORD
0
7: IO module 1 IO Structure address
Para2
DWORD
0
8: IO module 2 configuration address
Data2
DWORD
0
9: IO module 2 IO Structure address
Para3
DWORD
0
10: IO module 3 configuration address
Data3
DWORD
0
11: IO module 3 IO Structure address
Para4
DWORD
0
12: IO module 4 configuration address
Data4
DWORD
0
13: IO module 4 IO Structure address
Para5
DWORD
0
14: IO module 5 configuration address
Data5
DWORD
0
15: IO module 5 IO Structure address
Para6
DWORD
0
16: IO module 6 configuration address
Data6
DWORD
0
17: IO module 6 IO Structure address
Para7
DWORD
0
18: IO module 7 configuration address
Data7
DWORD
0
19: IO module 7 IO Structure address
Para8
DWORD
0
20: IO module 8 configuration address
Data8
DWORD
0
21: IO module 8 IO Structure address
Para9
DWORD
0
22: IO module 9 configuration address
Data9
DWORD
0
23: IO module 9 IO Structure address
Para10
DWORD
0
24: IO module 10 configuration address
Data10
DWORD
0
25: IO module 10 IO Structure address
Ack
BOOL
FALSE
26: Acknowledge
Output
Run
BOOL
FALSE
3: If TRUE - CI52x module is running
CfgError
BYTE
0
4: Each bit of the byte represents different configuration errors:Bit0 - reserved,Bit1 - ConfigEth invalid,Bit2 - ConfigIP invalidRuntimeError
BYTE
0
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 ClusterInLen
ARRAY [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)