Страница 10 из 13 ПерваяПервая ... 89101112 ... ПоследняяПоследняя
Показано с 91 по 100 из 126

Тема: Логика: Распознать отдельно короткое и отдельно длинное нажатия (CodeSys v3)

  1. #91
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,224

    По умолчанию

    На OCL время тоже самое 32мс на прибор, ну разве что я в предыдущей версии искусственно добавлял некоторое время таймерами. Единственный момент, разработчики постарались, "развернули" байты, поэтому REAL не собирался из с копированного кода постом выше. И очень бибка чувствительна к ошибкам, может быть потому что я уменьшил время таймаута в 10 раз
    Вложения Вложения
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  2. #92

    По умолчанию

    Мне-то на REAL пофиг, это не страшно. У меня там одни WORD слошные - счётчики импульсов и битовые маски.
    Может завтра врублю второй комп с CDS и затестю всё.

  3. #93

    По умолчанию

    capzap Просьба записать меня в махровейшего ужасного идиота.
    Посмотрел оба примера, и вот что я скажу: я - идиот, но я не могу понять ни одной строчки кода. Особенно когда там куча магических чисел и ни одного комментария, а на STATE хоть и создан ENUM, всё равно пробегают конструкции типа mSTATE := mSTATE +1;
    А ещё круто когда в начале кода пишется mSTATE := FIRST; (типа азяли из Enum), а потом в Case идут магические числа...
    Это УЖАСНО! Так программировать - это позорно, потому что (если брать пример из ENUM), то никто не даёт гарантии того, что значения там будут идти последовательно. А значит всякие +1 не прокатят.
    Ещё я хочу придраться к функции CRC. Что? Это первая найденная функция из инета? А о том, что CRC табличным методом считается быстрее (при условии, что у нас не 8-битный микроконтроллер, да и то у меня даже там памяти на 1024 байта таблицы хватило) - это мы не знаем?
    Не хочется переходить на личности, но перейду. Вот в ПЛК capzap точно мнее меня. А в стиле написания кода - УЖАСНО.

    В общем, про CommLib я НЕ ПОНЯЛ. Больше всего я не понимаю, как оно вообще работает.
    Буду разбираться сам. По нормальному коду.

  4. #94

    По умолчанию

    Так, подниму немного тему. У меня утро понедельника, хех, плодовитое.
    Отписываюсь по паре пунктов:
    1. С помощью Евгения Кислова (который навадал мне по мозгам и пояснил, как работает SysComLib) запустил опрос модулей IO под СПК.
    Пока замеров логическим анализатором НЕ проводил; доделываю дургие проекты, чтобы заработать денег (был же простой из-за сдыхания ПЛК в другом щите).
    На глаз работает в половину скорости CodeSys v2.3, но при этом раза в два быстрее, чем OCL/конфигурация ПЛК.

    2. Проистерил, разозлился и (под зацикленную Linkin Park - Faint) при помощи конечного автомата (огромное спасибо за упоминание про него от krollcbas) написал крутой диммер для CodeSys v2.3, где опрос IO идёт быстрее. Диммер работает по потенциалу входа (True/False) и умеет плавно зажигаться и гаснуть, включаться и выключаться по одночному нажатию и регулироваться по длинному, имеет настройку минимальной яркости (для некоторых типов ламп надо их врубать с яркости не ниже хх%), имеет настройку яркости, на которую он включится, если программу первый раз залили в ПЛК. Умеет понимать команды центрального управления (погасить всё / зажечь как было).

    Код замутил так, что конечный автомат обработки нажатий стоит отдельно от кода диммера, чтобы обработку кнопок можно было копипастить куда-то ещё.
    Dimm-Tests-PLC110-1.gif Dimm-Tests-PLC110-2.gif Dimm-Tests-PLC110-3.gif

    Буду портировать его на CDS 3.5, и посмотрю, что получится из этого. И вот после этого сделаю все замеры и отпишусь.
    Кажись, дело движется чуточку. Конечные автоматы рулят, и как я про них забыл - я даже не представляю.
    Последний раз редактировалось Алексеев Савр; 09.08.2021 в 11:03.
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net

  5. #95

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    я так понял что платят за буквы, больше буков - больше денек?
    Вот какой ты вредный! =) Пару бы тебе, пару... чтоб было два валенка, а не одинокий и вредный же...
    Кажется, за количество строк кода платили там, где оставалось армейское или советско-бумажное наследие в головах. Ну, типа, чтобы листов в дипломной было побольше. Для солидности. Нормальные люди с таким наследием не работают.
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net

  6. #96

    По умолчанию

    Валенок Я не знаю, что это за мужик и может ли он быть ненормальным для какого-то другого мужика.
    Нетушки. Там не i++;, а пояснение: что после всяких условий и выборов надо прибавить яркость диммера на шаг (а не на единицу). Смысловая нагрузка.
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net

  7. #97

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    i := i + 1; (*увиличиваем переменную i на единицу*)
    найдите хотя бы одно отличие
    Нашёл два:
    а) увЕличиваем
    б) не на единицу, а на шаг. Шаг задан где-то, и он не равен единице.
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net

  8. #98
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,317

    По умолчанию

    ............
    Последний раз редактировалось Валенок; 25.10.2021 в 22:26.

  9. #99
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,582

    По умолчанию

    ну при увеличении не всегда можно использовать i++, можно и i+шаг
    и даже в циклах это можно делать.

    а-ха, я понял над чем Валенок стебется.... вариант индуского кода

  10. #100
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,317

    По умолчанию

    ............
    Последний раз редактировалось Валенок; 25.10.2021 в 22:25.

Страница 10 из 13 ПерваяПервая ... 89101112 ... ПоследняяПоследняя

Похожие темы

  1. отключение звука нажатия СП307
    от vendor в разделе Панели оператора (HMI)
    Ответов: 2
    Последнее сообщение: 25.01.2018, 10:12
  2. Ответов: 5
    Последнее сообщение: 24.07.2017, 12:08
  3. Ответов: 0
    Последнее сообщение: 31.05.2017, 19:40
  4. Подтверждение нажатия
    от Carter в разделе Master SCADA 3
    Ответов: 9
    Последнее сообщение: 14.11.2016, 17:32
  5. Нечеткая логика в CoDeSys
    от Fallensky в разделе ПЛК1хх
    Ответов: 38
    Последнее сообщение: 09.07.2011, 14:01

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •