PDA

Просмотр полной версии : ПЛК304. Codesys 3.5. Проблемы при компиляции.



arsenius
08.02.2016, 17:17
Всем привет! Наверняка ерунда, но хотелось бы сэкономить время.
К проекту подключены библиотеки ComService, ModBus, ModBus-slave и ArchivatorOwenLib.
Без последней компилировалось. А сейчас:

------ Build started: Application: Device.Application -------
[ERROR] Untitled11: C0180: There are two libraries with the same namespace Standard inserted!
[ERROR] Untitled11: C0180: There are two libraries with the same namespace Standard inserted!
Compile complete -- 2 errors, 0 warnings
Build complete -- 2 errors, 0 warnings : no download possible!
Раньше лечил удалением лишнего объявления Standard в Library Manager. Сейчас удаление вложенных объявлений неактивно. Куда дальше копать пока не знаю.
Спасибо!

Евгений Багаев
09.02.2016, 10:42
Здравствуйте, архив проекта с данными библиотеками во вложении. Конфликт решил путем изначального удаления библиотеки Standard и последующим добавлением ComService и ArchivatorOwenLib

arsenius
09.02.2016, 11:19
Я правильно понимаю, что устройство Modbus-COM можно использовать для работы по модбас, как мастером так и слэйвом? Оно полностью реализует функционал блоков Modbus и Modbus-slave?

Евгений Багаев
09.02.2016, 11:23
Это конфигурация последовательного порта, т.е. сетевые настройки, на которых идет обмен со Slave-устройствами по интерфейсу связи

arsenius
09.02.2016, 11:48
В моём проекте настройки порта через овеновские библиотечные функциональные блоки задавались. Работал и мастер и слэйв. А для чего тогда необходим Modbus-COM?
Кстати, заметил, что конфликтуют ArchiveOwenLib и Modbus-slave, хотя Standard есть и в Modbus.

capzap
09.02.2016, 12:17
В моём проекте настройки порта через овеновские библиотечные функциональные блоки задавались. Работал и мастер и слэйв. А для чего тогда необходим Modbus-COM?
Кстати, заметил, что конфликтуют ArchiveOwenLib и Modbus-slave, хотя Standard есть и в Modbus.
ну так Вам осталось совсем немножко, раз догадались что ошибки связаны из-за конфликта двух библиотек, теперь требуется сравнить каких версий та вложенная бибка в обоих конфликтующих

arsenius
09.02.2016, 12:30
Просто standard. Версии нигде нет.

capzap
09.02.2016, 12:45
Просто standard. Версии нигде нет.


Ты суслика видишь? — Нет. — И я нет. А он есть!

arsenius
09.02.2016, 12:51
Думал, что со мной этого не произойдёт. Ан нет. Тут рады всем :)

capzap
09.02.2016, 15:04
у меня от всех бибок версии отображаются

arsenius
09.02.2016, 15:26
Может версия кодесиса другая? У меня 3.5 SP5 Patch5
22524

arsenius
09.02.2016, 15:34
До версий-то я докопался. Через пень-колоду. Она в ArchivatorOwenLib и в самом деле старше, чем в модбасных. Но как поправить версию? Пока никакие манипуляции не помогают.

Шевцов Игорь
09.02.2016, 15:49
У меня смутное подозрение что у вас включен режим упрощенной работы с библиотеками:
22525

А также что у вас выбран режим набора свойств: Стандартный, рекомендую использовать: Профессиональный.
Там имеется как раз кнопочка "Заданные наборы свойств..."

Трофимов Артем
09.02.2016, 15:56
чтобы отображать все версии библиотек и устройств Вам необходимо зайти в настройки как на скриншоте в #13 , нажать клавишу заданные наборы свойств и выбрать профессиональный.
тогда менеджеры библиотек получат дополнительные разделы и функции из репозиториев

arsenius
09.02.2016, 16:19
Спасибо. С настройками разобрался. Осталось с версией Standard разобраться.

arsenius
10.02.2016, 08:36
Скачиваю с сайта ArchivatorOwenLib.compiled-library. Меняю расширение на .library, открываю в кодесис. Предлагают обновить версии, обновляю Standard до совпадающей с теми, что в Modbus-библиотеках. Сохраняю в формате .compiled-library и подключаю её к кодесису в репозитории. Подключаю библиотеку в проекте. В менеджере библиотек её видно, однако добавить функциональные блоки из неё не получается, а вручную их прописать - вываливаются ошибки.
Что я делаю не так? И главное - как сделать правильно :)

Евгений Кислов
10.02.2016, 08:50
Скачиваю с сайта ArchivatorOwenLib.compiled-library. Меняю расширение на .library, открываю в кодесис. Предлагают обновить версии, обновляю Standard до совпадающей с теми, что в Modbus-библиотеках. Сохраняю в формате .compiled-library и подключаю её к кодесису в репозитории.

Я не очень понял, зачем все эти манипуляции - почему просто нельзя установить в репозиторий библиотеку в формате .compiled-library?

arsenius
10.02.2016, 08:53
Проблема описана выше. Конфликтуют библиотеки из-за(как мне объяснили) несовместимости версий вложенных библиотек Standard. Они и в самом деле не совпадают. Вот пытаюсь привести их в соответствие самостоятельно.

Евгений Кислов
10.02.2016, 08:57
Проблема описана выше. Конфликтуют библиотеки из-за(как мне объяснили) несовместимости версий вложенных библиотек Standard. Они и в самом деле не совпадают. Вот пытаюсь привести их в соответствие самостоятельно.

Тогда просто поменяйте версию библиотеку Standard, вставляемой в проект по умолчанию, на ту, которая входит в библиотеку архивации. Предварительно нужно включить профессиональный режим настроек (пост 13).

22547

arsenius
10.02.2016, 09:16
Вот узнал что-то новое :) Дело в том, что эту библиотеку по умолчанию я удалил почти сразу из-за конфликтов (не зная про заполнители (placeholders у меня)). И по началу всё работало, пока не понадобилась библиотека архивирования. На данный момент конфликтуют внутренние Standard библиотек ArchivatorOwenLib, Modbus и Modbus-slave. А их я через окно заполнителей поменять не могу.

Евгений Кислов
10.02.2016, 09:22
Вот узнал что-то новое :) Дело в том, что эту библиотеку по умолчанию я удалил почти сразу из-за конфликтов (не зная про заполнители (placeholders у меня)). На данный момент конфликтуют внутренние Standard библиотек ArchivatorOwenLib, Modbus и Modbus-slave. А их я через окно заполнителей поменять не могу.

Проблему уловил. Выставьте версии modbus библиотек в соответствии со скриншотом (правой кнопкой на библиотеку - Свойства):

22548

arsenius
10.02.2016, 11:30
У есть меня modbus библиотеки версий 3.1.1 и 3.1.0 соответственно. Надо бы где-то раздобыть вышеописанные. И вопрос сразу. Функционал modbus библиотек насколько сильно пострадает?

Евгений Кислов
10.02.2016, 11:37
У есть меня modbus библиотеки версий 3.1.1 и 3.1.0 соответственно. Надо бы где-то раздобыть вышеописанные. И вопрос сразу. Функционал modbus библиотек насколько сильно пострадает?

Давайте для начала вы попробуете поставить последние версии библиотек, которые доступны на сайте:
http://www.owen.ru/catalog/codesys_v3/80224381

arsenius
10.02.2016, 11:50
Они как раз активны на данный момент. Просто те версии которые я указал, могу выбрать. Мне проект скидывали тут, и они видимо оттуда подгрузились.

Евгений Кислов
10.02.2016, 12:28
Они как раз активны на данный момент. Просто те версии которые я указал, могу выбрать. Мне проект скидывали тут, и они видимо оттуда подгрузились.

Сейчас подробно посмотрели вашу проблему - к сожалению, на последних версиях библиотек действительно возникает конфликт. В ранних версиях библиотек такого нет, но, как вы верно заметили, они недоработаны и использовать их крайне не рекомендуется. В общем, вам придется чем-то пожертвовать - либо архивацией, либо модбасом.

arsenius
10.02.2016, 12:43
"...это не Земля, и не Африка, родной! Это планета Плюк, 213 кентури, галактика Кин-Дза-Дза, в спирали!" :confused:
Много надежд было на такие коммуникационные возможности в недорогой коробочке.
Ок. Отказываться поздно и жертвовать нельзя. Что не так с модбасом версий 3.2.0 и 3.1.2?

arsenius
10.02.2016, 12:57
Кстати, если убрать Modbus-slave, то всё работает. Может остаётся только поверить в предыдущую версию этой библиотеки, и всё наладится?

Да. Только что поменял версию Modbus-slave на 3.1.0 - стало компилироваться. Ну что скажете, господа эксперты? Можно в модбас-слейв верить?

Если стоит попробовать, то не могли бы подкинуть эту библиотеку хотя бы предпоследней свежести?

Шевцов Игорь
10.02.2016, 13:03
Можете описать вашу задачу вкратце?
У меня тоже сначала была необходимость использовать и то и другое, а в итоге, архвицию сделал самописную на основе ОВЕНовской, а с модбасом вообще по разному решал задачи.

arsenius
10.02.2016, 13:11
Отдельно стоящий ящик. Контроллер должен по одному порту общаться с интернетом. Это ComService. По второму управлять и контролировать работу частотника. Это модбас-мастер. По третьему его будут опрашивать и ему будут давать команды управления с сенсорной графической панели. Это модбас-слейв. Все рабочие моменты должны писаться на флешку. Надо подойти, вытащить флешку с результатами, вставить новую и уйти. Это минимальный функционал. Возможно ещё подключение ноутбуком через Ethernet. Думаю с этим проблем быть не должно.

Шевцов Игорь
10.02.2016, 13:36
Предлагаю архивацию реализовать самому в таком случае.
Тем более, что таким образом вы сами сможете сделать формат файла такой какой захотите, мне ОВЕНовский изначально не подошел.

arsenius
10.02.2016, 13:59
Игорь, если не секрет, какие инструменты понадобятся для самодельной архивации? Буду благодарен, если и примером проекта поделитесь. Кодесис только начинаю осваивать, наверняка подводных камней много.
Кстати, раздобыл таки слэйва 3.1.2. Компилируется. Всего один шаг до 3.1.4. Может всё будет работать?

arsenius
10.02.2016, 14:11
Вру. Компилируется со слэйвом 3.1.0. С 3.1.2 возникает конфликт с модбас-мастером по параметру MB_MODE.

Поборол конфликт приписав к MB_MODE и MB_RTU префикс MODBUS., указывая тем самым конкретную библиотеку из которой мы эти типы берём.

Так что Modbus-slave 3.1.2 на повестке дня. Будет жить или нет?

Евгений Багаев
10.02.2016, 16:28
Пример "самодельной" архивации

Шевцов Игорь
10.02.2016, 16:39
Этот проект - это сборная солянка, т.к. архивацию делал давно и там для определения даты/времени контроллера использовались старые библиотеки (в новом кодесисе не подгрузились у меня), поэтому вставил то как сейчас определяю дату/время.

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

ASo
27.04.2016, 15:51
Сейчас подробно посмотрели вашу проблему - к сожалению, на последних версиях библиотек действительно возникает конфликт. В ранних версиях библиотек такого нет, но, как вы верно заметили, они недоработаны и использовать их крайне не рекомендуется. В общем, вам придется чем-то пожертвовать - либо архивацией, либо модбасом.
1. А можно ли как нибудь менять версии подчиненных библиотек?
2. Что означает * при выводе подчиненной библиотеки?

Евгений Кислов
27.04.2016, 16:03
1. А можно ли как нибудь менять версии подчиненных библиотек?
2. Что означает * при выводе подчиненной библиотеки?

1. Насколько мне известно - только с помощью изменения самой библиотеки.
2. Это заполнитель версии, т.е вместо него подцепится самая новая версия библиотеки, которая есть в системе.

ASo
27.04.2016, 16:23
2. В системе или в профиле?
Скажем так, если я запускаю SP8Patch3 но с профилем SP4Patch4? можно ли ограничить например версию Standard до 3.5.2.0 ?

Евгений Кислов
27.04.2016, 16:37
2. В системе или в профиле?
Скажем так, если я запускаю SP8Patch3 но с профилем SP4Patch4? можно ли ограничить например версию Standard до 3.5.2.0 ?

Насколько мне известно - в системе. Нет.