Под сообщениями есть "кнопочка"
Захват-100.png
Нажимаешь эту кнопочку под цитируемыми и дальше как обычно "Ответить с цитированием"
Под сообщениями есть "кнопочка"
Захват-100.png
Нажимаешь эту кнопочку под цитируемыми и дальше как обычно "Ответить с цитированием"
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Грубые косяки:
1.ФБ FB_WORK_OFF запись в глобальную переменную regime в теле ФБ;(Это только по одной "типо ключевой" переменной)
2.Множественная запись выходов.
Обратить внимание-компилятор выдает множественное перекрытие областей памяти.
Проект трудночитаем из-за:
1. Отсутствуют отступы;
2. Увлечение автора Типами и Енамами. Если придумать и создать достаточное количество пользовательских TYPE, то можно превратить достаточно простую программу в мутную хрень.
Таки да размерность массивов с [1.. , что мешает с [0.. начинать ?
Спасибо Sergey666 за конкретные замечания. Покопаем.
Действительно, проект длинный, коллективный. Поэтому есть проблемы даже с "красотой" кода.
Прошу пояснить:
1. Насколько я понял, в функциональных блоках глобальные переменные использовать нельзя?
2. Можно ли поподробнее пояснить "2.Множественная запись выходов."? Где встретили и в чем проблема?
1. Функциональный блок выполняется в виде экземпляра и представляет собой некую "капсулу" с собственной выделенной памятью экземпляра и взаимодействовать этот экземпляр с вызывающей программой должен через интерфейс входов-выходов. Некоторые пакеты ПО позволяют вольности и слабости, приводящие к извращениям. Читайте справку к Кодесис, что такое ФБ и что такое Функция (Не так, как в Симатике) и что такое программа.
2. Заходим в Проект\Опции\Генератор кода и ставим галочки на пунктах "Проверять автоматически" и запускаем компиляцию, смотрим результаты, анализируем, разбираемся. А если кратко то у вас в разных частях программы идет запись в физический выход ПЛК, понятно что обновление произойдет в конце прогона, но это грубый косяк, напр. на некоторых ПЛК Роквелл это привело-бы срабатываниям непосредственно при обращении к выходу.
Возвращаясь к теме этого проекта.
Переделали достаточно основательно.
В принципе, все работает.
Но, возникла очередная проблема.
В системе к контроллеру (110[M02]) по 485-му подключаются три устройства: Модуль аналогового ввода ОВЕН МВ110, Преобразователь частоты ОВЕН ПЧВ102-2К2 и Owen Cloud ПМ210-24.
По отдельности они работают нормально. Но, если два или более устройств подключить на один порт, то начинаются ошибки.
В основном, проблемы у ПЧВ. При обращении к другому устройству (например, при считывании данных с модуля ввода) он выключается и включается. при этом на ПЛК ошибка 81 - нет подключения. И так по кругу.
Пока придумали несколько вариантов исправления:
1. Поставить шунтирующие резисторы (120 Ом).
2. Увеличить промежуток между адресами устройств. Сейчас адреса 16 и 25 соответственно.
3. Кроме того, теоретически нужно переводить устройства в третье состояние. Но соответствующих настроек нигде не нашли.
Пока проверить не можем. Надо ехать на объект на той неделе.
Собственно вопрос к спецам: На что еще можно обратить внимание?
Если всё это подключено к одному порту RS485, то это полная хрень, потому что ПМ для ПЛК будет мастером, а ПЛК для модуля и частотника тоже должен быть мастером. Если подключено к разным портам, то нужно внимательно смотреть настройки обмена, что-то явно некорректно настроено. сделайте новый пустой проект и настройте в нем обмен, так чтобы всё работало, потом уже накручивайте на него всю логику. Если будут неразрешимые затыки, попробуйте разнести модуль и частотник по разным портам, тогда для связи с облаком нужно будет докупить преобразователь 232-485 и подключать ПМ к 232. В общем, варианты есть.
Александр Андреевич Симонов
Инженер по продуктам «ПЛК, модули и OwenCloud»
Не работаю в ОВЕН с 01.07.22
По всем вопросам обращайтесь на почту: support@owen.ru