PDA

Просмотр полной версии : СПК107+МВА8+МВУ8



Айдар
06.05.2014, 09:53
Здравствуйте господа!
Помогите разобраться. Подключаю к спк107 два модуля мва8 и мву8, связь с ними устанавливается, с мва8 данные читаются, а с мву8 ничего не получается..выдает какую то ошибку 2. Каналы кстати не присваиваю. Если пытаешься присвоить канал к мву (функция 16), то по модулю - ошибка шины.Блок модуля мву не нашел, вставил my110-8r, надеюсь это не критично, а если и так то где мне взять именно блок мву8.

Мурат Ахриев
06.05.2014, 10:22
Есть два способа установить связь по Modbus:
1)Конфигурация, добавление устройств в дерево проекта.
2)Библиотеки, использование ФБ библиотеки Modulsowenlib

Одновременно использовать два способа не рекомендуется.

Руководство по первому способу вы можете скачать здесь http://www.owen.ru/forum/attachment.php?attachmentid=10165&d=1379506172

Айдар
06.05.2014, 10:48
Убрал девайсы из дерева проекта, оставил только ФБ Modulsowenlib... результат тот же самый ошибка 2.
А когда я пытался установить связь через конфигурацию(без ФБ), у меня тоже не получилось достучаться до мву8. Добавлял канал (функция 16). Присвоил свою переменную из программы выходу %QX0.0, связь была а на модуле выход не реагировал...Вот в этом я совсем запутался, и так не идет и эдак не идет.

Мурат Ахриев
06.05.2014, 10:49
Имеется ли возможность прислать проект на проверку?

Айдар
06.05.2014, 10:56
да имеется, прислать получается два проекта...один с ФБ, а другой с конфигурацией?

Мурат Ахриев
06.05.2014, 10:57
Да, присылайте оба.

Айдар
06.05.2014, 11:16
Высылаю...

Мурат Ахриев
06.05.2014, 12:21
Не могли бы вы прислать скриншот настроек интерфейса МВУ8 и МВА8(программа конфигуратор)?

Айдар
06.05.2014, 12:52
Высылаю.....

Мурат Ахриев
06.05.2014, 13:07
Не правильно настроен интерфейс в Codesys.
На вкладке настроек последовательного интерфейса установлен контроль четности "EVEN", в настройках модулей он отсутствует.(В проекте с настройкой обмена через конфигурацию)

Айдар
06.05.2014, 13:13
Это у меня так в спешке получилось...извиняюсь..там контроль четности стоит у меня "NONE"....

Мурат Ахриев
06.05.2014, 13:21
+ обновите устройство slave до версии 3.5.3.0(правой кнопкой мыши -> Обновить устройство , поставе галочку отображать все версии)12831

Айдар
06.05.2014, 13:45
Обновил...результат тот же. Связь есть, а выход на МВУ не работает.

Айдар
06.05.2014, 13:46
а это не может быть, что сам модуль плохой?

Мурат Ахриев
06.05.2014, 14:07
Связь есть идем далее...
Вы записываете WORD функцией 16 в регистр 0x0000.
Данный регистр в МВУ отвечает за первый выход(весь регистр).
Значение 0 в данном регистре соответствует FALSE .
Значение 1000 в данном регистре соответствует TRUE.

Соответственно во вкладке соотнесения входов-выходов нужно указать переменную типа WORD, в которую нужно записывать значения 0 - FALSE 1000 - TRUE.

12833

Айдар
06.05.2014, 14:51
Получилось. Спасибо Вам большое.
А вот у меня вопрос такой : смотрел несколько примеров, там переменные из проекта(типа BOOL) присваивали к каналу. Т.е в одном канале они описывали все свои выходные переменные. Подскажите пожалуйста как это сделать. Я так предполагаю нужно указывать некий другой регистр, но какой?

Мурат Ахриев
06.05.2014, 15:01
Некоторые модели модулей дискретного ввода вывода содержат регистр с битовой маской значений входов - выходов.
В вашем модуле такого функционала нет.

Айдар
06.05.2014, 15:12
Еще раз спасибо. Вы мне очень помогли.

Айдар
12.05.2014, 12:06
Добрый день!
При дальнейшей работе столкнулся с такой проблемой: Какое - то время (2-5 минут, когда как) система работает нормально. Далее выходит ошибка шины по модулю МВА8(а связь с модулем МВУ8 не прерывается). Перезапуск при ошибке в программном коде имеется, увеличивал таймаут ответа и отклика, но шина не перезапускается, так и висит ошибка шины, пока проект заново не перезапустишь.
Подскажите пожалуйста с чем это может быть связано. Ведь так как система сейчас работает - это не возможно.

Трофимов Артем
12.05.2014, 17:22
можете напистать тут код подъёма, что Вы используете и указать имя конечного Modbus устройства?

Айдар
13.05.2014, 08:18
можете напистать тут код подъёма, что Вы используете и указать имя конечного Modbus устройства?
IF MVA8.xError THEN
Blink_01(ENABLE:= TRUE, TIMELOW:= T#1S, TIMEHIGH:= T#10MS);
MVA8.xReset:= Blink_01.OUT;
END_IF
IF MVU8.xError THEN
Blink_02(ENABLE:= TRUE, TIMELOW:= T#1S, TIMEHIGH:= T#10MS);
MVU8.xReset:= Blink_02.OUT;
END_IF
.............................
Соединение по шине: мастер-мва8-мву8
.............................
Хотел еще добавить, что при первой ошибке связь перезапускается, а вот при последующей уже нет.
Да и почему вообще связь прерывается, вот что непонятно.

Мурат Ахриев
13.05.2014, 13:52
Возможно дело в помехах, стоит ли рядом силовое оборудование?

Рекомендации по шине:

1. Использование витой пары.
2. Использование терминальных резисторов номиналом 120 Ом на концах шины.

Подробнее о интерфейсе можете прочитать тут http://www.novosoft.by/Ency/rs-485.htm

Айдар
13.05.2014, 14:05
Помехи исключены, испытывается пока на столе. Соединение витой парой. Резисторы отсутствуют.
То что связь теряется это одно, но почему она восстанавливается только один раз?

Айдар
14.05.2014, 08:51
ПОМОГИТЕЕЕЕ !!!!!!

Мурат Ахриев
14.05.2014, 12:37
Имеется ли возможность прислать проект?

Айдар
14.05.2014, 12:51
Проект отправляю.

Мурат Ахриев
14.05.2014, 14:14
Рекомендации:

1. Используйте перезапуск по следующему образцу



IF Modbus_Slave_COM_Port.xError THEN //Перезапуск подключения по Modbus
Blink_01(ENABLE:= TRUE, TIMELOW:= T#1S, TIMEHIGH:= T#10MS);
Modbus_Slave_COM_Port.xReset:= Blink_01.OUT;
END_IF


2. Установите скорость 9600

3. Таймаут 1000 мс

4. Время между фреймами 10 мс

Айдар
15.05.2014, 08:16
Проблема в перезапуске была из-за не активной библиотеки IoDrvModbus.
Но то, что за ночь было 27 перезапуска, мне кажется много.
Спасибо за ответы.