Доброго дня всем! Команда MUL преобразовывает только 99 сек. А если забиваешь 180 сек(=3 мин) то получается какая то неразбериха!!Вложение 21300
Доброго дня всем! Команда MUL преобразовывает только 99 сек. А если забиваешь 180 сек(=3 мин) то получается какая то неразбериха!!Вложение 21300
Элементарно, Ватсон...
Я полагаю, что hmi_t9 это переменная из панели. Скорей всего тип у неё WORD.
Тогда 180*1000=180 000, а в переменную WORD "помещается" всего 65 535, или после преобразования 65,535 сек = 1мин 5сек с хвостиком.
Происходит переполнение разрядной сетки, и от 180 000 (2BF20hex) остается только BF20hex=48928dec.
Так, что в начале нужно hmi_t9 преобразовать в DWORD, а уж затем умножать на 1000, а уж тем более на 10 000.
Вложение 21303
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Все работает!!Спасибо ОГРОМНОЕ ЧЕЛОВЕЧЕСКОЕ за помощь!!
Вопросик такой появился.
А можно ли в языке ST в CodeSys использовать фиксацию выходов?
Set/Reset имею ввиду. Не могу разобраться с синтаксисом.
Подскажите
Доброго времени суток всем!
Люди добрые, помогите пожалуйста разобраться.
Есть задача, организовать SNMP-протокол, ПЛК 110-30 (менеджер - обрабатывает Trap`ы) <-> Коммутатор (агент - кидает Trap`ы). С работой сокетов пока не знаком. Думаю начать работу с изучения библиотека SysLibSockets.lib. Есть документ описывающий данную библиотеку, но не могу найти последовательность действий работы передачи данных.
Например (чисто мое представление на данный момент):
1. Инициализация порта/сокета (вызов функций: ... , пример);
2. Создание соединения (функция... , пример);
3. Посылка пакета (функция... , пример);
4. Прием пакета (функция... , пример);
5. Закрытие соединения (функция... , пример).
Возможно:
1. Функция: SysSockAccept, пример: ?
2. Функция: SysSockConnect, пример: ?
3. Функция: SysSockSend, пример: ?
4. Функция: SysSockRecv, пример: ?
5. Функция: SysSockClose, пример: ?
Подкиньте пожалуйста пример простенький приема передачи с применением библиотеки SysLibSockets.lib.
Заранее очень благодарен!
Делая что-то не правильно, вы никогда не потеряете полученный опыт
Добрый вечер! Я написал проект в CoDeSys V2.3 для ПЛК 110-60, сразу заливаю программу в ПЛК нажимая на кнопки "Подключение" потом жму "Создание загрузочного проекта" и "Загрузка исходных текстов" вот что показывает сразу Statistic Вложение 21452Это нормальное время цыкала 5мс. но как перезагрузишь ПЛК время показывает совсем другое Вложение 21453 это уже критично, я менял разное время цыкла но нечего не меняется...
Почему так получается?
Как это можно исправит?
Что я не так делаю?
В первом случае в конце отсутствует "жму Старт(F5)" по этому ПЛК просто "курит", программа-то не запущена.
Во втором случае программа автоматически стартует после включения ПЛК. Тут уже можно и на статистику посмотреть. И что мы видим 52х100=5200 мкс= 5,2 мс. Для Вас 5 мс уже критично? Не верю.
А на счет "я менял разное время цыкла но нечего не меняется...". Посмотрите на "CPU is overloaded, optimize your programm or increase PLC cycle", у Вас же перегрузка процессора. И свободного времени у процессора, следующая переменная "Free processor resourse mks in 1 cycle", всего 1 мкс.
Не знаю куда Вы там меняли время цикла, но его(MinCycleLenght) нужно увеличивать, до тех пор, пока не погаснет "CPU is overloaded, optimize your programm or increase PLC cycle". Или задать MinCycleLenght равным 0.
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Старт F5 В первом случаи был нажат
А время цыкла было указанно в (MinCycleLenght) там у меня стоит 5ms. Вложение 21455
Время цыклы важно так как ситоят 11счётчиков и они считают примерно около 100Гц. Это расходомеры жидкости (Линия розлива жидкости) http://liniirozliva.ru
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран