PDA

Просмотр полной версии : Функциональный блок MDVV_outs



VigVam
04.04.2017, 16:54
В проекте для СПК-207-220-03-00-CS (СПК последней на данный момент прошивки, все библиотеки последней версии, Codesys v3.5 SP5 Patch 5) к контроллеру подключаются модули МУ-110 8Р и МДВВ. Сначала подключил и настроил связь по RS-485 modbas RTU с МУ-110 8Р используя ФБ ComConn и MY110_8R_outs. Опрос нормальный, реле отщелкивают как надо. При добавлении ФБ MDVV_outs начинается дикая ***** - при добавлении ФБ и настройке (аналогичной как для модуля МУ-110, но с др. адресом) (независимо от того, подключен ли МДВВ по интерфейсу или нет) и сразу при логине и старте МУ-110 работает нормально, а МДВВ не реагирует вообще, но если сделать стартовое приложение и перезапустить СПК, то опроса нет... но раз в 1-5 минут единичная команда может пройти, а может и не пройти, ОБА ведомых прибора живут своей жизнью, независимо от команд СПК, огонёк интерфейса RS-485 не мигает ни на одном из них. После долгих экспериментов с подключениями и отключениями ФБ MDVV_outs и MDVV_inputs пару раз вроде бы удалось заставить модуль МДВВ работать как надо, но при создании загрузочного приложения и перезагрузке системы все снова переставало работать, подключение компа не давало результатов. Удаление блоков MDVV_outs и MDVV_inputs сразу же приводит систему в норму и МУ-110 работает вменяемо, но при создании загрузочного приложения с MDVV_outs опять всё по новой. Архив с программой прилагается (http://www.mediafire.com/file/b2xh8666mco4a2m/MDVV.zip). В чем может быть проблема?

Евгений Кислов
04.04.2017, 19:56
У вас каждую третью секунду запросы к модулям накладываются друг на друга - и поэтому начинается хаос (поэтому, кстати, с одним модулем проблем не возникает).
Кроме того, обратите внимание на порядок выполнения блоков - в данный момент он у вас совершенно произвольный.

Посмотрите пример в документе СПК. Modbus (п 5.4.1):
http://ftp.owen.ru/index.html/CoDeSys3/11_Documentation/01_SPK/SPK_Modbus_v.1.0.pdf

VigVam
05.04.2017, 11:46
Хм, спасибо. Немного переделал систему с таймингами и прописал всем ФБ порядок выполнения - и всё пошло как по маслу.