Archived

Этот пост заблокирован, редактирование отключено

ОборудованиеПрограммируемый логический контроллер Z401Re: Программируемый логический контроллер Z401

Исходное сообщение:
serge197a, 01.04.2016, 22:17
serge197a
Re: Программируемый логический контроллер Z401
[quote author=mike link=topic=3.msg1343#msg1343 date=1459537819]
Остался последний момент.
Но это уже у меня вопрос к вам. А зачем вам динамически изменяемые номера регистров подчиненного?
Входы "читать 1...6" и "читать 10...11"

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

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

Поясните пожалуйста :
"Вам осталось добавить детектор связи с подчиненным"
не совсем понял или я уже это сделал?
Ответы:
mike, 18.03.2015, 11:09
mike
Re: Программируемый логический контроллер Z401
Добрый день!
да, в выходные выложим на сайте
mike, 01.04.2016, 23:09
mike
Re: Программируемый логический контроллер Z401
У меня бета 105.
Должно работать. Что пишет при импорте?

Только что попробовал скачать - открывает без проблем.
serge197a, 01.04.2016, 23:40
serge197a
Re: Программируемый логический контроллер Z401
Все разобрался. При импорте писал, что с таким именем существует,
переименовывал, не понимал, что он требует др. дирректорию.
В общем разобрался.
Проблема в том, что при попытке импорта создается новая папка и я этого не понял.

Переделал, как у Вас, но подскажите в скрине сверху допустимо так ошибку связи проверять?
насколько я понял, у нас параметр еррора тоже фиксируется и я полагал, что если более 5 сек ошибка висит, то ...?
Или все же как у Вас?
mike, 02.04.2016, 07:22
mike
Re: Программируемый логический контроллер Z401
Допустимо. Строб появится только в том случае, если чтение успешное. Если пришла ошибка - строб не появится. Это есть в инструкции и в документе по работе в сетях (кстати, очень полезный док. Лежит на сайте в разделе документы. Называется "Работа в Modbus сетях).

Параметр ошибки фиксируется только на момент прихода этой ошибки (это естественно). Можно делать и по ошибке - тут для творчества безграничное поле.
Например, анализируя ошибки, можно строить сканеры регистров, устройств и т.п.
mike, 02.04.2016, 07:24
mike
Re: Программируемый логический контроллер Z401
Хотел дать маленький совет.
Вы можете включить вашу программу в симулятор, а к COM порту компьютера подключить подчиненного, которого из симулятора вы сможете опросить.
Так можно отладить программу на однопортовых машинах.
VoronovMaksim88, 02.04.2016, 11:52
VoronovMaksim88
Re: Программируемый логический контроллер Z401
[quote author=mike link=topic=3.msg1357#msg1357 date=1459571071]
Хотел дать маленький совет.
Вы можете включить вашу программу в симулятор, а к COM порту компьютера подключить подчиненного, которого из симулятора вы сможете опросить.
Так можно отладить программу на однопортовых машинах.
[/quote]
А как при этом топология сети будет выглядеть ?
mike, 02.04.2016, 12:51
mike
Re: Программируемый логический контроллер Z401
А я в этом топике уже показывал ее.
401+ Рабочая станция.
Только включать надо не отладку в устройстве, а симуляцию.
Тогда 401 начнет посылать запросы к рабочей станции, а она будет их передавать реальному подчиненному через тот порт, который был указан в настройках
serge197a, 02.04.2016, 16:19
serge197a
Re: Программируемый логический контроллер Z401
Здравствуйте mike!
Я тут запись в слейв накидал.
кстати именно прочитав документ с сетями. я перестраховался и в первой версии опроса написал все как в том документе.
Посмотрите пожалуйста правильно ли я сделал ФБ записи. Особенно в плане постучать в слейв при ошибке. Не понял у нас если EN =1, то отправка инициируется один раз по фронту или каждый цикл, пока En=1

Про разнесение опроса по времени- это у меня от опыта работы с Дельтой по модбасу. Дельта больше 3-х регистров в цикле корректно не опросит. нужно разносить. Поэтому и здесь перестраховался.
mike, 04.04.2016, 13:57
mike
Re: Программируемый логический контроллер Z401
Почти правильно.
Только мы же должны знать начальное состояние подчиненного (значение переменной).
Например, при подаче питания.
Следовательно, надо сначала считать, а затем уже принимать решение на запись.
serge197a, 04.04.2016, 14:21
serge197a
Re: Программируемый логический контроллер Z401
Я исходил из того, что по умолчанию(включении питания)
у нас в переменных на входе макроса и внутри нули, т.к. переменные мы не сохраняем.
После считывания значения из слева (ПМП) на входе значение будет отличным от нуля.
и при каждом изменении, будет инициироваться запись.
Планировал в ФБ добавить счетчик ошибок, чтобы отключать попытки записи при неисправности или
отключении слейва.
К примеру отсчитали 20 неудачных посылок, выставили флаг и больше не стучимся в слейв до перезагрузки.
С этим вопросов нет.

Спасибо. Вы мне сильно помогли.