Страница 5 из 6 ПерваяПервая ... 3456 ПоследняяПоследняя
Показано с 41 по 50 из 60

Тема: Как подружить ПЛК304 и Mobus

  1. #41

    По умолчанию

    Цитата Сообщение от Ильнур Гибадуллин Посмотреть сообщение
    Как часто пропадает связь между SCADA и ПЛК?
    Несколько дней проблем не было. Вчера вечером вносил изменения в программу контроллера, после загрузки SCADA не отвалилась, работала, но сегодня утром обнаружил - связи нет, хотя контроллер работает, программа исполняется.
    Не понятно как это диагностировать со стороны контроллера. По идее нужна функция типа Watch dogs, и при выявлении обрыва связи, перезапускать порт LAN. Либо разработчикам искать проблему в прошивке или железе контроллера.

  2. #42

    По умолчанию

    Цитата Сообщение от Sergeba Посмотреть сообщение
    Не часто. В основном после заливки проекта. Примерно на каждый третий-четвёртый раз заливки. За месяц однажды пропала связь внезапно, во время работы контроллера. Питание исключено т.к. HMI(со SCADA) и контроллер подключены к бесперебойнику.
    А Вы останавливаете SCADA-систему во время загрузки нового кода? Полную загрузку делаете или загрузку с онлайн-изменением?

  3. #43

    По умолчанию

    Цитата Сообщение от Ильнур Гибадуллин Посмотреть сообщение
    А Вы останавливаете SCADA-систему во время загрузки нового кода? Полную загрузку делаете или загрузку с онлайн-изменением?
    Нет, SCADA не останавливаю. Делаю полную загрузку, при онлайн-изменении отвалов не замечал.
    Т.е. пока получается, что при полной загрузке проекта, SCADA отваливается как правило сразу, либо через некоторое время. Сейчас перегрузил контроллер - изменений делать пока не буду - понаблюдаю.

  4. #44

    По умолчанию

    Обнаружил новые глюки. За месяц второй раз контроллер теряет несколько Slave-устройств на 485 шине. Причём строка в программе, контроллера, которая перезапускает соответствующее соединение с отвалившемся устройством, не восстанавливает связь. "Вернул" устройства с помощью холодного перезапуска контроллера, но тут же отвалилась связь со SCADA. Решил не перегружать контроллер по питанию для восстановления связи, а откатил версию Ethernet-адаптера. Предыдущая версия 3.4.0.0 не встала - посыпались ошибки при загрузке в контроллер, откатил на 3.3.0.10 - эта встала, причём связь со SCADA сразу появилась.

    Спустя несколько часов работы индикация Modbus_TCP_Slave сменилась на красный треугольник "Шина не запущена", но при этом всё продолжает работать... в том числе SCADA через этот TCP...
    Последний раз редактировалось Sergeba; 22.04.2018 в 00:22.

  5. #45

    По умолчанию

    Цитата Сообщение от Sergeba Посмотреть сообщение
    Обнаружил новые глюки. За месяц второй раз контроллер теряет несколько Slave-устройств на 485 шине. Причём строка в программе, контроллера, которая перезапускает соответствующее соединение с отвалившемся устройством, не восстанавливает связь. "Вернул" устройства с помощью холодного перезапуска контроллера, но тут же отвалилась связь со SCADA. Решил не перегружать контроллер по питанию для восстановления связи, а откатил версию Ethernet-адаптера. Предыдущая версия 3.4.0.0 не встала - посыпались ошибки при загрузке в контроллер, откатил на 3.3.0.10 - эта встала, причём связь со SCADA сразу появилась.

    Спустя несколько часов работы индикация Modbus_TCP_Slave сменилась на красный треугольник "Шина не запущена", но при этом всё продолжает работать... в том числе SCADA через этот TCP...
    Пришлите архив проекта (Файл -> Архив проекта -> Сохранить/отправить архив) на support@owen.ru. Укажите, пожалуйста, версию прошивки контроллера и версию таргет устройства.

  6. #46

    По умолчанию

    Цитата Сообщение от Ильнур Гибадуллин Посмотреть сообщение
    Пришлите архив проекта (Файл -> Архив проекта -> Сохранить/отправить архив) на support@owen.ru. Укажите, пожалуйста, версию прошивки контроллера и версию таргет устройства.
    Отправил проект... в ответ тишина. На вопросы по почте тоже ответа нет. Техподдержка рулит
    Напишу что сам "нарыл".
    Предисловие.
    Первая проблема, с которой столкнулся - отвал slave-устройств в сети Modbus. Причём в течении суток у меня отваливалось практически 45 устройств из 47 подключенных в сети. Связь с ними не восстанавливалась, пока вручную не сделать сброс. На форуме нашлось множество таких же ситуаций (мне не понятно, почему ОВЕН на них не реагирует). Первым делом использовал сброс шины так:
    IF SS_39.xError THEN myblink37(ENABLE:= SS_39.xError, TIMELOW:= T#200MS, TIMEHIGH:= T#1S, OUT=> SS_39.xReset); END_IF

    где SS_39 это одно из slave-устройств, myblink37 - генератор BLINK.
    Т.о. прописав такие строчки для каждого устройства удалось отвалившиеся возвращать в строй. Порадовался этому, но не тут-то было... Через несколько дней обнаружил несколько отвалившихся устройств, которые не хотели возвращаться с помощью моего BLINK. Так же удавалось вернуть их только ручным сбросом контроллера. Тщательно порывшись на форуме нашёл решение и этой проблемы. Используя эти строки перегружается порт:

    IF modbus_master_com_port.xAllSlavesOk=FALSE THEN //сброс ком-порта
    myblink00(enable:=TRUE,timelow:=T#6S, timehigh:=T#100MS,out=>);
    ELSE
    myblink00(enable:=FALSE,timelow:=T#6S, timehigh:=T#100MS,out=>);
    END_IF
    modbus_master_com_port.xResetComPort:=myblink00.OU T ;

    Ну что же... Используя эти костыли вторые сутки - полёт нормальный... Ещё раз хочется передать привет техподдержке и ОВНУ в целом...

    Вторая проблема возникла когда я решил подружить свой контроллер и HMI-панель со встроенной SCADA-системой. Так же использовал конфигуратор, создал подключение ModbusTCP_Slave. Панель начала получать данные. Первое время глюков не замечал. Но потом оказалось, что начало отваливаться это подключение - через 2-3 минуты после старта контроллера появлялся красный треугольник. Панель при этом вела себя не адекватно - то указывала что связи нет, то связь появлялась, но очень тормозила (время реакции на действия растягивались до 10 сек), контроллер принимая от SCADA информацию искажал её - значения переменных дико плясали, помогал сброс контроллера. Перезагрузка по питанию опять приводила к вышеописанному бардаку. Решил порыть в том же направлении - попытаться найти команды перезапуска TCP соединения. По соответсвующему названию нашёл внутренние переменные ModbusServer, которые отвечают за данное соединение, причём вручную, в режиме записи значений переменных удалось перегрузить соединение, которое опять продержалось 2 минуты и опять отрубилось. Пытался вытащить эти переменные, чтобы перегружать соединение программно но как-то не удалось - они находятся здесь: Device.Application.ModbusTCP_Slave_Device.m_Modbus Server (.xReset, .xError и т.д.), но вызвать в программе не удаётся - ругается на m_ModbusServer. Пытался создать соединение TCP с помощью функционального блока ModbusServer - сделал как в примере, ещё нашёл на форуме, но никак не удаётся прописать порт соединения т.к. переменная .wPort не доступна. Причём это конкретный глюк в программе CODESYS т.к. при наборе точки я вижу список переменных, wPort отсутствует среди них, но контекстная подсказка с wPort появляется возле другой переменной. На этом месте я уже почти отчаялся... Нахрена мне "коммуникационный контролер ОВЕН" если он не может обеспечить коммуникацию с HMI? И тут я обнаруживаю, что моё соединение работает достаточно долго и не "падает"... Решение оказалось случайным. В ходе экспериментов я создал в программе описание функционального блока ModbusServer. Воспользоваться им я не смог - не получилось прописать порт TCP соединения, но его наличие в программе оказало благотворное воздействие на соединение созданное в конфигураторе. Вот текст программы, который поддерживает моё соединение:

    VAR
    m_ModbusServer: ModbusServer;
    END_VAR

    IF m_ModbusServer.xError THEN
    m_ModbusServer.xReset:=TRUE;
    ELSE
    m_ModbusServer.xReset:=FALSE;
    END_IF;

    Это соединение совершенно не привязано к моему, но почему-то держит канал... Не скажу что всё идеально, но пока (уже 2 суток без отвалов). Не идеально - связь со SCADA стрёмная - периодически, на долю секунды, панель показывает что связь отвалилась. Иногда реакция на действия на панели с небольшим запаздыванием (особенно после перезагрузки контроллера), ещё контроллер часто теряет связь со SCADA после заливки проекта и для того, чтобы восстановить связь нужно передёрнуть питание контроллера.
    По первой проблеме тоже решение "так себе" - slave-устройства продолжают отваливаться с частотой раз в 2-3 минуты, благо программа их возвращает. Так и живём...

    P.S. Не думал что у ОВНА будут сплошные костыли... Неужели жажда прибыли напрочь перебивает желание довести сырую поделку до нормального ПЛК?
    Последний раз редактировалось Sergeba; 28.04.2018 в 23:36.

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

    По умолчанию

    Цитата Сообщение от Sergeba Посмотреть сообщение
    Отправил проект... в ответ тишина. На вопросы по почте тоже ответа нет. Техподдержка рулит
    Напишу что сам "нарыл".
    Предисловие.
    Первая проблема, с которой столкнулся - отвал slave-устройств в сети Modbus. Причём в течении суток у меня отваливалось практически 45 устройств из 47 подключенных в сети. Связь с ними не восстанавливалась, пока вручную не сделать сброс. На форуме нашлось множество таких же ситуаций (мне не понятно, почему ОВЕН на них не реагирует). Первым делом использовал сброс шины так:
    IF SS_39.xError THEN myblink37(ENABLE:= SS_39.xError, TIMELOW:= T#200MS, TIMEHIGH:= T#1S, OUT=> SS_39.xReset); END_IF

    где SS_39 это одно из slave-устройств, myblink37 - генератор BLINK.
    Т.о. прописав такие строчки для каждого устройства удалось отвалившиеся возвращать в строй. Порадовался этому, но не тут-то было... Через несколько дней обнаружил несколько отвалившихся устройств, которые не хотели возвращаться с помощью моего BLINK. Так же удавалось вернуть их только ручным сбросом контроллера. Тщательно порывшись на форуме нашёл решение и этой проблемы. Используя эти строки перегружается порт:

    IF modbus_master_com_port.xAllSlavesOk=FALSE THEN //сброс ком-порта
    myblink00(enable:=TRUE,timelow:=T#6S, timehigh:=T#100MS,out=>);
    ELSE
    myblink00(enable:=FALSE,timelow:=T#6S, timehigh:=T#100MS,out=>);
    END_IF
    modbus_master_com_port.xResetComPort:=myblink00.OU T ;

    Ну что же... Используя эти костыли вторые сутки - полёт нормальный... Ещё раз хочется передать привет техподдержке и ОВНУ в целом...

    Вторая проблема возникла когда я решил подружить свой контроллер и HMI-панель со встроенной SCADA-системой. Так же использовал конфигуратор, создал подключение ModbusTCP_Slave. Панель начала получать данные. Первое время глюков не замечал. Но потом оказалось, что начало отваливаться это подключение - через 2-3 минуты после старта контроллера появлялся красный треугольник. Панель при этом вела себя не адекватно - то указывала что связи нет, то связь появлялась, но очень тормозила (время реакции на действия растягивались до 10 сек), контроллер принимая от SCADA информацию искажал её - значения переменных дико плясали, помогал сброс контроллера. Перезагрузка по питанию опять приводила к вышеописанному бардаку. Решил порыть в том же направлении - попытаться найти команды перезапуска TCP соединения. По соответсвующему названию нашёл внутренние переменные ModbusServer, которые отвечают за данное соединение, причём вручную, в режиме записи значений переменных удалось перегрузить соединение, которое опять продержалось 2 минуты и опять отрубилось. Пытался вытащить эти переменные, чтобы перегружать соединение программно но как-то не удалось - они находятся здесь: Device.Application.ModbusTCP_Slave_Device.m_Modbus Server (.xReset, .xError и т.д.), но вызвать в программе не удаётся - ругается на m_ModbusServer. Пытался создать соединение TCP с помощью функционального блока ModbusServer - сделал как в примере, ещё нашёл на форуме, но никак не удаётся прописать порт соединения т.к. переменная .wPort не доступна. Причём это конкретный глюк в программе CODESYS т.к. при наборе точки я вижу список переменных, wPort отсутствует среди них, но контекстная подсказка с wPort появляется возле другой переменной. На этом месте я уже почти отчаялся... Нахрена мне "коммуникационный контролер ОВЕН" если он не может обеспечить коммуникацию с HMI? И тут я обнаруживаю, что моё соединение работает достаточно долго и не "падает"... Решение оказалось случайным. В ходе экспериментов я создал в программе описание функционального блока ModbusServer. Воспользоваться им я не смог - не получилось прописать порт TCP соединения, но его наличие в программе оказало благотворное воздействие на соединение созданное в конфигураторе. Вот текст программы, который поддерживает моё соединение:

    VAR
    m_ModbusServer: ModbusServer;
    END_VAR

    IF m_ModbusServer.xError THEN
    m_ModbusServer.xReset:=TRUE;
    ELSE
    m_ModbusServer.xReset:=FALSE;
    END_IF;

    Это соединение совершенно не привязано к моему, но почему-то держит канал... Не скажу что всё идеально, но пока (уже 2 суток без отвалов). Не идеально - связь со SCADA стрёмная - периодически, на долю секунды, панель показывает что связь отвалилась. Иногда реакция на действия на панели с небольшим запаздыванием (особенно после перезагрузки контроллера), ещё контроллер часто теряет связь со SCADA после заливки проекта и для того, чтобы восстановить связь нужно передёрнуть питание контроллера.
    По первой проблеме тоже решение "так себе" - slave-устройства продолжают отваливаться с частотой раз в 2-3 минуты, благо программа их возвращает. Так и живём...

    P.S. Не думал что у ОВНА будут сплошные костыли... Неужели жажда прибыли напрочь перебивает желание довести сырую поделку до нормального ПЛК?
    т.е. этот документ ни как не помогает?
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  8. #48

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    т.е. этот документ ни как не помогает?
    У меня вопросы по использованию возможностей конфигуратора, которые, по идее, сделаны для облегчения создания программ для контроллера... А так, да, документ зачётный, но как он мне поможет? Если только организовать опрос почти пятидесяти slave-устройств через библиотеки... Занятие сомнительное... Если с конфигуратором "засада", чего ожидать от библиотек?

    P.S. Да, ещё в этом документе нет ни слова про использование ФБ ModbusServer. TCP соединение только через конфигуратор и ни слова про то, что он может отвалиться через две минуты работы.
    P.P.S. Ещё мне понравилось в этом документе рекомендация: "в настройках компонента поставьте галочку Автоперезапуск соединения." А у меня эта галка не активна т.к. ОВЕН, я так понимаю, прекратил поддержку ПЛК304 в плане обновления ПО.
    P.P.P.S Всё же, подскажите, как мне через ФБ ModbusServer установить номер порта в переменной wPort?
    Последний раз редактировалось Sergeba; 29.04.2018 в 22:41.

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

    По умолчанию

    Насколько помню, раздел 4.5 как раз показывает как следить за соединением, всяко по лучше чем Вы отыскали на форуме.
    На счёт остального н понял, в документе ломается работа им конфигуратором и библиотекой, у Вас тоже звучит и то и то, можно Вы одновременно открываете соединение обоими способами, поэтому и проблемы
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  10. #50

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    Насколько помню, раздел 4.5 как раз показывает как следить за соединением, всяко по лучше чем Вы отыскали на форуме.
    На счёт остального н понял, в документе ломается работа им конфигуратором и библиотекой, у Вас тоже звучит и то и то, можно Вы одновременно открываете соединение обоими способами, поэтому и проблемы
    Вы наверное не читали моё сообщение и не смотрели приведённые мной строки программы... То, что описано в 4.5 это частично решает проблему и это часть того, что я отыскал на форуме. Не понял как и из-за чего ломается? TCP соединение глючно работало пока была настроено только конфигуратором, когда я добавил ФБ стало "сносно" работать. Так что не ломается, а лечиться. Я одновременно не открываю соединение обоими способами т.к. в конфигураторе использую порт 505, а в ФБ, посокольку так и не нашёл настройки порта - по умолчанию 502.

    Новые грабли от ПЛК304... Убираю ФБ с ModbusServer. Результат - TCP соединение (порт 505) "падает" через минуту (это не удивительной - уже писал об этом), создаю в конфигураторе второе TCP соединение (порт 504) - через минуту падает соединение на 505 порту, 504 продолжает работать. Создаю третье TCP соединение (порт 503) - о чудо - все соединения работают, не падают... ЧТО ЭТО???
    Последний раз редактировалось Sergeba; 30.04.2018 в 22:42.

Страница 5 из 6 ПерваяПервая ... 3456 ПоследняяПоследняя

Похожие темы

  1. Подружить СПК107 с PC
    от Vasily_avico в разделе СПК1хх
    Ответов: 3
    Последнее сообщение: 06.08.2017, 21:38
  2. Как подружить СПК 105 и ТРМ202
    от дрю в разделе СПК1хх
    Ответов: 2
    Последнее сообщение: 16.02.2016, 09:19
  3. Запись массива данных в Mobus-Slave ПЛК150
    от Alex A Pap в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 13.12.2010, 13:41
  4. подружить OPC и WinCC
    от AVit в разделе Другие SCADA системы
    Ответов: 3
    Последнее сообщение: 18.09.2007, 11:13

Ваши права

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