Can a cannon give perpetual check in xiangqi?
These answers restate the rules implemented by our open-source engine, which follows the WXF laws and is regression-tested against the official 110-diagram repetition casebook. Where an answer refers to a specific position, that position lives on the linked reference page, where the build verifies it against the engine before publishing.
Direct answer
Yes. A cannon can check repeatedly by moving along a line, by shuffling its own position, or simply by using the screen trick, adding and removing a piece from its line to switch the check on and off without the cannon itself moving. Whichever mechanism produces it, if the same side is checking without variation, the ordinary perpetual check rule applies and the checking player must vary or lose.
Why the cannon makes this easy to fall into
Because a cannon's threat depends on a screen rather than its own position, a player can produce what looks like a fresh check each move by shuffling a completely different piece onto and off the line, without ever noticing they are repeating the same underlying threat. The rule looks past the mechanism and at the result: is the general being checked, over and over, with no real progress.
What counts as varying
Genuinely changing the position, winning material, forcing the general somewhere new, or building a fresh threat, counts as variation. Switching which piece happens to be the screen while the check itself repeats does not, for the same reason discussed under whether perpetual check needs the same piece every time.
Related questions
Is this different from a cannon's perpetual chase?
Yes, chase targets an ordinary piece; this targets the general directly. See can a cannon cause a perpetual chase for the piece-chasing version.
Can I avoid this by checking with a different piece each time?
No, what matters is whether the position is genuinely progressing, not which piece happens to be delivering the check.