Last night in throughout the night I received four notifications of high winds from my ISY994i HA system. This is fed by he WC8 board stuffing variable data into the ISY via it's REST interface and using the WEBSET commands built into the WC8.
The counter input is fed from a dry contact anemometer that puts out pulses at a rate of 2.5 mph = 1 pulse / second. This has been integrated over 15 second measurements and smoothed out with a time-weighted averaging algorithm.
Damn grid just failed and I am on battery power right now!
Anyway, this system has worked very well for over a year now and only notified my of high winds over 100 kph gusts a few times before. They all seemed warranted each time with severe aluminum siding rattling etc.. This is typical on this mountain.
This morning I investigated and reports showed wind gusts of 155 kph peak! This would have woken me up so I investigated further.
WC8 status page was showing winds of 150 to 200 kph constantly. It was windy outside but maybe about 60-70 kph would have been reasonable. I power cycled the WC8 board with a 30 second pause and the gusts speeds accumulated and reported again. I used a stopwatch and counted a few sample counter increments, hand calculating the same speeds that the PLC code was calculating. I could see the counter was moving much faster than I had ever seen before.
I thought maybe I had an overflow problem in some register. I went through my math factors again but barely even 16 bits of value so that wasn't the problem.
I had a few factors in the UROM1-4 registers and I tried setting them to different values, saving, and them setting them back to no avail.
In the end I went into the PLC code page and just saved it back into the WC8 The problem went away. The counter behaved again and looked to be a reasonable rate that I have seen before, the wind speeds returned to normal being reported to ISY.
It would seem the input counter is based on some software that can run away or act strangely. This was most disturbing as even power cycling would not fix this problem but writing the same code just uploaded from the WC8 back to itself somehow jogged the counter input to perform as it should.
The counter input is fed from a dry contact anemometer that puts out pulses at a rate of 2.5 mph = 1 pulse / second. This has been integrated over 15 second measurements and smoothed out with a time-weighted averaging algorithm.
Damn grid just failed and I am on battery power right now!
Anyway, this system has worked very well for over a year now and only notified my of high winds over 100 kph gusts a few times before. They all seemed warranted each time with severe aluminum siding rattling etc.. This is typical on this mountain.
This morning I investigated and reports showed wind gusts of 155 kph peak! This would have woken me up so I investigated further.
WC8 status page was showing winds of 150 to 200 kph constantly. It was windy outside but maybe about 60-70 kph would have been reasonable. I power cycled the WC8 board with a 30 second pause and the gusts speeds accumulated and reported again. I used a stopwatch and counted a few sample counter increments, hand calculating the same speeds that the PLC code was calculating. I could see the counter was moving much faster than I had ever seen before.
I thought maybe I had an overflow problem in some register. I went through my math factors again but barely even 16 bits of value so that wasn't the problem.
I had a few factors in the UROM1-4 registers and I tried setting them to different values, saving, and them setting them back to no avail.
In the end I went into the PLC code page and just saved it back into the WC8 The problem went away. The counter behaved again and looked to be a reasonable rate that I have seen before, the wind speeds returned to normal being reported to ISY.
It would seem the input counter is based on some software that can run away or act strangely. This was most disturbing as even power cycling would not fix this problem but writing the same code just uploaded from the WC8 back to itself somehow jogged the counter input to perform as it should.