Siemens 840D 12584 - Channel block variable cannot be read synchronously with
In motion synchronous actions on the left side of the compare operation, only special variables are allowed as input variables of SYNFCT and as input variables for PUTFTOCF. Motion synchronous access is possible here. Example: PUTFTOCF(1, $AA_OVR, 2, 1, 2) The variable $AA_OVR is not allowed here.
Siemens 840D 12584 - Channel block variable cannot be read synchronously with
Channel block variable cannot be read synchronously with
In motion synchronous actions on the left side of the compare operation, only special variables are allowed as input variables of SYNFCT and as input variables for PUTFTOCF. Motion synchronous access is possible here. Example: PUTFTOCF(1, $AA_OVR, 2, 1, 2) The variable $AA_OVR is not allowed here.
Safety
Refer to Siemens documentation
Ensure qualified technician performs repairs
Common Causes
Attempt to read a non-special variable in a motion synchronous compare operation where only special variables are permitted
Using standard global or local variables instead of motion synchronous special variables (like $AA_OVR) in SYNFCT or PUTFTOCF functions
Incorrect variable type passed as input to synchronous motion functions on the left side of comparison
Programming error where user-defined variables are referenced in synchronous motion contexts that require predefined special variables
Troubleshooting Steps
1Review the block %2 in channel %1 and identify variable %3 that triggered the alarm; verify it is a special variable (beginning with $) rather than a standard variable
2Check SYNFCT and PUTFTOCF function calls in the affected block; replace any non-special variables with appropriate motion synchronous special variables such as $AA_OVR, $AC_LOAD, or other valid synchronous variables
3Consult the Siemens 840D/828D programming manual to confirm which special variables are permitted for motion synchronous operations in your application
4If custom synchronization is required, use only variables that support motion synchronous access; consider restructuring the logic to use permitted variable types
5Reload the corrected program after making variable substitutions and verify the alarm clears on the next cycle
Seeing Multiple Alarms?
Seeing another alarm with this one? Enter the code.
Get machine-aware diagnosis
AxisMD logs alarms against your actual machines, tracks patterns, and gives AI context your manual doesn't have.