Не получилось считать данные с i7017. Как то скупо по DCON всё описано. Вообще кто нибудь пытался это сделать, если да то помогите с примерчиком! С MODBUS (кроме float) и с МВУ проблем пока нет, а модули icpdas (коих в избытке) пока не поддаются.
При организации обмена ПЛК и I-7016 в строке статус валятся ошибки: 67, 131, 66 (?), 80 (?), (привожу в порядке убывания частоты повторения). За 10 минут работы около 200 ошибок. И это только при чтении одного значения (запрос #AA). Считанное значение соответствует действительному (Real ~ 3,5e-002mv) , но иногда проскакивает 0. Чтение состояния выходов I-7016 еще плачевнее, в шестидесяти процентах ответов ахинея, и теже ошибки. Команда записи выходов по изменению значения проходит всегда, но ответ в строке статус через раз содержит код ошибки, всегда разный.
В ПЛК я сменил три прошивки, перебрал все доступные таргеты. Добавка контрольной суммы, смена адреса, подключение терминаторов, вылавливание сварщиков в радиусе километра и прочие танцы с бубном не позволяют получить твердый ответ 3 в статусе для дальнейшей обработки.
Вопрос - модуль DCON тестировался? или я что-то не так... или есть какаято секретная конфигурация (ПЛК+прошивка+таргет+DCON) которой нет на диске в комплекте.
P.S. просмотр шины с помощью монитора ни каких ошибок не выявляет. Все четко запрос - ответ.
Последний раз редактировалось Иванов Владимир; 02.11.2009 в 14:06.
1. При обмене по протоколу DCON обязательно надо использовать контрольную сумму. Без нее ВООБЩЕ нельзя работать. Огромное количество ошибок.
И пришлите проект, посмотрю, где у Вас могут быть узкие места в настройке.
DCON весьма стабилен и замечаний не было.
Посмотрел Ваш проект. Вы одновременно, не управляя доступом к 485, на этот 485 повесили ModBus и DCON. В результате, т.к. нет ни управления временем, ни минимальных настроек для разграничения доступа, мастера банально мешают друг-другу и ответы slave попадают не в те мастера.
Первые две строчки понять не могу. Мастер отправляет запрос устройству i-7016 и получает или не получает от него ответ в определенном формате. Что есть промежуточные значения?
"Таблица В.6 - Ошибки работы универсального устройства DCON" у меня есть.
Кода ошибки №35 не получил ни разу, даже получая отрицательное напряжение с тензодатчика путем зжимания его.
Считаю значение полученное с i-7016 приемлемым только при получении OK_ANSVER ошибка(?) №3. Все остальные буду отсекать как ошибочные.
Ни чего не меняя в программе и не меняя положения железа, сейчас вижу только ошибку №67. ПЛК включен 8 часов.
Заметил некую странность. Т.к. крышка с контроллера снята, из бузера т.е. динамика слышен едва различимый звук, который усиливается при переводе ПЛК в Старт. Еще более усиливается при Онлайн, и еше более при включении входов. Это нормально? Проверка цепи +5В осциллографом ничего не дала т.к. даже с закороченными шупами 300мВ шума. О какой внешней помехе на RS485 может идти речь. Работаю на столе в стерильных условиях.
Последний раз редактировалось Иванов Владимир; 03.11.2009 в 14:05.
1. Да, мастер выдает промежуточное состояние.
2. Ошибка 35 будет, если приборы выдаст ответ, аналогичный заданому для негативного ответа (а не отрицательного числа).
3. Про шум ничего не скажу, не сталкивался.