28.04.2009, 23:22
|
#491
|
Частый гость
Регистрация: 02.12.2008
Сообщений: 32
Сказал спасибо: 23
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Сообщение от IOPA4
|
Помогите разрешить данное утверждение, есть ли ошибки:
Код:
|
if ((M==3) && (day›=time_mart)) {Hcor=H - 1;} else //если месяц март и день больше даты перевода часов - поправка 1
if ((M›3) && (M‹=10)) {Hcor=H - 1;} else //если месяц больше марта, но меньше октябра - поправка 1
if ((M==10) && (day›=time_octb)) {Hcor = H;} else //если месяц октябрь и дата больше даты перевода - поправка 0
if ((M›10) && (M‹=12)) {Hcor = H;}; //если месяц больше октября но меньше/равно декабрю - поправка 0 |
Уже мозги дымятся и результата нет
|
Действие "Hcor = H;" не будет выполняться НИКОГДА,
т.к. ранее идет проверка на "(M‹=10)" т.е. и равно 10 тоже!
|
|
|
|
28.04.2009, 23:33
|
#492
|
Частый гость
Регистрация: 02.12.2008
Сообщений: 32
Сказал спасибо: 23
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Для IOPA4.
Совет на счет конденсатора прямо на ноги питания и земли - из собственной практики. При очень плохой сети (импульсные помехи) несмотря на хороший блок питания с фильтром помеха пролезала на контроллер индикатора. Причем с индикаторами ф. Bolimin (BC1602A2) ничего страшного не происходило - продолжали работать, а вот ф. Winstar (WC1602H) - иногда висли. В итоге пришлось принимать комплексные меры - программный перезапуск (1 минута) ЖКИ и общий нормализатор с фильтром на питание цепей управления в щитах (10 щитов - 10 приборов на контроллерах AT90S8535 связанных в сеть по RS-485 плюс ПК для сбора информации). Дороговато стало, но зато потом - никаких проблем 4 года безостановочной работы.
AT90S8535 - были такие до появления младших моделей АТМег.
[/i][/u]
|
|
|
|
29.04.2009, 00:11
|
#493
|
Временная регистрация
Регистрация: 30.08.2005
Адрес: Ротовска йобласть
Сообщений: 84
Сказал спасибо: 2
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
|
Я бы представлял дату не в формате ddmmgggg а в виде массива дней 1..365 и тогда
unsigned int day;
if ((day ›= summer_time) && (day ‹ winter_time))
Hcor = H-1
else
Hcor = H;
вроде и все
|
|
|
|
29.04.2009, 14:00
|
#494
|
Почётный гражданин KAZUS.RU
Регистрация: 07.05.2008
Адрес: Мурманск
Сообщений: 1,300
Сказал спасибо: 461
Сказали Спасибо 526 раз(а) в 273 сообщении(ях)
|
Сообщение от sio_66
|
Для IOPA4.
Совет на счет конденсатора прямо на ноги питания и земли - из собственной практики. При очень плохой сети (импульсные помехи) несмотря на хороший блок питания с фильтром помеха пролезала на контроллер индикатора. Причем с индикаторами ф. Bolimin (BC1602A2) ничего страшного не происходило - продолжали работать, а вот ф. Winstar (WC1602H) - иногда висли. В итоге пришлось принимать комплексные меры - программный перезапуск (1 минута) ЖКИ и общий нормализатор с фильтром на питание цепей управления в щитах (10 щитов - 10 приборов на контроллерах AT90S8535 связанных в сеть по RS-485 плюс ПК для сбора информации). Дороговато стало, но зато потом - никаких проблем 4 года безостановочной работы.
AT90S8535 - были такие до появления младших моделей АТМег.
[/i][/u]
|
Спасибо, полезные рекомендации, я уже примерно такое и выполнил, немного раздражает ежеминутная инициализация, но зато нет сбоев ЖКИ контроллера
|
|
|
|
29.04.2009, 14:02
|
#495
|
Почётный гражданин KAZUS.RU
Регистрация: 07.05.2008
Адрес: Мурманск
Сообщений: 1,300
Сказал спасибо: 461
Сказали Спасибо 526 раз(а) в 273 сообщении(ях)
|
Сообщение от sio_66
|
Сообщение от IOPA4
|
Помогите разрешить данное утверждение, есть ли ошибки:
Код:
|
if ((M==3) && (day›=time_mart)) {Hcor=H - 1;} else //если месяц март и день больше даты перевода часов - поправка 1
if ((M›3) && (M‹=10)) {Hcor=H - 1;} else //если месяц больше марта, но меньше октябра - поправка 1
if ((M==10) && (day›=time_octb)) {Hcor = H;} else //если месяц октябрь и дата больше даты перевода - поправка 0
if ((M›10) && (M‹=12)) {Hcor = H;}; //если месяц больше октября но меньше/равно декабрю - поправка 0 |
Уже мозги дымятся и результата нет
|
Действие "Hcor = H;" не будет выполняться НИКОГДА,
т.к. ранее идет проверка на "(M‹=10)" т.е. и равно 10 тоже!
|
Спасибо, не досмотрел
|
|
|
|
29.04.2009, 17:54
|
#496
|
Почётный гражданин KAZUS.RU
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
|
Сообщение от IOPA4
|
Спасибо, полезные рекомендации, я уже примерно такое и выполнил, немного раздражает ежеминутная инициализация, но зато нет сбоев ЖКИ контроллера
|
А как она у вас проявляется? и что вы именно делаете?
|
|
|
|
29.04.2009, 20:01
|
#497
|
Почётный гражданин KAZUS.RU
Регистрация: 07.05.2008
Адрес: Мурманск
Сообщений: 1,300
Сказал спасибо: 461
Сказали Спасибо 526 раз(а) в 273 сообщении(ях)
|
Сообщение от picavr
|
Сообщение от IOPA4
|
Спасибо, полезные рекомендации, я уже примерно такое и выполнил, немного раздражает ежеминутная инициализация, но зато нет сбоев ЖКИ контроллера
|
А как она у вас проявляется? и что вы именно делаете?
|
Было - если коснуться ЖКИ появляются крякозябры и не исчезают. Сделал какждую минуту инициализацию ЖКИ, теперь норма, но каждую минуту экран дергается. МК 4 мГц.
|
|
|
|
29.04.2009, 20:54
|
#498
|
Почётный гражданин KAZUS.RU
Регистрация: 07.05.2008
Адрес: Мурманск
Сообщений: 1,300
Сказал спасибо: 461
Сказали Спасибо 526 раз(а) в 273 сообщении(ях)
|
[quote="Panda_Y2k"]Я бы представлял дату не в формате ddmmgggg а в виде массива дней 1..365 и тогда
unsigned int day;
if ((day ›= summer_time) && (day ‹ winter_time))
Hcor = H-1
else
Hcor = H;
вроде и все [/quote
С массивом еще сложней будет: годы имеют разное количество дней, дата перевода времени вперед-назад из года в год меняется
|
|
|
|
29.04.2009, 21:02
|
#499
|
Почётный гражданин KAZUS.RU
Регистрация: 07.05.2008
Адрес: Мурманск
Сообщений: 1,300
Сказал спасибо: 461
Сказали Спасибо 526 раз(а) в 273 сообщении(ях)
|
Если кому интересно: проблема появилась, когда я ввел автоматический перевод времени на летнее/зимнее (но солнцу об этом не сообщил ), а практически выходит, что если мы, например, в 3-ей зоне, то летом, после перевода как бы оказывамся в 4-ой зоне. И при расчете нужно этот час учитывать.
|
|
|
|
29.04.2009, 23:58
|
#500
|
Почётный гражданин KAZUS.RU
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
|
Сообщение от IOPA4
|
Было - если коснуться ЖКИ появляются крякозябры и не исчезают. Сделал какждую минуту инициализацию ЖКИ, теперь норма, но каждую минуту экран дергается. МК 4 мГц.
|
Я имел в виду
что вы делаете при едеминутной инициализации ЖКИ и после неё, и как это проявляется на экране...
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 12:29.
|
|