Панель пользователя

Автор Тема: Программируемый логический контроллер Z401  (Прочитано 1629 раз)

Оффлайн serge197a

  • Постоялец
  • ***
  • Сообщений: 245
  • Карма: +0/-0
Re: Программируемый логический контроллер Z401
« Ответ #15 : 01 Апрель 2016, 22:17:40 »
Остался последний момент.
Но это уже у меня вопрос к вам. А зачем вам динамически изменяемые номера регистров подчиненного?
Входы "читать 1...6" и "читать 10...11"

В принципе все. Вам осталось добавить детектор связи с подчиненным и обработку ошибок от него для формирования поведения мастера в случае отсутствия связи.

я пока ждал ответа, решил еще разбить по времени опрос(чтоб не в 1 цикл) и написал обработку ошибок и блок разросся до приличных размеров.
Номера не изменяю динамически, просто так, как шаблон. Во входах макроса прописаны константы.
Спасибо. Все оказалось значительно проще.

Поясните пожалуйста :
"Вам осталось добавить детектор связи с подчиненным"
не совсем понял или я уже это сделал?

Оффлайн mike

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1102
  • Карма: +22/-1
Re: Программируемый логический контроллер Z401
« Ответ #16 : 01 Апрель 2016, 22:21:04 »
Секунду, сейчас посмотрю.

Оффлайн mike

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1102
  • Карма: +22/-1
Re: Программируемый логический контроллер Z401
« Ответ #17 : 01 Апрель 2016, 22:27:37 »
Детектор ошибок ошибочный)))
Вы не даете подчиненному шансов!
А вдруг пакет "проглотит" или подчиненный затупит?

Я бы реализовал "отвал" подчиненного по отсутствию строба rdy в течение какого-то разумного времени.
А ошибки использовать по необходимости, если от этого зависит "поведение" алгоритма

Оффлайн mike

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1102
  • Карма: +22/-1
Re: Программируемый логический контроллер Z401
« Ответ #18 : 01 Апрель 2016, 22:29:22 »
Что касается разбивки запроса. Такое кол-во переменных нет смысла разбивать по времени. Вот сотню другую - тут можно подумать.

Оффлайн mike

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1102
  • Карма: +22/-1
Re: Программируемый логический контроллер Z401
« Ответ #19 : 01 Апрель 2016, 22:30:46 »
Все переменные на сцене избыточны для этой задачи.

Оффлайн serge197a

  • Постоялец
  • ***
  • Сообщений: 245
  • Карма: +0/-0
Re: Программируемый логический контроллер Z401
« Ответ #20 : 01 Апрель 2016, 22:33:17 »
понимаю, но это шаблон. я это для наглядности.
Сейчас перепишу детектор.

Оффлайн mike

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1102
  • Карма: +22/-1
Re: Программируемый логический контроллер Z401
« Ответ #21 : 01 Апрель 2016, 22:37:34 »
Я почти закончил, сейчас выложу
Готово
« Последнее редактирование: 01 Апрель 2016, 22:43:05 от mike »

Оффлайн serge197a

  • Постоялец
  • ***
  • Сообщений: 245
  • Карма: +0/-0
Re: Программируемый логический контроллер Z401
« Ответ #22 : 01 Апрель 2016, 22:59:48 »
Посмотрите, правильно?
А ваш файл не могу открыть.
сохранил, импортирую. но не открывает.

Оффлайн mike

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1102
  • Карма: +22/-1
Re: Программируемый логический контроллер Z401
« Ответ #23 : 01 Апрель 2016, 23:09:27 »
У меня бета 105.
Должно работать. Что пишет при импорте?

Только что попробовал скачать - открывает без проблем.
« Последнее редактирование: 01 Апрель 2016, 23:11:08 от mike »

Оффлайн serge197a

  • Постоялец
  • ***
  • Сообщений: 245
  • Карма: +0/-0
Re: Программируемый логический контроллер Z401
« Ответ #24 : 01 Апрель 2016, 23:40:09 »
Все разобрался. При импорте писал, что с таким именем существует,
переименовывал, не понимал, что он требует др. дирректорию.
В общем разобрался.
Проблема в том, что при попытке импорта создается новая папка и я этого не понял.

Переделал, как у Вас, но подскажите в скрине сверху допустимо так ошибку связи проверять?
насколько я понял, у нас параметр еррора тоже фиксируется и я полагал, что если более 5 сек ошибка висит, то ...?
Или все же как у Вас?

Оффлайн mike

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1102
  • Карма: +22/-1
Re: Программируемый логический контроллер Z401
« Ответ #25 : 02 Апрель 2016, 07:22:36 »
Допустимо. Строб появится только в том случае, если чтение успешное. Если пришла ошибка - строб не появится. Это есть в инструкции и в документе по работе в сетях (кстати, очень полезный док. Лежит на сайте в разделе документы. Называется "Работа в Modbus сетях).

Параметр ошибки фиксируется только на момент прихода этой ошибки (это естественно). Можно делать и по ошибке - тут для творчества безграничное поле.
Например, анализируя ошибки, можно строить сканеры регистров, устройств и т.п.

Оффлайн mike

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1102
  • Карма: +22/-1
Re: Программируемый логический контроллер Z401
« Ответ #26 : 02 Апрель 2016, 07:24:31 »
Хотел дать маленький совет.
Вы можете включить вашу программу в симулятор, а к COM порту компьютера подключить подчиненного, которого из симулятора вы сможете опросить.
Так можно отладить программу на однопортовых машинах.

Оффлайн VoronovMaksim88

  • Ветеран
  • *****
  • Сообщений: 684
  • Карма: +8/-1
  • www.sibplc.ru
Re: Программируемый логический контроллер Z401
« Ответ #27 : 02 Апрель 2016, 11:52:45 »
Хотел дать маленький совет.
Вы можете включить вашу программу в симулятор, а к COM порту компьютера подключить подчиненного, которого из симулятора вы сможете опросить.
Так можно отладить программу на однопортовых машинах.
А как при этом топология сети будет выглядеть ?

Оффлайн mike

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1102
  • Карма: +22/-1
Re: Программируемый логический контроллер Z401
« Ответ #28 : 02 Апрель 2016, 12:51:42 »
А я в этом топике уже показывал ее.
401+ Рабочая станция.
Только включать надо не отладку в устройстве, а симуляцию.
Тогда 401 начнет посылать запросы к рабочей станции, а она будет их передавать реальному подчиненному через тот порт, который был указан в настройках

Оффлайн serge197a

  • Постоялец
  • ***
  • Сообщений: 245
  • Карма: +0/-0
Re: Программируемый логический контроллер Z401
« Ответ #29 : 02 Апрель 2016, 16:19:02 »
Здравствуйте mike!
Я тут запись в слейв накидал.
кстати именно прочитав документ с сетями. я перестраховался и в первой версии опроса написал все как в том документе.
Посмотрите пожалуйста правильно ли я сделал ФБ записи. Особенно в плане постучать в слейв при ошибке. Не понял у нас если EN =1, то отправка инициируется один раз по фронту или каждый цикл, пока En=1

Про разнесение опроса по времени- это у меня от опыта работы с Дельтой по модбасу. Дельта больше 3-х регистров в цикле корректно не опросит. нужно разносить. Поэтому и здесь перестраховался.