Hi Shubham Patayane
Your analysis is correct. The 6ES7 137-6EA00-0BA0 (CM CAN) has no .hwl template in the AX hardware catalog, so a pure AX end-to-end workflow is not possible. The TIA Portal + AX hybrid is your only viable path.
The CM CAN module (6ES7 137-6EA00-0BA0) is not supported in SIMATIC AX's hardware catalog, so you can't configure it fully in AX alone. The recommended approach is a hybrid: configure the hardware in TIA Portal, and write your application logic in AX.
Here's how it works in 3 simple steps:
Step 1 — Configure hardware in TIA Portal (as usual)
Set the CM CAN module to Transparent mode, define your send/receive messages, and compile. TIA Portal will auto-generate tags with physical addresses like %IB10, %QB20 etc. Note these addresses down from the PLC Tags table.
Step 2 — Bind those addresses in AX
In your AX project, open configuration.st and declare variables that point to those exact same addresses:
CONFIGURATION MyConfig
VAR_GLOBAL
CAN_RxMsg1 AT %IB10 : ARRAY[0..7] OF BYTE; // receive bytes
CAN_TxMsg1 AT %QB20 : ARRAY[0..7] OF BYTE; // transmit bytes
END_VAR
END_CONFIGURATION
Think of AT %IB10 as saying: "this variable lives at address IB10" — the same address TIA Portal assigned to that CAN message.
Step 3 — Use them in your program normally
```
myVar := CAN_RxMsg1[0]; // read incoming CAN byte
CAN_TxMsg1[0] := 16#FF; // write outgoing CAN byte
```
What about ET200SPCM_CANConfig?
This function block only exists in TIA Portal — there is no AX equivalent. You don't need to port it. Just keep calling it in TIA Portal. It configures the module at startup. After that, AX takes over and handles the data.
Download order matters:
1. Download hardware config from TIA Portal first
2. Download your application from AX second (it only touches the software, not the hardware config)
Hope that clears it up!