)) Когда макрос такой специализированный это одно и тоже лицо
(но я за ST если что)
Вид для печати
Валенок не важно, читать надо при разработке, чтобы макрос выполнял требуемое и не вызывал ошибок. Дальше уже не важно, если он выполняет свою функцию и занимает меньше места.
Не знаю, на чем Овен делал свое поделие, но проекты занимают архи много места на диске. Я уже показывал как-то, что можно многое сократить, но не уверен, что json это позволяет. Но вот кто делает этот json мог подумать головой и уменьшить размер проекта как минимум вдвое.
Плюс у них какая-то графическая ерунда, вместо координатной системы, что тоже увеличивает размеры проектов....
Не знаю, как у Вас - но у меня предубеждение к линиям задержки, SR и Т триггерам. (много копий на эту тему сломано)... Уж лучше ST и похоже, использование текста здорово экономит память устройства. Так как быть с энергонезависимыми переменными? За подсказки спасибо, учусь. И как сделать реверсивный счётчик, чтобы в обратку целые числа не с максимально возможного считал, а с последнего или по внешней уставке, без линий задержки.
1exan хоть суслик и есть (а есть он всегда) зато его не видно :)
Линия задержки это просто присвоение переменной через цикл. Ей надо научиться пользоваться, хорошая штука))) Аналог присвоения переменной через R_TRIG
По поводу реверсивного счётчика, добавьте на вход , переменную D и этот код. По сбросу на выход присваивается из переменной N,
можете переделать присвоение, через R_trig
Код:if Res then Q := N; end_if // Код для 32 битного реверсивного счётчика CTUD
if U and not RTrig and not Res then Q := (Q + 1); RTrig := U; end_if
if D and not RTrig and not Res then Q := (Q - 1); RTrig := D; end_if
if not U and not D and RTrig then RTrig := false; end_if
kondor3000 а напишите код на ST как сформировать аналог линии задержки пожалуйста. Чтобы в любой макрос вставить можно было.
Ну так я это и попросил показать кодом.