Так и думал, что больше двух нельзя.
Нужно три, как костыли для оборудования (стороннее), которое не хочет работать на одной сети.
Вид для печати
Подскажите, что я делаю не так со счетчиком?
Вложение 39740
Добрый день. Подскажите как вытащить проект из ПР200? Суть проблемы в том, что начали контакты реле барахлить, заменить пока нечем да и возиться нет времени. Купил новый аналогичный пр, а как из старого проект вытащить не знаю. OWEN Logic старый пр видит, во вкладке "информация" данные прибора читаются, а вот кнопка "экспортировать в проект" не активна. Я новичок, ткните носом где почитать. Зарание спасибо.
Перепаять проц., если лень перепаивать реле )
Цитата:
Никак, нужен исходный проект, для загрузки.
Ну и ничего страшного, проект относительно простой - напишу новый. Просто хотелось понять почему кнопка "выгрузить в проект" есть, а выгрузить не получается. Всем спасибо.Цитата:
Перепаять проц., если лень перепаивать реле )
Покажите кнопку такую ?
Информация - Экспортировать в проект это что-то другое, не чтение программы. Без прибора не помню что.
Извиняюсь, "экспортировать в проект"
Вложение 39776
ща дома просто, реле на работе.
Стек это разновидность очереди - первый пришел ,первый вышел ... Поступаемые данные передвигаются от входа к выходу очереди ,это как регистр сдвига ,только там двигаются биты ,а тут регистры ..
rovki . Я немного представляю как это работает. Вы помните мою задачу? Считать количество включений и наработку за последние сутки Вот такой макрос мне дали (не вы). И сказали обращаться если с входами не понятно. Вот мне не понятно. А вам? Объясните что куда?
Вложение 39779
Откройте макрос для редактирования, там подсказки, диапазон записываемых, читаемых разрядов(ячеек) 0-31, короче, сверху вниз: IN - вход стека(данных); SELW - выбор ячейки(разряда) для записи(0-31); SHL - сдвиг влево по фронту импульса, в сторону более старшего разряда(ячейки), самый старший - "31"; SHR - сдвиг вправо по фронту импульса, в сторону более младшего разряда(ячейки), самый младший - "0"; SELR - выбор ячейки(разряда) для чтения, подоваемый на выход Q(0-31).
И мне кажется не надо каждому разряду(ячейке) приделывать отдельный выход, достаточно пройтись по всем нужным разрядам(ячейкам) и суммировать их значения например с помощью сумматора, всё!
Не совсем понял зачем нужно менять направление сдвига ??? Главное есть очередь ,а куда она загибается не имеет значение , главное не перепутать вход с выходом ;) (начало ,конец)
Ну и произвольный доступ к записи ячеек в стек ,то же не к чему в данной задачи , а то это уже не очередь получиться а, "Я ТУТ СТОЯЛ" !!!
Если не нужно - не меняйте! Этот макрос можно использовать и как стек и как матрицу памяти, короче, как кому надо, так и делайте, вот допустим овен продаёт реверсивный счётчик СИ8, мне не нужен реверсивный счет, я использую счётчик СИ8 как нереверсивный, не вижу здесь проблем!
Я себе как то представляю это так. 24х разрядный стек (в моем случае). На вход данных со счетчика идут значения. Но не записываются, пока на второй вход не подастся единица. Раз в час такая единица приходит и значение записываются в нижнюю ячейку. Соответственно счетчик сбрасывается. Через час новые значения пишутся опять в нижнюю. Предыдущие поднимаются выше. Так за 24 часа весь стек заполнен. И процесс продолжается. Старые стираются. Хранятся 24 последних значения. Так? Так же раз в час надо их просуммировать и записать в переменную. Каким образом? Сумматор 24х разрядный надо где то взять и прикрутить?
Примерно так я бы и сделал, вот Вам сумматор в проекте, как на картинке только целочисленный:
Вложение 39781
Приделывать макросу выходы всех разрядов и их суммировать - по-моему нет смысла и усложнит все наверно на порядок!
Принципиальной разницы не вижу где они в макросе или нет, я это вижу примерно как-то так:
Вложение 39788
С универсальным 16 разрядным счётчиком, что в ОЛ - не более 65535 импульсов в час(около 18 имп/с)! Если не хватит, есть 32-разрядные счётчики!
Спасибо большое. То, что мне надо. Сам бы не собрал, эт точно. Пытаюсь упаковать в макрос. Возникли проблемы с переменной минуты. Ее видимо надо наружу выводить. Что за связь со стрелочкой? Как ее поставить?
Вложение 39803
Да, сервисные переменные не доступны в макросе!
Это задержка на цикл, нажимаете соответствующую кнопочку:
Вложение 39804
и проводите как обычную связь, всё.
Линия задержки вроде бы пунктирная. А у вас сплошная, но со стрелкой. Смущает меня это
Вложение 39805
Сделал макрос. Теперь он краснеет как только на выход переменную подключаю. Где косяк?
Вложение 39806
У меня нормально, наверно компьютер перегрелся!
Вложение 39809
Наверно на эту же переменную где то еще выход подключили.
Внизу на экране обычно бывает написано, на что лоджик ругается.
Правда далеко не всегда понятно..
Можно бесконечно улучшать, например минимальными телодвижениями увеличить стек до 30 разрядов и сделать период обновления 48 минут, можно уменьшить время вычисления после каждого импульса обновления(тактового для стека) до одного цикла на разряд стека, сейчас вычисляет при 24 разрядном стеке около 5 секунд! Увеличив стек до 60 разрядов(2 макроса стека), уменьшить период обновления до 24 минут, 120 разрядов - 12 минут, 240 разрядов - 6 минут, 480 разрядов - 3 минуты и т. д. и т. п.
Сергей, не очень понимаю, что это даст. 24 разряда тк в сутках 24 часа. Остальные варианты под какие задачи? И зачем ускорять вычисление? Или это вы описываете вообще, без привязки к чему либо?
Меня другой вопрос занимает. Если я таких макросов с десяток в проект поставлю. Каждую минуту они как подорванные начнут вычисления. Все одновременно Хорошо ли это? Или для ПРки это как слону дробина? И есть ли смысл в каждом формировать часовой импульс, Может быть правильнее вынести его наружу один для всех?
Наверно надо отталкиваться от технологических требований, а не сколько в сутках часов! Если Вас устраивает период обновления показаний - 1 час, это очень хорошо, но у других, для других задач, могут быть другие требования и такой период обновления показаний может не устроить! Часовой импульс можно сделать один на весь колхоз!
Про скорость вычислений применительно к ресурсам ПРки вы не ответили. Есть смысл увеличить время такта, что бы не перегружать ее единомоментно?
И про количество задействованных ячеек в стеке хочу спросить. Всего их 32. До 24 их ограничивает константа 7? Так что ли?
Вложение 39819
То есть писать начинаем в седьмую. Но 32-6=26. Что я недопонимаю?
Так ПР200 загружена по минимуму, посмотрите время цикла, если у Вас реальное ПР200, скорей всего оно будет 1-2 мс!
В макросе 32 разряда(ячейки) 0-31, 7 это номер ячейки, куда пишутся(поступают) данные со входа, с каждым импульсом на входе сдвига влево(SHL) они сдвигаются на одну ячейку(разряд) влево, то есть первым импульсом на входе SHL, данные со входа, которые поступают в 7 ячейку, сдвинутся в 8 ячейку, далее при следующем импульсе в 9 и так далее до 31 ячейки, первые 8 ячеек(0-7) мы отбрасываем, данные в них не используем, так как нам надо 24 разряда, вот с 8 по 31 как раз и получится 24 разряда!
Ещё хотел добавить, что на этой основе, легко и просто можно сделать стек с изменяемой шириной окна, например для организации постоянной времени фильтра для аналоговых входов с возможностью оперативного изменения с экрана, овен не даёт возможности изменять постоянную времени фильтра входов без перезаливки программы, а бывает нет возможно перезалить программу при работе устройства и приходится мирится с этой невозможностью и ждать удобного момента для перезаливки программы, что очень неудобно, короче, пока овен летает в облаках, приходится выкручиваться кто как может, а это на порядок может упростить решение этой задачи, я так думаю!
Добрый день.
Пр200.
Как осуществить ввод переменной с экрана и по сети одновременно? Кто последний значение вводит, то и должно сохраняться. Оператор ввел с экрана,сохранилось его значения, я ввел с овен клауд, сохранилось мое.
Нашел, спасибо.
Подскажите, что за засада с булевскими переменными в режиме слейв? Как, зачем и почему? Какие костыли прикручивать для работы с коилсами?