Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 22

Тема: Тормозит проект в ПЛК 1**

  1. #11
    Пользователь
    Регистрация
    24.07.2012
    Адрес
    Россия
    Сообщений
    1,492

    По умолчанию

    Цитата Сообщение от lara197a Посмотреть сообщение
    Бегло посмотрел, у вас не корректно организованы циклы.
    и тормоза идут из-за зацикливания внутри цикла.
    У меня программы примерно раз в 10 больше крутятся в 10мс на ПЛК 100, на 110М2 тоже в 3-4мс.
    Нужно оптимизировать, вынести условия из фор и уже запускать циклы по условию
    Если не нужно перебирать все условия, то используйте выход из цикла eхit.
    Прям в 10 раз больше???
    Тоесть у вас особенный плк с памятью 1 310 720 кб?
    мда....

  2. #12

    По умолчанию

    Сделайте обработку массивов по тому же фронту, что и запись в них. Нет необходимости выполнять ФБ в каждом цикле.

  3. #13
    Пользователь Аватар для Пьер
    Регистрация
    26.01.2011
    Адрес
    Земля
    Сообщений
    518

    По умолчанию

    Я понял ошибку, спасибо всем. Получается тормозит не ПЛК, а я
    Не зная броду, не суйся в воду. (Пословица.)
    Век живи, век учись(а умрешь дураком).
    Опыт растет прямо пропорционально выведенному из строя оборудованию.

  4. #14
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    ВАм бы еще флоат заменить на int, с нужным количеством знаков после запятой.
    Или критично точность до большого числа знаков после запятой?

  5. #15
    Пользователь Аватар для Пьер
    Регистрация
    26.01.2011
    Адрес
    Земля
    Сообщений
    518

    По умолчанию

    Цитата Сообщение от lara197a Посмотреть сообщение
    ВАм бы еще флоат заменить на int, с нужным количеством знаков после запятой.
    Или критично точность до большого числа знаков после запятой?
    Я бы с удовольствием, но от минуса к плюсу меняется значение, и ворд с минусом передавать на панель не знаю как. приходится дворд
    Не зная броду, не суйся в воду. (Пословица.)
    Век живи, век учись(а умрешь дураком).
    Опыт растет прямо пропорционально выведенному из строя оборудованию.

  6. #16
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    инт от -32т до +32т
    самый левый бит в старшем байте (15) отвечает за знак.
    и насчет стринг обрезать- это валенок очень правильно заметил.

  7. #17
    Пользователь Аватар для Пьер
    Регистрация
    26.01.2011
    Адрес
    Земля
    Сообщений
    518

    По умолчанию

    Цитата Сообщение от lara197a Посмотреть сообщение
    инт от -32т до +32т
    самый левый бит в старшем байте (15) отвечает за знак.
    и насчет стринг обрезать- это валенок очень правильно заметил.
    Нет примера, как такое число загнать на панель? У меня что-то не получалось давеча.
    В конфигураторе ПЛК либо WORD, либо DWORD, либо Float. а как на СП270 передавать отрицательные значения не разобрался. Если есть пример такой, буду признателен.
    Последний раз редактировалось Пьер; 11.04.2016 в 10:27.
    Не зная броду, не суйся в воду. (Пословица.)
    Век живи, век учись(а умрешь дураком).
    Опыт растет прямо пропорционально выведенному из строя оборудованию.

  8. #18

    По умолчанию

    Действительно есть некоторая путаница когда начинаешь работать с конфигурацией.
    В конфигурации ПЛК word обозначает не целочисленное в положительной области, а размер - 2 байта.
    То есть никто не помешает Вам завести переменную:
    param_int : int AT% (адрес в конфигурации ПЛК переменной с размером word).
    И все

  9. #19
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,842

    По умолчанию

    Цитата Сообщение от Пьер Посмотреть сообщение
    Нет примера, как такое число загнать на панель? У меня что-то не получалось давеча.
    В конфигураторе ПЛК либо WORD, либо DWORD, либо Float. а как на СП270 передавать отрицательные значения не разобрался. Если есть пример такой, буду признателен.
    Цитата Сообщение от Николаев Андрей Посмотреть сообщение
    Действительно есть некоторая путаница когда начинаешь работать с конфигурацией.
    В конфигурации ПЛК word обозначает не целочисленное в положительной области, а размер - 2 байта.
    То есть никто не помешает Вам завести переменную:
    param_int : int AT% (адрес в конфигурации ПЛК переменной с размером word).
    И все
    Не надо через AT%. И так все будет работать
    1. Заведите в конфигурации переменную 2 byte. Присвойте там же ей имя, например, HMI_PV1
    Захват-1.png

    2. Для элемента на экране панели задайте регистр управления с нужным адресом, в данном случае таким
    Захват-2.png
    тип данных д.б. Word
    3. На вкладке вид задайте формат Dec, длину всего и длину дробной части, например, на дисплей будет выводится 5 знаков, три для целой части и два для дробной.
    Захват-3.png
    4. Значения, передаваемые на панель, нужно преобразовать из Real в INT. Только в начале нужно значение Real умножить на 10 в степени n, где n -число знаков после запятой, заданное в настройках дисплея панели.
    Я использую для преобразования такую функцию
    Код:
    FUNCTION Real_TO_Panel : INT
    VAR_INPUT
        PV_Real: REAL;        (*Заначение в формате Real*)
        Nz_ai: INT;        (*Положение точки(число знаков после запятой)*)
    END_VAR
    Real_TO_Panel:=REAL_TO_INT(PV_Real*EXPT(10,Nz_ai))  ;
    Теперь, если надо выводить на панель значения переменной My_Real, используем эту функцию
    HMI_PV1:=Real_TO_Panel(My_Real, 2);
    где HMI_PV1 переменная 2 byte в конфигурации.
    Захват-4.png
    При этом не обращаем внимания, что в конфигурации переменная HMI_PV1 прописана как WORD

    Можете поиграться с этим примером
    Вложения Вложения
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  10. #20
    Пользователь Аватар для Пьер
    Регистрация
    26.01.2011
    Адрес
    Земля
    Сообщений
    518

    По умолчанию

    Спасибо petera! Попробую обязательно. А не знаете как перевести Time в реальное число милисекунд. Чтобы например 1 минута = 60000. Пробовал всяко разно , за минуту переваливает и неадыкватные значения вылетают.
    Не зная броду, не суйся в воду. (Пословица.)
    Век живи, век учись(а умрешь дураком).
    Опыт растет прямо пропорционально выведенному из строя оборудованию.

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

Похожие темы

  1. Тормозит СПК107
    от ru522464 в разделе СПК1хх
    Ответов: 6
    Последнее сообщение: 10.01.2014, 18:10
  2. CoDeSys v.2 тормозит в CFC
    от Коля О в разделе ПЛК1хх
    Ответов: 28
    Последнее сообщение: 17.04.2012, 20:35
  3. тормозит мдвв
    от Artem в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 09.02.2010, 17:39
  4. Из - за чего тормозит?
    от Горшунов Сергей в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 11.03.2009, 12:59
  5. Тормозит ПЛК150U-M
    от nagor в разделе ПЛК1хх
    Ответов: 7
    Последнее сообщение: 26.11.2007, 09:53

Ваши права

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