Обновить
2

Пользователь

1
Подписчики
Отправить сообщение
Спасибо за такой большой и развернутый материал по этой теме, так удивительно, что ни одного комментария на эту тему!)
Ещё раз спасибо, буду «углубляться»
Конечно, выкладывайте, интересно ж!
1. Также хотелось бы понять механизм появления данных, считанных по Модбас — в какой момент и как они появляются?.. Скажем, классический сценарий работы ЦПУ — считываем входы, делаем программу — записываем выходы.
Где в этом цикле будет находиться перемещине данных из буфера коммуникационного модуля в область ДБ?.. Нужно ли это учитывать при написании программы? Могут ли данные появиться в середине цикла программы и может ли это повлиять на работоспособность?
Насколько я могу судить, считываемые данные могут появиться в любой момент времени (мы не знаем, через сколько ответит слейв или если есть на линии отваленные устройства то к циклу опроса добавится задержка). Не знаю, важно ли это или нет.

2. Я всё со своей записью в регистры «по изменению» в релеынй модуль WirenBoard.
Как писал выше — кейс: управлять лампочками через релейный модуль «в параллель» с входными сигналами. Релейный модуль меняет состояние выходных каналов по фронту входных сигналов, а также может менять состояние (R/W) выходных каналов через modbus.

Остаётся продумать механизм записи. Похоже, он просто выглядит из, как минимум, 2х циклов: чтение выходов (скажем, слово из 8 бит, по биту на выход), проверки слова на запись, если слово на запись != считанному слову -> посылка слова на запись, непосредственно запись в слейв.

Также для повышения быстродействия, по всей видимости (если опрашиваем ХХ устройств) на отклик — можно предусмотреть «прерывания» — если слова на запись != считанным словам, то изменить шаг с условного 1(считывание первого устройства) на 10 — (запись в 1 устройство).
Но опять же, придётся учитывать, что остальная запись пройдет скорее всего, «в холостую», т… е в остальные слейвы будут записаны те же данные, что там и были(для простоты программы).

3. Эмулятор под S7-1200/1500 позволит протестировать Modbus TCP?.. Лет 9 назад вроде не умел, согласно документации…

4.0 Если использовать Modbus TCP, сколько коннектов можно поднять на S7-1200?.. У него вроде было до 8 коннектов, вот я не знаю — туда входят коннекты Модбаса? Вопрос в том ключе, что как работает драйвер ModbusTСP с несколькими слейвами — если делать опрос «по шагам» — то понятно, что как «поллинг».
А что если использовать несколько экземпляров ModbusTСP драйвера, каждый со своим коннекшеном, могу ли я тем самым повысить быстродействие?
4.1 Такой финт ушами для MB_MASTER (несколько экземпляров) в режиме ModbusRTU Over TCP всё равно не пройдет, ведь я понимаю, один экземлпяр на один коммуникационный модуль?
4.2 Что если я поставлю на каждый конвертер TCP-RTU и буду поднимать отдельный MB_MASTER RTU over TCP на каждый конвертер — в теории это же должно повысить быстродействие (см 4.0)?.. Мало того, можно использовать топологию «звезда».
Скажем, в условиях домашнего применения можно было бы HVAC повесить на один шлейф, а управление светом — на другой и вместо RS485 модуля купить 2 преобразователя TCP-RTU.
Вопрос целесообразности пока не сильно затрагиваю, хотелось бы понять больше принцип работы.
Хотелось бы понять а зачем… «заворачивать» ФБ модбаса в мультиэкземпляр как таковой… Это хорошая практика? В примерах Сименс похожий подход?.. Не должна как по мне, падать программа при изменении формата хранения данных…
Там скорее всего… я не знаю как сказать — драйвер модбаса обращается к «жестко» прописанным адресам в ДБ, и если ДБ «сместить» (добавить новую переменную выше по течению) драйвер модбаса наверное, «сходит с ума»?.. хотелось бы поподробнее понять механизм, что там происходит и почему… По всей видимости, нужен какой-то online memory rebuild или типа того, чтобы после изменения олнайн программа продолжала «жить»…
Возможно, в справке по online change про это что-нибудь рассказано, но я с сименсом давно уже не работал…
Если на лету изменить интерфейс «внешнего» ФБ,

Что значит «интерфейс» внешнего ФБ?.. Изменение его структуры, добавление новых данных и т.д.?
Можно ли как-то автоматически отслеживать, что произошла загрузка\изменение ФБ и запуск инициализации коммуникации «с начала»?.. Либо даже не с начала а с последнего шага…
Может ли в таком случае быть потерян какой-то управляющий сигнал на запись?.. (если мы использовали что-то в стиле one shot в шаге 3, а пере-инициализация началась на шаге 1 и мы «потеряли» команду управления?) В-общем, похоже нужно быть внимательным… Может быть, можно и автоматически останавливать коммуникацию?..
Спасибо, интересно читать ваши статьи, понятно, доходчиво и развернёто.
Я в своё время делал этот обмен на LAD, было больновато)) У вас конечно, на SCL поизящней будет.

Как я вижу — у вас идёт циклическое чтение\запись независимо от условий.
И я вроде, тоже так делал. Однако, в случае, если выходами слейвов может управлять кто-то ещё (например, модуль реле у WirenBoard может переключать выходы от своих входов, а может «рулиться» по модбас — задача управления светом).
Соответственно, нужно делать некий кроссчек на проверку, была ли переменная изменена, чтобы не было такого, что слейв пишет на выход «0», а мы туда статически пишем «1». В ПЧ и т.д. обычно используют режим local\remote либо как здесь некий ControlFromPLC бит, как подтверждение «легитимности» записи.
В-общем, за счёт того, что Modbus в Siemens прописывается «руками» о циклической записи нужно помнить, я так понимю.
Или в дебрях руководства к драйверу что-нибудь написано про то, что если с последней записи данных значения не изменились то в интерфейс новые значения подаваться не будут? В любом случае, это не отменяет необходимость чтения выходов слейва и только потом записи (если пришел реквест на запись).

Пока оставляем прием данных без обработки, компилируем и грузим программу, смотрим на результат. Кстати, обращаю еще внимание на один факт. Поскольку мы работаем, завернув системные вызовы в свой функциональный блок, то любое изменение «своего» ФБ с последующей загрузкой ПЛК, будет нарушать обмен в связи с переинициализацией экземпляра нашего ФБ. Например, будет уходить в ноль значение «шага обмена». Да и внутренние статические переменные коммуникационных вызовов тоже пострадают. Самый простой способ — стоп и старт контроллера. В боевом проекте это опасно, поэтому там на вход Init я бы подал еще одну переменную и поднимал ее самостоятельно после изменений в коммуникациях. Пока же боремся с остановом обмена простым стоп-стартом ПЛК.


Можно ещё раз другими словами?.. Я немного не понял… ПЛК грузится в RUN «онлайн» без стопа? соответственно, модбас драйвер уже инициализирован и новые значения при их прогрузке не подхватывает, так? Напомните, S7-1200 может грузиться онлайн или через стоп?
А блок инициализации можно вызывать принудительно? Не хотелось бы, условно говоря останавливать процесс ради переинициализации обмена данными.

ЗЫ. Планирую поставить какой-нибудь 1200й в качестве главного ПЛК для умного дома.
Кажется, в документации что-то было про то, что по таймауту error взводится или я путаю?
Это прекрасно, но какая же это боль для непосвящённого)) а так хочется…
Архив программы новостей наверняка есть у самого телеканала) вопрос как сделать какую-то структуру хранения данных, которая 1-2-100 тысяч лет выдержит?)
ну 100к лет может и не надо, хотя бы 1-2))
Если посмотреть на историю — что творилось 2000 лет назад еле разобрать — бумага полустлевшая, города под слоем пепла, так и приходится восстанавливать по черепичкам.
На чём хранить данные, чтобы они считались без проблем? Гранит? Нержавейка? Супер-пупер пластик?
А что, сделал «базовый» бэкап, а потом наращивай его «инкрементальными» архивами)))
Просто исходить из того, что библиотеки децентрализованы по городам? А что, если они пропадут? Как много нам понадобится времени, чтобы вернуть назад знания из этих библиотек? А сколько ещё «необщедоступных» знаний про военную технику и т.д… Но этот момент пока можно было бы опустить.
Таке интересно, умноженной или делённой на Пи. А почему бы не на е?) или на любую другую константу?) да и насчёт константы это неточно)))))
Просто в доступе в офрме бункера и легко читаемый знаю грубо говоря только пирамиду. Обеспечивать считываемость информации на тысячи лет кроме гранита тоже материалов не знаю. Какие пароли и клавиатуры, какие резерные источники?) Если мы будем говорить о скажем, тысячах лет запаса на работоспособность?)
вроде как была где-то заметка, что не очень разумно было Землянам, находящимся на данной стадии развития «светиться» в космосе, заявляя о себе)) В любом случае, вояджер далеко не улетит особо, там до ближайшей экзопланеты вроде как 4 световых года, так что сильно волноваться не стоит.

А по поводу бэкапа — если не для рептилоидов то хотя бы для самих себя. Сколько понадобится человечеству времени чтобы достигнуть существующего уровня если будут утеряны скажем 80% данных\технологий?
Хотя бы на уровне государства этот вопрос имел сколько нибудь значимый вес? что будет если исчезнут все научные библиотеки, институты и т.д.? Наверное, никто не рассматривал такое развитие событий всерьёз. Я к тому, что сколько времени нужно было чтобы все эти матаны, теории вероятностей и т.д. были положены «на бумагу», и что будет если мы утеряем эти данные?

А дальше по поводу памятника человечеству (себе любимым) — вроде слышал о каком-то хайповом проекте типа современной пирамиды. Почему бы не построить нечто такое, скажем, выдерживающее ядерный удар? Конечно же, всякие ITER'ы и т.д. по своей наукоёмкости, сложности и стоимости наверное, превосходят пирамиду Хеопса:
«По оценкам специалистов строительство пирамиды Хеопса могло обойтись фараону в сумму от 5 до 12 миллиардов долларов на современные деньги.» — из интернетов.
Не самые большие деньги, как по мне, с учетом военного бюджета США в сотни миллиардов в год)))
А ведь можно было бы поверх еще и ТВ-шоу сделать типа Дом-2, часть денег вернуть?)

То же самое и с полётом на Марс хотя бы. Скинулись бы всем миром по миллиарду-другому, на 200 миллиардов можно было бы неплохую программу сбацать. Но пока, к сожалению, человека немного некогда делать ТВ-шоу из полёта на Марс… а жаль…
Мне тоже непонятно, почему не раскрыто преимущество между преобразованаием СЭС в электричество->потребитель против СЭС->электролиз->водород?
Или основной принцип в том, что в течение дня СЭС может производить гораздо больше электричества, чем утилизировать и водород это способ хранения энергии?
Плюс если помножить на, что технология развивается в Японии, а там, как я понмю из географии за 7й класс полезных ископаемых (энергии) совсем бы сказать мало. Может быть, это часть какой-то программы энергетической независимости Японии?
Если так, у них остаётся только солнце, но тогда возвращаюсь к первому вопросу — почему энергию солнца эффективнее преобразовывать в водород, а не использовать в виде электричества
Может быть, нужно начать с зарплаты, а дальше всё станет более-менее понятно?..
Немного не по теме, но пока не встречал места, где можно было бы подискуссировать не следующую тему: некий бэкап всех знаний\технологий человечества.
Насколько вероятно, что в случае масштабного катаклизма на замле (война, климат и т.д) в случае гибели бОльшей части людей «погибнут» все наши знания? Наши накопленные знания сейчас по-большому счёту, в бумажных книгах\чертежах, в головах и компьютерах. Насколько вероятно, что в случае мировых катаклизмов мы потеряем людей, владеющих знаниями и носители знаний? Или нужно исходить из того, что знания слишком «децентрализованы» — т.е. научные библиотеки распространены по всему миру?
Мелькнула мысль, что не нужно ли людям сделать некое хранилище-бэкап всех знаний? Пирамида Хеопаса между тем неплохо сохранила в себе знания о цивилизации 4000-летней давности. Нам случайно не нужна такая или раза в три больше? Или децентрализованная сеть бункеров со «знаниями» по всей планете?)
Почему бы в конце концов, не построить пирамиду раза в 3 больше хеопсовской just for fun?) В космос родстеры запускаем, на Марс\луну летаем, почему бы и на земле не построить Памятник Человечеству?)
У вас в декабре хороший рывок получился по качеству. Последние скетчи мне очень понравились, в частности где боец наносит удар ногой.
Блин заинтриговали! Одним предложением — почему люди научились лучше рисовать?)))
А можно поподробнее о том как это вообще выглядит и работает? Первый раз слышу про такое))
Желаю вам всяческого развития и процветания!)

Если бы взяли идеи и практики из Iobroker (количество драйверов, гибкость, телеграмм и т.д.), добавили Pro-mode в виде скриптов на какие-то «замороченные» события и логику (для DIYщиков), сделали некий «магазин» или просто «библиотеку» скриптов, добавили возможность делать кастомный HMI (Iridium)… Я бы за это заплатил!
Iobroker страдает, как по мне, отсутствием мануалов\гайдов на российском пространстве, но при этом очень гибок. Вы могли бы занять хорошую нишу устройства для интеграции «всего-в-одно». Жду когда кто-то наладит выпуск производительного мини-пк с HMI из коробки но при этом будет давать широкие возможности по интеграции (не вендор-лок) и глубокого кастомайзинга для DIY.

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность