Вот здесь посмотрите, мне кажется "костюмчик" как по вам шитый:
Регистрация аварий_15.PNG
https://owen.ru/forum/showthread.php?t=31113&page=7
Вот здесь посмотрите, мне кажется "костюмчик" как по вам шитый:
Регистрация аварий_15.PNG
https://owen.ru/forum/showthread.php?t=31113&page=7
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Спасибо. Посмотрю завтра. Но все таки, как в Event_Log они решили проблему одновременного срабатывания входов?
Stanislau тут Сергей 0308 делал макрос кто первый встал того и тапки. В макросе 8входов и выходов. При появлении 1 на входе на этом же выходе весит 1. Если появится 1еще на каком то входе то на Выходе будет 0 пока не пропадет самая первая еденичка. Макрос есть на компе. Могу скинуть сюда вечером. Или спроси у Сергея.
Поищу тут на форуме, где-то в какой-то теме было.
А чем Вас не устраивает вариант, что я чуть выше выложил: там для этого случая(если одновременно сработало 2 и более аварии) предусмотрен макрос RAMP_BIT, если на его входе одновременно изменятся сразу даже все 32 бита(каждый бит соответствует определённой аварии), то на его выходе будет менятся по одному биту каждый цикл, начиная с самого старшего и далее по мере уменьшения старшинства(весового коэффициента), процесс изменения займёт количество циклов соответствующее количеству изменённых бит, короче, этим разруливается построчное построение аварий в порядке поступления, надеюсь, понятно объяснил?!
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Сегодня посмотрю. Но вроде получилось самому придумать. Вечером выложу, что получилось.
https://owen.ru/forum/showthread.php...l=1#post320436
Вот общими усилиями был сделан архив аварий с меткой времени. Время можно убить... макрос ПЗУ можно взять на большее количество ячеек.
Правда аварии пишутся в биты все, но если происходит изменение числа (например сперва бит 3 - произойдет фиксация, потом бит 5, так же произойдет фиксация 3 и 5 битов, так как 3 уже срабатывал)
Вот, что у меня получилось.
Последний раз редактировалось stanislau; 02.02.2020 в 01:01.
У Вас очень неэффективно используется энергонезависимая память, например код аварии, до 32 аварий достаточно 5 бит из 32 у вас, то есть используется около 15% памяти, остальные около 85% присутствуют, но стоят мёртвым грузом!
Я ранее в какой то из тем, даже не одной, подробно расписывал что можно поместить в 32 битах переменной, короче использовать во много раз эффективней, так как энергонезависимой памяти у ПР не так и много, но если Вам хватает, то нет и проблем, когда не хватит, тогда есть смысл над этим задуматься, например по моим прикидкам, я бы смог сделать архив на 160 аварий(код аварии и дата время в одной переменной), у Вас пока 8, для начала тоже не плохо, я так думаю!
Последний раз редактировалось Сергей0308; 02.02.2020 в 01:45.
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Мне вот интересно, вы когда пишите макросы, вам самим нравится, что вы забабахали макрос на 32 бита, а используете всего 8-12 из них ?
Почему не сделать тот же макрос всего на 8 бит с возможности изменения положения бит и не стыковать их вместе при необходимости ?