Цитата:
Сообщение от ailcat
Arsie
1) ваш макрос хоть и написан за 40 секунд - таки не является элементом "задержка включения" или "задержка отключения", требуя переработки (хотя и демонстрирует логику пересчета времени в тики)
2) зачем извращаться с реализацией блока задержки как комбинации математики и счетчиков, если на Си (или на чем там написано ядро?) эта задержка явно реализуется куда проще, чем каждый из предлагаемых FB? (офф: в ассемблере PIC16x87 - целых 14 команд. Правда, постоянно "крутится" один на все тайм-блоки схемный таймер с предделителем).
Собственно, на Сименс Лого математики нет как класса. Зато есть несколько видов таймеров, реализующих всевозможные задержки (из которых в технологических установках заняты практически только задержки включения/выключения со статичным входом или активацией по фронту).
И, в итоге, алгоритм получается простым и надежным, как топор. Более того - не требующим пересчета времен или использования чего-либо при задании задержек в мс (напомню - Лого начинает обсчет нового "тика" немедленнго по завершении обсчета предыдущего. При этом для максимального разрешенного объема программы гарантируется, что "тик" будет не более 200 мс)
Да, Лого - не контроллер, а интеллектуальное реле - так что в нем математика не требуется. а задержки - более чем. Но, чёрт возьми, и в полноценных контроллерах все временные задержки задаются специальными блоками в явном виде (в миллисекундах)!
|
Вы режете меня по живому, я же вам уже дал нужные ссылки. Вам что-то непонятно? Давайте поговорим об этом, а не о Лого или Пике.
Цитата:
Сообщение от ailcat
Arsie
3) задержка должна быть "синхронной", т.е. на момент очередного тика
[...]
сбрасывается ДО того, как задержка будет отсчитана.[/i]
|
В лоджике иное невозможно. Она и так синхронна.
Цитата:
Сообщение от ailcat
Arsie
Sergey Cherevko
Не отходя от кассы: текущая задача.
|
Точно также никуда не отходя: 1) SMH-2Gi; 2) Любой контроллер + SMH2010.
Первый вариант комментировать смысла нет - он просто более подходит под вашу задачу. Второй вариант - интерфейс делается отдельно на любом контроллере, который по событию прогружает настройки на SMH2010, который уже в свою очередь рубит программу с минимально возможным ТИКом. Почему SMH2010? Он имеет максимальное быстродействие из семейства "не SMH-2Gi".
.