I am having an issue accessing S7-300 counters. I can access the Counter at offset 0 juts fine. I can read and write to the counter. The Ignition address for Counter 0 is [S7_300]C0
But I cannot access Counter 2. Neither read nor write. I used the address [S7_300]C2
What I did discover is that after changing the address to [S7_300]C4 and creating another tag with address [S7_300]C6, suddenly I could read Counter 2, but the Ignition address is specified at [S7_300]C4.
The challenge though is that I cannot write to the Counter, I can only assume this has to do with incorrect address, offsets and conversion to BCD.
Has anyone experience this issue?
The counter implementation in Ignitions S7 driver is buggy. Writing to counters is not supported at all, you receive a result of ‘Bad - Read Only’ when trying to write to counters.
The adressing is also wrong in Ignition. I have not been able to find a system in the address mapping for counters > 0.
To make it short: Do not use Ignitions driver to access counter (or timer) values.
More general: refrain from Siemens counters and timers at all. If you can, rewrite the code to be compliant with IEC61131.
That’s not generally true. Don’t try that on older S7-300 with limited cpu power.
Thank you for your input. I am disappointed that this seems to be an existing issue and yet there is no mention on the manual or any previous forum postings.
But I am confident that there should be a workaround. Fortunately I only have an issue with one counter, so I can modify the PLC code to accommodate this shortfall.