Это копия, сохраненная 7 июня 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Предыдущий https://2ch.hk/wrk/res/1998066.html (М)
http://plc4good.org.ua/
http://www.step7-pro.ru/
http://s7detali.narod.ru/
http://curswincc.narod.ru/
Всё вышеуказанное по б-гомерзкому сименсу
Ещё кое что:
http://knowkip.ucoz.ru/
http://plcforum.uz.ua/
http://iprog.pp.ru/
http://www.infoplc.net/
http://asutpforum.ru/
Кидайте свои, добавим.
Краткая суть: в этом треде обсуждается автоматизация производственных процессов в промышленности: ПЛК, частотники, сервоприводы, датчики, протоколы обмена, промышленные ПеКа, шкафы управления - всё это здесь. С бытовой автоматизацией т.е. микроконтроллерами@ардуинами и прочими умными домами — милости прошу в радач.
В треде приветствуются инженеры АСУТП и КИПиА и программисты соответствующих направлений, а так же их покорные рабы — слесари, наладчики и монтажники всех мастей, студентота — на свой страх и риск.
Рекомендуемая литература:
По ПЛК:
Г. Бергер - Автоматизация посредством STEP 7 с использованием LAD и FBD и програмируемых контроллеров SIMATIC S7-300/400 http://dfpd.siemens.ru/assets/files/infocenter/Documetations/Automation_systems/STEP7/Berger_STEP7_LAD&FBD_r.pdf
Поновее
https://cache.industry.siemens.com/dl/files/040/90885040/att_915463/v1/81318674_Programming_guideline_DOC_v15_en.pdf
https://ftp.owen.ru/CoDeSys3/98_Books/plcopen_coding_guidelines_v10_11_ru.pdf
Э. Парр - программируемые контроллеры, руководство для инженера
Минаев И. Г., Самойленко В. В. - Программируемые логические контроллеры. Практическое руководство для начинающего инженера
Петров И.В. - Программируемые контроллеры
По ТАУ:
Ким Д. П. - Теория автоматического управления. Т. 1-2
Клюев А.С. - Автоматическое регулирование
По электронике:
Бриндли К., Карр Дж. Карманный справочник инженера электронной техники
По ТОЭ:
Бессонов Л.А. - Теоретические основы электротехники
Соколовский Г.Г. - Электроприводы переменного тока с частотным регулированием
Фираго Б.И. - Теория электропривода, Расчеты по электроприводу производственных машин и механизмов : учебное пособие
Блажкин А.Т. - Общая электротехника http://padabum.net/x.php?id=33626
По сетям:
Дж.Парк и др. - Передача данных в системах контроля и управления
Денисенко В. В. - Компьютерное управление технологическим процессом, экспериментом, оборудованием
Таненбаум Э., Уэзеролл Д. Компьютерные сети
Дизайн ЧМИ:
Bill Hollifield - The High Performance HMI Handbook
Dive into ASUTP http://www.ibiblio.org/kuphaldt/socratic/sinst/book/liii.pdf
Книга по метрологии: У. Болтон Карманный справочник инженера метролога 2002 г.
По частотным преобразователям:
http://www.radiosovet.ru/book/teoria/156-preobrazovateli-chastoty-prosto-o-slozhnom.html
МЭК-стандарт IEC_61131-3 по языкам
https://meganorm.ru/Data2/1/4293755/4293755016.pdf лист 190
https://ru.wikipedia.org/wiki/IEC_61131-3
Ссылки для проектировщиков:
http://opiobjektid.tptlive.ee/Automatiseerimine/index.html
http://www.electrolibrary.info/main/kuzmenko.htm
https://bookasutp.ru/
http://simatic-market.ru/catalog/Siemens-CA01/10045650/info/
Цыгане атакуют, и наше руководство клюёт на это дело. Похеру, что на площадке все трубы сгнили, а петровичи-операторы в засаленных спецовках сидят за столами старше их самих.
Показательна вот эта статья, особенно комментарии под ней.
https://habr.com/ru/company/croc/blog/526592/
Т чувтсвую у нас будет примерно так же.
мне интересно как они будут predict поломку динамического оборудования, когда, например, превышение по вибрации означает уже появившийся дефект.
Возможно собирание статистики по жизни датчика определённых моделей в определенных условиях? Таким образом менять херовые модели на немного менее херовые?
> Да, очень перспективное направление — виртуальные датчики. К слову, можем отдельно пообщаться по теме для обмена опытом.
Нормально. Виртуальные концевые, например.
Иконка, которая красится в зелёный или красный цвет от положения клапана или там расхода в трубе или температуры в трубе? И ради этого пилить бюджеты и лепить лагучее говно поверх АСУТП.
Это просто в экселе асушник может отмечать, нахуя для этого городить дата Озёры и прочую хуйню?
У нас есть 20 устройств сименс лого, распределенных по территории предприятия, работающих круглосуточно в течение нескольких лет, и управляющих производственными процессами, подключенных к головному устройству cpu315-2 pn/dp через оптические свичи FL SWITCH SFN 15TX/FX. Схема сети пикрел если меня не наебали сисадмины. Максимальная дистанция от лого до свича - около 50м. Между свичами до 100м.
Нам необходимо, чтобы лого всегда были на связи, пропажа связи хотя бы с одним любым контроллером дольше чем на 5 секунд КРАЙНЕ недопустима. При пропаже связи происходит аварийная остановка всего.
Я сделал диагностику выполнения программы через флаг и генератор импульсов.
Проблема в том примерно раз в 2-3 дня происходит единичная кратковременная (8-11 секунд) пропажа связи с каким-нибудь контроллером. С чем это может быть связано и как устранить проблему?
Все сименс лого выпуска 2016-2018 годов.
Знатно пригорело от статьи. Цыганам тоже хочется кушать, цыгане развели руководство на бабки, точнее откатив кому положено. Вот так и падает мотивация по перекату в разработку: а вдруг попаду в шарагу с кабанами и циганами и буду кататься по ржавым мухосраням и впаривать ИоТ гей-хипстер решения.
Кстати виртуальные концевые это классика робототехники. Когда у тебя энкодер положения и ты в программе задаёшь крайние положения, куда не стоит поворачивать звено. Например точно есть на роботах KUKA.
Честно говоря, у меня подобная заставляет шевелится волосы на голове, но таким макаром вы экономите 300 евро, так что ладно.
Но я, никогда лого в руках не державший, бы так поступил
1. Вместо бита поставил int.
2. Логику поменял бы так лого берет инт от 300тог, увеличивает на 1, и пересылает обратно.
3. При обрыве связи запоминать значение, и смотреть где больше.
Тот контролер на каком счетчик больше и является источником проблемы. Попробовать обновить прошивку.
>>228161
Ну скажем это не совсем виртуальный. Он высчитывается от начальной точки на основе реальных данных.
>Тот контролер на каком счетчик больше и является источником проблемы.
Так я вижу с каким контроллером проблема. На каждом лого работает генератор импульсов. А на 300-м для каждого лого соответствующий блок данных. Соотв-но когда перестал флаг меняться, значит лого отвалился.
>никогда лого в руках не державший
Чому так?
>1. Вместо бита поставил int.
Так принципиально ничего не меняется, насколько я понимаю.
> Так я вижу с каким контроллером проблема. На каждом лого работает генератор импульсов. А на 300-м для каждого лого соответствующий блок данных. Соотв-но когда перестал флаг меняться, значит лого отвалился.
Да, но в таком случае ты не знаешь кто именно отвалился, лого от 300 или 300 от лого.
> Чому так?
Сектор такой.
> Так принципиально ничего не меняется, насколько я понимаю.
Ну, если нудить, то меняется. Чисто теоретически если частота мигания бита выше чем частота чтения то можно пропустить такты таким паршивым образом что считаешь ноль 10 раз подряд несмотря на работающую связь.
Короче, все по Котельников (Найквисту для ИоТбагов)
Я дальтоник отработал 10 лет киповцем, все норм делал. Просто там не только на цвет смотреть надо. Это просто плохому танцору всегда что то мешает. А из за таких картинок неверное представление формируется о таких как я.
Режь зеленый Чип.jpg
Э, но ведь вероятность считать 0 10 раз подряд крайне мала, 1/2 в 10й степени, нет?
В лого создал слейв езернет конекшн. Там прописал какие байты куда отправлять. И он пишет в блоки 300го.
Скрин чего? Вот скрин с настроек на лого. Никаких триггеров нет, просто постоянно пишет. В 300-м нашел только 1 сек реалтайм коммуникешйн, это оно?
Есть дозаторная на старом говно-ПК с PCI-платами ввода-вывода. Хочу перевести на сименс и вместо скады веб-морду написать, чтобы любой пк можно было с браузером воткнуть без ебли с лицензиями и т.д..
Задача у оператора нажать пару кнопок и задать дозу, контроллер дальше сам всё сделает.
Как быстро будут обновляться динамические поля (текущая доза, остаток)?
>Как быстро будут обновляться динамические поля (текущая доза, остаток)?
В районе секунды вроде.
>Хочу перевести на сименс и вместо скады веб-морду написать,
Лучше не лезь в это говно, там подводных камней до жопы. Если все-таки полезешь - начни отсюда:
https://www.dmcinfo.com/latest-thinking/blog/id/8567/siemens-s7-1200-web-server-tutorial--from-getting-started-to-html5-user-defined-pages
>А отвал ты детектишь только по этому биту?
Ну да.
>Попробуй уменьшить частоту до 2 секунд.
Пробовал, та же хуйня.
На 300м сделано так, что если сигнал не приходит больше 5 секунд, то регистрируется отвал. И таймер считает. Все отвалы происходят на время 11-15 секунд.
Отваливаются все через разные промежутки времени (от 1 до 7 дней или больше), никаких закономерностей в отвалах не нашел, кроме одной: время отвала не больше 15 секунд.
Вообще на сайте я так понял прошивка для лого 8.2, и она не подходит под 8.1, которые у меня.
>А как обновить прошивку на лого?
Через карту памяти. Бинарники надо залить и передернуть питание. https://www.youtube.com/watch?v=aw5M6x2yQl0
>Вообще на сайте я так понял прошивка для лого 8.2, и она не подходит под 8.1, которые у меня
Там версия железа зашита в заказной номер. На более старых где 8.1 там ещё писали FS04/FS05 и т.п. индентификаторы.
Для более старых, чем текущие, вот относительно свежий апдейт (хотя там только секьюрити) https://support.industry.siemens.com/cs/document/109780764/product-information-on-the-firmware-update-for-logo!-8-for-security-vulnerability-cve-2020-7593-?dti=0&lc=en-WW
Либо вот это, видимо с последними основными изменениями под твоё железо https://support.industry.siemens.com/cs/document/109750845/product-information-on-the-firmware-update-for-logo!-8-fs:04-and-fs:05-?dti=0&lc=en-WW
Но вообще по хорошему вбивай заказной нормер BM на сайте и ищи по нему.
А в чем?
Я кстати менял алгоритм обработки в 300м, но не помогло.
Возможно дело в сети. Я ебал мозги сисадминам, они ставили логгер, и он ничего не поймал. Но он сканирует раз в минуту, а отвалы не дольше 15 секунд, так что хз
Несколько уточняющих вопросов
1. У тебя всегда такое количество лого было или ты их постепенно наращиваешь?
2. Судя по твоим скринам ты цепляешься по S7-connection. Как ты это делаешь с 20+ лого, если 315-2 pn/dp держит до 16 коннецкций? Твои лого, по идее, стучатся на цпу и тому приходится сбрасывать существующие коннекции.
3. Я так понимаю, в 300ом у тебя коннекции с лого вообще не указаны?
4. Не увеличивалась ли программа в 300ом логика такая: выросло время цикла -> коннекции, обрабатывающиеся асинхронно не успевают?
5. Отвал лого всегда одиночный? У тебя на пике есть 2 лого на 1 свиче, они могут отваливаться по отдельности это если мы верим, что сеть устроенна так? Когда ты диагностируешь отвал одного лого связь с другими точно не прерывается в том плане как у тебя написана диагностика, и не можешь ли ты принять развал сети за неисправность 1 лого?
Но вообще конечно сам факт, что у вас лого стучатся на контроллер, а не цпу опрашивает лого это такое себе решение. Да и то что сеть у тебя одноранговая + нет кольца такое себе.
Забыл пикчу прикрепить
>1. У тебя всегда такое количество лого было или ты их постепенно наращиваешь?
Наращивал, начинал с 3 лого.
>2. Судя по твоим скринам ты цепляешься по S7-connection. Как ты это делаешь с 20+ лого, если 315-2 pn/dp держит до 16 коннецкций? Твои лого, по идее, стучатся на цпу и тому приходится сбрасывать существующие коннекции.
Я обошел этот момент так: на одном из лого я настроил дополнительный S7-мастер, и 4 других лого скидывают байты на него. А потом уже этот промежуточный скидывает на 300-й.
>3. Я так понимаю, в 300ом у тебя коннекции с лого вообще не указаны?
Указаны. Иначе он бы их и не увидел.
>4. Не увеличивалась ли программа в 300ом логика такая: выросло время цикла -> коннекции, обрабатывающиеся асинхронно не успевают?
Не совсем понял. Как такое может быть?
>5. Отвал лого всегда одиночный? У тебя на пике есть 2 лого на 1 свиче, они могут отваливаться по отдельности это если мы верим, что сеть устроенна так? Когда ты диагностируешь отвал одного лого связь с другими точно не прерывается в том плане как у тебя написана диагностика, и не можешь ли ты принять развал сети за неисправность 1 лого?
У меня всего 3 свича. На каждом подключено по несколько лого.
Нет, отвалы лого всегда одиночные (только если отваливается промежуточный, то и все под ним отваливаются)
>Но вообще конечно сам факт, что у вас лого стучатся на контроллер, а не цпу опрашивает лого это такое себе решение.
Ну я сделал как проще всего. Как цпу опрашивать лого, я не вкурил что-то.
>Да и то что сеть у тебя одноранговая + нет кольца такое себе.
Разве с лого реально сделать кольцо? Это небось коммутаторы хитровыебанные покупать надо.
>Но вообще конечно сам факт, что у вас лого стучатся на контроллер
По моему весь корень проблемы. Я даже подумать не мог, что кто-то в этом треде так может сделать.
Ну, скажем так, та архитектура что у тебя крутится довольно своеобразная.
>Вчера заменили
>До сих пор не было отвалов этих двух лого
Ты же говорил, что у тебя рандомно, вплоть до раза в неделю? По идее же не показатель.
Не знаю, мне всё-таки кажется, что у тебя падают коннекции на стороне контроллера, а не в самих лого. Ведь сами лого выполняют свой функционал, когда нет сети, и ничего у тебя там не встает.
Учусь на направление "Управление в Технических системах. Системы и средства автоматизации автоматических процессов". Что это за дерьмо? Я за 2 года обучения Да-да, спец предметы обычно начинаются с 3его курса так и не осознал, что за "образование" получу в будущем?
Инженер? Автоматчик? Инженер-автоматчик?1-С программист в Магните?
>Ведь сами лого выполняют свой функционал, когда нет сети, и ничего у тебя там не встает.
Почему ты так уверен?
Вообще сложно понять встает или не встает, т.к. людей там нет, и за 10 секунд туда не добежать, и логов на самом лого не ведется. Может и не встает, а может и встает хуй знает.
>Ты же говорил, что у тебя рандомно, вплоть до раза в неделю? По идее же не показатель.
Да. Будем зоонаблюдать. По крайней мере уже 2 дня без отвалов.
Институт микроприборов и систем управления (МПСУ) осуществляет подготовку бакалавров (срок обучения 4 года) по направлению «Управление в технических системах», по профилю подготовки «Технические средства автоматизации и управления».
Особенностью этого направления является ориентирование на обучение:
автоматизации технологических процессов в микро- и наноэлектронике;
применению микропроцессоров и компьютеров в системах управления различного назначения;
передовым технологиям проектирования изделий, систем и производств.
Выпускники успешно работают на различных государственных и коммерческих предприятиях, занимаясь:
разработкой электронной аппаратуры контроля и управления на базе микропроцессорной техники;
разработкой информационно-управляющих систем, как для нужд производства, так и для автоматизации офисной деятельности;
эксплуатацией и обслуживанием технологического, контрольно-измерительного и информационного оборудования;
созданием прикладного программного обеспечения для информационных систем и систем проектирования.
Постарайся сам для себя сформулировать чего ты хочешь. Образование не гарантия твоего трудоустройства. Да да, знаю звучит банально. Но я часто сталкивался с людьми которые до последнего думали, что будут по специальности работать
Но тем не менее техническая вышка неплохо мозги прочищает и систематизирует, если учится конечно же.
>Образование не гарантия
Я это прекрасно знаю. У меня старшая сестра тому отличный пример.
А про техническую вышку я спокоен. Мне учится не доставляет никаких особых хлопот, поэтому я не думаю, что в последний момент изведусь на говно и скажу, что мне это не надо.
>разработкой электронной аппаратуры контроля и управления на базе микропроцессорной техники;
разработкой информационно-управляющих систем, как для нужд производства, так и для автоматизации офисной деятельности;
эксплуатацией и обслуживанием технологического, контрольно-измерительного и информационного оборудования;
созданием прикладного программного обеспечения для информационных систем и систем проектирования.
Это что? Бош-Сименс?
Это схемота, кодинг и разработка готовых продуктов для здесь присутствующих в зависимости от того, куда попадешь.
Если, конечно, хорошо закончишь а для этого надо начинать задротить профильную литературу помимо учебников прямо сейчас и удачно попадешь.
>Почему ты так уверен?
Предположение. Я просто хз что у тебя за производство, но если условно лого крутят какой-нибудь насос или компрессор, то вряд ли там по программе можно самопроизвольно включаться после перезагрузки лого. Лого то у тебя ведь всё равно чем то управляют, а не просто для сбора сигналов?
А что подразумевается под профильной литературой?
Какой-нибудь труд по ТАУ Бессекерского?
Я говорю, учусь как в анабиозе.
>Лого то у тебя ведь всё равно чем то управляют, а не просто для сбора сигналов?
Да. Но там нет такого, что нажал кнопку и оно работает пока не выключишь. Есть "нажал кнопку-включилось на 10 секунд" и тд. То есть нельзя узнать, что лого останавливался, если он продолжает работать.
Орнул
>>234455
>А что подразумевается под профильной литературой?
1. Определяешься, кем хочешь быть по жизни.
2. Находишь форумы тех, кто давно месит эту глину.
3. Читаешь гайды по вкату. Двач в этом отношении - райское место в рунете.
4. Педалишь аккординг ту чек-лист, попутно снимая шекели с одногруппников.
5. Profit
Опционально можно заебывать пользователей тех же форумов/групп/чатов на тему того, что не понятно.
На Биг_асу группа, посвященная обсуждаемой специальности ИТТ студенты вообще не комплексуют и спрашивают все, что в голову придет. Вплоть до сделайте за меня курсовую.
Спасибо за совет, анонче. Хотелось бы побольше узнать о кодинге и схемах, а то пока не особо понимаю. Я вообще думал, что учусь на инженера какого-то ^__^
Так это и есть инженерия, причем одна из самых задротских, если владеть этим на хорошем уровне.
Я бы на твоем месте сперва узнал на кого ты учишься в университете, а не на анонимном форуме для анимешников.
Нет, ты пойми, я не называю тебя плохим специалистом, и твои причины очень логичны и понятны. Просто это все у тебя слишком выросло, и рискует наебнутся под собственным весом при дальнейшем росте.
4 курс асутп в машиностроении. Первые два курса была чистая инженерка, потом электрику, привода рассказывали, сейчас вот тау и автоматику рассказывают.
Ваша спецуха примерно по такой же проге идет, так что, будете всем по чуть чуть, а в итоге нихуя. Если реально хочешь что то выучить - иди на всякие курсы если юниверсити позволяет. На кафедрах как правило какие никакие проекты есть.
Я, например, просто учился по программе, и по сути сейчас червь-пидор с нулевыми знаниями. Урывки из каждой области есть, а по факту...
Я тоже сейчас замечаю, что у нас какая-то раскиданная как куски говна программа. То гидравлика, то инженерка, то ТАУ. Единственный вариант, которая я вижу - вкат в Автокад. Он у меня полгода был в программе, но потом благополучно исчез. С этой херней и пофрилансить еле-еле, но можно.
>>235827
У большинства так было, но опять же, как я замечал, многие на этом останавливаются и изучают только то, что им усачи показывают на работе. Если параллельно по вечерам будешь сам что-то читать и развиваться, а не в дотку гонять, то все будет нормально и вырастешь из червя-пидора в толкового специалист по меркам России.
Какое решение ты предлагаешь?
Алсо подскажите способ как обойти ограничение в 16 соединений для 300-го сименса.
Вообще как это цивилизованно делается на крупных предприятиях? Допустим мне надо 200 станций сделать, как это делается?
> Какое решение ты предлагаешь?
Не думаю что тебе не понравится, так как потратишь много.
> Алсо подскажите способ как обойти ограничение в 16 соединений для 300-го сименса.
Я никогда не встречал систему с 16 CPU.
> Вообще как это цивилизованно делается на крупных предприятиях? Допустим мне надо 200 станций сделать, как это делается?
На цивилизованных предприятиях ставят RemIO, самый дешевый ET200 и подсойденяю все через профибас или профинет. Или, если размеры огромные, ставят DCS.
> Количество узлов PROFINET практически не ограниченно поскольку доступен весь спектр адресов IP.
Я так посмотрел, эти ET200 стоят очень нихуево, от 50к, если я туда смотрю.
У меня возникла другая идея, что если заменить все лого на 1200-е? Функциональность не изменится, стоят они не дорого и позволяют соединяться по профинету в отличие от лого.
Какие подводные камни?
Тем что меняешь шило на мыло?
Как насчет этого? https://support.industry.siemens.com/cs/document/75315170/automation-tasks-in-10-minutes-or-less-simatic-s7-1200:-at-6-distributed-networks?dti=0&lc=en-WW
1200е и ES200S будут примерно в одну цену.
Вообще на твоем месте если бы я проектировал твою систему, то как раз бы ставил что то типа ET200S, а точнее ET200SP, т.к. это более новая линейка для тех же нужд.
Если исправлять то что у тебя есть. то либо переписывать все под modbus tcp придется конечно вручную поднимать и опускать коннекции при опросе, но это не так страшно, но это платно для S7-300 на самом деле спизидть можно, но там не всё так просто, т.к. нужно генерить ключ. Либо докупить коммуникационник и часть коннекций перевести туда.
>Какие подводные камни?
На самом деле особо нет, просто сконфигурить S7-1200 как profinet io device. Другое дело, что это перебор по функционалу. Т.е. обычно мелкие локальные CPU ставят, когда они крутят мелкие, локальные задачи. У тебя же лого как я понимаю вообще нихуя не делают, видимо собирают пару сигналов кстати вот ситуацию стоит описывать нормально, а то приходится гадать, что тебя сподвигло на использование лого, и какие вообще задачи надо решать, либо стоят в пультах. А для таких применений как раз обычно ставят децентрализованную периферию, а не полноценные cpu.
Ну и вообще можно не менять все лого, а поставить S7-1200 в качестве коммуникационника, забрав часть коммуникаций. Или тот же модбас на нем сделать
>>235906
Скорее там нужно думать о доступной области памяти входов/выходов.
>>235899
> Допустим мне надо 200 станций сделать, как это делается?
Ну если тебе 200 станций IO надо на один контроллер повесить, то проще повесить за яйца того кто такую систему пытается разработать. Всё-таки такой нужды нет, т.к. контроллеры решают конкретные технологические задачи, так что общая система должна быть разбита на подсистемы. А уж если оптом нужно совместить как то данные, то делаешь коммуникацию между цпу.
Но вообще ты уже как то удостоверился, что дело точно в коннекциях? У меня то такой уверенности нет. У тебя же уже сделано, что 1 лого выступает в качестве буфера для нескольких под ним. Повтори эту схему на другом, чтобы точно уменьшить общее число коннекций, чтобы проверить, что дело вообще в этом.
1200е и ES200S будут примерно в одну цену.
Вообще на твоем месте если бы я проектировал твою систему, то как раз бы ставил что то типа ET200S, а точнее ET200SP, т.к. это более новая линейка для тех же нужд.
Если исправлять то что у тебя есть. то либо переписывать все под modbus tcp придется конечно вручную поднимать и опускать коннекции при опросе, но это не так страшно, но это платно для S7-300 на самом деле спизидть можно, но там не всё так просто, т.к. нужно генерить ключ. Либо докупить коммуникационник и часть коннекций перевести туда.
>Какие подводные камни?
На самом деле особо нет, просто сконфигурить S7-1200 как profinet io device. Другое дело, что это перебор по функционалу. Т.е. обычно мелкие локальные CPU ставят, когда они крутят мелкие, локальные задачи. У тебя же лого как я понимаю вообще нихуя не делают, видимо собирают пару сигналов кстати вот ситуацию стоит описывать нормально, а то приходится гадать, что тебя сподвигло на использование лого, и какие вообще задачи надо решать, либо стоят в пультах. А для таких применений как раз обычно ставят децентрализованную периферию, а не полноценные cpu.
Ну и вообще можно не менять все лого, а поставить S7-1200 в качестве коммуникационника, забрав часть коммуникаций. Или тот же модбас на нем сделать
>>235906
Скорее там нужно думать о доступной области памяти входов/выходов.
>>235899
> Допустим мне надо 200 станций сделать, как это делается?
Ну если тебе 200 станций IO надо на один контроллер повесить, то проще повесить за яйца того кто такую систему пытается разработать. Всё-таки такой нужды нет, т.к. контроллеры решают конкретные технологические задачи, так что общая система должна быть разбита на подсистемы. А уж если оптом нужно совместить как то данные, то делаешь коммуникацию между цпу.
Но вообще ты уже как то удостоверился, что дело точно в коннекциях? У меня то такой уверенности нет. У тебя же уже сделано, что 1 лого выступает в качестве буфера для нескольких под ним. Повтори эту схему на другом, чтобы точно уменьшить общее число коннекций, чтобы проверить, что дело вообще в этом.
Вот этот автокад нахер не нужен на перспективу. Любой васян в нем чертить может.
Смотря что ты хочешь делать в будущем, от того и надо отталкиваться. Matlab Simulink тема, Ansys, программирование ПЛК.
А вообще лучше питон или плюсы учи, потом спасибо скажешь.
>Т.е. обычно мелкие локальные CPU ставят, когда они крутят мелкие, локальные задачи.
У меня именно так.
>У тебя же лого как я понимаю вообще нихуя не делают, видимо собирают пару сигналов
Нет, они имеют свою уникальную программу и должны работать в том числе независимо от остальной системы и выдаваемых ей сигналов при потере связи.
>кстати вот ситуацию стоит описывать нормально, а то приходится гадать, что тебя сподвигло на использование лого, и какие вообще задачи надо решать
Не хочу описывать конкретные детали, но в общем есть набор устройств в одной точке, от них приходит 10 дискретных сигналов и они получают 6 дискретных сигналов. Лого должен их обрабатывать и выдавать управляющие сигналы в соответствии с определенной логикой и с учетом получаемой информации от 300-го цпу (типа смены режима работы оборудования и других). Лого больше всего подходит под эту задачу, т.к. самый дешевый, самый простой, легко программируется на коленке, легко ставится в любой анус жопы на стандартную дин-рейку, быстрозаменяем.
>Но вообще ты уже как то удостоверился, что дело точно в коннекциях? У меня то такой уверенности нет.
Те 2 лого, которые заменил на новые, до сих пор не упали ни разу. Сколько там, 3 дня прошло вроде. Мне все таки кажется, что в старых лого проблема, нестабильный езернет у них
>Повтори эту схему на другом, чтобы точно уменьшить общее число коннекций, чтобы проверить, что дело вообще в этом.
Так они падали как по отдельности, так и группами (буферный+все подчиненные). Больше похоже не на отвал связи, а будто лого перезагружается или подвисает.
>>235845
>>235838
Бля, серьезно прогерство? Надеюсь это не то прогерство, которым учатся профессиональные вкатывальщики?(Пхп, Шарп и т.п). Просто я в школе 4 года ходил на кружок вкатывальщиков, но из-за своей тупости и школотронства выучил только всякую херню по-типу Бейсика и другого говна. Мне это вообще неинтересно стало за 4 года и я решил никогда не связываться с программированием более. Кроме 1го полугодия в ВУЗЕ и аутирований в Питоне
Неужто ли я обосрался с выбором направления? Думал, что тупо буду одну кнопку на производстве жать и деньги получать.
Алсо, я разбираюсь в устройстве компьютера, портах и тд. Знаний особых иметь и не надо, лол Т.е я могу собрать ПК, обновить БИОС, установить винды, поменять конденсаторы, покопаться в реестре, но вообще ничего не могу написать.
Это как один человек мне сказал:"Я могу воскресить холодильную установку из любого состояния, но я ни за что не соберу ее с нуля."
Заходи! МехКабаном будешь!
Если не нравится пргерство, то ты проебался, поздравляю)
Как говорят в этом треде. "Ты уже в айти - только не в том". По сути если хочешь делать 300к/сек то иди в прогерство либо разработку прогерскую. В инженегрии делать нечего. Либо планируй отвал в цивилизованную страну. Кнопку одну жать целый день и бабки получать - так это тебе в операторы чпу надо было. А провода тягать и ебаться с отвалившимися контроллерами сможешь в пусконаладке, за одно и попутешествуешь
Кстати, на курсах постарше начнёте stl/assembler проходить 100 процентов. Да и в принципе толковые плюс-прогер получает солидный оклад, в отличии от толкового плюс-асушника который будет 50-60к делать
>300kk
Я вроде как 20ти зумер, но амбиции у меня вообще нулевые, поэтому это меня никогда не интересовало.
>stl/assembler
До сих пор и не понял, раз это "не то айти", то чем занимается среднестатистический червь-пидор закончивший мой курс, кроме работы в Пятерочке, конечно же. Приведите мне пример хотя-бы один.
Вот сейчас началось визуальное программирование. В каком месте оно потом нужно будет?
> Вот сейчас началось визуальное программирование. В каком месте оно потом нужно будет?
В асу? Это как бы стандарт в ПЛК.
Да какое-то мыло. Сначала сказали немного порофлим с Визуал бейсиком, чтобы основы понять, а потом что-то другое. Самое главное, учитель "ТЫ УЖЕ СТУДЕНТ, ПРЕПОД! ПРЕ-ПОД что-то мямлит и ничего определенного не говорит.
>Вот сейчас началось визуальное программирование. В каком месте оно потом нужно будет?
Я на вижуал-бейсике в одной конторке анимации для скады делал например на самом деле нахуй не нужны эти перемещения тележек по цеху, но для презентаций и завлекания заказчиков начальство считало нужным. Но это частный случай, и узкоспециализированный ЧМИ.
>Неужто ли я обосрался с выбором направления?
Ну почему же, ты отлично вольешься. Года 3 поработаешь, поймешь что немощь в прогерство можно легко компенсировать через знание техналогии ротации насосов и ТехасМэк выебство
Сейчас отрасль захвачена МехКабанами и Квадратикоебами, которые держат ее у параши. Из-за чего ЗП нет, комьюнити нет, стандартов нет. Есть только ЧСВ-пидоры со своими уникальнейшими стандартами разработки которые ненавидят друг-дружку
Плохо тут как раз тем что хочет и может в разработку.
Так что за прогерство с тебя никто не спросит, не переживай
Это для скриптов у того же WinCC.
>>236856
Вот этого двачую. И что самое паршивое производители идут на поводу этих МэхКабанов. Вот в 90тые было офигенный американский плк Автомакс со свободной средой разработки, можно было писать прогу на том же базике прямо в в блокноте и грузить на плк. Переменные хранились в базе данных которую можно было открывать в Acess. И как результат компанию делающий автомакс купил ебучий Роквелл и придушил, а запчасти начал продавать за бешенные деньги.
Единственная надежда сейчас на австрийский B&R, со средой разработки что крутится на Линуксе и кушающий С. Для малой автоматизации можно купить Kunbus, но он мало известен.
Немощь немощью, но это меня просто может морально иссушить. Я в школотронстве всегда думал так: "Я должен просыпаться с желанием писать программу". Как понимаете, желание я это утратил, хотя удивлен, что меня на так долго хватило.
Да не то, чтобы я хотел становиться каким-то кабанчиком и т.п. ради легкого заработкаМеня вообще эти все превозмогания не нравятся. Мне надо разобраться - будет ли мне это нравится или нет.
Но по первому впечатлению пик 1 выглядит НАМНОГО интереснее для меня в плане изучения, чем пик 2/
Есть осторожная идея вкатываться в проектирование/пусконаладку раз уже извозился в этом дерьме. Как относятся проектные конторы к вкатывальщикам с эксплуатации? Есть ли шанс?
Наверное потому что первый пик это страница чми нарисованная для среднего операторя, а второй это среда разработки?
Все так.
Нет. И вообще, взвесив все за и против, решил отказаться от идеи рулить через браузер. В настройках контроллера выставляется период обновления не чаще 1 раза в 5 секунд.
>Нет.
Пиздишь
Как минимум у тысячной серии есть офф библиотека с мануалами и всем таким для этого дела
Я только такой пердолинг читал https://support.industry.siemens.com/tf/ww/en/posts/connect-s7-1200-with-data-base-sql-or-mysql/189083/?page=0&pageSize=10
и в той же теме рекомендуют платное говно, которое способно подружить плк с бд.
У меня так же стоит задача данные с контроллера еще и в базу складывать. Но пока решил что лучше полноценную скаду установить и с базами через неё работать.
Кста совсем свежак, я тоже только раньше сторонний пердолинг видел. А анон тот сказал, что сименс сам сделал, вот посмотрел ещё разок.
https://support.industry.siemens.com/cs/document/109779336/connecting-a-s7-1200-s7-1500-to-a-sql-database-?dti=0&lc=en-WW
У меня "Компьютеризированные системы управления и электропривод общепромышленных механизмов".
В частности именно по разработке плк и скад, без рисования.
Как там вобще, жизнь есть?
Фрилансер хуже пидараса.
А как же снижение номенклатуры? Правда, именно с разъёмами это может выйти боком, из-за увеличения ошибок сборщиков. Но в общем с разъёмами дело такое, лучше бы им вообще всем быть разным в одном изделии, кроме взаимозаменяемых конечно. Даже флешка, как раз влезающая в Ethernet- порт ноутбука по габаритам, часто создает проблемы.
ну то что английский нужен, это понятно
интересно в принципе легко или не очень войти туда с 0 заказами, или придётся работать на 5$ч ближайшие полгода
сильно ли индусы портят воду и всё такое
если я поставлю такой же данфос только выходной ток 65А, не будет ли вываливаться в аварию, т.к. тут дисперсия большая
двигатель по номиналу 15 А
с такой разницей не должно быть проблемм. если будут, поменяй тип управления на U/f (но оно и так скорей всего такое)
Кури документацию. Например, у siemens g120p нельзя использовать двигатель мощностью меньше 13% мощности ЧП.
Ну тогда без проблем.
>"Ты уже в айти - только не в том".
Это с каких пор МЭК кабанчики 700 рублей/точка стали айти?
С каких пор он перестал им быть?
Да не особо.
H3DS-AL-AC-DC: https://industrial.omron.ru/ru/products/H3DS-AL-AC-DC
Меня интересует положение контактных групп во время подачи управляющего напряжения на катушку.
Я правильно понимаю, что с подачей напряжения происходит переключение реле на НО группу контактов, а как только настроенный таймер досчитает, то переключается обратно на НЗ группу?
Диаграмма отклеилась.
При подаче питания на А1
И подаче питания на А2 или В1
Начинается отсчет времени, контакты как на картинке
Таймер досчитает, контакты переключаются
А1 можно вешать на питание
В1 на датчик, кнопку итд
Либо закоротить А1 и В1 чтобы при подаче напряжения и реле включалось и таймер сразу начинал считать.
Почитал ОП-пост и везде сименс, step7, wincc.
Хотите сказать, что даже в России используется только сименс? А отечественные разработки вроде MasterSCADA или TraceMODE никто не использует?
Используем MasterSCADA и Master OPC.
TraceMode - говно.
Siemens - мэйнстрим, его, конечно, очень много и используется он повсеместно.
Самый распространенный в РФ производитель на уровне выше дна.
Больше всего нормальных обучающих материалов.
Сопоставим с ним только Овен, но это говно.
Такие дела.
Лол, тут оказывается еще виноватые есть что МехКабаны и ТехасМэковцы так горят от ИТ-хипстерков
ИОТ нинужна, культура, стандарты, текстовые языки нинужна, 2в8 нинужна
>ясно же что ни к чему не придете
Ну-ка давай что нибудь по тру-техас-мэк обсудим тогда какую задержу на ссанино-клапан делать от гидроудара в условия отсутствия FD
Как вообще выглядит архитектура сетей крупных проектов с кучей взаимодействующих контроллеров?
Никто не горит. Просто мне в треде всегда нравилась предметность, а ты просто воду льешь. Лучше бы рассказал о каких-нибудь проектах, которые ты сделал и гордишься. Типа какие задачи были, какие решения выбрали, почему это пизже. А мы бы за тебе порадовались и обсудили. А то ты просто какую то пустопорожную хуйню несешь в которой смысловой нагрузки ноль.
Ну и ещё моя проблема с тобой в твоём языке. Ты пытаешься форсить какие то словечки, которые сам придумал, считая себя охуенно смешным. Хотя по факту это просто уныние, либо шиза.
>ИОТ нинужна, культура, стандарты, текстовые языки нинужна, 2в8 нинужна
Сам придумал себе образ тем с кем общается, сам с ним воюешь. Ты же не можешь не понимать, что в АСУ, что в ИТ огромный диапазон людей от полных дуболомов до хороших специалистов. Пытаться развешать на это ярлыки слишком бессмысленная задача, как по мне. Но если людям не лень с тобой общаться по такой пустой теме, то это их дело. Я просто высказал своё мнение о том, что это засирание треда.
>>246132
В большинстве таких модулей, и в этом в частности это же не 2 логических порта, а один двухпортовый свитч чтобы profinet тянуть последовательно, а не звездой. Ну и когда ты включишь интерфейсник в сеть профинет, то его будет опрашивать мастер этой сети.
>сразу два PLC
Если ты говоришь про редудантные плк (резервирование), то смотри мануал по ним, там разные варианты. Если просто про 2 разных плк, то читаешь данные одним и передаешь на другой посредством любого сетевого общения, которое тебе удобно.
>Лучше бы рассказал о каких-нибудь проектах
Манька, в этом и проблема, понимаешь? Пустопорожняя хуета, это как раз твои рассказы о каких-нибудь проектах, в которых после тебя никто нахуй не разберется больше. Вы блять не знаете как насос рисовать, у каждого свой стиль, 2в8 им не нужно, охуеть вообще. Но при этом вы ИТ дохуя
Да вы охуели вообще, вам пизды давать уже пора что хипстерки потихоньку и начинают делать
Кодомакака пригорела и визжит. Дерните кто-нибудь автомат на цепи!
Хотя пусть горит. Кодоблядь не АСУшник. Кодоблядь просто перебиватель букв из ТЗ в байты кода.
Ну вот, опять пустое сообщение впрочем другого и не ожидал. Ладно, хочется кому-то быть твоей едой в этом треде, их дело, а мне с тобой скучно.
Я с ленцами только более новыми работал, но 5 минутный просмотр мануала говорит мне о том, что бы пробовал поставить C001 (брать сорс от кейпада), C0469 (кнопки кейпада в качестве Inhibit/enable, хотя проводную перемычку или стоповую кнопку скорее всего равно надо оставлять), ну и саму скорость задавать либо в C0044/C0046, либо в C0140. Так чтобы сами команды run/stop биндились на кейпед я не вижу, так что либо оно и так будет работать, либо надо ставить перемычку на пуск, а с кейпада управлять разрешением на работу.
У меня только вопрос нахуя тебе это, чем кнопка плоха?
Кнопкодав, плиз. В обще что ты делаешь в этом треде?
>У меня только вопрос нахуя тебе это, чем кнопка плоха?
Я можно влезу со своими пятью копейками. Я не тот анон, но у меня была залупа на заводе, когда отвалилась HMI панель, а конфеты давить на конвейер нужно было прям сейчас. Нужно было запустить вот такую вот ебалу, поцепить ему имитацию регулирования скорости (меандр, меняется скважность) и пуст/стоп. И да, с панели не получилось, делали через входы/выходы.
Так а смысл ИТ-хипстеркам идти в АСУ на жалкие копейки, если они намного больше в ИТ заработают?
Андрей Олегович, если вы читаете это, то вы заебали нам давать задания, которые мы даже сделать не можем.
Есть. Даже за пол года. Даже так, что препод потом за тобой хвостиком будет бегать "а это объясни, а это объясни". Но это жопочасы, практически полный отказ от дотки, футбика, посиделок с друзьями и самостоятельное изучение вопроса.
Привели ко мне однажды паренька из технаря, который участвовал в чем-то подобном. У них было заранее известное задание собрать шкаф и написать программку, которая по нажатию кнопки включала/выключала бы лампочку. Если у тебя все на таком уровне, то это вообще все быстро изучается.
В овеновском кодесисе, который бесплатно лежит у них на сайте, есть эмулятор, на котором ты можешь спокойно экспериментировать и смотреть, как у тебя перемещается сигнал по блокам.
Для начала можешь себе поставить цель написать пресловутую программу включения/выключения лампочки.
Гайдов валом, как на ютубе, так и на сайте овена. Чтобы понять логику программирования на языках МЭК тебе этого будет более чем достаточно.
Также есть среда SMLogix от компании segnetics. Там, когда я ей пользовался, не было эмуляции, зато был отличный мануал по FBD блокам на понятном для вкатывальщиков языке.
Но примечателен он для тебя не этим, а тем, что у них еще есть утилита SMConstructor HVAC, которая сгенерит тебе программу управления вент. установокой и ты сможешь посмотреть, как выглядит написанная большая программа. Сразу в это не лезь. Если останется достаточно свободного времени, то поизучай.
Дальше уже надо смотреть среды разработки под конкретное оборудование, которое у тебя будет на конкурсе и почитать, как установить с ним связь и залить программу, а лучше вообще выштудировать руководство пользователя, потому что у каждого производителя есть свои нюансы.
В ИТ конкуренция и сложность задач значительно выше
даже не знаю с чем сравнить, но уверен что php/js/1c-мальчишки задачи куда сложней решают в плане кодинга чем вы
Сам после 10 лет ИТ перекатился , даже не думал что тут такая халява
> php/js/1c-мальчишки задачи куда сложней решают
Смотря в какой роли и на каком проекте. Слово формошлеп тоже не из воздуха появилось.
В целом, в плане кодинга, у нас действительно даже близко не уровень, если речь не о разработке готовых решений каких-нибудь крупных вендоров, но бесконечная дрочка фреймворков, которые протухают на следующий год - это тоже такое себе удовольствие.
Пик1: передаваемый байт QB100 в ио-девайсе (1200й);
Пик2: настройка передачи данных;
Пик3: принимаемый байт IB140 в ио-контроллере (300й).
Почему ничего не работает? 1200й горит зелёным в профинет сети, а данные не передаются.
Скинь архив проекта.
Ебать. У тебя кинескоп вместо монитора?
1. Оба контроллера в одном проект или в разных?
2. Настройка сети вся на стороне IO-контроллера (галочка в настройках I-девейса как на пике) или раздельно?
3. Буфера ошибок контроллеров в норме или там что то есть?
4. На стороне 300го попробуй прогнать чтение данных не автоматом, а программно через DPRD_DAT и посмотри что он возвращает.
5. Какого хуя ты телефоном снимаешь экран вместо того чтобы скриншотить?
1. В одном
2. Раздельно
3. Есть ошибка, т.к. в в проекте висит ещё 3й плк, но его еще нет физически и он не отмечен галкой иодевайс. Но ран на 300м зелёненьким горит. Кстати может быть из-за этого?
4. Попробую когда админ сеть починит
5. Потому что мне пизды дадут если зайду на двачи с рабочего компа
1-2. Ну раз они у тебя в одном проекте, то по идее настройки сети все равно должны были нормально схаваться. Хотя для эксперимента можешь попробовать поставить галочку. Просто зачастую проблемы коммуникаций в профинете не работают из-за какой-нибудь тупости по типу не заданного pn device name. Можно через Simatic automation tool (приблуда как раз для настройки сетевых параметров) проверить, что у тебя там в реальности.
3. Скрин ошибок? Если там будут проблемы с передачей, то будут ошибки с указанием диапазона адресов.
>Но ран на 300м зелёненьким горит. Кстати может быть из-за этого?
Я не понимаю о чем ты. Из-за наличия 3го контроллера в проекте могут ли не передаваться данные? Нуу по идее нет, хотя конечно тут начинает возникать вопрос, а точно ли ты с тем контроллером пытаешься общаться. I-device точно привязан к нужному плк (т.е. примерно как у меня на скрине при хайлайте IO-системы должно выглядеть).
5. Флешки тоже нельзя втыкать? А то бы скидывал на телефон. Ну или на личную почту/сообщение в месенджере себе пересылай, если есть возможность. А то на твоих скринах хрен чего различишь.
Ну и без проекта о таких вещах реально сложно разговаривать. Я тоже не люблю кидать свои проекты, но можно же сделать копию, убрать всю программную часть, оставив только хардваре.
6. Алсо, у тебя не может эта область адресов в 300м просто затираться поверх? Точно на свободное место сконфигурено?
Попробовал через DPRD_DAT, данные прекрасно передаются. Ошибок никаких нет. А автоматически не хотят никак.
Почему такая хрень?
Кстати я тут вспомнил, что с профибасом была похожая петрушка, данные передавались только если добавлять к тегу ":P", а иначе будут всегда нули. Может тут что-то похожее?
Аноны, поделитесь мудростью. Конвертеры modbus rtu-modbus tcp стоят, мягко говоря, недешево. У нас овен или самая дешевая моха будут стоить тысяч от 6 без учета БП. На али же есть варианты от 500р со средней в районе 1.8-2.5к. Пробовал ли кто-то? Как у них с надежностью, адекватностью и вообще? Развязаны ли гальванически провода, идущие к устройству и уходящие в свитч? Может, какие-то конкретно модели посоветуете. Насколько эти штуки вообще прозрачно работают для устройств, требуется ли допилинг?
Особенно много предложений от фирмы ZLAN. Например:
https://aliexpress.ru/item/4000741083149.html
https://aliexpress.ru/item/4000521660045.html
Эльфы какие-то
https://aliexpress.ru/item/32915401272.html
И даже такие ебы
https://aliexpress.ru/item/1005002204819474.html
https://aliexpress.ru/item/4001212626459.html
Эти ЗЛАНЫ какие-то очень дешевые, не только конвертеры, но и например блоки входов-выходов. И не выглядит так страшно как нонеймовые клоны митсубиши. Можете что-нибудь про них рассказать?
Проверил. Действительно, с добавкой :P все заработало.
Можете вообще объяснить это дело? Просто я видел это в другом проекте и сделал так же, без этой хуеты не работает.
Вот добавил :P к тегам
В скрине в моем посте на который ты отвечаешь снизу табличка. Там указаны не только области передаваемые, но и моменты когда они обновляются (колонки OB и PIP). Т.е. этот автоматический обмен данными должен быть привязан к определенным событиям. Выдержка из хелпа
>"PIP x": The address is assigned to the process image partition x (for example PIP 1, no cyclic process image). The operating system updates this PIP when the assigned OB is executed. If this PIP is not assigned to an OB, the operating system does not update this PIP. You have the option to update the PIP yourself with the instructions "UPDAT_PI" and "UPDAT_PO" (for S7-400 and some S7-300 CPUs).
Я честно говоря не помню как для 300ых в тиа портале это меняется. Но как минимум вызывать в OB1 инструкцию на обновление образа ты можешь. Ну или покапайся в настройках поглубже.
>>251843
> с добавкой :P все заработало
Потому что ты обращаешься не к образу (который предварительно должен быть создан во время опроса), а к переферии напрямую.
Хотя если у тебя там OB1-PI, например, то по идее опрос привязан к выполнению OB1. Но скорее всего у тебя траблы в том, что по умолчанию область памяти стоит в 128 байт, а ты пишешь в 140+. Поменяй в 300м область на побольше и всё у тебя должно заработать.
>(колонки OB и PIP)
Где???
И где вообще посмотреть этот процесс имейдж? Что он из себя представляет?
В network view выделяешь контроллер, который является IO мастером -> highlight IO system -> кликаешь по системе и в свойствах видишь обзор адресов с привязкой к тому когда они обновляются.
>Что он из себя представляет?
Это слепок входов/выходов в определенный момент. Нужно для того чтобы программа не пыталась всегда считать текущие значения из периферии, т.к. это требует намного больше времени, чем просто считать из памяти.
Общий process image, он же OB1-PI, считывает состояние входов перед началом OB1 и записывает состояние выходов после выполнение OB1. Это удобно, например, в том плане, что вне зависимости от того что у тебя реально на модуле внутри твоей программы не будет 2 разных значений одного входа в течении одного цикла.
Ещё есть process image partion. Это тоже слепки входов/выходов, но ты можешь их привязать к другим OB. Т.е. вызываешь ты циклическое прерывание и тебе надо как модно точнее знать аналоговое значение, например для очень быстрых процессов, ты можешь указать что вот эту область памяти нужно обновлять внутри этого циклического прерывания.
Ну и 3й способ обращения к входам/выходам это peripheral adressing. Это как раз твой :P (хотя мне больше нравится форма записи например PIB140), т.е. обращение к областям входов/выходов напрямую. Используется если нужно что то записывать или считывать очень быстро, не дожидаясь конца цикла, либо если адрес вне областей process image.
Но повторюсь конкретно твоя проблема в том, что по дефолту OB1-PI обрабатывает адреса I/Q 0...127, а ты вылез на 140й байт. Увеличь область process image, либо используй не 140й байт, а что то меньше 127.
Можешь почитать здесь чуть поразжеванее то, что я описал. https://support.industry.siemens.com/cs/document/18325417/where-and-when-do-you-need-peripheral-addressing-?dti=0&lc=en-WW
Спасибо за развернутый ответ.
>для чего тебе это нужно
Чтоб не разоряться на не нонейм конвертер к каждому устройству, собирая данные на сервере. Устройств много, но каждое в количестве 1-2 штуки, а разные устройства отличаются способом связи (скорость обмена и т. д.), то есть на одну шину с одним конвертером их не загонишь.
>Это очень ненадежно и убого.
Что в данном случае может быть проблемой? Хорошая витуха экран имеет не хуже, чем СегментКИ.
>ланом голландец все популярно расписал
Кроме проблем с IP (про них и в других отзывах под этими штуками пишут) не кажется чем-то сверхъестественным. Оно ведь все греется и пищит в той или иной мере. Под Elfin вроде нет плохих отзывов, но на али блин подо всем пять звезд без текста.
>В данном случае проблема в полном отсутствии знаний технологий, с которыми ты имеешь дело. Извини
Это да. Но делать-то не своими руками буду. Можешь как-то конкретнее? Что мне грозит? Помехи в кабеле? Витые кабели есть охуенно экранированные. Отвалится конвертер - почему, если взять нормальный? И т. д.
>>256578
>Если для твоей сети проблема надежности не стоит, то делай так, как задумал.
Стоит. Что должно отвалиться? Конвертер можно взять приличный, Болид какой-нибудь, вместо Китая. Все равно будет стоить 1.5к вместо 6+ В моем случае экономия существенная.
>то делай так, как задумал.
А как ты предлагаешь? Я адекватных конвертеров дешевле Овена за 6к не нашел. У меня есть железки, которые нужно подключать к простому серверу на базе офисного пука, который стоит тысяч 40. Покупать к нему конвертеры за 6к каждый как-то НЕ ОЧЕНЬ.
Я приведу тебе пример. У нас сервера стоили по рыночной тысяч 5 рублей за штуку до переноса на новое железо и работали без отказов на WinXP. При этом на конвертеры и блоки питания мы не мелочились. Точное кол-во сигналов в сети не помню, но 10к суммарно набиралось.
Китайские свистки ставили, само собой, но исключительно в качестве времянки, пока не приходила закупка.
Тебе грозят регулярные отвалы интерфейсов, тонны потерянных пакетов, сгоревшие конверторы Они, блядь, ГРЕЮТСЯ, нахуй, у человека, который только-только их получил и подключил. И что-то мне подсказывает, внутри у них не схемы микротиков с кучей аппаратных фич., любые возможные подводные камни от несертифицированной продукции и прочие прелести жизни.
Предлагаю не городить франкенштейна на базе usb-хаба, а брать нормальные преобразователи и организовывать связь по tcp/ip, как и делают в 21 веке.
Про болидовский ничего не скажу. Читай документацию. Если подходят, то точно бери лучше их.
И вообще сделай все по нормальному, в идеале на самых дешевых моксах. Потратишь на пару десятков тысяч больше, зато следующие лет 15 больше не вернешься к этой теме и будет солидный запас по улучшайзингу.
>Устройств много, но каждое в количестве 1-2 штуки, а разные устройства отличаются способом связи (скорость обмена и т. д.)
И что все равно нельзя организовать несколько сетей с общими настройками? Я конечно понимаю, что бывает оборудование с жестко зашитыми параметрами, или ограничением скорости хотя и 19200 обычно на всё хватает. Я понимаю, что бывают разные самопальные протоколы. Но у тебя действительно такой зоопарк, который ты не можешь разбить на приличные по размеру куски?
А по конвертерам, к сожалению, ничем не могу помочь, никогда не брал уж настолько дешевый китай. Единственное из того что ты упоминал что у меня есть это болидовский usb/rs-485 конвертер. Впрочем я его только для подключения к оборудованию использую, а не передаче данных 24/7.
Ок, есть же нормальные (пои идее) юсб-хабы от болида какого-нибудь, стоят 1.6к вместо старублевого с Али. Тоже говно?
>>256673
>брать нормальные преобразователи и организовывать связь по tcp/ip, как и делают в 21 веке
Но они стоят 6к+ каждый...
>Про болидовский ничего не скажу.
Тут у меня наверное слабым местом будет usb-хаб.
> в идеале на самых дешевых моксах.
Нет у меня денег столько
>>256844
Ну там у одного 9800, у другого 12900 и т. д. Да, зоопарк, каждого по 1-2 штуки. Про болид пишут что он рассчитан на 24/7, но хуй его знает как на деле будет.
>уж настолько дешевый китай
Я не нашел промежуточных вариантов между этим Китаем за 1-2к и Овеном за 6к.
По-моему ты уже все решил и какие бы мы тут тебе аргументы не приводили - ты все равно сделаешь по-своему.
В чем смысл?
Для серьезных объектов твоё решение - говно.
Люди, занимающиеся АСУТП, редко связываются с дешевыми решениями для домашней автоматизации и копаются в сортах говна
Помучай людей в группах, посвящённых интернету вещей. Там вполне тебя похвалят и возможно подскажут, где достать ещё более дешевый Китай.
>Ну там у одного 9800, у другого 12900 и т. д.
И что прямо на всех из них эти настройки не меняются?
>Я не нашел промежуточных вариантов между этим Китаем за 1-2к и Овеном за 6к.
Но ОВНо за 6к это как бы тоже категория дешевого говна. Просто ты там выше говорил, что решение должно быть надежным, и это явно не оно. Ты думай не только о цене решения, но и о возможных убытках в случаях, когда всё это дерьмо начнет зависать и терять данные.
Я просто пытаюсь разобраться. Но вообще да, у меня скорее интернет вещей, чем промавтоматика. А почему конвертация в tcp должна быть чем-то дохуя надёжным, если там тонкая ничем неэкранированная (или в лучшем случае фольгой снаружи) витая пара, тянущаяся на сотни метров?
>>257243
Даже меню для настройки нет. Может, через перезапись из модбаса же регистров каких-то и можно, но в документации про это ничего нет.
>Но ОВНо за 6к это как бы тоже категория дешевого говна
Yasnou...
(((((((((
Я всего лишь хочу избавить людей от необходимости пыриться в 100500 лампочек и экранчиков, денег у них не очень много, пытаюсь экономить где могу.
А ты знаешь для чего экранирование используется?
На сколько сотен метров можно протянуть витую пару в Ethernet?
На сколько сотен метров можно протянуть шину USB?
Слышал про SFTP? А про оптику?
Почитай, как работает интерфейс USB и что такое хаб, и что такое usb-хаб и как он работает.
Почитай про организацию сети, использующей стек протоколов TCP/IP.
Подумай, какая топология у тебя будет на USB и какая в TCP/IP.
Представь, как в них будет организована передача сигналов.
Составь таблицу Плюсы и минусы для каждого из вариантов топологий. Сравни.
Если не разберёшься после этого, то приходи снова и задавай вопросы.
>>257301
Я тебе выше писал, что юниперы и игровые сервера не нужны. Циски и бниперы используются для огромных сетей, где требуется решать совершенно другие проблемы. Как и крутые сервера не требуются для систем диспетчеризации в большинстве случаев. Но на нормальных преобразователях, как раз, экономить не стоит.
Хочешь действительно помочь людям - проводи поэтапную модернизацию, иначе будет работать хуже чем было, а работяги будут пидорасить тебя же последними словами, уж поверь мне.
Магии в этом мире не бывает и невозможно найти совсем за копейки устройство, которое будет работать также, как его дорогой аналог.
И правильно анон выше писал, что для нормальных систем далеко не Газпрома преобразователь за 6к - это дешевый преобразователь. Это не хорошо и не плохо. Просто так есть на текущий момент. Хочешь рисковать? Рискуй. Твоё дело и твоя ответственность.
Мы здесь, к сожалению для тебя, не являемся экспертами по дешевому китаю и тебе стоит все же обратиться к людям специализирующимся именно на нем.
Я не собираюсь никуда тянуть usb, блядь. Хаб торчит из сервера (у которого просто физически ограниченное число портов), в него воткнуты usb-rs485 болиды, от них уже тянется провод (сегментки или обычная экранированная витая пара) до устройства. С чего ты придумал, что я собрался сотни метров юсб-провода тянуть куда-то?
Я сравниваю именно вариант модбасного кабеля, который при наличии экранов и прочего значительно дешевле витой пары с таким же экранированием. Или ты предлагаешь мне от конвертера rtu-tcp тянуть sftp кабель? Я разорюсь на хуй.
>к людям специализирующимся именно на нем.
И где их взять? Пока ты общими словами это все описываешь, и это напоминает специалистов по теплому ламповому звуку, не являющихся экспертами по обычным наушникам или колонкам не за тыщу баксов. Или специалистов по охуенно дорогим шмоткам, не являющимися специалистами по обычным вещам из какого-нибудь лакоста.
Ты тупой агрессивный дурачок, который только и делает, что скалится и ноет. Никто здесь за тебя не будет проектировать твою сеть и подбирать оборудование, а сам не знаешь - не берись. Как разобраться я тебе ответил, кому задавать вопросы я тебе ответил, наводящие вопросы задал.
Преобразователь за 6-15к - это не дорого для пром автоматики.
Цитировать стандарты и протоколы, ковыряться в китайской схемотехнике и описывать топологии только потому, что ты второй день ломаешь комедию, я не собираюсь. Мне за ответы на такие вопросы платят вообще-то и я потратил не один год и не 6к рублей, чтобы в этом разбираться.
Изначальный вопрос был: говно ли ты собрал? Мы тебе ответили, что говно.
Тема закрыта.
>сервер, в юсб-порт которого воткнут юсб-хаб, в каждый порт которого воткнут rs485-usb конвертер
>Я не собираюсь никуда тянуть usb, блядь
>Ты уже в айти - только не в том
Вопрос к ТруИтХипстерам - как вам вообще работается в среде АсуКабанов, которые постоянно творят подобную дичь?
Бля, вы тролите? Я правда не хочу никуда тянуть юсб. Пикрелейтед. Тут 20см юсб провод. Или проблема в питании этой хуйни, типа ток будет маленький в проводе?
>Даже меню для настройки нет.
Ну это очень странно.
А что у тебя там по протоколам? Там я так понимаю не только модбас, как ты собрался увязывать это всё в одну систему? Или у тебя для каждого устройства ещё и свое приложение?
Но в целом, да, твоя схема конечно будет работать, но за надежность я бы не стал ручаться. Если твой заказчик понимает, что за такие деньги решение будет так себе, то вперёд. Но если у него нет такого понимания, то я бы был на твоем месте осторожен, т.к. ты и сам не заработаешь, и проблем на голову получишь.
Я сейчас страшную фразу откопал
>В данном случае проблема в полном отсутствии знаний технологий, с которыми ты имеешь дело. Извини
>Это да. Но делать-то не своими руками буду.
Подумай трижды, анон, ты роешь коллегам охуенную яму.
>Там я так понимаю не только модбас, как ты собрался увязывать это всё в одну систему? Или у тебя для каждого устройства ещё и свое приложение?
Типа того.
>А что у тебя там по протоколам?
В данном конкретном случае в документации описывается как модбас, и вроде бы ему соответствует. Но подробнее не буду рассказывать,а то еще больше засрете.
> Там я так понимаю не только модбас
В том и дело, что ради одного-двух устройств покупать конвертер за 6к+ это в данном случае ощутимая в рамках общего бюджета затрата.
>>257757
Имелось ввиду писать программу или использовать сервер для опроса. Понял примерно, придется покупать конвертер овен, хуле. Спасибо за советы.
>и вроде бы ему соответствует
>не своими руками
>ридется покупать конвертер овен
Но если ты не уверен что там модбас, то с чего ты взял что такое у тебя вообще прокатит? Просто если там какой-то левый протокол, то стоит понимать сможешь ты его реализовать или нет надо изначально.
>Но подробнее не буду рассказывать
Ну и зря. Предметные разговоры всегда гораздо проще проходят.
Мне, например, обычно не жалко потратить 15 мин листая мануалы на какое-нибудь говно, т.к. интересно смотреть на вещи с которыми в работе сам вряд ли соприкоснешься.
>а то еще больше засрете
Нуу частично обычно на 3-4 реплай агрессивен в треде только ОП, и залетный зеленый ИОТ шиз. В целом всем насрать. Ну и на харкаче бояться быть посланным это конечно странно.
>если там какой-то левый протокол, то стоит понимать сможешь ты его реализовать или нет
>какой-то левый протокол
>левый
Вот этот дело говорит, если не Modbus то все пиши пропало
Не дай бог еще придется ИтГейХипстеров привлекать
В этом конкретно что там модбас поверх 485 или поверх 232, написано в документации.
Хотя был случай, когда дока была явно левая, примеры из нее не работали, а производитель разбираться отказался
>Ну и зря. Предметные разговоры всегда гораздо проще проходят.
Меня тут итак уже хуями обложили всего, еще деанона не хватает. Если очень коротко - это что-то на стыке умных зданий, IoT и автоматики, есть сонм разнородных говн, каждое из них в штучном количестве, с которых надо собирать данные.
>Нуу частично обычно на 3-4 реплай агрессивен в треде только ОП, и залетный зеленый ИОТ шиз. В целом всем насрать. Ну и на харкаче бояться быть посланным это конечно странно.
Я возможно правда тупой, но я не понимаю, а выше говорят "все отвалится, все поломается, все сгорит" без какой-либо конкретики. У меня перед глазами есть куча свитчей обычных, интернетных, я ничего не понимаю в вашем АСУТП, но чуть больше понимаю в говноофисных сетях. Так там все годами без проблем и даже протирания пыли работает, десятки устройств обмениваются данными через дешманские длинки, тплинки и зуксели. И все у всех хорошо. А что я у вас вижу? Коммутатор МОХА, 5 стомегабитных портов, без пое, без ничего, цена - 5-10к, у овна такие же за 6-7к. Мое почтение, по сути, переплата в 5-10 раз за крепление на дин-рейку и переходник на промышленный блок питания. Блоки питания - годами у меня все работает на китайских БП за 1.5к, для обычных задач хватает. У овна эти же блоки стоят 3-6к. Естественно, я охуеваю с подобных раскладов, пытаюсь ИТТ выяснить для себя, почему оно стоит так, может, есть причины какие-то? А выше просто пишут "отвалы, потери, пожары". Хз, может, конкретнее-подробнее и не объяснить.
>>258506
>Не дай бог еще придется ИтГейХипстеров привлекать
Я так уже делал, полет относительно нормальный...
>Не дай бог еще придется ИтГейХипстеров привлекать
Зачем же так сразу. Большая часть контроллеров умеет в свободно программируемые протоколы (при соблюдении определенных условий). Я за последние пару лет 3 раза писал обмен с весами, и с маркировочной машиной. Как то справился не будучи ИТ.
>>258540
>еще деанона не хватает
В треде с 3,5 анонами? Дело твоё. Я правда тоже не люблю свои проекты до деталей описывать.
>переплата в 5-10 раз за крепление на дин-рейку и переходник на промышленный блок питания
Переплата есть никто не спорит. Но поставил я как то дешманскиё длинк, т.к. не было времени покупать норм железку, на металлообрабатывающее производство. Хз из-за чего, думаю что из-за металлической пыли, которая там все покрывает (в т.ч. в шкафу, хоть и в меньших количествах), но это говно выгорело за пол года. Поменял на моксу, 3 года полет нормальный. И конечно единичный случай ничего не доказывает, но в любом тендере что играется на нормальных предприятиях, есть список оборудования, которое можно применять. Как понимаешь китайцев за 2к там нет.
>У овна эти же блоки стоят 3-6к
Я ещё раз повторюсь, что ОВНо не образец. У них отношение ценник/качество слишком завышено, ибо по качеству они обычный средний китай. Я так думаю, что это все благодаря возможности проходить как импортозамещение.
>конкретнее-подробнее и не объяснить
Ну естественно, что никто тут не будет разбирать схемотехнику и показывать почему одно оборудование хуже другого. Да и не наша это специальность.
Это просто практика, опыт и немного лапши на ушах с разных конференций. Я периодически пересекаюсь с эксплуатацией разных заводов, так что примерно понимаю чего они хотят по оборудованию. Ну и с их стороны это выглядит как, ты экономишь 15-30% на проекте, что обычно, если речь идет о такой экономии, суммы максимум до нескольких миллионов рублей. А на них навлекаешь кучу проблем, случайные отвалы оборудования, которые невозможно отследить, потраченное время и силы персонала на борьбу с этим, а самое главное простои в производстве, которые могут стоит гораздо больше, чем сэкономленные средства. Умные заказчики это понимают, и поэтому готовы чуть переплатить вначале за какие-нибудь бирки сименса на оборудовании.
>это что-то на стыке умных зданий, IoT и автоматики, есть сонм разнородных говн, каждое из них в штучном количестве, с которых надо собирать данные.
Ясн, я так и думал, что ты тот анон, который недавно спрашивал про то как найти спецов под свой проект. Ну слушай, никто тебе не говорит, что предложенное тобой решение не будет работать. И я лично не думаю, что замена болидовских преобразователей хотя хаб бы я брал с внешним питанием на ОВНо, что то принципиально меняет в плане надежности. Я просто не очень понимаю как ты собрался увязывать всё это воедино на программном уровне, если даже на аппаратном у тебя есть сомнения как всё это оборудование работает. Может тебе всё-таки провести исследование поглубже с тем, чем ты собрался работать?
Но если техническая часть вопроса это не твоя забота и ты просто пытаешься прикинуть бюджет, то в треде ты вряд ли найдешь поддержку того, что совсем уж дешманские решения равноценно заменяют те, что приняты в нашей области. Итак после 14го года всякое говно приходится жрать, ещё и советовать делать тоже самое другим не сильно приятно.
И ещё 1 вещь, которую тебе стоит учитывать. Чем ненадежнее решение ты сделаешь, тем выше должна быть квалификация у обслуживающего это дело персонала. А то тебя же и затаскают решать возникающие проблемы.
>Не дай бог еще придется ИтГейХипстеров привлекать
Зачем же так сразу. Большая часть контроллеров умеет в свободно программируемые протоколы (при соблюдении определенных условий). Я за последние пару лет 3 раза писал обмен с весами, и с маркировочной машиной. Как то справился не будучи ИТ.
>>258540
>еще деанона не хватает
В треде с 3,5 анонами? Дело твоё. Я правда тоже не люблю свои проекты до деталей описывать.
>переплата в 5-10 раз за крепление на дин-рейку и переходник на промышленный блок питания
Переплата есть никто не спорит. Но поставил я как то дешманскиё длинк, т.к. не было времени покупать норм железку, на металлообрабатывающее производство. Хз из-за чего, думаю что из-за металлической пыли, которая там все покрывает (в т.ч. в шкафу, хоть и в меньших количествах), но это говно выгорело за пол года. Поменял на моксу, 3 года полет нормальный. И конечно единичный случай ничего не доказывает, но в любом тендере что играется на нормальных предприятиях, есть список оборудования, которое можно применять. Как понимаешь китайцев за 2к там нет.
>У овна эти же блоки стоят 3-6к
Я ещё раз повторюсь, что ОВНо не образец. У них отношение ценник/качество слишком завышено, ибо по качеству они обычный средний китай. Я так думаю, что это все благодаря возможности проходить как импортозамещение.
>конкретнее-подробнее и не объяснить
Ну естественно, что никто тут не будет разбирать схемотехнику и показывать почему одно оборудование хуже другого. Да и не наша это специальность.
Это просто практика, опыт и немного лапши на ушах с разных конференций. Я периодически пересекаюсь с эксплуатацией разных заводов, так что примерно понимаю чего они хотят по оборудованию. Ну и с их стороны это выглядит как, ты экономишь 15-30% на проекте, что обычно, если речь идет о такой экономии, суммы максимум до нескольких миллионов рублей. А на них навлекаешь кучу проблем, случайные отвалы оборудования, которые невозможно отследить, потраченное время и силы персонала на борьбу с этим, а самое главное простои в производстве, которые могут стоит гораздо больше, чем сэкономленные средства. Умные заказчики это понимают, и поэтому готовы чуть переплатить вначале за какие-нибудь бирки сименса на оборудовании.
>это что-то на стыке умных зданий, IoT и автоматики, есть сонм разнородных говн, каждое из них в штучном количестве, с которых надо собирать данные.
Ясн, я так и думал, что ты тот анон, который недавно спрашивал про то как найти спецов под свой проект. Ну слушай, никто тебе не говорит, что предложенное тобой решение не будет работать. И я лично не думаю, что замена болидовских преобразователей хотя хаб бы я брал с внешним питанием на ОВНо, что то принципиально меняет в плане надежности. Я просто не очень понимаю как ты собрался увязывать всё это воедино на программном уровне, если даже на аппаратном у тебя есть сомнения как всё это оборудование работает. Может тебе всё-таки провести исследование поглубже с тем, чем ты собрался работать?
Но если техническая часть вопроса это не твоя забота и ты просто пытаешься прикинуть бюджет, то в треде ты вряд ли найдешь поддержку того, что совсем уж дешманские решения равноценно заменяют те, что приняты в нашей области. Итак после 14го года всякое говно приходится жрать, ещё и советовать делать тоже самое другим не сильно приятно.
И ещё 1 вещь, которую тебе стоит учитывать. Чем ненадежнее решение ты сделаешь, тем выше должна быть квалификация у обслуживающего это дело персонала. А то тебя же и затаскают решать возникающие проблемы.
Как ты с коллизиями будешь на хабе бороться в такой конфигурации? Вроде бы функцию срать во все порты никто не отменял. Начиная с 3.Х что-то сделали, но сам не смотрел.
У мохи есть дополнительные плюшки, описанные в даташите, просто мы их зачастую не используем. Проще пиздануть дораха.
Это точно ко мне вопрос? Он ещё и так сформулирован, что не очень бьётся с предыдущим обсуждением.
Просто у анона "решение" его задачи выглядит как пека -> usb хаб -> N Штук преобразователей usb/rs-r485 -> с каждого из которых свой сегмент до отдельного оборудования. Я не вижу где тут могут возникнуть коллизии. USB это мастер/слейв, так что там каждый преобразователь на своём прерывании сидит и разруливается всё это операционной системой.
Точно. С тем нечего обсуждать.
Ну не знаю. Разруливается все хабом, а потом только операционной системой.
Честно говоря я не до конца знаю как оно будет разруливаться я так подозреваю, что каждый usb девайс сидит на своём IRQ, но я не думаю, что могут возникнуть какие-то проблемы. Все-таки скорости опроса по rs485 на порядки ниже, чем скорость USB2.0. Да и даже если возникнут затруднения, то всегда можно вытащить внутренние usb наружу, либо докупить отдельных контроллеров.
Либо сразу купить нормальный четырехпортовый преобразователь.
Вот у меня большие сомнения на счёт того, что эта конструкция будет функционировать нормально без устройства согласования.
Надо будет на досуге по приколу собрать.
>В треде с 3,5 анонами? Дело твоё. Я правда тоже не люблю свои проекты до деталей описывать.
Не знаю, возможно, именно ты уже мне раньше пояснял, пару тредов назад. Или кто-то похожий на тебя, хороший и нетоксичный. Но выше меня немного с говном едят, поэтому не хочу углубляться.
>металлообрабатывающее производство. Хз из-за чего, думаю что из-за металлической пыли, которая там все покрывает (в т.ч. в шкафу, хоть и в меньших количествах), но это говно выгорело за пол года.
Я конечно не шарю, но разве такая проблема не решается условногерметичным (IP54-IP66 или вроде того)? Трудно поверить, что одинаковые железки, с одинаковым типом охлаждения, настолько по-разному живут.
>, ибо по качеству они обычный средний китай
А в чем, опять же, конкретно это проявляется? Я правда пользуюсь у них только серией МВ1хх, но каких-то проблем не заметил, кроме редких странностей с расхождением в способах взаимодействия между максимально близкими устройствами в линейке. Ничего не горело, не умирало и так далее.
>ты экономишь 15-30%
Но ведь ваше спецоборудование ни разу не на 15-30% дороже, оно скорее на 300-30...0. Ты о каком-то конкретном перечне говоришь или в целом? Я сравнивал только китайские блоки входов с Овном и Мохой, обычные кансумерские/сохо л2 свитчи и овен-моху и блоки питания (какой-нибудь условно приличный минвел против того же овна).
>если речь идет о такой экономии, суммы максимум до нескольких миллионов рубле
А, ну вот, в этом кроется причина нашего непонимания с аноном выше. У меня наверное суммарный бюджет меньше таких экономий. Отсюда ноги и растут. Но и потери в случае чего не партия медных изделий 5000 тонн. Хотя откровенного https://lurkmore.to/Ни_единого_разрыва тоже не хотелось бы.
>Ясн, я так и думал, что ты тот анон, который недавно спрашивал про то как найти спецов под свой проект.
Ну таки да. А у меня неплохо всё. Хуевую железку победили, еще 3 подключили, работаем, братья.
>Итак после 14го года всякое говно приходится жрать, ещё и советовать делать тоже самое другим не сильно приятно.
Буду рад, если вот с этого момента будет поподробнее.
>>258732
Звезда?
>В треде с 3,5 анонами? Дело твоё. Я правда тоже не люблю свои проекты до деталей описывать.
Не знаю, возможно, именно ты уже мне раньше пояснял, пару тредов назад. Или кто-то похожий на тебя, хороший и нетоксичный. Но выше меня немного с говном едят, поэтому не хочу углубляться.
>металлообрабатывающее производство. Хз из-за чего, думаю что из-за металлической пыли, которая там все покрывает (в т.ч. в шкафу, хоть и в меньших количествах), но это говно выгорело за пол года.
Я конечно не шарю, но разве такая проблема не решается условногерметичным (IP54-IP66 или вроде того)? Трудно поверить, что одинаковые железки, с одинаковым типом охлаждения, настолько по-разному живут.
>, ибо по качеству они обычный средний китай
А в чем, опять же, конкретно это проявляется? Я правда пользуюсь у них только серией МВ1хх, но каких-то проблем не заметил, кроме редких странностей с расхождением в способах взаимодействия между максимально близкими устройствами в линейке. Ничего не горело, не умирало и так далее.
>ты экономишь 15-30%
Но ведь ваше спецоборудование ни разу не на 15-30% дороже, оно скорее на 300-30...0. Ты о каком-то конкретном перечне говоришь или в целом? Я сравнивал только китайские блоки входов с Овном и Мохой, обычные кансумерские/сохо л2 свитчи и овен-моху и блоки питания (какой-нибудь условно приличный минвел против того же овна).
>если речь идет о такой экономии, суммы максимум до нескольких миллионов рубле
А, ну вот, в этом кроется причина нашего непонимания с аноном выше. У меня наверное суммарный бюджет меньше таких экономий. Отсюда ноги и растут. Но и потери в случае чего не партия медных изделий 5000 тонн. Хотя откровенного https://lurkmore.to/Ни_единого_разрыва тоже не хотелось бы.
>Ясн, я так и думал, что ты тот анон, который недавно спрашивал про то как найти спецов под свой проект.
Ну таки да. А у меня неплохо всё. Хуевую железку победили, еще 3 подключили, работаем, братья.
>Итак после 14го года всякое говно приходится жрать, ещё и советовать делать тоже самое другим не сильно приятно.
Буду рад, если вот с этого момента будет поподробнее.
>>258732
Звезда?
> условногерметичным
В том то и дело, что это условногерметично. Во-первых это говно там везде, и если шкаф не внутри электропомещения, то вряд ли что поможет. Во-вторых эксплуатацию, которая может забыть закрыть шкаф никто не отменял.
>Ничего не горело, не умирало и так далее.
Лично у меня было 3 проекта с ОВНом, и в 2ух из них мне требовались замены. Возможно мне не повезло, но электронищик, который чинил мне 1 из контроллеров сказал, что элементная база так себе.
>Но ведь ваше спецоборудование ни разу не на 15-30% дороже
Я сравниваю именитые марки в нашей среде с условным китаем/ноу-неймами. Ок, можешь увеличить проценты до 100-300%, если связываться совсем с дешевыми брендами, для решения одних и тех же задач. Но АСУшная часть в общей стоимости проекта обычно занимает довольно небольшую часть. Как бы построить коробку цеха или поставить туда железяк стоит в разы дороже всей нашей автоматизации.
>У меня наверное суммарный бюджет меньше таких экономий
Это то понятно. Но те минусы, что ты получишь от использования совсем дешевых решений от этого никуда не денутся. Ещё раз говорю, главное чтобы заказчик понимал, что он получает за свои деньги.
>Буду рад, если вот с этого момента будет поподробнее.
Что тут рассказывать то? Экономика пошла по пизде в угоду имперских амбиций бункерного деда, соответственно и у заказчиков инвест программы пошли по пизде 15-16й год были вообще довольно унылыми, да и нам пришлось сильно урезать маржу, чтобы оставаться конкурентными. Слава богу, что я не работаю в сферах, где экспортные ограничения появились или где начали топить за импортозамещение вообще первые несколько лет ещё находились те кто об этом поговаривал, но пожрав говна на первых проектах они как то резко передумали.
Сейчас конечно чуть попроще, но экономика все равно в стагнации, так что тоже приходится экономить на многом. Просто я стараюсь обычно чтобы это были не сильно критичные компоненты. Лучше я возьму шкаф/кабель/клеммы российские, чем буду менять основное оборудование типа контроллеров или частотников.
>А у меня неплохо всё. Хуевую железку победили, еще 3 подключили
Ну хорошо, удачи, будут более предметные вопросы не стесняйся задавать.
> условногерметичным
В том то и дело, что это условногерметично. Во-первых это говно там везде, и если шкаф не внутри электропомещения, то вряд ли что поможет. Во-вторых эксплуатацию, которая может забыть закрыть шкаф никто не отменял.
>Ничего не горело, не умирало и так далее.
Лично у меня было 3 проекта с ОВНом, и в 2ух из них мне требовались замены. Возможно мне не повезло, но электронищик, который чинил мне 1 из контроллеров сказал, что элементная база так себе.
>Но ведь ваше спецоборудование ни разу не на 15-30% дороже
Я сравниваю именитые марки в нашей среде с условным китаем/ноу-неймами. Ок, можешь увеличить проценты до 100-300%, если связываться совсем с дешевыми брендами, для решения одних и тех же задач. Но АСУшная часть в общей стоимости проекта обычно занимает довольно небольшую часть. Как бы построить коробку цеха или поставить туда железяк стоит в разы дороже всей нашей автоматизации.
>У меня наверное суммарный бюджет меньше таких экономий
Это то понятно. Но те минусы, что ты получишь от использования совсем дешевых решений от этого никуда не денутся. Ещё раз говорю, главное чтобы заказчик понимал, что он получает за свои деньги.
>Буду рад, если вот с этого момента будет поподробнее.
Что тут рассказывать то? Экономика пошла по пизде в угоду имперских амбиций бункерного деда, соответственно и у заказчиков инвест программы пошли по пизде 15-16й год были вообще довольно унылыми, да и нам пришлось сильно урезать маржу, чтобы оставаться конкурентными. Слава богу, что я не работаю в сферах, где экспортные ограничения появились или где начали топить за импортозамещение вообще первые несколько лет ещё находились те кто об этом поговаривал, но пожрав говна на первых проектах они как то резко передумали.
Сейчас конечно чуть попроще, но экономика все равно в стагнации, так что тоже приходится экономить на многом. Просто я стараюсь обычно чтобы это были не сильно критичные компоненты. Лучше я возьму шкаф/кабель/клеммы российские, чем буду менять основное оборудование типа контроллеров или частотников.
>А у меня неплохо всё. Хуевую железку победили, еще 3 подключили
Ну хорошо, удачи, будут более предметные вопросы не стесняйся задавать.
>В том то и дело, что это условногерметично.
Да ладно, не до такой же степени. Мы про одни и те же шкафы говорим? Их ведь даже за окно вешают на мороз. Как на третьем пике в оп-посте. Все равно внутрь попало говно?
>. У них отношение ценник/качество слишком завышено, ибо по качеству они обычный средний китай. Я так думаю, что это все благодаря возможности проходить как импортозамещение.
Есть кто-нибудь в той же ценовой, у кого качество выше? По поводу МОХ, я вот нашел такие штуки
https://moxa.ru/shop/com_v_ethernet/embedded/ne-4110a/
почему они стоят почти в 2 раза дешевле исполнений в корпусе, они какие-то хуевые? С питанием правда непонятно, придется преобразователь докупать.
>Что тут рассказывать то?
Я имел ввиду, может как раз какие-то более дешевые аналоги нашли, которые при этом работают норм.
>Ну хорошо, удачи, будут более предметные вопросы не стесняйся задавать.
Спасибо, добрый анон.
Дядя, не страдай хуйнёй. Ставь МОХУ прям на материнку, в PCI-express слот - https://moxa.pro/catalog/platy-com/pci_express_platy_rs232_422_485/
Вот тебе вариант на 16 портов, по цене 3200 рублей за порт выходит - https://moxa.pro/catalog/cp-116e-aw_ocable
Да мне не на 16, мне на 1 или 2, лол. Но кстати вполне себе, там такие тоже есть. Правда, мне выше советовали через TCP все гонять, и для монтажа не так удобно - сводить от одних устройств модбас-кабель, от других ehternet...
Тебя вот уже несколько раз в этом обсуждении и в предыдущем просили подробно описать задачу, а ты всё стесняешься, так что мы тут сидим и гадаем.
>Правда, мне выше советовали через TCP все гонять
В этом есть смысл, если в районе места установке оборудования есть выход в локальную ethernet сеть предприятия, тогда не придётся тянуть твой "модбас-кабель" до сервера. Т.к. у тебя главный критерий цена, то тупо считаешь, какой вариант дешевле.
>Да мне не на 16, мне на 1 или 2, лол. Но кстати вполне себе, там такие тоже есть.
Тут для меня в любом случае ключевым было бы избавиться от USB хаба. Просто потому, что там в любой момент могут кабель из USB разъёма выдернуть и придётся с большой долей вероятносяти всё перезагружать после этого. Ну и выглядеть всё это будет несколько монструозно. Если в итоге решишь оставить USB-хаб - приклеивай всё кабели к портам намертво, лол.
>Тебя вот уже несколько раз в этом обсуждении и в предыдущем просили подробно описать задачу, а ты всё стесняешься, так что мы тут сидим и гадаем.
Да я уж описывал когда-то. Есть N производителей, из которых N клали хуй на автоматизацию, промышленные стандарты, адекватную документацию и т. д., и т. п. Есть задача собирать с них со всех текущие данные где-нибудь в одном месте. Железок в сумме эдак N*1.3 в лучшем случае, то есть каждой по штуке, максимум две. Таким образом, нельзя заморочиться/проставиться ради какой-то одной проебав бюджет, ведь есть еще все остальные. Касаемо возложения хуя - кто во что горазд, у кого кастомный протокол, у кого проприетарное ПО для вин ХП, у кого какой-нибудь профибас-профинет, а у кого дискретные реле на выходе, сейчас вот у одних четырехпроводной 485 с неподписанными проводами... Это все не позволяет взять какой-то готовый ОРС-сервер и объединить данные со всех устройств. Все еще больше осложняется ограниченным бюджетом, максимальной закрытостью и неторопливостью производителей железок (у кого сотрудник уволился, у кого на пенсию вышел или умер, у кого в другую фирму ушел, кто-то оберегает свои секреты и так далее) и тем, что работать надо в действующем здании, не дадут обазаться кабелями вдоль и поперек, надо минимизировать. Такая вот не самая благодарная работа. Но я, как выше заметили, кабанчик, поэтому терплю. Да, кабанчики тоже плачут.
>В этом есть смысл, если в районе места установке оборудования есть выход в локальную ethernet сеть предприятия, тогда не придётся тянуть твой "модбас-кабель" до сервера.
У нас будет своя маленькая ламповая сеточка, но на Cat 5e U/UTP, поэтому мне что-то подсказывает, что это будет не надежнее моих инфернальных занятий с китайскими конверторами и юсб-хабами. Я ошибаюсь? TCP с его гарантией доставки зарешает?
> Просто потому, что там в любой момент могут кабель из USB разъёма выдернуть и придётся с большой долей вероятносяти всё перезагружать после этого.
В этом по идее не будет большой проблемы, в нашей каморке обычно даже мыши не ходят, а сервак все равно будет какой-то, хотя я надеялся дешевым неттопом ограничиться. На внешний вид тоже похуй, ибо никто не видит.
>>259247
> твой "модбас-кабель"
Я имел ввиду двухпроводной кабель для рс485 вроде
https://www.etm.ru/cat/nn/7027468/
В принципе, терпимый вариант, хотя и не так универсально (универсальность опять же, чтоб затраты снизить). Но реально интересно про эти маленькие встраиваемые мохи, цена адекватная, в дин-корпус я ее и DCDC с 24 на 5 легко воткну (колхоз - ну и похуй, не колхознее usb-конвертера), тем более, что они умеют в 4-wire rs485, не придется сматывать кабели и надеяться что взлетит, в отличие от овна. Не понимаю только, почему эта же моха в корпусе стоит овер 10 вместо 4.5 за встраиваемую.
>Тебя вот уже несколько раз в этом обсуждении и в предыдущем просили подробно описать задачу, а ты всё стесняешься, так что мы тут сидим и гадаем.
Да я уж описывал когда-то. Есть N производителей, из которых N клали хуй на автоматизацию, промышленные стандарты, адекватную документацию и т. д., и т. п. Есть задача собирать с них со всех текущие данные где-нибудь в одном месте. Железок в сумме эдак N*1.3 в лучшем случае, то есть каждой по штуке, максимум две. Таким образом, нельзя заморочиться/проставиться ради какой-то одной проебав бюджет, ведь есть еще все остальные. Касаемо возложения хуя - кто во что горазд, у кого кастомный протокол, у кого проприетарное ПО для вин ХП, у кого какой-нибудь профибас-профинет, а у кого дискретные реле на выходе, сейчас вот у одних четырехпроводной 485 с неподписанными проводами... Это все не позволяет взять какой-то готовый ОРС-сервер и объединить данные со всех устройств. Все еще больше осложняется ограниченным бюджетом, максимальной закрытостью и неторопливостью производителей железок (у кого сотрудник уволился, у кого на пенсию вышел или умер, у кого в другую фирму ушел, кто-то оберегает свои секреты и так далее) и тем, что работать надо в действующем здании, не дадут обазаться кабелями вдоль и поперек, надо минимизировать. Такая вот не самая благодарная работа. Но я, как выше заметили, кабанчик, поэтому терплю. Да, кабанчики тоже плачут.
>В этом есть смысл, если в районе места установке оборудования есть выход в локальную ethernet сеть предприятия, тогда не придётся тянуть твой "модбас-кабель" до сервера.
У нас будет своя маленькая ламповая сеточка, но на Cat 5e U/UTP, поэтому мне что-то подсказывает, что это будет не надежнее моих инфернальных занятий с китайскими конверторами и юсб-хабами. Я ошибаюсь? TCP с его гарантией доставки зарешает?
> Просто потому, что там в любой момент могут кабель из USB разъёма выдернуть и придётся с большой долей вероятносяти всё перезагружать после этого.
В этом по идее не будет большой проблемы, в нашей каморке обычно даже мыши не ходят, а сервак все равно будет какой-то, хотя я надеялся дешевым неттопом ограничиться. На внешний вид тоже похуй, ибо никто не видит.
>>259247
> твой "модбас-кабель"
Я имел ввиду двухпроводной кабель для рс485 вроде
https://www.etm.ru/cat/nn/7027468/
В принципе, терпимый вариант, хотя и не так универсально (универсальность опять же, чтоб затраты снизить). Но реально интересно про эти маленькие встраиваемые мохи, цена адекватная, в дин-корпус я ее и DCDC с 24 на 5 легко воткну (колхоз - ну и похуй, не колхознее usb-конвертера), тем более, что они умеют в 4-wire rs485, не придется сматывать кабели и надеяться что взлетит, в отличие от овна. Не понимаю только, почему эта же моха в корпусе стоит овер 10 вместо 4.5 за встраиваемую.
Максимальный размер вордов это 64 бита (8 байт), пишется как LWORD# или LW#
Для того чтобы передавать 9 байт используй ARRAY of Byte, либо WString (если у тебя на самом деле там символы), либо структуры.
TCP однозначно порешает USB, но вариант с встраиваемым модулем тоже норм.
У мохи корпусом можно головы проламывать. Потому и стоит так дорого.
Сразу бы так написал - намного бы проще общение пошло. Деаноном даже близко не пахнет, т.к. многие ебутся с такими проблемами.
>Деаноном даже близко не пахнет, т.к. многие ебутся с такими проблемами.
Не похоже, читни выше, как меня хуями обложили за мои охуительные идеи с китаем, переходниками и прочим. Хуй с ним, я уже смирился с выбором овна или мохи безкорпусной.
>>260004
>TCP однозначно порешает USB
Но не факт, что порешает по сравнению с рс485 кабелем, протянутым до серверной, где будет воткнута такая штука >>259191
>Вот тебе вариант на 16 портов, по цене 3200 рублей за порт выходит - https://moxa.pro/catalog/cp-116e-aw_ocable
>Но не факт, что порешает по сравнению с рс485 кабелем, протянутым до серверной, где будет воткнута такая штук
>вариант с встраиваемым модулем тоже норм.
Вообще в твоем случае монопенисуарно. Выше писали, что делай так, как удобнее. Оба решения лучше usb-хаба с китайскими преобразователями.
>как меня хуями обложили за мои охуительные идеи с китаем
Я тебя и покрыл хуями. Ты, на будущее, ультиматумы не ставь, а спрашивай. Желательно так >>259705, а не издалека через говно/не говно. Тогда и фидбэк сразу нормальный пойдет.
Хм. Ты хороший анон, прикинувшийся плохим? Ну извини, если я что не так сказал. И спасибо еще раз.
>ты, на будущее, ультиматумы не ставь
Да не было же такого...
> Но реально интересно про эти маленькие встраиваемые мохи, цена адекватная, в дин-корпус я ее и DCDC с 24 на 5 легко воткну
>DCDC с 24 на 5
А это тебе зачем?
>А это тебе зачем?
Встраиваемая бескорпусная МОХА питается от 5V, у меня сеть 220 переменного и поблизости есть 24 постоянного от блока питания.
Да, инфа отсюда.
>>260729
>Встраиваемая бескорпусная МОХА
https://moxa.ru/shop/com_v_ethernet/embedded/ne-4110a/
>Рабочее напряжение 5 В пост.
На 4-20mA между измерениями скачут сотые и тысячные миллиампера. Округлять не хотелось бы, но и прыгающие данные на экране выглядят не очень. Это микроскачки напряжения в выпрямленном токе? Можно чем-то недорого пофиксить? Ферритовые кольца, фильтры, с конденсатором каким-нибудь запараллелить? На выходе с блока питания или на плюсе перед сборщиком данных с датчика.
Дядя, ты опять все путаешь.
https://moxa.ru/shop/com_v_ethernet/embedded/ne-4110a/
Это обычный преобразователь Ethernet <-> COM без корпуса, для него нужно 5 вольт. Он НЕ встраиваемый, он просто есть и куда ты его собираешься колхозить - непонятно. Если он будет болтаться где-то в районе твоего оборудования и скидывать данные в ethernet, то какой смысл его брать, если можно взять в корпусе и с комплектным блоком питания? Или, если к оборудованию прилагается шкаф/щит (сука, опять сижу и гадаю что там у тебя) лучше брать на DIN-рейку , вроде есть такие исполнения.
А нужен этот бескорпусной преобразователь, очевидно, для тех, кто собирает готовые устройства в своих корпусах.
https://moxa.pro/catalog/cp-114el-db9m
Это преобразователь "встраиваемый" в корпус ПК, втыкается в PCI-express слот материнской платы ПК, не требует дополнительного питания, идеально решает твою изначально описанную нам задачу (в которой до серверной ты тянешь RS-485 кабеля и размышляешь над использованием usb разветвителя и пачки преобразователей USB <-> COM).
>Это преобразователь "встраиваемый" в корпус ПК, втыкается в PCI-express слот материнской платы ПК
Скажи пожалуйста, ты видишь разницу между 16.5к и 4.5?
>Он НЕ встраиваемый
Написано embedded, как смог так и назвал, чего ты докапываешься?(
>он просто есть и куда ты его собираешься колхозить - непонятно
Да куда-нибудь сколхожу, хоть пластиковый корпус возьму, хоть в щите присобачу, хоть на проводах повешу, я же говорю: цена - решает.
> если можно взять в корпусе и с комплектным блоком питания?
10.5к против 4.5
>в которой до серверной ты тянешь RS-485 кабеля и размышляешь над использованием usb разветвителя и пачки преобразователей USB <-> COM
Это я уже понял, что в таком случае PCI-E Moxa лучше, спасибо (при условии, что у меня есть этот PCI-E).
>Скажи пожалуйста, ты видишь разницу между 16.5к и 4.5?
Я вижу изначальную постановку задачи, в которой тебе нужны N портов, а не один, т.к. у тебя N сетей с разными параметрами. Эта железка на 4 порта, 4.1к за порт, + готовое решение с минимумом колхоза.
>Да куда-нибудь сколхожу, хоть пластиковый корпус возьму, хоть в щите присобачу, хоть на проводах повешу, я же говорю: цена - решает.
Не надо так :(
>при условии, что у меня есть этот PCI-E
Если твой сервер будет обычным ПК, то придется еще постараться, чтобы найти для него материнку без PCI-e.
>, т.к. у тебя N сетей с разными параметрами. Эта железка на 4 порта, 4.1к за порт, + готовое решение с минимумом колхоза.
Не все и не всегда они рс485. И я бы все же предпочел стягивать в серверную витуху, а не СегментКИ.
>Если твой сервер будет обычным ПК, то придется еще постараться, чтобы найти для него материнку без PCI-e.
Я надеялся взять какой-нибудь неттоп типа НУКа.
>Не надо так :(
Почему? Выше говорили норм.
>Не все и не всегда они рс485.
Они умеют RS-232/422/485
>И я бы все же предпочел стягивать в серверную витуху, а не СегментКИ.
Ну если так решил в итоге, то ок.
>Не надо так :(
>Почему? Выше говорили норм.
https://ru.wikipedia.org/wiki/Утиный_тест
Твоя конструкция будет выглядеть как говно, вот и думай.
>Можно чем-то недорого пофиксить?
Можно и бесплатно пофиксить программным фильтром. А если аналоговый модуль поддерживает, то и в его настройках обычно можно фильтр врубить.
А для того чтобы железячные решения искать нужно точно причину устанавливать. Если ты думаешь, что это БП, то попробуй от аккума запитать и проверить. Но на самом деле возможных причин могут быть десятки.
>Можно и бесплатно пофиксить программным фильтром. А если аналоговый модуль поддерживает, то и в его настройках обычно можно фильтр врубить.
Врубил, поигрался со значениями, снизилось колебание с десятых до сотых и тысячных. Дальше если врубать - будет ущерб скорости реакции. Она не суперкритична, но не хочется выглядеть тормозом на фоне конкурентов. Программный - какой, усреднение?
>Если ты думаешь, что это БП
Да, я попробовал поменять датчик, без изменений. Экран выключал, показатели снимал напрямую.
Подскажите какие-нибудь недорогие шаговик и драйвер и где купить.
Я пару проектов делал с purelogic, как раз на 1200ых. Вроде нормально, хотя по качеству они средненькие было пару мелких косяков. Если готов покупать за кеш и подождать, то на али можно какой-нибудь leadshine взять.
>>262950
>Программный - какой, усреднение?
Зависит от твоих помех. Если там все ровно, то можешь простое усреднение.
>снизилось колебание с десятых до сотых и тысячных
И что, это плохо? Хз что ты там измеряешь, но небольшие подергивания это обычно нормально особенно помогает понять что датчик жив, если нормальная диагностика не сделана. Ну и тысячные можно и не выводить на экран, если точность того не требует.
Я лох и не понимаю. У меня есть блок входов МВ110-24.8АС. Я хочу почитать его данные с компьютера. Подключился через ESPADA USB-RS485, поставил драйвер, "Конфигуратор МВ110" увидел блок, им можно пользоваться. Открыл Terminal 1.9, хочу почитать данные, но не понимаю как. Как ему команды-то послать, чтоб он ответил чего? Подключился к ком порту - Connected. Настройки те же, что в конфигураторе МВ110. Вот хочу я получить значение из первого входа - как? Вроде бы адрес прибора 16, команда 04, адрес обращения 288 (0х120), длина 3. Пробовал и через $, и через пробелы, и в квадратных скобках как в этом конструкторе
https://npulse.net/en/online-modbus
молчит как рыба. От админа запускать пробовал. Может, какую-то другую программу попробовать?
>Может, какую-то другую программу попробовать?
Ну я обычно терминал через PuTTy пинаю, но не думаю, что это твоя проблема.
Для начала скачай какую-нибудь прогу для опроса по модбасу, например, Modbus Poll который очень несложно найти крякнутым. Подключись, проверь что модбас у тебя в принципе ходит. Скорее всего ты уже на этом этапе увидишь какую-то ошибку в настройках модуля пытаться угадать, что ты там криво настроил без скринов или самого файла конфигурации, я не буду или драйвера преоброзователя. Если же передача будет ходить, то там в mb poll есть просмотр трафика, что бы понять в чем ты неверно формировал строку.
А зачем ты вообще вручную ком порт пинаешь? Собираешься какое то самописное решение делать?
>Если готов покупать за кеш и подождать, то на али можно какой-нибудь leadshine взять.
Нет, покупает контора по безналу. Нужно в какой-то российской конторе.
1. Читать книжки из шапки, пытаться стать настоящим асушником, напиздеть с три короба в резюме, напиздить чужие проекты из интернета и выдавать за свои. Якобы есть опыт.
2. Сменить отрасль. Слаботочка какая нибудь, видеонаблюдение, пожарные сигналки итп. На первый взгляд кажется намного проще сюда вкатиться, а зп не намного хуже. Или я не прав?
3. Выпилиться?
Как бы вы поступили?
Ну я дал тебе вариант. В принципе самый мелкий двигатель + драйвер тебе и так обойдется меньше чем в 10к.
Хотя я не очень понимаю чему ты там учиться собрался. Настраивать и управлять технологической осью за пару дней можно.
>Подключись, проверь что модбас у тебя
Он точно работает, потому что я могу подключиться конфигуратором МВ110 к блоку вводов через него.
>в принципе ходит
А куда он ходит, если я команды не посылаю? Подключиться (не занимая весь порт) и параллельно с блоком ввода конфигуратором поиграть?
>А зачем ты вообще вручную ком порт пинаешь? Собираешься какое то самописное решение делать?
Интересно, как оно под капотом.
Если не хочешь стухать - выбирай сложную профессию, которую невозможно постичь до конца/работу с людьми, там блять не соскучишься. Сам получаю почти 80к за то, что сижу на двоче, реально, за полгода написал 4 письма и съездил на 5 объектов (мимоинженер строительного контроля в Лукойле на севере), скукотень - пизда, летом переезжаю в ДС, ебал я их в рот, этих добоебов - подзалупных инженеров
>Он точно работает, потому что я могу подключиться конфигуратором МВ110 к блоку вводов через него.
Но конфигуратор работает не по модбасу. Я предлагаю тебе проверить именно работу протокола. Просто мое предположение, что ты мог проебаться с настройкой модуля. Прежде чем проверять вручную составленными пакетами, где ты тоже можешь объебаться, проверь приложением, которое сделает это за тебя.
> А куда он ходит, если я команды не посылаю?
Ну я тебе и предлагаю скачать приложение, которое будет слать команды опроса модбаса.
>Подключиться (не занимая весь порт)
Сомневаюсь, что это возможно.
>Интересно, как оно под капотом.
Ты увидишь.
>Хотя я не очень понимаю чему ты там учиться собрался. Настраивать и управлять технологической осью за пару дней можно.
Так это не только для меня, будут обучать и другой народ.
У тебя есть возможность "сдвинуть ноль"? Ну то есть "поднять" твой условный ноль с 4мА выше, до, скажем, 5мА средствами твоего источника тока? Или попробуй вставить последовательно в петлю резистор на 50 Ом примерно чтобы все эти скачки гасились в "тепло" на нём. Или лучше диод.
большие конторы платят большие деньги.
если по всем сметам считать проектную документацию, то проект на 200 сигналов, будет стоить не меньше пол ляма.
При этом за месяц он делается одним человеком, без особых проблем.
В проектах больше и ценик значительней
>При этом за месяц он делается одним человеком, без особых проблем.
Интересно как это происходит. Тебе дают законченное ТО и ты начинаешь подбирать железо, проектировать шкафы, потом пердолить код, потом собирать шкафы, потом заливать код потом налаживать и под конец ехать ставить на завод? Дохуя работы конечно. Или всё не так?
Пердолят код и налаживают субподрядчики ген. подрядчика.
Проектная контора же разрабатывает документацию, протаскивает через экспертизу, принимает участие в строительном контроле и выпускает РД, потом ИД.
другой анон
То есть простыми словами проектная контора (в нашем случае по АСУ ТП) по сути принимает бумажки на входе и выдаёт бумажки на выходе, так?
Лол, ну вообще любая контора так работает.
Поучаешь на входе задание, а на выходе составляешь акты, что все заебись.
В мелкоконторах, где например работаю я, примерно так и есть. Конечно никакого законченного ТЗ обычно нет, т.к. заказчики обычно сами не сильно понимают что им надо, так что с этим тоже приходится постепенно разбираться. Ну и работа скорее всё же будет разбита на несколько людей.
Вот, для примера, сейчас делаем проект стоимость которого чуть больше 3кк руб. Вычитаем налоги, вычитаем стоимость оборудования, получаем где то 1-1,2кк на работы. Работы там примерно на месяц для 4 человек, но в реальности это конечно будет растянуто во времени, т.к. невозможно вести монтаж одновременно с проектированием. Вычти налоги на з/п, необходимость содержать офис, производство, сопутствующий персонал по типу юриста или бухгалтера, и получишь как раз примерно з/п с хх.
Вообще эмпирически просто знай, что в любой более-менее сложной железке, которую купил твой завод 30-50% от цены уходит на оплату труда людей. Хотя в российских реалиях это зачастую приходится прятать что меня прям очень бесит в стоимости оборудования, т.е. завышать стоимость закупки в контракте и занижать стоимость работ.
У нас в конторе так:
>Тебе дают законченное ТО
1. На основе ТО инженер-проектировщик делает проект, если заказчик не знает что хочет выезжает к нему в гости вместе с каким нибудь кабанчиком манагером для поддержания контакта
>начинаешь подбирать железо
2. Делает инженер-ТКП
>проектировать шкафы
3. После того как ТКП утвердили инженеры-нку начинают пилить схемы для сборщиков
>потом пердолить код
4. Тут ИтХипстеры делают свое дело попивая раф
>потом собирать шкафы
5. Шкафы собирают сборщики НКУ (по сути монтажники)
>потом заливать код потом налаживать и под конец ехать ставить на завод
6. Заливку кода на объекте делают шеф-монтажники, они же настраивают весь КИП и проводят ПНР в коллаборации с ИтХипстерами на удаленке
Получается в процессе задействовано 6 инженерных единиц не считая разносортных манагеров
>>268348
ебать ты монстр-6в1, дохуя зарабатываешь наверно
>>264170
Спасибо, бро. Итак: подключиться смог, тот (1.9 by bray) терминал оказался каким-то странным, но другой заработал (Termite), смог пообщаться с устройством. Можно было бы всех отблагодарить и закрыть тред, но вы тут столько умных штук сказали, что я вас еще чуть-чуть помучаю, ладно?
>Сомневаюсь, что это возможно.
Видел некую программу для портшеринга, но не буду спорить.
>Ну я тебе и предлагаю скачать приложение, которое будет слать команды опроса модбаса.
Само не шлет, пришлось настраивать также, как я это делал с Термитом. Показалось неочевидным отсутствие в таблице чистых HEXов (потом увидел в менюшке, которую ты указал) и запись вместо чтения по умолчанию. Ох уж эти интерфейсы девяностых. Но за 10 минут разобрался, спасибо. Только я не понял, для чего это? Это ведь такой же терминал, как и Термит, только интерфейс чуть сложнее и окошек больше.
>А зачем ты вообще вручную ком порт пинаешь? Собираешься какое то самописное решение делать?
Плохо ли это? Хотел написать на ноде или питоне в порядке самообучения (не для промки) обмен данными и сбор логов.
У питона уже давно есть готовая либа, как и практически всех верхнеуровневых языков. Пипинсталь и самообучайся сколько угодно.
>Только я не понял, для чего это? Это ведь такой же терминал, как и Термит, только интерфейс чуть сложнее и окошек больше.
Ты наркоман?! Терминал тут чисто для галочки. Основная функции проги общаться по модбасу в качестве клиента (Modbus Poll) или притворяться сервером (вторая прога из этого набора Modbus Slave). Смотри скрин. Сначала настраиваешь порт. Потом заходишь в setup и настраиваешь read/write defenitions (например, у меня на скрине стоит, что прога должна 1 раз в 1000мс вычитывать со слейва 1 командой 03 начиная с 0 регистра 10 регистров). Т.е. эта прога будет сама всё опрашивать и формировать. А терминал внутри неё я тебе предлагал посмотреть, чтобы ты понял в чем может быть ошибка при формировании тобой сообщения вручную.
>Плохо ли это? Хотел написать на ноде или питоне в порядке самообучения
Для обучения мало что плохо. Впрочем если ты уже понял как формируются сообщения, то дальше я смысла не вижу ебаться, если твоя цель именно работа с протоколом. Тебе правильно сказали, что все либы уже написаны. Если же тебе чисто навыки программирования попрактиковать, то кто мы такие, чтобы сдерживать твой порыв.
>>268397
Про какие ты столбцы?
Да, бро, я все это и сделал. В сетап правда не ходил, сделал это райт-кликом по таблице. Вообще говоря, я не очень понял твоей терминологии, у тебя клиент - это мастер, а сервер - слейв?
>Сначала настраиваешь порт. Потом заходишь в setup и настраиваешь read/write defenitions (например, у меня на скрине стоит, что прога должна 1 раз в 1000мс вычитывать со слейва 1 командой 03 начиная с 0 регистра 10 регистров).
Это я понял, только чем это лучше моей ручной команды 10 04 01 20 00 02 CRC16? Кроме того, что вручную отправляет и конвертит.
>чтобы ты понял в чем может быть ошибка при формировании тобой сообщения вручную.
Аааа... Вот, я понял, что ошибки не было, она аналогично считает.
>Для обучения мало что плохо.
А не для обучения?
>Про какие ты столбцы?
Вот у тебя на скриншоте 00000. Я бы хотел рядом видеть столбец 00001, например.
Мастер - это сервер, а слейв - это слейв.
Прочти же б-гопротивный пятидесятистраничный трактат о Модбасе от Шнайдера и более не задавай подобных вопросов.
Но если твоя вера крепка, а сердце невинно, то ты придешь к истинному учению - Модикону-нашему и будешь славить его во всех тредах подобно мне, скромному слуге его. Нашему Отцу и нашему Проводнику в мире ГейХипстерства и ТехасМэкКабанчизма и нашему заступнику от ложных 700-рублей-точка-богов.
>чем это лучше моей ручной команды 10 04 01 20 00 02 CRC16? Кроме того, что вручную отправляет и конвертит.
Ничем, сын мой. Можешь сразу брать в руки батарейку, паять делитель и оттачивать мастерство генерации фронтов на линии вручную.
Когда сможешь передавать "Hello World!" на скорости 10Гбит - ты достигнешь просветления, отрок. И ты будешь полностью освобожден от этих бренных уровней абстракций!
Но ждет тебя тернистый путь и когда злобный ГейХипстер-искуситель будет увещевать тебя ВОСПРЯНЬ головой и ВОСКЛИКНИ:
ДА ПРИБУДЕТ СО МНОЙ СИЛА МОДИКОНА И RS485ого ПРОВОДНИКА ЕГО!
ДА НЕ ВСУНУ Я ПЕРЕМЫЧКУ ТУДАКУДАСУКАНЕСЛЕДУЕТИНЕСПАЛЮПОРТНАХУЙ!
ЗАЩИТИ МЯ И ДАЙ МНЕ СИЛ ХУЯРИТЬ АКИ ТРАНИЗИСТОР!
Да будет же твоя рука тверда, а воля несломлима. И да прибудет с тобой вера в Модикон, а коллизии обходят стороной. Твое дело свято и однажды ты пробьешь этот барьер, аки Нео вырвавшийся из Матрицы.
9600/8/1/n
магистр ордена Модикона
> клиент - это мастер, а сервер - слейв
Ну да. Просто терминология для serial (rtu или ascii) и TCP/IP реализаций отличается. Сервер=слейв=тот кто отвечает на запросы, клиент=мастер=тот кто отправляет запросы на обмен данными.
>А не для обучения?
Ну я не уверен, что имеет смысл играться с реализацией протокола самому, когда есть готовые либы, если сам пишешь, или же готовые реализации в большинстве ПЛК. Ну и я хз какую ты задачу собрался решать.
>Я бы хотел рядом видеть столбец 00001, например.
Ну если ты будешь опрашивать больше 10 регистров, тогда и будут у тебя столбцы. У тебя же там в настройках чтения view/rows. Такое себе решение, но что есть. Но я прогу сам использую чисто для проверки связи/регистров, так что мне особо дремучий интерфейс не мешает.
>Мастер - это сервер, а слейв - это слейв.
Ноуп, как писал выше (мастер = клиент), (слейв = сервер). Впрочем я сам в терминологии периодически путаюсь, т.к. все-таки в бытовом понимании сервер = главный, и его так и хочется приравнять к мастеру. Но конкретно когда мы говорим про коммуникацию это немного не так.
Впрочем я и сам периодически также заговариваюсь, и когда писал >>268455 , то сам 3 раза перечитывал, чтобы не перепутать.
а что за мужик на последней картинке?
Ну таки да.
Но если смотреть в целом на всю сеть, то уже сервер, а не клиент...
Что не отменяет того, что ты полностью прав.
Алексей Скуфьин
Я вот поигрался с настройками фильтров МВ110, но все равно небольшие скачки на десятых-сотых миллиампера остались. Дальше уже только в SCADA усреднять? Почти уверен, что БП, больше нечему (по идее), но проверить нечем - нету осцилографов, токовых клещей и прочего.
>>267878
>У тебя есть возможность "сдвинуть ноль"?
Ээээ... Сдвинуть так, чтоб из 4мА было 5мА я могу (покрутив ручку имитатора сигнала). Продолжит скакать уже там. А вот дальше сложно пошло.
> средствами твоего источника тока?
Это я и сделал вроде?
>Или попробуй вставить последовательно в петлю резистор на 50 Ом примерно чтобы все эти скачки гасились в "тепло" на нём.
eto kak? Просто воткнуть между датчиком и сборщиком?
>Или лучше диод.
Но ведь ток уже выпрямлен...
>небольшие скачки на десятых-сотых миллиампера остались
Сотые миллиампера вообще в пределах погрешности модуля (±0,25%), а что у тебя там за датчик мы вообще не знаем, может для него такое поведение нормально.
Ну и вообще как ты всё подключаешь? Может у тебя там минус датчика и минус блока питания не выровнены?
> Может у тебя там минус датчика и минус блока питания не выровнены?
Это как? Минус в минус, плюс в плюс вотунул.
>Сотые миллиампера вообще в пределах погрешности модуля (±0,25%), а что у тебя там за датчик мы вообще не знаем, может для него такое поведение нормально.
Все равно хотелось бы попробовать проделать то, что описывает анон выше, но для этого нужно сначала понять, как и что он предлагает делать.
Схему подключения нарисуй. У тебя по всей видимости 3 или 4 проводная схема, там минус измерительного канала стоит объединить с минусом блока питания. Не знаю сделал ты это или нет.
>Продолжит скакать уже там.
Не может быть. Мощности источника помех не хватит продавить ток такой величины чтобы он возбудил напряжение на приёмнике выше условного ноля, в нашем случае задраного выше номинала. Это как по сути все прыгают через перекладину, а ты её приподымаешь и все остаются сосировать ибо высоко.
>eto kak? Просто воткнуть между датчиком и сборщиком?
Последовательно. Где угодно. Для пробы просто резистор в клемму + токовой петли и на него намотай провод на датчик. Последовательно.
>Но ведь ток уже выпрямлен
В данном случае мы используем сопротивление pn-перехода диода плюс фильтрацию помех, которые сюрприз, могут быть знакопеременными.
>а что за мужик на последней картинке?
Символ ватной крымодебильной /po/раши, самолично сдеанонивший сам себя, записав обращение к такому же /po/рашному ебанату, только хохлосвидомой направленности и выложивший в /po/. И что самое характерное: оба ебаната живут в одном городе Жопорiжжя
Размышления теоретические, сам особо не сталкивался.
На 1,5 метрах у тебя особо емкостных токов не будет чтобы о фильтре волноваться как мне кажется. Но вообще в инструкции на частотник у тебя есть длина кабеля с фильтром и без, в инструкции на насос скорее всего тоже, бери эти цифры за основу. Я не думаю, что на 1,5м может навестись что то значительное, особенно если ты экранированный кабель заложишь.
Мог бы и вики открыть.
>в физическом плане
>представляется то в виде com порта, то в виде простой витой пары подключённой к клеммам
При чем тут вообще способ подсоединения проводов? Физически они отличаются тем, что RS-232 за логические 0 и 1 принимают жесткие уровни напряжений, например, +/- 5В. А в RS-485 измеряется не конкретный уровень напряжения на линиях, а разница между ними (дифференциал). За счет этого у RS-485 в разы выше возможная длина, т.к. помехи наводятся на оба провода разом. Плюс в т.ч. железячная реализация такова, что RS-232 может только в point-to-point связь между двумя точками, а на RS-485 можно строить сеть.
Расстояние без использования повторителей, кол-во сигнальных линий и их роль, уровни напряжения, скорость передачи, кол-во устройств на линии.
В конце концов открой два стандарта и сравни.
rs485 в ком порте вряд ли существует, но разъем db9 иногда используют и для 485.
>Не может быть. Мощности источника помех не хватит продавить ток такой величины чтобы он возбудил напряжение на приёмнике выше условного ноля, в нашем случае задраного выше номинала.
Может быть я неправильно понял, что нужно сделать. Я думал, ты просто хотел, чтоб датчик начал выдавать 5ма вместо 4ма.
В частотнике стандартные десятки метров. А, ну оригинальность только в 25 м неэкранированного кабеля для ЭМС в жилых/административных помещениях (это частотник Sinamics G120P в версии для ОВиК, к которому ещё хрен найдёшь выходной дроссель). В мануале насоса вообще за мир во всём мире: призвано ограничивать dU/dt до 2000 В/мкс, и пиковое напряжение до 650 В. Тоже кажется, что особо ничего страшного быть не должно. Ну не собирать же стенд из бочки и насоса, чтоб тащить туда и крейт CompactPCI с дигитайзером Acqiris пики посмотреть, в конце концов.
В частотнике стандартные десятки метров. А, ну оригинальность только в 25 м неэкранированного кабеля для ЭМС в жилых/административных помещениях (это частотник Sinamics G120P в версии для ОВиК, к которому ещё хрен найдёшь выходной дроссель). В мануале насоса вообще за мир во всём мире: призвано ограничивать dU/dt до 2000 В/мкс, и пиковое напряжение до 650 В. Тоже кажется, что особо ничего страшного быть не должно. Ну не собирать же стенд из бочки и насоса, чтоб тащить туда и крейт CompactPCI с дигитайзером Acqiris пики посмотреть, в конце концов.
>за логические 0 и 1 принимают жесткие уровни напряжений
Напряжение не бывает "само по себе". Это электрический потенциал между двумя (!) точками. Так что RS-232 тоже принимает 0 и 1 как потенциал между чем-то и чем-то, а не как что-то, висящее в вакууме.
>А в RS-485 измеряется не конкретный уровень напряжения на линиях, а разница между ними (дифференциал).
Опять же, для ньюфага непонятно. Разница между напряжениями относительно земли? Или напряжение относительно друг друга? Или относительно сигнальной земли для каждой линии? Тогда это нужна 4-хпроводная схема!
Короч, у тебя датчик 4-20мА это 0% сигнала 4мА, 100% сигнала 20мА. Есть возможность на приёмнике (ПЛК, МК или что там у тебя) поднять ноль чтобы было 5мА - 0% / 20мА - 100%? Ну или 4,5мА - 0%. Суть такова что если помехи портят сигнал около "ноля" то логично этот ноль приподнять повыше чтобы помехи не детектились приёмником. Минус такого решения: если критичны измерения около "ноля" то такой способ не годится.
Суть токовой петли в том что помехи любые сами по себе слабенькие по мощности (кроме военных). Напряжения они то создать могут, а вот ток в цепи, достаточный чтобы продавить себя к приёмнику - нет. Ток в токовой петле на приёмнике преобразуется в напряжение на входных каскадах. Вот там уже кстати и могут наводится помехи.
>скачут сотые и тысячные миллиампера
Извини, я с такими точностями не работал. Это отдельный вид извращений в околонаучных и научных областях. В индустрии всё погрубее. Что нужно поточнее всё цифра.
У меня есть PLC Siemens 300 и он настроен как TCP Slave ModBus и его должен опрашивать Centum VP.
В Сименсе я расшариваю в холдинг регистры несколько ДБшек "как есть" и типы данных там раскиданы относительно рандомно(ПИК1). Ребята которые занимаются Центумом говорят, что это шляпа и у них так работать не будет, дескать у них при считывании данные читаются сразу с указанием типа данных и при его изменении нужно делать новый запрос(ПИК2), а таких запросов на один порт они могут сделать 30, чего собственно нам не хватит
И тут стоит собственно выбор либо я долго и упроно копаюсь в сименсе раскидывая данные, переполачивая добрую часть программы и прикрученной к ней визуалки
Либо может быть есть какой то путь проще о котором ребята которые занимаются Центумом не знают, либо не хотят говорить
ПИК1 - потерялся
>Напряжение не бывает "само по себе"
Естественно имеются в виду уровни Tx/Rx относительно земли приемника или передатчика.
>>269882
>Или напряжение относительно друг друга?
Зис. Берется разность напряжения между Data+ Data-. Там конечно кроме полудуплекса ещё есть и фул дуплекс решения, где Tx Rx разделены, но они в жизни почти не используются.
А ты вместо того чтобы пытаться душнить, лучше все-таки бы потратил 5 минут на гугление интересующего тебя вопроса. Там всё тебе разжуют с картинками и схемотехникой.
>>269982
Не работал с якогавой, но они разве не могут это вычитать сначала просто как массив WORDов, а потом у себя перекладывать в нужные переменные с преобразованием типов? Я понимаю, что ты им такой вопрос скорее всего задавал, но мне просто интересно что они ответили. Потому что никакой проверки типов на входе в принципе быть не может.
Ну и на сименсе, особенно когда ты общаешься с несколькими устройствами, всё обычно точно также происходит. Ты организуешь буфер в виде array of word/byte, а уже потом его копируешь поверх нужной DB для привязки к нужным переменным и типам данных.
Ну и вот, например, видео https://www.youtube.com/watch?v=8wUzSedinhU Точно также получают 2 регистра и слепливают их в real
Короче для меня лично звучит как пиздеж от твоих коллег, но возможно я не прав, т.к. в принципе не понял сути проблемы.
> но мне просто интересно что они ответили
ответ был уровня, что у них тоже дохуя проблем с последующим разбором всего этого дела, не меньше чем у меня
На видео у тебя Стардом это относительно "Мэковское" решение в котором всё относительно как привычно
В центуме там своя атмосфера и так как я никогда с ним дел не имел, хз на сколько мне они пиздят
Ну как минимум модбас передает регистры (кусочки по 2 байта), и он в душе не ебёт что там за данные. Типа я не очень верю, что нельзя принять данные, а потом переложить их в другое место указав нужные типы данных. Но если у них там нет такого, то они пиздят охуительная система конечно.
Лично для меня вопрос не лежит в технической плоскости, а чисто в организационной. По мне вопрос должен решаться тем у кого новая система, а у кого старая. Если они что то делают с нуля, то по идее это их задача подстроиться под существующие оборудование.
в гугле
в книжке http://www.ibiblio.org/kuphaldt/socratic/sinst/book/liii.pdf
смотря что тебя вобще интересует по аналоговым датчикам
У меня у самого несколько разных версий ТИА портала на виртуалках и всё работает более-менее нормально, провисов по 15 секунд точно нет. Но у меня и виртуалки эти крутятся на внешнем ССД и выделяю я под них при запуске три ядра из восьми и 16 гб оперативы.
Поясните 4-й пикрелейтед
Кажется, возможности нету, но я могу ошибаться (блок входов ОВЕН МВ110, играюсь с ним). Но и помехи на любом уровне сигнала, не только в нуле.
>Но и помехи на любом уровне сигнала, не только в нуле.
>блок входов ОВЕН МВ110, играюсь с ним
>ОВЕН МВ110
Дело раскрыто Ватсон. Вы занимаетесь говноедством, преследуя слегка завышенные цели.
Я не понял каким боком петух из параши оказался в АСУ-треде. Это какой-то уровень метаиронии или всё хуже?
В теме разбираюсь слабо, так что сильно не пинайте.
Опрос датчика температуры и обработка ПИД происходит раз в 100 миллисекунд.
Объясните мне, что от меня хотят, когда требуется нагрев 1 градус в секунду?
Алсо, когда требуется поддержание температуры на заданном уровне - как выловить это состояние?
Я споткнулся на формировании и обработке температурного профиля. Не пойму как к этому подойти.
Всё перепроверив и сломав себе голову, в итоге посмотрел разъем на 300-м и оказалось, что какая-то сука передвинула рычажок резистора сименсовского штекера, выключив его. Видимо сетевики перетыкали ethernet и случайно задели рычажок, из-за них нахуй всё встало. Пидоры.
Потихонечку курю портал, спрашиваю советов мудрых
1. Можно упростить графику? Цветные объемные квадратики нинужны.
2. В проекте одного крупного вендора часть повторяемой логики, отвечающей, скажем, за клапан, была написана в отдельном FB. Внутри блока вначале все входные переменные перекладываются в темп память блока, затем идет сама логика блока, которая использует только входные данные из темп памяти. Логика складывает выходные данные в темп память блока. В конце блока темп память выходных данных перекладывается на выхода блока. Для чего так сделано? Единственное что приходит на ум, это защита от изменения входов/выходов во время выполнения логики FB. Но как такое может произойти, только в случае прерываний или сетевых взаимодействий с прямым доступом к памяти? И разве сам портал не делает тоже самое? Ведь когда мы создаем экземпляр какого-то FB, портал спрашивает куда положить его данные. И в этом iDB как раз будет вся область памяти входов и выходов. Тогда зачем перекладывать еще раз?
3. Как относишься к "честной" инкапсуляции кода внутри FB, когда блок использует только те переменные которые ему явно дали на входы при вызове, а не лезет сам куда захочет в память?
Аж анус сжался...
Почему сразу не начал долбить поставщика?
У самого весь завод на профинетах, пёс его знает как искать сетевые проблемы, в случае чего.
Не профибас, конечно, но все-же.
>Почему сразу не начал долбить поставщика?
Он сгинул в анналах истории как слезы во время дождя.
Ну так все посетители этого треда суть те же скуфыни как и оригинал. Просто отличий тупо нет. Лысеющие заёбаные бедные неудачники по жизни. Тот персонаж плюсом ещё до /ро/раши доебался долбоёб.
Оператор 3 раза неверно ввел пароль на hmi
панель блокируется и установку не запустить
с горящей жопой гуглишь как починить
через час знаешь как зовут любовницу главного разраба панели, но не как сбросить пароль
решаешь перепрошить, ведь после пнр остались какие то сорцы
понимаешь что нет нужной версии винСС
нужный дистриб через рабочий интернет лить 2 дня
вспоминаешь что на одной из виртуалок дома винсс таки был
через час ты снова на работе с внешним домашним винтом
"проект не может быть открыт, так как не хватает библиотеканейм"
качаешь и ставишь что надо
панель чудом умеет в эзернет и даже шьется через него
сносишь из проекта все учетки
шьешь как есть, хуже то уже не будет
ты молодец, починил установку к концу рабочего дня
но всем похуй, это простой
Это тебе ещё повезло, что там всё так просто решилось. Мне рассказывали как на одном заводике пережали кабель и видимо сломали жилу, что она то контачила, то отходила, укладывая половину профибас сети. И найти долго не могли, т.к. проблема проявляла себя не постоянно, а видимо только из-за вибраций рядом с местом поломки. В итоге этой эксплуатации даже модный тестер профибаса купили.
Хотя то что ты 2 дня мучался, это конечно хех, мда. Я тут недавно оказался тоже во время одного отвала рядом и помогал эксплуатации искать проблемный сегмент. Узнаешь как в реальности сделана сеть, подключаешься к контроллеру, смотришь какие ноды доступны. Если у тебя в отвале всё, то смотришь 1й сегмент, если только часть, то смотришь до куда доходит связь. Так бы ты за пару часов нашел в чем проблема.
Ну и опыт у тебя теперь точно будет. Радуйся, что рычажок физически был переключен, а не как обычно бывает с этими разъемами ОКИСЛИЛСЯ, когда он визуально как бы в одном положении, а на деле в другом.
>>273297
1. Упрощай. Можешь руками (в свойствах объектов всё есть), можешь свой стиль создать и его проекту назначить. А может тебе просто другой стиль подойдет (common data -styles). И наверное их наверное даже можно найти в сети, хотя я никогда этого не делал.
2. Может просто старое решение которое тиражируется годами. Может у них это для единообразия программы на разных системах. Может просто 1 раз приняли такую философию для своих библиотек и теперь следуют ей. Но твои рассуждения верны.
3. Ну я обычно, если знаю что FB будет тиражироваться в нескольких экземплярах, то стараюсь её инкапсулировать. Для единичных не думаю, что это сильно важно. Я, например, люблю хранить какие то глобальные настройки установки в отельной DB и обращаться к ним из функций. Но это по сути доступ к константам, которые не переписываются функциями, и максимум могут быть изменены на HMI.
>>273299
Искать также как любой ethernet, не? Как минимум для всего этого есть дешевые тестеры. Да и топология сети обычно гораздо более устойчива, чем профибас. Плюс логгирование на сетевых устройствах включай по возможности.
Это тебе ещё повезло, что там всё так просто решилось. Мне рассказывали как на одном заводике пережали кабель и видимо сломали жилу, что она то контачила, то отходила, укладывая половину профибас сети. И найти долго не могли, т.к. проблема проявляла себя не постоянно, а видимо только из-за вибраций рядом с местом поломки. В итоге этой эксплуатации даже модный тестер профибаса купили.
Хотя то что ты 2 дня мучался, это конечно хех, мда. Я тут недавно оказался тоже во время одного отвала рядом и помогал эксплуатации искать проблемный сегмент. Узнаешь как в реальности сделана сеть, подключаешься к контроллеру, смотришь какие ноды доступны. Если у тебя в отвале всё, то смотришь 1й сегмент, если только часть, то смотришь до куда доходит связь. Так бы ты за пару часов нашел в чем проблема.
Ну и опыт у тебя теперь точно будет. Радуйся, что рычажок физически был переключен, а не как обычно бывает с этими разъемами ОКИСЛИЛСЯ, когда он визуально как бы в одном положении, а на деле в другом.
>>273297
1. Упрощай. Можешь руками (в свойствах объектов всё есть), можешь свой стиль создать и его проекту назначить. А может тебе просто другой стиль подойдет (common data -styles). И наверное их наверное даже можно найти в сети, хотя я никогда этого не делал.
2. Может просто старое решение которое тиражируется годами. Может у них это для единообразия программы на разных системах. Может просто 1 раз приняли такую философию для своих библиотек и теперь следуют ей. Но твои рассуждения верны.
3. Ну я обычно, если знаю что FB будет тиражироваться в нескольких экземплярах, то стараюсь её инкапсулировать. Для единичных не думаю, что это сильно важно. Я, например, люблю хранить какие то глобальные настройки установки в отельной DB и обращаться к ним из функций. Но это по сути доступ к константам, которые не переписываются функциями, и максимум могут быть изменены на HMI.
>>273299
Искать также как любой ethernet, не? Как минимум для всего этого есть дешевые тестеры. Да и топология сети обычно гораздо более устойчива, чем профибас. Плюс логгирование на сетевых устройствах включай по возможности.
Делал строго по гайду, ошибок не выдает, но почему-то всегда 0, ничего не пишет, хотя в модбаспуле не 0.
Помогите!
По косвенным признакам подключение со стороны модбасполла работает (инкримент быстрее считает при попытках связи), но почему данные то не берет
У вас есть какой-то тирлист производителей, которые лучше-хуже по сравнению друг с другом? Понятное дело, что у каждого есть линейки поприличнее и похуже, но наверное есть и в целом по компании некоторое понимание? Я о PLC, HMI, промышленных ПК и всяком смежном оборудовании - электронные реле, БП и т. д. Какой ваш тирлист? Например, топ-тир это наверное шнайдер, сименс, митсубиши, мокса, адвантек... А шит-тир это разные нонеймы с алибабы. Где находятся в этом листе наши Овены, Болиды, ЛенПромАвтоматики, Агавы и Серебрумы? А где китайские Cincoze, IFC, Aplex, Weintek? Где БП MeanWell, где электроника ABB и Шнайдера?
>Где находятся в этом листе наши Овены, Болиды, ЛенПромАвтоматики, Агавы и Серебрумы?
Щит-тир
>А где китайские Cincoze, IFC, Aplex, Weintek?
Нормал-тир
>Например, топ-тир это наверное шнайдер, сименс, митсубиши, мокса, адвантек...
Да мицубиси и адвантек хз не имел дел
>ты молодец, починил установку к концу рабочего дня
По версии начальства ты не молодец, а распиздяй-дармоед, потому что не пришел и не разлочил панельку мастер-паролем сразу. Где ты его бы нашел? - Не ебёт. Зарплата для этого платится.
>но всем похуй, это простой
Это да. Особенность эксплуоатации. Моя жопа только на 2й год перестала греться когда за проёбы что по механской что кипасушной части простой ставят всем, от чего возникают конфликты пиздил одного долбоёба дверью хотя простой был за мной
По внешнему виду всё норм вроде. Ты случайно не затираешь ту область памяти в которую пишешь вообще обычно данные в отдельный DB пишутся, хотя это конечно не принципиально? Убери флаги DONE и ERROR с реквеста, вместо clock запроса поставь меркер какой-нибудь, и дерни 1 раз руками. Посмотри вылазит ли у тебя в таком случае DONE (лучше поставь на rising edge счетчик) и какой статус. Ну и саму DB1 покажи.
Ну и самое главное, у тебя статус то нормальный, так что по идее ты что то читаешь. А вот читаешь ты 0, или ты его затираешь надо понять.
>А вот читаешь ты 0, или ты его затираешь надо понять.
Он не меняется. То есть я записал руками в него допустим "526" и оно так и висит, никуда не девается.
>Посмотри вылазит ли у тебя в таком случае DONE (лучше поставь на rising edge счетчик) и какой статус.
Он вылезает, я это замечаю иногда и так.
Это странно. Попробуй в DATA_PTR подсунуть новую DB в которой сделай array of word [0..9]. Можешь оставить оптимизированной. Ещё как вариант в настройках соединения ID поставь не 1, а рандомное число типа 45.
Ну и посмотри все же DB1, там, например, TEMP_DATA, которая по идее буфером на приеме работает.
>>273700
Сформировав одиночный запрос статус хоть посмотришь. Хотя опять же по виду у тебя всё норм.
Может, не надо вот так всех под одну гребенку?
Почитал тут статью https://habr.com/ru/post/536356/
увидел вот это
>Это и есть «адрес» подчиненного устройства, т.е. сервера Modbus. По умолчанию его значение равно 0xFF или 255. «Нормальные» сервера его игнорируют, достаточно уже самого факта установления соединения по протоколу TCP/IP. Если же попался «ненормальный», то поставьте тут вручную Unit ID вашего устройства. Связь должна установиться.
Поставил в модбас слейве ID Slave: 255 вместо 1 и внезапно всё заработало.
Вернул обратно 1, всё продолжило работать. Выключил-включил, всё равно работает, успешно читает данные!
Как это понимать?
>Поставил в модбас слейве
Ты имеешь в виду поле MB_Unit_ID? просто у тебя на картинка клиент и причем тут слейв, который на RTU непонятно
>Как это понимать?
Хз, возможно коннекция подвисла внутри твоего партнера по связи, либо на твоем контроллере. Что кстати за агрегат ты опрашиваешь?
А кто из российских не щит-тир? Почему указанные - щит-тир? Болид - нормальная сигнализация, Овен в реестре средств измерений и кучу других бумажек имеет.
>А кто из российских не щит-тир?
Все щит-тир.
>Почему указанные - щит-тир?
Потому что максимально хуёво собранное говно из максимально дешевых китайских компонентов без нормальной службы качества.
>Болид - нормальная сигнализация
Ну и славно. Пусть чью-то конуру и охраняет
>Овен в реестре средств измерений и кучу других бумажек имеет.
Разве что. Больше ему похвастать не чем.
>Что кстати за агрегат ты опрашиваешь?
modbus poll slave, программа на компудахтере.
>Ты имеешь в виду поле MB_Unit_ID?
Нет, я имею в виду пикрелейтед. В настройках модбасс полла
Сегодня коллега на работе показал мне вакансию в интернете с сайта нашего завода, там в соседний отдел требуется инженер SCADA/WinCC. Зарплату обещают 120-200к, от чего у меня вылез геморрой и спросил зачем его побеспокоили. И столько здесь нахуй никто не получает.
Так вот, вопрос. Это наебалово в вакансии, или Я - лох?
Ну ссылку на вакансию скинь тогда уж и город свой назови.
Так возьми и откликнись без задней мысли.
анус свой подолби
вам долбоёбам поставишь систему нормальную рабочию, а потом всякие долбаёбы начинают то своими кривыми руками лезть и всё ломать, то не могут разобратся в элементарной хуйне которая у них в описании ошибки написана >>273860
>>273860
>Зарплату обещают 120-200к
ну вобще странно, что бы на завод просили Скада программиста за такие деньги
в интеграцию в москве обычно в вакансиях ставят от120к на скада дрочера
>И разве сам портал не делает тоже самое?
Проверил на симуляторе, оказалось что нет.
Если значение входной переменной FB-шки изменится во время выполнения этой самой FB-шки, например, в параллельно запустившемся интерапте, то мы получим разные значения входной переменной на начало и конец выполнения кода FB-шки.
Вывод - копирование входов\выходов в темп, и дальнейшая работа только с темпом внутри FB полезнА.
>>274128
>поставишь систему нормальную
Ты за какие-то уникальные свои системы говоришь, или за всех подрядчиков необъятной пяткой в грудь бьешь?
> в описании ошибки написана
ОПИСАНИЕ ошибки? Да твой брат - разработчик сами ОШИБКИ то не всегда отображает, какое нахуй еще описание.
>не могут разобраться
Легко говорить сидя в разработке. Не заработали сети - пошел проверять свежепроложенные провода с новыми разъемами на неработающем оборудовании, которые сам же только что и прокладывал / обжимал.
>Объясните мне, что от меня хотят, когда требуется нагрев 1 градус в секунду?
Уставка нагрева увеличивается на 1 градус в секунду. Или на 0,1 градус каждые 100мс.
>Алсо, когда требуется поддержание температуры на заданном уровне - как выловить это состояние?
Перестать увеличивать уставку. Возможно, использовать другие параметры ПИД регулятора.
Can-opener если проект действительно старый.
>вам долбоёбам поставишь систему нормальную рабочию
Именно так и ставите зачастую.
Надеюсь, что так не везде и не у всех.
Если там действительно старый проект, то начни отсюда http://plcforum.uz.ua/viewtopic.php?f=31&t=7029 . Внизу первого поста s7canOpener возможно тебе поможет, т.к. видимо доступ к проекту у тебя есть, а блоки залочены через know-how. Однако, если там был STEP 5.5, то могут быть проблемы.
>Все щит-тир.
ЯСНО. Хотелось бы альтернативных и аргументированных мнений.
>>273855
>Потому что максимально хуёво собранное говно из максимально дешевых китайских компонентов без нормальной службы качества.
Покажи кто собран из немецких компонентов. Сименс в том же Китае поди делают.
>>273855
>Разве что. Больше ему похвастать не чем.
Зачем ты пиздишь?
Он не пиздит.
Например, твой Овен может начать раздавать IP-адреса в сети, имея под капотом только dhcp-клиент.
Или у него может просто без задней мысли отвалиться ethernet-интерфейс. А может и не отвалиться.
Это из моего личного и самого болезненного опыта.
Мануал по овеновскому Кодесису нужно читать строго в спарке с оригиналом, если хочешь понимать, чем ты пользуешься.
Есть и более мелкие моменты, для меня лично менее проблемные.
Видел зверей и существенно "покруче" Овена, но под что-то большое и серьезное я бы его не использовал.
Ну и болид, которому впадлу джампера с сопротивлением впаять, как у обычных производителей, тоже хорош.
Короче ты еще Обь с WinCC сравни.
>>Мануал по овеновскому Кодесису нужно читать строго в спарке с оригиналом, если хочешь понимать, чем ты пользуешься
Поясним, плз, что именно ты имеешь в виду? (лучше прям с конкретными примерами)
Если тебе актуально, я могу скинуть проект с рабочим модбас-сервером. Я когда-то поднимал его и потом просто проект с примером себе сохранил, чтобы снова так же не ебасца, когда через пару лет прижмет опять.
Ну, за такие деньги можно и пром.дизаен завезти. Можно подумать, он рассчитан для скрашивания рутины нердов, монтажирующих и настраивающих их в шкафах управления, а не для выставок Хотя, на вкус и цвет... из тех, кто пытался, лучше всего у севов получилось, имхо.
>Например, твой Овен может начать раздавать IP-адреса в сети, имея под капотом только dhcp-клиент.
Какое устройство и как ты себе это представляешь, раздачу айпи без дхшп-сервера?
> под что-то большое и серьезное я бы его не использовал.
У них на сайте куча примеров использования большого и серьезного.
>Видел зверей и существенно "покруче" Овена
А кого бы из наших стал? Вроде, никого солиднее Овена и нету. Кто лучше, кто хуже? Сегнетикс тоже поди еще хуже?
>>274934
А ты долбоеб беспруфный, ноудискасс.
>Вроде, никого солиднее Овена и нету.
Овно не солидно.
Сигнетикс не хуже
Лучше REGUL Адвантеховский, они хоть и сыроваты немного(лет 5 на рынке), но в плане подхода из русских контор лучшее что я видел. Но и ценник у них поболее
>адвантех, тоже прософтовский бренд,
Господи, ну прекрати обсираться-то уже.
https://www.advantech.com/csr/company_commitment/history
Чёт кекнул с обиженки.
Ещё у них есть промышленный пека-контроллер МК150- это вообще какая-то адская хрень, зато наша.
Ага, сев ничо так. Этот синамикс IP55, правда, внутри полупустой, но с прокладками везде.
>Сигнетикс не хуже
>Но и не лучше?
У Сегнетикс ОЧЕНЬ хорошо отработана инфраструктура под вентиляцию и хладоснабжение. Причем настолько, что ими пользоваться не на много сложнее, чем программируемыми реле. Под эти задачи его и используют в основном.
Да не, я с этого пидора тоже конкретно охуеваю.
У меня сборная солянка из всего что можно, кроме семенов и других нормальных производителей. Даже были преобразователи интерфейса, которые буквально STM32+минимальная обвязка. Валились, суки, регулярно. Разве что немного шнайдера насыпали и на том спасибо.
Т.ч. пишу, как искушенный сомелье в сортах.
Но про сегнетики, в описанных мною выше рамках, ничего плохого сказать не могу. Один раз только пиксель перешивали и все. Например, если нужно по быстрому запустить общеобменку, которая будет работать и не валиться по каждому чиху - топ за свои деньги.
Отправляю ему пакет байт по аутпуту, читаю инпут. Прибор выдает определенные байты, которые означают, что команда принята.
Проблема в том, что прибор отвечает правильно только один раз. все остальные запросы он отвечает ровно так же, как при первом чтении, даже если отправляю другую команду. Такое ощущение что у него там внутри не очищается буфер ну или не очищается в cm1243-5.
Если выдергиваю прибор из розетки, втыкаю и снова читаю, то так же читается только первый раз, а потом тоже самое.
Проверил, лол.
Сейчас еще кое что проверил: выдернул профибас разьем (сам прибор не выключал) и о чудо прочитался ответ на последнюю команду. Нихуя не понимаю в чем может быть проблема.
Еще помогло стопнуть контроллер и запустить. Тогда тоже один раз правильно читает и больше не меняется (читает тоже самое)
Таинственный прибор всё же стоит засветить. Сомневаюсь, что без знания, что это такое можно как то тебе помочь. Вот, например, у меня сейчас маркировщик есть, который я пинаю по profinet, дак он каждый запрос хочет, чтобы я вручную ему новый id транзакции обмена отправлял. А всё потому, что изначально он сделан под другой протокол, и некоторые вещи приходится делать руками. Возможно у тебя что то похожее.
>>276590
Во-первых почему пишешь функциями, а не просто положился на опрос системой? Во-вторых, что возвращают функции?
>Таинственный прибор всё же стоит засветить
Inficon TPG300 вакууметр.
Вот доки на профибас https://products.inficon.com/getattachment.axd/?attaName=9547845c-5639-47f7-9f6e-83ccdd074f21
На 12 странице есть пример пакетов.
Например я отправляю ему 16#20 05 14 00 00 00 00 00
Он должен ответить 16#B0 05 14 00 00 00 00 01
И он отвечает в первый раз.
Когда я отправляю другой пакет, он отвечает всё тоже самое, хотя должен другой ответ давать. Если я ребутаю контроллер (НЕ прибор), то первым же чтением выдает ответ на последнюю команду, выданную до ребута (который отличается от 16#B0 05 14 00 00 00 00 01).
>Во-первых почему пишешь функциями, а не просто положился на опрос системой?
Потому что я не знаю как передать 8 байт за раз, переменная максимум 4 байта ДВорд, а менять частями не вариант, иначе он отправит неправильный пакет, т.к. момент отправки будет между изменением первого дворда и второго. Пишу поэтому так: P#M100.0 BYTE 8.
>Во-вторых, что возвращают функции?
"0" (ноль)
>а не просто положился на опрос системой?
Кстати, чтение я сделал через обычный опрос, но суть от этого не изменилась, проблема та же.
Ну вот смотри у тебя пример чтения. Часть первого байта у тебя отвечает за начало выполнение инструкции IS и ответ на неё RS.
На картинке у тебя пример для чтения параметра. Вот у тебя есть область PKE для начала чтения в первый байт которой нам надо записать в старшие 4 бита единицу, т.е. 0х10. Дальше по графу мы видим, что как только прибор подготовит данные, он вернет эту единицу на самом деле там 4 варианта ответа, 3 в зависимости от длины данных, и 1 на ошибку, см. таблицу в PKE символизируя о том, что данные готовы и ты можешь их сохранить себе в программу как раз та проверка консистентности, которую ты пытаешься добиться функциями. Как только ты сохранил ты должен в старший байт PKE записать 0, чтобы закончить обмен.
Ты в своём примере пишешь параметер команда 0х20, что соответствует 2 в старших 4ех битах, а не читаешь. Но в любом случае после завершения записи ты вместо 0х20 должен послать 0х0 перед тем как делать новый запрос.
Алсо цитата про тоже самое, что я имею ввиду
>A slave provides the response until the master formulates a new instruction. If the slave codes a parameter value (AK = 1), the response contains the actual value in case of repetitions (cyclic processing).
Для начала - что это за хуетень такая IS и RS?
Что на 1 пике происходит, я не понимаю! Это биты или что? Такое ощущение, что автор подразумевал что-то, что не нужно даже упоминать и оно подразумевается по умолчанию.
Всё, дошло, это instruction signature и response signature. харкнул бы в ебало автору за то что не расшифровывает свои каракули
Но картинка особо понятнее не стала. Зачем 4 раза 0 передается в начале? Или подразумевается, что я должен сначала в АК записать 0, потом записать остальные данные и потом уже в АК=1 чтобы дать понять прибору, что я загрузил все данные в остальные байты?
>Дальше по графу мы видим, что как только прибор подготовит данные, он вернет эту единицу
Так мне надо дрочить прибор, отправляя ему все 8 байт пока не вернет мне 1 в АК? Или достаточно только 1 байт AK кидать?
>Для начала - что это за хуетень такая IS и RS?
Цитата "The instruction and response signatures", т.е. по русски запрос (IS) - ответ (RS).
>Это биты или что?
Это биты 15...12 RKE (пик 3 с прошлого поста). А RKE это первые 2 байта твоей телеграммы.
Вот смотри формируем запрос:
1. первые 2 байта называются RKE, которые состоят из AK (4 бита под номерами 12...15), неиспользуемых нулей и номера слота
2. дальше думаем, какую команду мы хотим послать. Смотришь табличку (пик 2 прошлого поста), говоришь, что хочешь, например, сейчас записывать double word (значит AK=3).
3. Слот, например, у нас 1й. Итого в бинарном виде получили 0011 0000 0000 0001 или 2 байта 0х30 0х01 в шестнадцатиричном.
4. Пусть остаток запроса мы как то сформировали ты сам знаешь какие параметры тебе надо, и отправили все это прибору. Если сравнивать с графом из примера, то у нас AK (IS) = 3, но самое главное что оно не 0.
Теперь ждем ответа:
1. Пока в 1ом байте ответа нули, т.е. AK(RS) = 0 на графе, ты еще не получил данные
2. Как только там не ноль, то мы смотрим на табличку 2. Если в ответе первый байт 0х10 (оно же 0001 0000, оно же 2 в байтах 12...15), то ответ корректный. Если в ответе 0х70 (оно же 0111 0000, оно же 7 в байтах 12...15), то значит наша запись параметра вернулась с ошибкой.
3. Если нам надо сохраняем ответ.
4. Завершаем обмен, посылая 0х00 первым байтом посылки на прибор. Скорее всего проще вообще сделать телеграмму полную нулей и посылать её в те моменты, когда ты не общаешься с прибором.
Т.е. вся суть в том чтобы в первые 4 бита ставить сначала код команды, потом ноль, потом снова код команды, потом ноль. За счет такого чередования прибор будет знать, что это на него новые команды сыплются, а не какое-то старое говно висит.
P.S. На самом деле перед отправкой ещё стоит убедиться, что прибор тебе возвращает 0х00. Так ты будешь знать что он готов к приему, а не все ещё тупит где то там.
>Зачем 4 раза 0 передается в начале?
Ну это типа показать, что когда активного запроса нет, то они обмениваются нулями.
>Или подразумевается, что я должен сначала в АК записать 0, потом записать остальные данные и потом уже в АК=1 чтобы дать понять прибору, что я загрузил все данные в остальные байты?
Не думаю, что это принципиально. Скорее всего пока AK=0 прибор даже не будет смотреть на остальной буфер, т.к. команды то что делать с ним нету. Т.е. порядок действий:
1. записываешь всю команду целиком в output (все 8 байт)
2. ждешь ответ (AK =/= 0)
3. обрабатываешь ответ (сохраняешь там если надо, или просто проверяешь прошла операция или нет)
4. пишешь нули в output (хватит и в 1й байт, но проще все 8 нулями забить, т.к. самому легче будет)
5. ждешь АК=0 в ответе (скорее всего придет такая же пустая телеграма из 8 байт нулей, но возможно только первый байт изменится, хз)
6. см п.1.
>Так мне надо дрочить прибор, отправляя ему все 8 байт пока не вернет мне 1 в АК?
Во-первых это будет не обязательно 1. Единицу он вернет, если у тебя операция чтения выполняется. Если запись (первый байт 0х20, 0х30), то может возвращать разное. Смотри табличку. И да, это, блять, одна таблица IS/RS, а не две рядом (автор действительно ебануто оформляет).
Во-вторых как ты собрался отправлять часть посылки. Ты же размапил на 8 байт, когда gsd настраивал. Они всё равно все 8 будут отсылаться.
>Во-вторых как ты собрался отправлять часть посылки. Ты же размапил на 8 байт, когда gsd настраивал. Они всё равно все 8 будут отсылаться.
Отсылаться то все будут, но часть байт может отправиться в виде нулей или другой левой хуеты, потому что я не успел за один скан записать туда все что хотел.
>1. записываешь всю команду целиком в output (все 8 байт)
Если я правильно понял, то прибор начинает оформлять ответ по полученным данным сразу после того как увидел код инструкции. А если ты не успел записать правильные данные, то инструкция будет исполняться ошибочная.
Ну в целом всё гораздо понятнее стало.
>Отсылаться то все будут, но часть байт может отправиться в виде нулей или другой левой хуеты, потому что я не успел за один скан записать туда все что хотел.
Да, тут ты прав наверное. Т.к. у тебя 8 байт длина данных, а консистентные пакеты через образ только 4 байта, то чисто теоретически ты можешь попасть в ситуацию, когда твоя посылка будет разорвана. На практике я не думаю, что это релевантно вообще, если на твоей профибас сети не висит ещё куча устройств. Пока там твой прибор раздуплится, что к нему что то пришло ты 10 раз успеешь телеграмму целиком передать. Но чтобы быть спокойнее можешь DPWR_DAT использовать.
А для НЕвентиляции? В чем именно там отработанность?
>>276301
Да я не лахтопидарас, я на вашей стороне, но мне сказали, что будем импортозамещать. Пытаюсь понять, чем грозит, что делать, и какое из зол будет меньшим.
>>276334
Вот ты, анон, что посоветуешь? Так страшен овен, как его тут малюют? Регулы и сегнетиксы рям лучше? У меня будет задача по управлению моторами на основе кучи показателей датчиков. От HVAC очень далеко.
>. Даже были преобразователи интерфейса, которые буквально STM32+минимальная обвязка.
А чему там валиться? Разве наиболее простые решения не работают наиболее стабильно?
>если на твоей профибас сети не висит ещё куча устройств.
Сейчас нет, но в боевой системе будет очень много таких устройств.
Да и еще один момент, там в описании есть еще 9-й байт. Я вообще нихуя не нашел про него, что в него писать надо.
Я думаю, что это данные которые постоянно передаются, вне зависимости от того какие какие команды ты шлешь. Просто жестко забитые вещи, которые тебе всегда нужны. Т.е. область выходов ты должен мапить на 9 байт, а область входов на 28. Хотя если у тебя не все каналы активны, то наверное можно меньше читать.
Единственное что я не понимаю, это вот эти хрени с 3го пика. Хотя вохможно это gsd кривое, и ParChannel 4float должен конфигуриться на чтение конкретных параметров.
>Я думаю, что это данные которые постоянно передаются, вне зависимости от того какие какие команды ты шлешь.
Ну это то я понял. Но что именно нужно в 9-й байт писать нихрена непонятно.
Хз, мб для смены каких-то параметров нужно выключать или перезапускать прибор.
А для НЕвентиляции будем посмотреть. Не в моем колхозе - это точно.
>Вот ты, анон, что посоветуешь?
Если не знаешь, что брать, то брать наиболее хайповое решение для этой задачи в отрасли. У нас тут самое главное надеженность.
>Так страшен овен, как его тут малюют?
Ну не на столько. Смотря что брать и для чего. В какое-нибудь ИТП или любую другую систему толерантную к отказам, насколько это возможно с контурами больше двух я бы его сунул. Модули ввода - топ за свои деньги. Реле для управления освещением тоже.
>А чему там валиться? Разве наиболее простые решения не работают наиболее стабильно?
Зависит. Честно говоря, разбираться особо времени не было. Поставили Мохи из ЗИПа и проблема решилась.
Что мне действительно нравится у Овена - это как они пиарят свои продукты и как у них реализован сервис для клиентов похуй, что сложнее примитивного трабшутинга тебе никто особо не поможет, зато заменят коробочку быстро и без вопросв. Вот тут действительно они топовые в РФ.
Был негатив с овеном ПЛК-160, который старой модификации с кнопкой. Та самая кнопка, которая умеет фантомно нажиматься и стопорить программу. Прочитал на форуме официальное признание косяка- отключил кнопку в проекте.
Пару лет назад появился еще один овен ПЛК-110, который уже с пизженым дизайном у мицубиси. Красивый такой, только по ватчдогу вставал пару раз за год, просто так зависал. Обновил прошивку и вроде бы отпустило.
Зато СПК107 и 4 модуля ввода-вывода работают уже лет 6.
Все три овена используются в системах отопления.
>Если не знаешь, что брать, то брать наиболее хайповое решение для этой задачи в отрасли. У нас тут самое главное надеженность.
Так кто из них самый хайповый, Сегнетикс, Серебрум, Овен, Агава, етц? Из импортозамещающего.
> Реле для управления освещением тоже.
А они вообще чем-то отличаются друг от друга?
> с контурами больше двух
Тут не понял. Дублирующие друг друга системы с одинаковыми функциями? Такого особо не предвидится.
>Мохи из ЗИПа
Это что за зверь такой?
Уточни пожалуйста, он у тебя вставал именно, то есть зависал несмотря на вочдог или вочдог его успешно перезапускал пару раз за год?
>Из импортозамещающего.
Не знаю, пока б-г отводил от этой дилемы. Покапай асутпфорум, мб там что-то дельное прочитаешь.
>А они вообще чем-то отличаются друг от друга?
Да нет, просто название не помню. Черненький такой с возможностью управления по формуле восхода/заката по координатам, на блок питания похож.
>Тут не понял.
Ну, например, есть у тебя только отопление и ГВС. Тогда проще Данфос воткнуть и не заморачиваться со свободнопрограммируемым.
>Это что за зверь такой?
moxa.com
ЗИП — сокращение от «запасные части, инструменты и принадлежности»
Вот блядь есть 3 пункта, 1) введение, 2) основание для закупки и 3) назначение.
В 1 я пишу какой у нас охуительный завод, а в нем охуительный цех, и здесь у нас собираются звездолеты для империи, которые бороздят просторы большого театра.
Во 2 пишу, почему нам очень нужно купить вот это говно именно в этот цех чтобы делать вот эту хуйню.
А в 3 что писать? Я же и так во 2 написал всё что хотел. Тупо тоже самое, но другими словами?
Основание для закупки - обеспечение таких-то и таких-то требований.
Назначение - говно будет так-то и так-то вонять, что обеспечит соблюдение требований.
Ну в моем понимании - это проапгрейженый электрик, налаживающий сепамы и тусующийся в лаборатории. Деньги примерно те же возможно даже больше в среднем, а переучиваться под ноль не нужно.
Нужно чтобы постоянно контролировать работоспособность ТЭНа.
Для таких вещей зачастую трасформаторы тока используется, по крайне мере во всяких заточенных на то регуляторах. Однако это считай постоянно измерять протекающий ток, т.е. аналоговый сигнал, что не очень дешево.
>>278582
таким же реле контроля напряжения
первая ссылка в гугле
https://www.meandr.ru/rele-postoyannogo-napryazheniya
Толку то? ТЭН сгорит, а источник напряжения как выдавал напругу так и будет выдавать. Для таких целей можно и просто обычную релюшку в параллель воткнуть, т.к. качество напряжения ТЭНу не сильно важно.
mosquitto 1.6 сервер, если что.
Вариант скорее всего рабочий, но это все лютый колхоз и ни одна уважающая себя контора не допустит чтобы в шкафу автоматики стояло подобное говно.
В рашке, но работаю в международной конторе, где деньгами могут выстилать пол.
Вопрос именно в том, чтобы было штатное заводское решение, а не колхозить ебучие шунты.
не понял на что тебе ток контролировать, у тена токовая характеристика начинает менятся при критических температурах, когда ты её перегреваешь и значит что ему уже плохо и на это дело у тебя есть автомат
а если хочешь не давать тэн перегреваться засунь туда обычно термостат
>где деньгами могут выстилать пол
Пруфани. Обычно компании, которые могут выстилать пол - не делают этого, вместо этого экономя каждую копейку (убирают зарядники из комплекта смартфона, продают максимум донную комплектацию авто и доп плюшки за оверпрайс и т. д.), именно поэтому и могут.
Тебя не в ту степь понесло
Ватчдог его рестартил, из-за чего регуляторы вставали в ручной режим. Запоминать режим и по рестарту ставить всё обратно в автомат считаю бредом. Должен быть нормальный контроллер, а не костыли у уловки для обхода багов производителя.
Местным так и сказал- сидите бдите за ним, или раскошеливайтесь на что-то более надежное. Но, повторюсь, после обновления прошивки этот отопительный сезон пока без зависаний.
А что не так с 207? У нас стоит одна такая, пусть и в неважном месте.
Есть какой-нибудь вери простой гайд по подключению и получению данных с 1200 по протоколу S7 без стороннего софта? Кроме терминала вроде Модбас Полла/Патти, либо из скрипта через библиотеку какую-то. Попробовал демоклиент от snap7, он данные не может получить почти никакие, сдампить таблицу не может, информацию об устройстве получить не может.
Даже немцы как-то не гнушаются.
https://www.digatron.com/en-us/Products/Production/Lead/Formation/Formation-rectifier
Ток контролируют как раз чтобы понять перегорел ТЭН или нет (целая цепь = нормальный ток, перегоревший ТЭН = ток ноль, часть ТЭНа отгорела и ток ебашит через среду = уменьшение тока). У тебя на самом деле не так много способов, чтобы это понять.
Как вариант, для экономии, если ТЭНов много и они симметрично сидят на 3ех фазной сети, то можно поставить трансформаторы тока на подводах. А когда появится асимметрия, то выдавать сигнал электрику, чтобы он валил перемерять сопротивления.
>а если хочешь не давать тэн перегреваться засунь туда обычно термостат
Терморегулирование так или иначе все обычно делают. Не вижу при чем тут диагностика поврежденного ТЭНа. В сферических условиях можно было бы отслеживать скорость нагрева, но в реальности там слишком много факторов, чтобы реально этим заниматься.
А нахуя, и главное зачем тебе долбиться в проприетарный S7, когда ты на борту можешь активировать OPC UA, или http, или другое множество протоколов?
Вообще у snap7 вроде как были самые проработанные библиотеки. Был ещё когда то s7.net, но он вроде подох.
>по протоколу S7 без стороннего софта
Как это вообще должно работать? Ты если не хочешь из сторонних библиотек брать, то можешь писать свои S7 драйверы под оборудование.
Но в сети пока не видел всех модулей. Только electric, pro panel и Harness proD. Если у кого то есть 2.9 другие модули а они доступны для загрузки в личном кабинете, если были куплены когда-то хоть какие то версии, не обязательно 2.9, то было бы очень клево, если бы вы смогли поделиться. Можно через фейкомыльце организовать, если думаете, что за это может прилететь хотя я сравнивал CRC от того что у меня доступно для загрузки с тем что гуляет в сети, так что закладок с номером клиента там вроде нет. Особенно интересны PPE и Fluid, хотя и другие модули могут пригодится.
>А нахуя, и главное зачем тебе долбиться в проприетарный S7, когда ты на борту можешь активировать OPC UA, или http, или другое множество протоколов?
Потому что прога не моя, мне обещали выдать "набор тегов" в S7 и только в нем. А если я буду пытаться лезть туда и перезаливать - минус гарантия.
>Как это вообще должно работать? Ты если не хочешь из сторонних библиотек брать, то можешь писать свои S7 драйверы под оборудование.
Я не знал, что он еще и проприетарный, думал там открытый модбасоподобный обмен байтами. Пиздец...
>Я не знал, что он еще и проприетарный, думал там открытый модбасоподобный обмен байтами.
Ага, щас
Была ещё либа LibNoDave, можешь её посмотреть. Но по моему он все же старее snap7 и могут проблемы с версиями фирмваре.
>А если я буду пытаться лезть туда и перезаливать - минус гарантия.
А ну лол. Для большей части прямого доступа нужно, чтобы доступ по put/get был разрешен по дефолту нет, или хотя бы безпарольный фул доступ чтобы был активирован обычно да, но если поставщик заморочился, то там даже доступ с панелек может быть под паролем.
Ну и кста для S7 твоя коннекция вроде как тоже должна быть запараметрированна на контроллере, если ты хочешь быть коммуникационным партнером. Иначе приходится притворяться программатором и работать по PG соединению.
> Я не знал, что он еще и проприетарный, думал там открытый модбасоподобный обмен байтами
Не. Как я понимаю почти все реверс инжинирингом занимаются, так что хоть какое то описание есть, например, у того же snap7. Но если ты попробуешь найти официальный документ, то тебя ждет скорее всего провал.
>>278994
Нет. Для модбаса программисту на контроллере нужно вручную сформировать обмен. Для http вроде тоже. Относительно безболезнено это OPC. Можно активировать прям на контроллере сервер, но я так и не понимаю, что там по лицензированию, да и ручками все равно придется поработать. Можно поставить сторонний сервер, где драйвер доступа к контроллеру написан уже за тебя. Но там часто надо чтобы в DB не было optimized data access, т.к. идут прямые обращения к памяти. Также в качестве OPC серверов могут выступать SCADA, если какие то из них уже работают с этим контроллером.
Короч у тебя нет сильно простых путей для того чтобы взять готовый контроллер и магически выковырять все его внутренности. В любом случае оптимально было бы, если разработчик программы на ПЛК подготовил бы тебе почву для связи.
>Ну и кста для S7 твоя коннекция вроде как тоже должна быть запараметрированна на контроллере, если ты хочешь быть коммуникационным партнером. Иначе приходится притворяться программатором и работать по PG соединению.
Я хотел тупо как один из клиентов подключиться, собственно, snap7client по PG и работает.
> чтобы доступ по put/get был разрешен по дефолту нет, или хотя бы безпарольный фул доступ
Да, я уже почитал, еще и некий оптимизированный доступ к ячейкам должен быть отключен.
>Не. Как я понимаю почти все реверс инжинирингом занимаются, так что хоть какое то описание есть, например, у того же snap7.
Нагуглил даже какой-то вайршарк для s7. Господи, ну захуя это всё?
>но я так и не понимаю, что там по лицензированию, да и ручками все равно придется поработать. Можно поставить сторонний сервер, где драйвер доступа к контроллеру написан уже за тебя. Но там часто надо чтобы в DB не было optimized data access, т.к. идут прямые обращения к памяти. Также в качестве OPC серверов могут выступать SCADA, если какие то из них уже работают с этим контроллером.
Я очень не хочу брать чье-то левое, платное, проприетарное решение... Понял, спасибо.
В чем разница OPC и Скада? Скада это ОРС + интерфейс для рисования интерфейса? Какой есть самый простой ОРС из свободных, чтоб сесть, читать несложную доку и осваивать. Ну и драйверов чтоб побольше, не только modbus rtu/tcp.
У тебя есть несколько путей.
Можно взять гейтвей который конвертирует профинет в модбас или любой другой протокол. Цена от 500 бачей.
Можно уговорить поднять модбас сервер на контроллере. Я так делал- просто сказал наладчику, мол давай поднимем, дело на 5 минут, вот даже рабочий пример есть. Тот согласовал со своим руководством и согласился.
Или уже упомянутая libnodave. Она работает и с 1200/1500, но
в настройках контроллера надо поставить галку "S7 Communication with PUT/GET" и у всех DB убрать галку "Optimized access". Либа обращается к ячейкам напрямую, и не поддерживает символьную адресацию. Я проворачивал все 3 способа и модбас сервер- самый адекватный.
Скада это софтина, которая умеет показывать интерфейсы, и взаимодействовать(передавать и получать данные) с каким-то оборудованием(ПЛК, БД, модули I/O, принтеры, анализаторы и тд) по каким-то сетям. Но никто не запрещает сделать проект, который вообще ни с кем не будет взаимодействовать, а просто показывать что-то пользователю и сохранять какую-то инфу от него на локальный комп. Скады включают в себя софт для редактирования этих самых интерфейсов и настройки взаимодействия с оборудованием. Так как скада должна уметь работать со сторонним оборудованием, люди придумали специальный протокол для обмена между скадой и оборудованием. Как ты уже догадался, это OPC. Кроме OPC скада может уметь работать с каким-то оборудованием напрямую. Например скада от сименса неожиданно умеет работать с контроллерами сименс.
OPC, стало быть, это такой софт, который знает как работать с оборудованием(железом), и предоставляет для него доступ посредством OPC протокола. Реализация софта может быть совершенно разной. Обычно, такой софт разрабатывает сам производитель оборудования, ведь он как ни кто другой заинтересован в возможности интеграции своих железок куда-нибудь.
Попробуй задать такой же вопрос всяким ардуино/пи мохарайщикам. Честно не видел, что бы в асу много использовался где mqtt, вроде есть устройства с его поддержкой, но о реализациях даже не слышал
Это где? в /ra?
Не знаю как в других местах, а на нашем предприятии электрики не могут в диагностику совсем. Проверяют мультимметром, движки меняют наугад ну или когда пациент явно мертв полыхает синим пламенем/воняет на весь цех/внутри вода/не ПИЩИТ мальтяшка.
Для диплома можно сказать что после появления IGBT, частотники стали вполне привычным явлением, и даже на совковых предприятиях процент частотифицированных движков довольно высок. Ну а так как ПЧ сам умеет в диагностику двигателя, твоя задача сводится к обьединению их в сеть и сбору данных. Тут конечно стОит внимательно поискать что именно ты сможешь вытащить с ПЧ в качестве диагностических данных, убедиться что пч умеет в сети, и желательно чтобы весь завод использовал одинаковые пч.
На практике же не понятно для чего собственно оно надо.
И тут врывается коммерческая служба и ломает всю малину, т.к. в парк из 40 ПЧ Мицубиси закупает 2 фуджика, потому что они дешевле. А ты ебись, согласовывай сначала профибас, а потом остановку цеха для замены, т.к. надо грузить изменения в контроллер.
Блядь, ОПС это софтина, которая опрашивает и записывает данные в блоки, плк и датчики по разным протоколам, ведет базу данных и т.д. У опс есть АПИ, через которое к нему обращаются другие софтины типо СКАДЫ и т.д. Скада нужна лишь как графический интерфейс для оператора.
>Какой есть самый простой ОРС из свободных, чтоб сесть, читать несложную доку и осваивать. Ну и драйверов чтоб побольше, не только modbus rtu
Суть в том, что из самых простых и свободных только модбус и есть. Из проприетарных есть только овен с протоколом овен и подобное говно, но тогда тебе придется жрать проприетарное говнецо и доков там нет.
Мимо АСУшник/КИПиА.
Заебало работать за копейки на заводах(за 40-60к), но в электронике и электрике шарю более-менее.
Имеет ли смысл перекатываться в слаботочники или автомобильную электронику чтобы зашибать норм бабки??
Вот как ты думаешь, логично спрашивать это у кипарей/асушников?
Спроси у слаботочников/автоэлектриков, они свою сторону поведают, а там уж и прикинешь хуй к носу.
Если ты под дядей этим будешь заниматься- то будет дай бог так же по деньгам, а то и меньше. Тут только самому- свой гараж, свои сканеры и СКЛАДЧИНА. Сначала будешь долго нарабатывать базу, и потом, если соображаешь- люди сами будут к тебе ехать.
1. Сделай upload текущего проекта, чтобы у тебя всегда был бекап на который можно откатиться. Проверь, что в этом проекте всё у тебя в онлайне нормально показывается, пусть и без тегов. Если есть коммуникационные процессоры, устройства со сторонними GSD, или какие-нибудь PN-DP coupler, то убедись что и их конфигурация у тебя есть и она похожа на реальную, т.к. сами они не зааплодятся.
2. Начни сравнивать Online/offline версию пкм на папке с блоками, либо конкретных блоках, пункт compare blocks, либо сравнивай свой заапложенный проект и тот исходник что у тебя есть. Если разница у тебя только в хардваре, то вероятнее всего твоё несоотвествие связано лишь с тем, что ты открыл проект в другой версии STEP7. Если это так, то заливать, что у тебя есть помня о пункте 1, и возможности с проебом конфигурации доп устройств, не относящихся к самому цпу.
3. Если всё-таки в блоках находится разница и таймштампы не совпадают, то версия проекта, что у тебя на руках может не соотвествовать действительности. Начни доводить заапложенный проект руками до нормального вида. Сначала скопируй таблицу символов, потом перекопируй блоки, которые совпадают. Ну а с блоками где есть расхождение, там уж смотри вручную в чем разница и дописывай комменты.
Такое может быть если менялись комменты или еще что-то неважное трогалось в проекте. Видишь что блоки разные, открываешь (в TIA) сравнение и видишь, что всё одинаково. Я обычно просто делаю даунлоад.
Можно предварительно сделать бэкап того, что в контроллере и потом загрузить проект. Или сидеть сравнивать всё содержимое, я так сделал в первый раз, когда столкнулся с похожей проблемой (запилил перевод проги от итальянцев, думал какая там разница 300-му контроллеру, он же в себе программу без тегов и комментов хранит).
Не получается в TIA создать UDT объект в constant области памяти FB.
Внутри UDT набор байт с дефолтными значениями.
Это не баг а фича?
Константы не поддерживают структурированные типы. Хз почему.
Используй обычный static/global db с прописанными стартовыми значениями. Я надеюсь ты как-нибудь сможешь сдержаться и не перезаписывать переменные.
Посоны, я вернулся, бамп. В общем, все перепробовал, и стабилизатор DC-DC, правда, дешманский, и блок питания другой, поприличнее и с меньшим коэффициентом пульсации, и источник сигнала поменять, и настройки блока, и даже ферритовые фильтры на удачу вешал, лол, ну, как к бабке цыганке, вдруг поможет... Вообще никакого эффекта. С 8а все стабильно и заебись, с 8ас какие-то постоянные скачки.
> скачут сотые и тысячные миллиампера
Тут немного спизданул, выбрал диапазон от 0 до 100, скачут сотые и тысячные, изредка десятые.
>>262703
>Можно и бесплатно пофиксить программным фильтром.
Пробовал, входной уменьшает амплитуду, но не частоты скачков, выходной (скользящее среднее) вообще не оказывает эффекта.
>>267878
>Или попробуй вставить последовательно в петлю резистор на 50 Ом примерно чтобы все эти скачки гасились в "тепло" на нём. Или лучше диод.
>>268554
>Ну и вообще как ты всё подключаешь? Может у тебя там минус датчика и минус блока питания не выровнены?
>>268853
>Схему подключения нарисуй. У тебя по всей видимости 3 или 4 проводная схема, там минус измерительного канала стоит объединить с минусом блока питания. Не знаю сделал ты это или нет.
Нарисовал схему, покажи пожалуйста что куда тыкать, нихуя не понял.
>>269920
Так нельзя похоже.
Вот схемка. PT - датчик.
>Нарисовал схему, покажи пожалуйста что куда тыкать, нихуя не понял.
Ну у тебя двухпроводная схема и по идее у тебя всё норм. Можно ещё для чистоты эксперимента попробовать посадить всё неиспользуемые минусы на минусовую шину, но скорее всего это ничего не даст.
> С 8а все стабильно и заебись, с 8ас какие-то постоянные скачки.
8ас быстрый модуль, видимо успевает ловить. Я так думаю ты на одних и тех же датчиках сравнивал, да? И на других каналах этого модуля пробовал данные получить?
Ну и по идее тех возможностей по фильтрации, что есть в 8ас тебе должно хватить. По настройке модуля ты и фильтры пробовал, и параметр Peak менять?
>выходной (скользящее среднее) вообще не оказывает эффекта
Как это может не оказывать эффекта, если ты литерали среднеарифмитическое получаешь? Ну и когда я про программный фильтр говорил, я не умел ввиду сам модуль, а обработку внутри программы. Там то ты хоть что можешь делать с этим сигналом. Впрочем кмк это оверкилл и фильтров внутри модуля должно хватать на большую часть реальных потребностей.
Ну и я всё ещё не улавливаю в чем трагичность дерганья значения в 3ем знаке после запятой. Реальные датчики вообще то себя так и ведут, если их измерять с достаточной точностью. Опять же, если тебя это так тревожит, то нужна ли тебе такая точность отображения?
>8ас быстрый модуль, видимо успевает ловить. Я так думаю ты на одних и тех же датчиках сравнивал, да?
Да.
>И на других каналах этого модуля пробовал данные получить?
Нет, но там то же самое, сейчас проверил. Спасает только то, что на других меньше знаков в итоговом числе, влияние не так заметно.
>Ну и по идее тех возможностей по фильтрации, что есть в 8ас тебе должно хватить. По настройке модуля ты и фильтры пробовал, и параметр Peak менять?
Да...
>Как это может не оказывать эффекта, если ты литерали среднеарифмитическое получаешь?
Так у меня как без среднего арифметического значение, например, 31.234 (выделил колеблющиеся в итоговом измеренном значении), так и после скользящего среднего они колеблются. Может, чуть меньше, но это вообще незаметно, потому что я все равно эти единицы конверчу (то же самое будет, если я сделаю от 0 до 20 000 например измеренные значения, и без конвертации минимум последняя цифра скачет.
>Ну и я всё ещё не улавливаю в чем трагичность дерганья значения в 3ем знаке после запятой. Реальные датчики вообще то себя так и ведут, если их измерять с достаточной точностью. Опять же, если тебя это так тревожит, то нужна ли тебе такая точность отображения?
Я меряю изначально в процентах, а итоговый диапазон довольно большим может быть (5 знаков). Неэстетично + на границах тревог бывают проблемы.
>но скорее всего это ничего не даст.
А вот эти темы с конденсаторами, резисторами и диодами? Как, куда втыкать? Я бы попробовал, если может помочь.
> Неэстетично + на границах тревог бывают проблемы.
>
Ещё раз повторюсь ты уж прости: ты ебёшься с дешманским говном, пытаясь добиться невероятных по точности и стабильности результатов. У тебя третья цифра после запятой скачет, может это для начала тупо твоя измеряемая физ величина меняется в фоне?
>Неэстетично + на границах тревог бывают проблемы.
Хз откуда у тебя такие представления об эстетике. Сколько я не видел или не делал систем, мелкие колебания в состоянии покоя обычно не вызывают вопросов. Тем более, что погрешности датчиков и измерения никуда не исчезают. Весь вопрос в том насколько ты точно хочешь получать значения. Если в этих пределах, то тебе наверное стоит поискать оборудование, которое тебя сможет удовлетворить, а не подгонять результат под ответ.
А про границы как бы гистерезис на аварию надо ставить, тут ты хоть колеблешься, хоть нет, это необходимо.
>Так у меня как без среднего арифметического значение, например, 31.234 (выделил колеблющиеся в итоговом измеренном значении), так и после скользящего среднего они колеблются
Как они могут колебаться также. Вот у тебя выборка из 10 значений. 8 из них 31.234, одно 31.239, одно 31.232. Среднее 31.234. Пусть у тебя из буфера ушло 2 значений 31.234 и пришло 2 значения побольше и твоё среднее стало 31.235. Да "колебание" есть, но частота его появления и амплитуда будут сильно ниже. Ты можешь с этого буфера пики руками отбросить, например, выкинув минимальное и максимально значение, или срезать всё что вылетает за медиану на хх%. Вариантов у тебя множество.
Может и бывают, но на практике стараются использовать более надежные поверхности.
Почему ты остановился на шунтах, когда есть трансформаторы тока? Я в том плане, что шунты гальванически не развязаны от основной линии, а от этого растет много геморроя.
Я понимаю откуда ты взял это утверждение, но зачем так грубо? :с
Особенно нелепо это выглядит потому что ты неправ. Например, https://kipservis.ru/seneca/transformator_postoyannogo_toka-t201-dc.htm или https://www.phoenixcontact.com/online/portal/ru/?uri=pxc-oc-itemdetail:pid=2814728&library=ruru&pcck=P-14-08-01-01 Возможно ты можешь не согласиться с названиями, но по сути своей это трансформаторы.
Вот кста неплохой гайд по измерению тока https://cdn.tmi.yokogawa.com/1/7978/files/High_Current_Measurement_Guide.pdf Особенно обрати внимание на Fluxgate Current Transformers. Это по сути своей те же трансформаторы на вторичку которых подается переменный ток (правда в форме квадрата, а не синусоиды), и по изменению магнитной проницаемости эта форма меняется.
Хотя я на самом деле во время ответа держал измерители тока на основе датчика Холла, например https://www.lem.com/en/has-100s . Потому что в простанародье это зовут трансформаторами, хотя это конечно некорректное название. Но в любом случае такого рода датчики обеспечат гальваническую развязку в отличии от шунта.
Вторая тоже скачет. Если выбрать диапазон измеренных значений 0-10000, скакать будет уже он. Ещё раз спрошу: почему блок 8А НЕ показывает таких нестабильностей? Я может и ебусь с дешманским говном,но пока итт никто не подсказал, чего не хватает в схеме, что бы решило проблему, чего в дешманское говно не положили.
>>282171
Таким костылем пока и приперли, но это из серии "если я буду его игнорировать, возможно, оно уйдет".
>Если выбрать диапазон измеренных значений 0-10000, скакать будет уже он
Действительно, как странно, с чего бы это, оно скакало, если ты ставишь другой диапазон?! Ты аутист? При чем тут диапазон отображения, если у тебя реальное измеренное значение скачет?
>почему блок 8А НЕ показывает таких нестабильностей
Скорее всего потому что он измеряет с более низкой частотой, и скорее всего там всегда есть усреднение. Физически там разные АЦП хотя на 8а кста больше разрядов, и на 8А нужно ставить 50 Ом резистор в параллель. Можешь и на 8ас поставить, скорее всего сильно хуже не будет, просто шкала уплывет немного.
>чего не хватает в схеме
С чего ты взял что чего то не хватает. Кроме твоих претензий по эстетике пока нихуя не слышно. Для начала находятся ли твои колебания в пределах погрешности измерения модуля и датчика? Для модуля это +- 0,25%. Я подозреваю, что да. Если это так, то все твои дальнейшие претензии хуйня.
>Таким костылем пока и приперли, но это из серии "если я буду его игнорировать, возможно, оно уйдет".
Сссссука. Гистерезис на формировании аварии это не костыль, это стандартная практика. Как ни странно реальные физические величины, и без придуманных проблем с измерениями, могут колебаться возле границы аварии. И для того чтобы не обрабатывать аварийные события постоянно используется гистерезис.
И давай, чтобы разговор был более предметным, ты хотя бы графики значений скинешь, файл с настройками модулей, тип датчиков, объяснение почему ты хочешь отображать именно такое количество разрядов и т.д. Потому что уже больше невозможно переливать из пустого в порожнее.
еще не учел, что нужны аналоговые модули ввода, которые тоже далеко не копейки стоят
Для того чтобы с шунта измерить напряжение, тоже нужны модули. Причем речь идет обычно о 75мВ. Но я про цену такого решения в первоначальном ответе говорил. Ну и если ТЭНов много, то по группам тоже никто особо не мешает объединять.
Короче, преобразователи величины постоянного тока правильнее называть магнитными усилителями или магнитными преобразователями как их и называли раньше.
Спасибо, анон, за твой ответ.
Адекватно, по делу, с пруфами.
Именно ради этого стоит следить за тредиком.
Когда речь зашла про шунты, бегло погуглил измерители постоянного тока, и ничего не нашел. Решил что и нет таких.
А вон как оказывается. Было полезно.
https://www.youtube.com/watch?v=ktd_VSufhK0&ab_channel=ErwinSalcher
Соррян, надо тебе было сразу скинуть измерители тока на датчиках Холла, которые я зачем то обозвал трансформаторами тока, внеся сумятицу. На самом деле именно они у меня с 1го ответа тебе в голове крутились если это ты изначально пришел с вопросами про ТЭНы.
Я просто не так давно ставил их как раз на линию 48В с токами до 100А. В принципе точность нормальная, хотя в районе нуля есть у меня сомнения в их показаниях у меня правда там батареи, и ток меняется, в том числе и направлением. Да и стоят он в принципе не так дорого 5-10к деревянных.
>не так дорого 5-10к деревянных
Пффф https://market.kip-postavka.ru/catalog/shut/75_sh_s_5-50A.html
Понятно что шунты будут дешевле в разы. Но они гальванически не развязаны. У меня был случай когда один конец с шунта в шкафу уронили на корпус, сварив в единый пучок половину кабель канала по которому он пролегал. С тех пор я достаточно трепетно к этому подхожу.
Стандартные аналоговые модули для ПЛК тоже под них не сильно под них заточены, придется брать преобразователь. Как вариант можно заместо модулей какие-нибудь амперметры/анализаторы сети пихнуть с сетевыми функциями, чтобы забирать данные. Но это тоже будет не дешево.
>Производитель для modbus tcp не указывает unit id ведомого устройства
Потому что на самом деле это не нужно, т.к. по сути уникальный идентификатор это IP адрес. Зачастую вообще не важно, что у тебя в unit id указано, но если в настройках прибора ты не можешь его задать, то пробуй 0, 1 или 255.
> Актуально ещё при подключении через преобразователь интерфейсов tcp-rtu
Для преобразователей обычно unit id = slave id, т.к. за преобразователем у тебя может быть несколько устройств rtu.
> Как бы мне через modbus poll или что-то иное просканить сеть на предмет получения ответа?
Честно говоря не знаю, но подозреваю, что софт с таким функционалом существует. Просто для modbus TCP это обычно не надо, а для rtu ты всегда в явном виде настраиваешь адрес устройства на нём.
Не всегда, даже для rtu это может быть что-то, что зашито в устройстве, не редактируется и называется в духе "adjustable". И ладно если он такой один, можно поперебирать и не заебаться, но если их два и больше - поди пойми, где какой, и подключились ли они Вообще.
>для rtu это может быть что-то, что зашито в устройстве
Как тогда планируется использовать эти устройства в сети? У меня кажется 1 раз был прибор с которым были трудности с настройкой адреса, но я даже вспомнить не могу, что это было за говно. В 99% случаев это все-таки будет программная настройка, либо dip переключатели.
>и называется в духе "adjustable"
Ну если оно ajustable, должны быть способы его adjust.
>>284630
>Но ведь если укажу неверный - не заработает, ответ не придет.
Зависит от кривости прошивки устройства с которым ты общаешься. Если мы говорим про оконечные устройства, то некоторые вообще не смотрят, некоторые ждут 0 или 1. Собственно зачем им смотреть на unit id, когда modbus телеграмма завернута в tcp/ip пакет в которой уже есть уникальный идентификатор в виде ip адреса? Но т.к. производители частенько modbus tcp рожают как надстройку из более старых продуктов для rtu, то соответственно тянут за собой необходимость соответствия id. Если производитель хоть немного постарается, то прибор должен будет отвечать на unit id 0 (broadcast) и unit id 255. Но если производитель долбоёб, то там может быть зашита 1 или любое другое число, либо самому внутри прибора это надо указывать.
Если говорить про шлюзы, то там да, unit id будет необходимым условием. Но это и логично, т.к. ты либо обращаешься к одному из слейвов, висящем на одном ip адресе.
Как по мне 255 адресов перебрать, если очень надо - это не проблема.
Гораздо хуже, когда нет регистров.
Только инфы об этом нет, и переключателей для этого нет, и с производителем связи нет. Как - отдельные соединения использовать, не в единой сети.
Аноны, в вашем славном мире существует свободная (бесплатная, открытый под пермиссивной лицензией исходный код и т. д.) софтина, которая бы пинала (мастер/клиент/опрашивающий) устройства по Modbus TCP (через локальную сеть) и Modbus RTU (через плату-адаптер PCI(e)) раз в секунду-две, записывала бы результат и отдавала бы его в нужном мне формате в JSON по HTTP GET, либо, если забрать пару секунд подряд не получилось - выплевывала ошибку туда же. Мне нужен OPC сервер, или нет? Грубо говоря, то же, что я делал бы через Modbus Poll, но чуть больше логики (выдача ошибки и структурирование данных). Что-то тут
https://github.com/johnjago/awesome-free-software
https://github.com/awesome-selfhosted/awesome-selfhosted
OPC я не нашел. Или мне нужен не OPC? Из ближайшего нашел NODE-RED, но выглядит оно как конструктор велосипедов.
>существует свободная (бесплатная, открытый под пермиссивной лицензией исходный код и т. д.) софтина
Я о готовых бесплатных решениях не знаю, но подозреваю что они могут быть.
>Мне нужен OPC сервер, или нет?
Тебе решать. Такое ощущение, что ты не очень понимаешь что такое OPC. Ведь вся суть OPC в том, что используя COM/DCOM технологии, он позволяет быть прокладкой между разными уровнями автоматизации. Т.е. с одной стороны OPC сервера общаются с оборудованием по протоколам связи (как свободным, так и проприетарным в зависимости от возможностей OPC сервера), а с другой отдают эти данные для других приложений (например, SCADA систем или любого самописного говна) через COM/DCOM.
Вот, например, рандомная выдача в гугле по превращению данных из OPC в web https://asneg.github.io/projects/opcuawebserver
Если говорить о не бесплатном, то https://www.kepware.com/en-us/products/kepserverex/version-6/ одно из лучших.
Кто то тебе запрещает самому написать (использовать библиотеки) общение по Modbus и не пользоваться OPC в качестве мидлмена? НЕТ. Если хочешь, то можешь сам опрашивать по modbus оборудование и без всякой прокладки в виде OPC выплевывать в веб сервер. И вероятнее всего такие приложения даже есть, но искать мне их лень.
Так что это тебе думать хочешь ты решить эту задачу одним приложением или двумя.
>если забрать пару секунд подряд не получилось - выплевывала ошибку туда же
Данные, передаваемые OPC, имеют quality code для этих целей.
Беда в том, что этот интеррапт будет дергать пид в любом рандомном месте выполнения основной программы, что усложняет работу с ним.
Как обычно работаешь с такими пидами, есть какие красивые решения?
>интеррапт будет дергать пид в любом рандомном месте выполнения основной программы, что усложняет работу с ним.
И чем он усложняет конкретно?
Ты имеешь ввиду что частота опроса ПИДа (чем чаще тем лучше) будет больше частоты циклического выполнения ОВ1 (всей программы) и боишься в "поздних" блоках программы поймать уже другое число, а не то что прилетело в "ранние"?
Банально запуск пида из нескольких мест программы поднятием бита сетом уже требует некоторых костылей для ресета этого бита.
Всегда есть риск что ты получишь половину переменных обновленных, а половину из старой итерации.
Это как раз тот случай, про который мы говорили чуть выше, что на начало выполнения какого-то блока кода будут одни значения переменных, а на конец другие. Представь что вначале ты думаешь и действуешь так, словно никакого аларма нет, а с середины блока начинаешь работать так словно аларм есть. Одним словом, требуются дополнительные обработки и архитектурные решения для избежания плавающих ошибок, которые хер выловишь.
Ну и раз такие вопросы возникают, по всей видимости, никто не заморачивается такими вещами.
Наверное каждый второй и хелп то не открывал)
>поднятием бита сетом уже требует некоторых костылей для ресета этого бита
При чём тут ПИД и прерывания? Любое обращение к переменным из нескольких мест требует внимательности. Для того кто так пишет программу, я бы скорее опасался не прерываний, а того что ты будешь в одну переменную из нескольких мест разные значения писать, получая только последний результат.
Сеты/ресеты, если ты не можешь гарантировать что команда уйдет а ты можешь когда это например кнопка, и ты знаешь её точно отожмут, обычно устанавливаются edge детекторами, которые висят 1 цикл. Да и для наглядности установку переменных по возможности стоит делать в одном месте.
>Всегда есть риск что ты получишь половину переменных обновленных, а половину из старой итерации.
Сам ПИД получит то что ему надо консистентно при вызове прерывания, ну и по сути там 1 вход, 1 выход. Дальше пусть ты делаешь какую то обработку выходного сигнала. Слабо представляю когда это надо делать больше 1 раза, и что это на что то может повлиять.
>никакого аларма нет, а с середины блока начинаешь работать так словно аларм есть
И? Даже предположим, что у тебя какие то сложные алармы. Пусть по одному из них надо закрыть 2 клапана. Ну пойдет команда на закрытие у тебя для одного сейчас, а второго на другой цикл. Важно ли это? В реальном физическом мире нет. И если писать программу правильно, то скорее всего закрытие этих клапанов будет всё равно в один цикл, т.к. это будет результат единой логической операции.
Но при более банальных алармах, которые встречаются куда чаще, у тебя просто есть набор условий, при срабатывании одного из которых ты переводишь установку в безопасное состояние. Опять же самое страшное что может произойти тут из-за неконсистентности данных, это срабатывание на 1 цикл позже.
>Ну и раз такие вопросы возникают, по всей видимости, никто не заморачивается такими вещами.
Без обид, но такие вопросы возникают потому что это уровень унылой студентоты. Те тоже думают, что дохуя умные, заучив пару терминов. Но понимания в голове нет.
Так и этот вопрос. Теоретически он имеет смысл. На практике нужно постараться настолько криво написать свою программу, чтобы проблемы такого рода реально могли отразиться на результате. Не обрабатываются какие то важные решения в 10 разных местах. Опять же физический мир зачастую куда более инертен, чем циклы ПЛК.
Я конечно может не прав, но я сидел и минут 15 пытался придумать пример, когда это может быть важно и действительно отразится на работе. И ничего кроме искусственно сконструированных вещей, созданных исключительно ради того чтобы спотыкаться о такого рода проблемы, так и не придумал. Не знаю, лично мне нужен более конкретный пример, чтобы оценить важность этой проблемы.
>поднятием бита сетом уже требует некоторых костылей для ресета этого бита
При чём тут ПИД и прерывания? Любое обращение к переменным из нескольких мест требует внимательности. Для того кто так пишет программу, я бы скорее опасался не прерываний, а того что ты будешь в одну переменную из нескольких мест разные значения писать, получая только последний результат.
Сеты/ресеты, если ты не можешь гарантировать что команда уйдет а ты можешь когда это например кнопка, и ты знаешь её точно отожмут, обычно устанавливаются edge детекторами, которые висят 1 цикл. Да и для наглядности установку переменных по возможности стоит делать в одном месте.
>Всегда есть риск что ты получишь половину переменных обновленных, а половину из старой итерации.
Сам ПИД получит то что ему надо консистентно при вызове прерывания, ну и по сути там 1 вход, 1 выход. Дальше пусть ты делаешь какую то обработку выходного сигнала. Слабо представляю когда это надо делать больше 1 раза, и что это на что то может повлиять.
>никакого аларма нет, а с середины блока начинаешь работать так словно аларм есть
И? Даже предположим, что у тебя какие то сложные алармы. Пусть по одному из них надо закрыть 2 клапана. Ну пойдет команда на закрытие у тебя для одного сейчас, а второго на другой цикл. Важно ли это? В реальном физическом мире нет. И если писать программу правильно, то скорее всего закрытие этих клапанов будет всё равно в один цикл, т.к. это будет результат единой логической операции.
Но при более банальных алармах, которые встречаются куда чаще, у тебя просто есть набор условий, при срабатывании одного из которых ты переводишь установку в безопасное состояние. Опять же самое страшное что может произойти тут из-за неконсистентности данных, это срабатывание на 1 цикл позже.
>Ну и раз такие вопросы возникают, по всей видимости, никто не заморачивается такими вещами.
Без обид, но такие вопросы возникают потому что это уровень унылой студентоты. Те тоже думают, что дохуя умные, заучив пару терминов. Но понимания в голове нет.
Так и этот вопрос. Теоретически он имеет смысл. На практике нужно постараться настолько криво написать свою программу, чтобы проблемы такого рода реально могли отразиться на результате. Не обрабатываются какие то важные решения в 10 разных местах. Опять же физический мир зачастую куда более инертен, чем циклы ПЛК.
Я конечно может не прав, но я сидел и минут 15 пытался придумать пример, когда это может быть важно и действительно отразится на работе. И ничего кроме искусственно сконструированных вещей, созданных исключительно ради того чтобы спотыкаться о такого рода проблемы, так и не придумал. Не знаю, лично мне нужен более конкретный пример, чтобы оценить важность этой проблемы.
Короч я из того что видел в немецких программах. Всё что участвует в обслуживании ПИДа крутится в ОВшке ПИДа. Соответственно и реагирует на частоте опроса ПИДа. Остальная программа уже сама по себе, статична, неповоротлива, обрабатывает общую комбинаторику, взаимодействие с оператором, скадой, алярмы сеть итд. Алярмы от ПИДа приходят через софтварные прерывания от ОВшки ПИДа.
Совок настрогал инженеров как говна за сараем по принципу "раз в КБ 9 человек хуй пинают, а 1 работает, то давайте запихнём туда 100 человек, пусть 90 хуй пинают, а 10 работают что уже лучше". С тех пор каждый куда ни плюнь вшивый инженер, а толку никакого. Сама профессия дискредитирована стремлением совка победить количеством качество.
Но высшее образование по-прежнему является массовым и почти обязательным. А надо, чтобы как до совка: полсотни инженеров всех мастей на губернский город и один земской лекарь на одну волость. Вот тогда и качество будет, и квалификация, и достойная оплата труда.
Достаточно перестать называть 90% выпускных долбоёбов инженерами. А то приходишь на завод, там дебил ходит алярмы сбрасывает целый день. Инженер-электронщик во как называется.
толсто
Так это не оправдывает неадекватно низкие зарплаты. Например у ебана, который тыкает кнопку раз в полчаса на чпу-станке зарплата больше, чем у чувака, который программирует ПЛК, скады, пусконалаживает шкафы, ебется с кабелями и тд.
Тут еще был и есть всегда субъективный фактор восприятия начальством его и твоей работы, ебан всегда в цеху и на виду, начальник когда заходит в цех, всегда воспринимает его как приносящего прибыль без вопросов, вот он: давит кнопку, работает, закрывает наряды. А эти электронщики всегда непонятно хуй чем заняты, невидно их никогда. А если зайдешь к ним, если они на месте, то сидят за столами, всё равно непонятно чем заняты.
Некоторые и вообще могут не знать про наше существование
>>282419
>Хз откуда у тебя такие представления об эстетике. Сколько я не видел или не делал систем, мелкие колебания в состоянии покоя обычно не вызывают вопросов.
Так обычно не вызывают или не вызывают?
>гистерезис на аварию
Я может быть неправильно понял термин, "гистерезис на аварию" - это задержка срабатывания аварии или диапазон вокруг значения аварии, в котором авария еще не авария? Почему необходимо?
>Как они могут колебаться также.
Они это делают с меньшей амплитудой, но с той же частотой. Также с точки зрения частоты. Колебания не такие, как ты приводишь, они - рандом. Ну и если конвертить эту шкалу твою в значения, например, 0-10000, колебания уже становятся более заметными, хотя их величина в процентах та же, но выглядит "страшнее".
>>283235
>При чем тут диапазон отображения
При том что если диапазон отображения маленький, а точек после запятой мало - все эти колебания в конце числа отбрасываются, а на больших это заметно и выглядит "страшно" для заказчика. Не будь таким злюкой пожалуйста, я не аутист, честно.
>Скорее всего потому что он измеряет с более низкой частотой, и скорее всего там всегда есть усреднение.
Овен про это ничего не сказал. Усреднение на 8АС не помогло, они предлагают усреднять на мастер-устройстве.
>Можешь и на 8ас поставить, скорее всего сильно хуже не будет, просто шкала уплывет немного.
Поставил в параллель резистор на 49.9 Ом на 8АС - результаты перестали считываться. Последовательно - считает, но также колеблется. Выше предлагали что-то с диодами и конденсаторами, в чем там была идея? (текущая схема подключения вот тут >>282063)
> Для модуля это +- 0,25%.
От шкалы измерения? Тогда да.
>Кроме твоих претензий по эстетике пока нихуя не слышно.
Я и не говорю, что это что-то иное, меня удивило, что в 8А нет такой проблемы, хотелось сделать чтоб в 8АС тоже не было, вот и все.
>И давай, чтобы разговор был более предметным, ты хотя бы графики значений скинешь, файл с настройками модулей
Приложил пикчами. Меряю в 0-100, перевожу на мастере в конечный диапазон (он может отличаться), но если бы мерял на блоке - ничего бы не изменилось, пробовал. Файлы настроек могу залить куда-нибудь, если надо. Замена настроек на стандартные не делает лучше.
> ты хочешь отображать именно такое количество разрядов и т.д
Потому что шкала измерения может быть 0-10000 или 0-30000 например.
>>282419
>Хз откуда у тебя такие представления об эстетике. Сколько я не видел или не делал систем, мелкие колебания в состоянии покоя обычно не вызывают вопросов.
Так обычно не вызывают или не вызывают?
>гистерезис на аварию
Я может быть неправильно понял термин, "гистерезис на аварию" - это задержка срабатывания аварии или диапазон вокруг значения аварии, в котором авария еще не авария? Почему необходимо?
>Как они могут колебаться также.
Они это делают с меньшей амплитудой, но с той же частотой. Также с точки зрения частоты. Колебания не такие, как ты приводишь, они - рандом. Ну и если конвертить эту шкалу твою в значения, например, 0-10000, колебания уже становятся более заметными, хотя их величина в процентах та же, но выглядит "страшнее".
>>283235
>При чем тут диапазон отображения
При том что если диапазон отображения маленький, а точек после запятой мало - все эти колебания в конце числа отбрасываются, а на больших это заметно и выглядит "страшно" для заказчика. Не будь таким злюкой пожалуйста, я не аутист, честно.
>Скорее всего потому что он измеряет с более низкой частотой, и скорее всего там всегда есть усреднение.
Овен про это ничего не сказал. Усреднение на 8АС не помогло, они предлагают усреднять на мастер-устройстве.
>Можешь и на 8ас поставить, скорее всего сильно хуже не будет, просто шкала уплывет немного.
Поставил в параллель резистор на 49.9 Ом на 8АС - результаты перестали считываться. Последовательно - считает, но также колеблется. Выше предлагали что-то с диодами и конденсаторами, в чем там была идея? (текущая схема подключения вот тут >>282063)
> Для модуля это +- 0,25%.
От шкалы измерения? Тогда да.
>Кроме твоих претензий по эстетике пока нихуя не слышно.
Я и не говорю, что это что-то иное, меня удивило, что в 8А нет такой проблемы, хотелось сделать чтоб в 8АС тоже не было, вот и все.
>И давай, чтобы разговор был более предметным, ты хотя бы графики значений скинешь, файл с настройками модулей
Приложил пикчами. Меряю в 0-100, перевожу на мастере в конечный диапазон (он может отличаться), но если бы мерял на блоке - ничего бы не изменилось, пробовал. Файлы настроек могу залить куда-нибудь, если надо. Замена настроек на стандартные не делает лучше.
> ты хочешь отображать именно такое количество разрядов и т.д
Потому что шкала измерения может быть 0-10000 или 0-30000 например.
Весь твой ответ сводится к тому, что нужно быть внимательным и писать программу правильно.
А для этого нужно понимать как выполняется программа и какие сложности возникают при использовании прерываний.
>лично мне нужен более конкретный пример
Я же уже говорил, самый банальный сет/ресет на запуск пида.
Представь что у тебя есть пид, который запускается в циклическом интерапте. Предположим, что вся реализация кода для пида лежит там же, как писал анон выше.
Чтобы понять надо пиду выполнятся или нет создан бит Activate. Когда Activate = true - выполняйся, иначе нет.
Этот самый бит Activate поднимается сетом из 2-х разных FB блоков в программе из основного OB1.
Почему из 2-х? Например потому что удобно иметь реализацию разных режимов работы инкапсулированную в разные FB-шки.
Кто и в каком месте будет ресетить этот бит?
Любой модуль дискретных выходов с MODBUS TCP на борту.
Или какое решение в себе, типа ПР от Овна.
> не вызывают или не вызывают?
Даже не знаю, что тебе ответить. Нет, мелкие колебания обычно не вызывают вопросов, даже наоборот радуют обслуживающий персонал, т.к. сигнализируют о том, что датчик вроде живой и что то показывает.
>диапазон вокруг значения аварии
Это диапазон, который служит для того чтобы не генерить сотни аварий когда показания переменной крутятся возле аварийного значения. Например, появление аварийного события происходит при значении переменной >100, но пропадание аварийного события происходит при <95. Таким образом ты сгенеришь аварию один аварию один раз, а снимешь её тогда, когда событие реально начнет уходить. Естественно величина этого гистерезиса должна зависеть от физического смысла переменной, которую ты измеряешь.
>Они это делают с меньшей амплитудой
Ну и ты разве не этого хочешь? Уменьшение амплитуды до незначимых знаков ценой получения добавления инерции, это как раз то зачем мы пытались фильтровать.
>а на больших это заметно и выглядит "страшно" для заказчика
>Потому что шкала измерения может быть 0-10000 или 0-30000 например.
Ну заказчик идиот, а ты ему потакаешь. Округляй в программе, если так хочется, пусть в последнем числе всегда будет 0. Красота требует жертв.
> меня удивило, что в 8А нет такой проблемы, хотелось сделать чтоб в 8АС
Ну я высказал предположение, что в 8А так или иначе есть фильтры, но точно знать, почему так происходит, я не могу. Вообще по тех характеристикам 8А по идее должен больше плавать, за счет разрядности АЦП. А может тебе просто не очень хороший модуль попался, кто его знает. И раз ты видимо спрашивал у самого ОВЕНа почему так, то я хз что ещё добавить.
> в чем там была идея?
Без понятия, это не я писал.
> От шкалы измерения? Тогда да.
>Приложил пикчами
Ну у тебя диапазон колебаний 0,01%. Я тем более глядя на это не понимаю сути дискуссии. Эти колебания явно лежат ниже пределов погрешности, что модуля, что наверняка датчика.
http://www.netping.ru/ может там найдешь что тебе нужно.
Пользовался их коробками- вебморда с настройками и пара реле на 220в.
>Кто и в каком месте будет ресетить этот бит?
Это на само деле не важно, т.к. ПИД при начале своей работы посмотрит активирован он или нет, и будет работать в соответствии с этим.
>Этот самый бит Activate поднимается сетом из 2-х разных FB блоков в программе из основного OB1.
Я даже улучшу твой случай. Скажем в одном месте программы там записывается true, а в другом false. При этом циклические прерывания вызываются, то в одном, то в другом состоянии, вызывая постоянную смену состояний. Да, это проблема. Но это не проблема с прерываниями, это проблема с программой в целом. Это ошибка точно такого же рода, как если в одном месте программы ты, например, включаешь релюшку, а в другом сбрасываешь. В итоге ты смотришь в программу, вроде все условия для включения реле есть, а оно в реальности не включается. Но проблема здесь в том, что ты пишешь противоречащие друг другу данные в одно место. И проблема эта решается грамотной организацией логики программы.
Возвращаясь к твоему примеру, если это выбор режимов, то неактивный режим вообще то не должен оказывать никакого воздействия на реальные объекты. Допускать такое в принципе нельзя, т.к. это приведет к непредсказуемости поведения. Дальше, сеты-ресеты желательно должны выполняться 1 цикл правда аварийные сбросы должны висеть, т.к. даже если ты не обработаешь их сейчас, то хотя бы на след цикле они должны отработать . Это та же проблема обращения к одному и тому же месту в памяти, т.к. если ты не знаешь что у тебя там висит в параллели ты не можешь предугадать какой результат ты получишь. Такого же рода ошибки ещё часто возникают, когда работают с несколькими типами данных расположенных в одной области памяти маскирование, свайпы байт, вот это всё. Что я могу сказать? Да, работать с памятью надо правильно, зря мы что ли здесь байтоебством занимаеся.
>для этого нужно понимать как выполняется программа и какие сложности возникают при использовании прерываний.
Да, но нет. Это всё ещё не очень относится к прерываниям. Конкретный случай использования ПИДа как раз довольно сложно привязать к такого рода проблемам. Просто хотя бы из-за того что речь идёт обычно о реальных физических датчиках и исполнительных механизмах, и даже если у тебя там команда появится в одном цикле, а ответ в следующем или даже дальше (не факт что циклические прерывания короче основного цикла), то это никто и не заметит.
Легче всего вообразить такие проблемы, например, к передаче данных. Например, ты сформировал часть сообщения -> прервался -> логика поменялась и ты хочешь посылать уже другое сообщение -> возвращаешься в программу -> дописываешь оставшееся сообщение другими данными, получая в итоге кашу. Там даже не обязательно прерывания, можно просто в разные циклы попасть, т.к. связь обычно тоже не привязана к OB1. Но в этой области как раз есть решения этой проблемы в виде консистентной передачи данных.
Придут ещё примеры в голову - кидай, подумаем.
>Кто и в каком месте будет ресетить этот бит?
Это на само деле не важно, т.к. ПИД при начале своей работы посмотрит активирован он или нет, и будет работать в соответствии с этим.
>Этот самый бит Activate поднимается сетом из 2-х разных FB блоков в программе из основного OB1.
Я даже улучшу твой случай. Скажем в одном месте программы там записывается true, а в другом false. При этом циклические прерывания вызываются, то в одном, то в другом состоянии, вызывая постоянную смену состояний. Да, это проблема. Но это не проблема с прерываниями, это проблема с программой в целом. Это ошибка точно такого же рода, как если в одном месте программы ты, например, включаешь релюшку, а в другом сбрасываешь. В итоге ты смотришь в программу, вроде все условия для включения реле есть, а оно в реальности не включается. Но проблема здесь в том, что ты пишешь противоречащие друг другу данные в одно место. И проблема эта решается грамотной организацией логики программы.
Возвращаясь к твоему примеру, если это выбор режимов, то неактивный режим вообще то не должен оказывать никакого воздействия на реальные объекты. Допускать такое в принципе нельзя, т.к. это приведет к непредсказуемости поведения. Дальше, сеты-ресеты желательно должны выполняться 1 цикл правда аварийные сбросы должны висеть, т.к. даже если ты не обработаешь их сейчас, то хотя бы на след цикле они должны отработать . Это та же проблема обращения к одному и тому же месту в памяти, т.к. если ты не знаешь что у тебя там висит в параллели ты не можешь предугадать какой результат ты получишь. Такого же рода ошибки ещё часто возникают, когда работают с несколькими типами данных расположенных в одной области памяти маскирование, свайпы байт, вот это всё. Что я могу сказать? Да, работать с памятью надо правильно, зря мы что ли здесь байтоебством занимаеся.
>для этого нужно понимать как выполняется программа и какие сложности возникают при использовании прерываний.
Да, но нет. Это всё ещё не очень относится к прерываниям. Конкретный случай использования ПИДа как раз довольно сложно привязать к такого рода проблемам. Просто хотя бы из-за того что речь идёт обычно о реальных физических датчиках и исполнительных механизмах, и даже если у тебя там команда появится в одном цикле, а ответ в следующем или даже дальше (не факт что циклические прерывания короче основного цикла), то это никто и не заметит.
Легче всего вообразить такие проблемы, например, к передаче данных. Например, ты сформировал часть сообщения -> прервался -> логика поменялась и ты хочешь посылать уже другое сообщение -> возвращаешься в программу -> дописываешь оставшееся сообщение другими данными, получая в итоге кашу. Там даже не обязательно прерывания, можно просто в разные циклы попасть, т.к. связь обычно тоже не привязана к OB1. Но в этой области как раз есть решения этой проблемы в виде консистентной передачи данных.
Придут ещё примеры в голову - кидай, подумаем.
Ну пердоль какую-нибудь ардуину с езернет модулем, задрочишься х2, но задачу свою заколхозишь. Однако это все еще будет дороже твоего запроса, так что твой путь - путь самурая: проектируешь плату, покупаешь на алишке рассыпуху, травишь, паяешь, прогаешь. Задрочишься х100, да, и в бюджет все равно не уложишься, лол.
За такую стоимость кмк или на али брать (по запросу ethernet relay вполне находятся решения в диапазоне 1,5к), либо какие то ардуинки. Все что относится к умным домам будет дороже, просто за принадлежность к сфере. Всякие модули ввода/вывода для промышленности, тоже будут подороже, да и на пару каналов никому не нужны, т.к. основная стоимость там не в количестве каналов всё равно.
>>290931
А что насчет перезагрузки устройства, то не проще локальный watchdog какой то поднять? Возможно это можно проще сделать.
>Придут ещё примеры в голову - кидай, подумаем.
Мне кажется, ты до сих пор первый пример не понял.
Погоди, пока писал пост, кажется до меня дошло.
В примере бит Activate должен сбрасываться каждый цикл.
А ты, похоже, думаешь что мы его сетим, работаем пол часа, в конце ресетим.
>ПИД как раз довольно сложно привязать к такого рода проблемам
Как раз на оборот. При "выключении" пида он сбросит свою накопленную интегральную/дифференциальную память. И если бит запуска будет прыгать от цикла к циклу пид будет работать только пропорциональной составляющей.
>зря мы что ли здесь байтоебством занимаеся
Как по мне, в АСУ не так и много работы с битами. Посмотри на разрабов софта для железяк (всякие армы, авры, плисы).
А у нас зачастую даже прямого доступа к памяти нет, чего уж там.
Аноны ниже годноту говорят.
Поищи какую-нибудь дешманскую железяку на линухе типа PI.
Она умеет в прямой доступ к пинам своих портов.
На пин весишь релюшку.
Управляешь чем хочешь, хоть по рдп подтыкайся, там же линух, епт.
Профит.
>В примере бит Activate должен сбрасываться каждый цикл.
Нахуя? Но предположим. Всё ещё никак не меняет того факта, что данная проблема никакого отношения к прерываниям не имеет. Это всё ещё работа с общим куском памяти из нескольких мест.
>А ты, похоже, думаешь что мы его сетим, работаем пол часа, в конце ресетим.
Не поверишь, но так оно и делается. Обычно активация это разрешение на проведение вычислений. Смысл дергать активацию руками, когда само выполнение ПИД регулятора уже завязано на циклические прерывания?
>При "выключении" пида он сбросит свою накопленную интегральную/дифференциальную память. И если бит запуска будет прыгать от цикла к циклу пид будет работать только пропорциональной составляющей.
Но не лучше ли просто при необходимости менять коэффициенты? Ты предлагаешь слишком не интуитивный способ а скорее даже некорректный, ещё тут пытался мануалы кого-то учить читать добиться того, что можно сделать проще. Кроме того что тебе надо, чтобы 1 цикл ПИД был выкл, а в другой вкл, дак ещё и ты должен как то гарантировать, что все внутренности ПИДа нормально работают. Например, те же алармы внутренние не факт что сгенерятся нормально. Да и физического смысла в этом мало без смены коэффициентов. Зачем пытаться работать на значении П-составляющей настроенной при ПИ- или ПИД?
>Как по мне, в АСУ не так и много работы с битами
Да это понятно. Я так образно, к тому что при программировании ПЛК ты должен понимать с какими областями памяти ты взаимодействуешь, и как они могут перекрывать друг друга.
Ты пьяный чтоли с выходных?
>Не поверишь, но так оно и делается.
У тебя есть бит Activate (клапан / насос/ лампочка).
Ты запускаешь ее из 2-х разных FB блоков, которые лежат в OB1.
Напиши как будешь это делать.
Про остальное вообще ничего не могу сказать.
Мы с тобой на разных языках про разные вещи, видимо, говорим.
Попробуй перечитать завтра на свежую голову наш диалог с самого начала.
С выходов экземпляров FB1 и FB2 берешь бит запуска и пишешь либо в промежуточную DB (если вызов этих экземпляров находится не в OB1), либо тут же во временную память самого OB1 (если вызов экземпляров FB находится в OB1). Дальше в OB1 уже цепляешь эти биты по логике И или ИЛИ, и забираешь финальный результат куда тебе надо.
мимодругойанон
>>291083
>>291249
> Представь что у тебя есть пид, который запускается в циклическом интерапте. Предположим, что вся реализация кода для пида лежит там же, как писал анон выше.
> Чтобы понять надо пиду выполнятся или нет создан бит Activate. Когда Activate = true - выполняйся, иначе нет.
> Этот самый бит Activate поднимается сетом из 2-х разных FB блоков в программе из основного OB1.
> Почему из 2-х? Например потому что удобно иметь реализацию разных режимов работы инкапсулированную в разные FB-шки.
> Кто и в каком месте будет ресетить этот бит?
> В примере бит Activate должен сбрасываться каждый цикл.
> А ты, похоже, думаешь что мы его сетим, работаем пол часа, в конце ресетим.
Мне почему-то кажется, что ты не понимаешь элементарных основ работы с булевыми переменными. Из твоего описания получается примерно следующее:
Начало цикла - Activate сбрасывается в FALSE
Середина цикла - Activate устанавливается FB1 или FB2 в TRUE
Конец цикла - Activate все еще TRUE
Циклический OB может быть вызван как между началом и серединой цикла (Activate = FALSE), так и между серединой и концом цикла (Activate = TRUE), и тогда действительно у PID будет непредсказуемое поведение.
Внимание, вопрос! Если ты по какому-то условию в середине цикла устанавливаешь Activate в TRUE, то зачем ты, не проверяя никаких условий, всегда принудительно в начале цикла сбрасываешь Activate в FALSE? Какой в этом смысл?
>Как раз на оборот. При "выключении" пида он сбросит свою накопленную интегральную/дифференциальную память. И если бит запуска будет прыгать от цикла к циклу пид будет работать только пропорциональной составляющей.
Ты уполномочен изменить это поведение.
IntegralResetMode tag
0 Smooth
1 Delete
2 Hold
3 Pre-assign
4 Like setpoint change (only for PID_Temp with version e" 1.1)
>Как по мне, в АСУ не так и много работы с битами.
Исключительно, чтобы полосу не засирать, а то насоздают своих койлов с дырками и ложат сети.
Бляяять. Ты сам лучше бы внимательнее читал, что я тебе писал, вместо того чтобы выебываться. Я конечно временами косноязычен и повторяюсь, но всегда пытаюсь разжевывать на максимально доступном уровне.
>У тебя есть бит Activate (клапан / насос/ лампочка).
>Ты запускаешь ее из 2-х разных FB блоков, которые лежат в OB1.
Вот тебе пример на пике. В network 1 я собрал 2 условия по ИЛИ или любой другой логике и записал результат в одно место, это правильное поведение. В network 2 (это могли бы быть разные FB, сути не меняет) я записываю одну и ту же переменную из 2 разных мест, в результате только последняя операция имеет значение. Соответственно при записи любой переменной надо думать кто ещё может её переписать.
Означает ли это, что обязательно надо собирать всё в одном месте в виде логической операции? - Нет (хотя для физических выходов вообще принято писать их только 1 раз для удобства чтения программы). Твой пример про режимы работы был как раз удачен в этом плане. Я могу иметь команды на включение чего то из ручного или автоматического режима, которые пишут один и тот же бит, именно потому что я знаю, что ручной и автоматический режим никогда не пересекутся. Тут правда возникают сложности с переходами из режим в режим, и всякие забытые команды, поэтому собирать такое по ИЛИ на самом деле тоже неплохая идея.
>>291292
> Циклический OB может быть вызван как между началом и серединой цикла (Activate = FALSE), так и между серединой и концом цикла (Activate = TRUE)
У него всё ещё хуже. Циклические прерывания могут быть либо куда короче основного цикла, и вызываться по 10 раз. Либо наоборот длиннее основного цикла, и вызываться 1 раз в 10 циклов. При всем этом основной цикл не детерминирован по времени и может плавать, так что если пытаться подгадать со временем, то не факт что всё будет выполняться постоянно без пропуска 1-2 циклов.
Короче тот анон реально страдает какой то невообразимой хуйней. Особенно касаемо примера про ПИД. Уж лучше говорить про передачу данных или, например, хардварные интерапты. Там хотя бы такая проблема расхождения данных реально существует. Но как ни странно если ты вводишь такие вещи, то должен думать как они будут работать.
Бляяять. Ты сам лучше бы внимательнее читал, что я тебе писал, вместо того чтобы выебываться. Я конечно временами косноязычен и повторяюсь, но всегда пытаюсь разжевывать на максимально доступном уровне.
>У тебя есть бит Activate (клапан / насос/ лампочка).
>Ты запускаешь ее из 2-х разных FB блоков, которые лежат в OB1.
Вот тебе пример на пике. В network 1 я собрал 2 условия по ИЛИ или любой другой логике и записал результат в одно место, это правильное поведение. В network 2 (это могли бы быть разные FB, сути не меняет) я записываю одну и ту же переменную из 2 разных мест, в результате только последняя операция имеет значение. Соответственно при записи любой переменной надо думать кто ещё может её переписать.
Означает ли это, что обязательно надо собирать всё в одном месте в виде логической операции? - Нет (хотя для физических выходов вообще принято писать их только 1 раз для удобства чтения программы). Твой пример про режимы работы был как раз удачен в этом плане. Я могу иметь команды на включение чего то из ручного или автоматического режима, которые пишут один и тот же бит, именно потому что я знаю, что ручной и автоматический режим никогда не пересекутся. Тут правда возникают сложности с переходами из режим в режим, и всякие забытые команды, поэтому собирать такое по ИЛИ на самом деле тоже неплохая идея.
>>291292
> Циклический OB может быть вызван как между началом и серединой цикла (Activate = FALSE), так и между серединой и концом цикла (Activate = TRUE)
У него всё ещё хуже. Циклические прерывания могут быть либо куда короче основного цикла, и вызываться по 10 раз. Либо наоборот длиннее основного цикла, и вызываться 1 раз в 10 циклов. При всем этом основной цикл не детерминирован по времени и может плавать, так что если пытаться подгадать со временем, то не факт что всё будет выполняться постоянно без пропуска 1-2 циклов.
Короче тот анон реально страдает какой то невообразимой хуйней. Особенно касаемо примера про ПИД. Уж лучше говорить про передачу данных или, например, хардварные интерапты. Там хотя бы такая проблема расхождения данных реально существует. Но как ни странно если ты вводишь такие вещи, то должен думать как они будут работать.
>А у нас зачастую даже прямого доступа к памяти нет, чего уж там.
>
Чего ебать? Каждый день занимаюсь тем что пытаюсь запихать незапихуемое в куцую меркерную память симатиков. Заебался тасовать туда-сюда всякое непомещающееся говно.
na hui poshyol
Если чем-то netping не устраивает, и хочется колхоз, то Lantronix XPort AR (сношаться с пайкой и GPIO) или дешманский принт-сервер с LPT и Ethernet типа как описано на https://projectaweek.com/2016/12/10/network-attached-gpio-with-hp-jetdirect/
>сбрасываешь Activate в FALSE? Какой в этом смысл?
Это удобно.
Представь у тебя 100 клапанов. Пишем реализацию клапана(активации, задержки, алармы, обратные связи, счетчики активаций) в отдельном FB блоке. Дальше создаем 100 экземпляров.
На вход/выход этого FB даем указатель на UDT объект в памяти, в котором лежат все нужное клапану(параметры, статусы, управляющие сигналы).
Теперь мы можем в любом месте основной программы поднять бит(set) "activate" нужного клапана. Хоть в 10 разных местах программы, если надо.
При выполнении FB отвечающего за клапан мы смотрим этот бит, активирум клапан если надо, и ресетим бит.
В следующем цикле программы все кому надо активировать клапан снова поднимают бит. Если никому не надо - бит останется не поднятым.
ПИД, реализация которого лежит в прерывании ломает эту концепцию.
В примере товарища >>291285 для каждой новой активации понадобится новая глобальная переменная. Захотелось активировать клапан? Допили переменную, допили "или". 100 клапанов по 2 вызова(например) = 200 глобальных переменных + еще 100 лежит в самих клапанах.
>>291352
До сих пор не увидел где у тебя SET. Ты до сих пор не понял пример.
>>До сих пор не увидел где у тебя SET. Ты до сих пор не понял пример.
Концепт пикрелейтед. пейнт эдишн, епт
В обычном коде удобно.
В прерывании ресетить нельзя.
>При выполнении FB отвечающего за клапан мы смотрим этот бит, активирум клапан если надо, и ресетим бит.
Зачем мы его ресетим каждый цикл? Ты не можешь его ресетить, когда тебе это реально надо? Зачем вообще использовать set/reset, когда простое присвоение как на картинке в посте на который ты отвечаешь для реализации такой логики будет выполнять ту же функцию, но будет нагляднее пропало условие = не выставлен set в новом цикле => отключился выход = выполнен reset?
У тебя на самом деле очень сломанная логика, т.к. ты постоянно должен контролировать, чтобы порядок выполнения был:
начало цикла -> ресет старых запросов на открытие -> выполнение всех функций, которые могут сформировать запрос -> выполнение самой функции клапана -> конец цикла (ибо формирование образа выходных переменных тут, и если ты хочешь хоть что то реально включить, то надо чтобы TRUE было на этом этапе). Если ты где то проебешься с этим, то результаты уже будут непредсказуемыми.
> До сих пор не увидел где у тебя SET. Ты до сих пор не понял пример.
Нет, это ты просто трудный. Ну раз надо разжевывать на уровне школы-интерната для особо одаренных, то поехали:
пик 1: У нас есть несколько условий, результат логических операций которых приводит к записи в одно и то же место (Q0.2). Мы можем рассматривать эти нетворки как разные функции. Теперь начинаем думать, какое состояние Q0.2 будет выставлено на модуле(что происходит в конце основного цикла OB1), если M2.0 и M2.2 стоят в TRUE. Если эти функции (нетворки) вызываются в таком порядке как на картинке, то Q0.2 будет висеть в нуле. Если порядок другой, то мы можем получить результат, когда Q0.2 будет стоять в TRUE.
Ок, это явно проблема, т.к. думать о том, что и в каком порядке вызывается такое себе времяпрепровождение. Что мы можем сделать.
пик 2: Для удобства чтения можем прописать условие по ИЛИ для M2.0 M2.1 (мы можем этого не делать, т.к. ты прав что при работе с экземплярами это будет не очень удобно). Однако само по себе это ничего не меняет. Пусть для меня более важно состояние выключено (мне важнее закрыть клапан при аварии, чем пытаться продолжать работать), тогда я просто в логическую цепочку set добавляю проверку, что у меня нет условий на выключение. Теперь мне больше не надо думать в каком порядке у меня вызовутся мои функции, если M2.2 стоит в TRUE, то Q0.2 будет FALSE.
пик 3: Вернемся к примеру с экземплярами функций. Мы можем писать в static часть экземплярной DB, хоть из 10 разных мест команды на включение и выключение можешь представить, что на пике 1 в нетворках 1,2 вместо Q0.2 стоит DBxx.ActivateCMD. Если у меня в приоритете выключение, то я могу также делать проверки на то стоит ли действительно включать. Бонусом я могу подчищать все старые команды на включение, которые могли остаться с команд, которые уже неактуальны (т.к. команда на выключение в моем примере имеет приоритет).
пик 4: Пусть ты хочешь обойтись 1 командой, когда она есть, то включено. Когда нет, то выключено. Wait a minute... да это же простое присвоение.
Да, теперь встает вопрос, что мы не можем из 10 мест независимо сетить, т.к. мы ресет по дороге проебали. Твоё решение делать это в начале каждого цикла. Моё решение в том месте где ты будешь вызывать экземпляр FB, собрать эти условия по ИЛИ и передать результат этой операции в ActivateCMD.
Займет ли это больше памяти? - Нет, команды один хрен формируются независимо.
Займет ли это больше место в записи? - Возможно. Но это будет куда нагляднее.
Будут ли какие то проблемы при изменении порядка исполнения? - Нет, мы их и решали.
>При выполнении FB отвечающего за клапан мы смотрим этот бит, активирум клапан если надо, и ресетим бит.
Зачем мы его ресетим каждый цикл? Ты не можешь его ресетить, когда тебе это реально надо? Зачем вообще использовать set/reset, когда простое присвоение как на картинке в посте на который ты отвечаешь для реализации такой логики будет выполнять ту же функцию, но будет нагляднее пропало условие = не выставлен set в новом цикле => отключился выход = выполнен reset?
У тебя на самом деле очень сломанная логика, т.к. ты постоянно должен контролировать, чтобы порядок выполнения был:
начало цикла -> ресет старых запросов на открытие -> выполнение всех функций, которые могут сформировать запрос -> выполнение самой функции клапана -> конец цикла (ибо формирование образа выходных переменных тут, и если ты хочешь хоть что то реально включить, то надо чтобы TRUE было на этом этапе). Если ты где то проебешься с этим, то результаты уже будут непредсказуемыми.
> До сих пор не увидел где у тебя SET. Ты до сих пор не понял пример.
Нет, это ты просто трудный. Ну раз надо разжевывать на уровне школы-интерната для особо одаренных, то поехали:
пик 1: У нас есть несколько условий, результат логических операций которых приводит к записи в одно и то же место (Q0.2). Мы можем рассматривать эти нетворки как разные функции. Теперь начинаем думать, какое состояние Q0.2 будет выставлено на модуле(что происходит в конце основного цикла OB1), если M2.0 и M2.2 стоят в TRUE. Если эти функции (нетворки) вызываются в таком порядке как на картинке, то Q0.2 будет висеть в нуле. Если порядок другой, то мы можем получить результат, когда Q0.2 будет стоять в TRUE.
Ок, это явно проблема, т.к. думать о том, что и в каком порядке вызывается такое себе времяпрепровождение. Что мы можем сделать.
пик 2: Для удобства чтения можем прописать условие по ИЛИ для M2.0 M2.1 (мы можем этого не делать, т.к. ты прав что при работе с экземплярами это будет не очень удобно). Однако само по себе это ничего не меняет. Пусть для меня более важно состояние выключено (мне важнее закрыть клапан при аварии, чем пытаться продолжать работать), тогда я просто в логическую цепочку set добавляю проверку, что у меня нет условий на выключение. Теперь мне больше не надо думать в каком порядке у меня вызовутся мои функции, если M2.2 стоит в TRUE, то Q0.2 будет FALSE.
пик 3: Вернемся к примеру с экземплярами функций. Мы можем писать в static часть экземплярной DB, хоть из 10 разных мест команды на включение и выключение можешь представить, что на пике 1 в нетворках 1,2 вместо Q0.2 стоит DBxx.ActivateCMD. Если у меня в приоритете выключение, то я могу также делать проверки на то стоит ли действительно включать. Бонусом я могу подчищать все старые команды на включение, которые могли остаться с команд, которые уже неактуальны (т.к. команда на выключение в моем примере имеет приоритет).
пик 4: Пусть ты хочешь обойтись 1 командой, когда она есть, то включено. Когда нет, то выключено. Wait a minute... да это же простое присвоение.
Да, теперь встает вопрос, что мы не можем из 10 мест независимо сетить, т.к. мы ресет по дороге проебали. Твоё решение делать это в начале каждого цикла. Моё решение в том месте где ты будешь вызывать экземпляр FB, собрать эти условия по ИЛИ и передать результат этой операции в ActivateCMD.
Займет ли это больше памяти? - Нет, команды один хрен формируются независимо.
Займет ли это больше место в записи? - Возможно. Но это будет куда нагляднее.
Будут ли какие то проблемы при изменении порядка исполнения? - Нет, мы их и решали.
Если для себя - можешь пердолиться за 500р, я просто привел пример того, что покупали в нашей конторе для решения схожей проблемы. Без пердолинга настраивается за 5 минут.
У меня тоже есть вопрос. Рисую интерфейс для тач панели simatic tp700 comfort. Как в ней сделать шрифты нормального размера? Все надписи, которые я вижу на экране монитора, в панели оказываются меньшего размера. Я полазил по настройкам, вроде бы везде повыключал масштабирования и всякого рода подгонялки под размер экрана. Шрифт по умолчанию тоже менял- проблема не уходит.
>Все надписи, которые я вижу на экране монитора, в панели оказываются меньшего размера
Попробуй вот это https://support.industry.siemens.com/cs/document/13899072/why-are-fonts-and-objects-shown-shifted-on-a-pc-runtime-system-or-operator-panel-?dti=0&dl=en&lc=nl-NL
Ну и вообще, у тебя в винде может какой то скейлинг включен (кроме DPI), который влияет на редактор, но при загрузке теряется.
>Зачем мы его ресетим каждый цикл?
Уже подробно ответил тут >>291456
>ты постоянно должен контролировать, чтобы порядок выполнения был
Внимательно посмотри картинку тут >>291473
Ресет стоит СРАЗУ ПОСЛЕ присвоения реального выхода.
При такой реализации вообще не нужно думать о порядке вызова.
Даже если ниже по коду сделаешь еще один сет M0.0 все будет работать правильно.
> Твоё решение делать это в начале каждого цикла
Еще раз внимательно на картинку тут >>291473
Не в начале /конце/середине цикла, а там, где у тебя реализация клапана/лампочки/двигателя, то есть где есть присвоение на реальный выход.
>в приоритете выключение
Решается продуманной заранее архитектурой приложения, где машина умеет закрывать клапан когда надо сама. А не так чтобы половина кода пытается клапан открыть, в то время как вторая половина кода пытается его закрыть.
Либо добавлением второго бита "деактивации" в реализации клапана, если уж не смог в архитектуру
Давай завязывать этот балаган, пользы это не приносит.
Для себя я решение с пидом уже нашел.
Я попробовал поиграться с масштабированием. Меняется окно редактора (мылится), но шрифты такие же относительно остальных элементов.
>Еще раз внимательно на картинку тут
Соррян, я думал пейнт скилзы от другого анона. Да, так будет работать.
>Решается продуманной заранее архитектурой приложения, где машина умеет закрывать клапан когда надо сама. А не так чтобы половина кода пытается клапан открыть, в то время как вторая половина кода пытается его закрыть.
Это же просто фейл сейф решение. Понятно, что та часть которая открывала, тоже должна перестать выдавать команды. Просто в твоей логике должно быть гарантировано что все источники команд перестанут их выдавать, а у меня висит доп запрет в случае, например, аварии.
>Давай завязывать этот балаган, пользы это не приносит.
Согласен. Все ещё не понял нахуй ты пургу про включение/выключение ПИДа гнал, якобы ради работы на одной П- составляющей. Меня это сильно сбило, и смысла это всё ещё не имеет. Но похуй
Простенький контроллер или программируемое реле. По сути это конечно одно и тоже, но если ты без опыта, то софт для программируемых реле будет тебе скорее всего попроще.Смысла делать на релейной логике нет, т.к. во-первых на дворе 2021 год, а во-вторых это выйдет даже дороже прог реле.
Что до самой разработки проекта, то:
1. Выпиши все сигналы, которые будут в системе. Посчитай сколько у тебя дискретных входов, выходов, аналоговых датчиков (может у тебя не будет, но газоанализаторы, которые я когда то были аналоговые, плюс пункт 6 не знаю точно как у тебя будет реализован, возможно там датчик давления). Дискретку лучше бери на 24В постоянки, оно безопаснее и легко найти.
2. Найди подходящее под количество сигналов и твой бюджет программируемое реле (у нас тут в ходу ОВЕН ПР, Siemens LOGO, Schneider Zelio и т.п, они на самом деле все довольно похожи). Количество сигналов основного модуля реле часто можно наращивать за счет добавления 1-2 доп модулей (но это число ограничено, так что внимательнее смотри тех характеристики).
3. Можешь сразу скачать и потыркать программы (большая часть бесплатна, остальное на торрентах). Видео за ютубе за пару часов должны научить тебя всем нужным скиллам по программированию релюшек.
Нарисовать на бумажке интерфейс (или щит с кнопками и лампами). Накидать входы и выходы, требуемые для реализации. Далее выбрать на чем делать.
Очевидно- Овен ПР.
>>291941
Спс вам асу-бояре, буду думу-думать и брать овен кончено, там и руководства для пидорюнделей понятные, а я сам из белорашки_лишь_бы_дешева.
>Нарисовать на бумажке интерфейс (или щит с кнопками и лампами)
Ну целый интерфейс мне надо неделю тупить с 0, конечно панелька нейкая.
>Можешь сразу скачать и потыркать программы (большая часть бесплатна, остальное на торрентах). Видео за ютубе за пару часов должны научить тебя всем нужным скиллам по программированию релюшек.
А мне и не нужно таким заниматься, я ж рисовальщик, специально обученные мужички должны сами.
Имелось ввиду нарисовать визуализацию и согласовать с оператором/технологом. По опыту попыток научить электриков пользоваться owen logic- им легче, когда все нарисовано на бумажке.
Просто мы любим этот тред, няша :3
>>291961
> я ж рисовальщик, специально обученные мужички должны сами.
Во-первых это не сильно сложно, можешь всё равно на досуге глянуть для самообразования. Я уверен, что если ты можешь нарисовать релейную схему, чтобы она управляла по твоему ТЗ, то написать программу для прог реле тем более сможешь.
Во-вторых если у тебя программисты отдельные люди, то теоретически они тебе должны сказать на чем им удобно если их мнение кто то спрашивает, а не всё упирается в цену.
>и брать овен кончено
Единственное кроме 24В, если у тебя есть влияние на выбор КИПиА (вдруг это всё уже закуплено до тебя), ещё обрати внимание на то как у тебя насосы подключены. Вдруг там частотники и надо какого то рода связь строить.
И ещё, если шкаф у тебя будет прям в помещении с возможной агрессивной атмосферой, то подумай о нормальном шкафе. Или, например, держи шкаф под небольшим избыточным давлением. А то через год всё сгниёт и начнет отваливаться.
>Представь у тебя 100 клапанов. Пишем реализацию клапана(активации, задержки, алармы, обратные связи, счетчики активаций) в отдельном FB блоке. Дальше создаем 100 экземпляров.
>На вход/выход этого FB даем указатель на UDT объект в памяти, в котором лежат все нужное клапану(параметры, статусы, управляющие сигналы).
>Теперь мы можем в любом месте основной программы поднять бит(set) "activate" нужного клапана. Хоть в 10 разных местах программы, если надо.
Т.е. у тебя условно 100 клапанов, у каждого из которых по 10 источников команды на запуск, правильно? Простое решение, которое в отличие от твоего позволит отслеживать источник команд - запускать каждый клапан не битом, а числом. Условный INT даёт тебе 16 бит, т.е. 16 возможных источников команды на запуск, при этом в двоичном виде понятно откуда пришла команда. Естественно, источники команд в пределах одного клапана теперь должны будут давать сигнал на разные биты INT входа клапана. Так же в такой реализации не надо ничего ресетить: INT == 0 всегда означает, что не осталось ни одной команды на активацию клапана, а значит ПИД в прерывании всегда получает актуальное состояние клапана.
>В следующем цикле программы все кому надо активировать клапан снова поднимают бит. Если никому не надо - бит останется не поднятым.
>ПИД, реализация которого лежит в прерывании ломает эту концепцию.
Если останешься в пределах своего одного бита, то завязывай ПИД на фактическое состояние клапана, а не на этот управляющий бит.
>позволит отслеживать источник команд
Для чего это может быть полезно? Когда будем дебажить, все-равно будем искать источник команды через "go to location" а не вспоминая в каким месте поднимается 5 бит на 87 клапане.
Когда нужно добавить следующую активацию, придется искать следующий "незанятый" бит. Ошибка в бите приведет к отваливанию выше стоящей активации/деактивации.
Утрирую, но что если какому-то клапану понадобится запуск из 17 мест? Меняем в реализации int на dint? А для 33 активации?
Это конечно ерунда, но занимаем 100 лишних интов в проекте только для запуска клапанов.
Из преимуществ - всегда актуальное значение в прерывании, но для согласований работы с прерываниями есть и другие пути.
На мой взгляд, решение не однозначное.
Обычно когда покупают еплан, то покупают и обучающие курсы. Базовый курс на електрик раньше неделю шёл. В интернете с этим похуже. На рутрекере когда то валялась книжка Бернд Гишель оффициальный еплановский автор, можешь попробовать поискать, хз правда насколько они держат актуальность с современными версиями с типа обучением, но она откровенно слабая была. На ютубе временами например https://www.youtube.com/playlist?list=PLFq3W5lXqewKaODJ1dnXFqH8aoKhiCXc1 можно найти ответы для решения конкретных проблем, но надо знать что спрашивать. Чего то похоже прямо на step-by-step обучения мало.
Из того что надо понимать, то что рисование схем это не совсем верное определение. Скорее ты заполняешь некую базу данных разной информацией, часть из которой задается относительным расположением объектов на схеме. С таким пониманием тебе гораздо проще будет потом работать с отчетами, фильтрами, и т.п..
Из начальных советов - настрой рабочее место. Имхо черная схема лучше других (настройки-пользователь-графическая обработка-2D), хотя тут выбор твой. И вытащи основные навигаторы, чтобы они постоянно были на экране. Я лично работаю с 2 мониторами (см. пик), но можно организовать и в одном. Из тех навигаторов, что надо постоянно это страницы, устройства, кабели, клеммники, пространство листа и навигатор трехмерных поверхностей (когда работаешь с 3д чертежами).
Будут вопросы - задавай.
P.S. Какую версию (скорее всего 2.9, если это сейчас произошло) и какие модули тебе купили? Доступ в Data Portal есть?
>Для чего это может быть полезно? Когда будем дебажить, все-равно будем искать источник команды через "go to location" а не вспоминая в каким месте поднимается 5 бит на 87 клапане.
Лол. На каждый бит пишешь комментарий, потом по числу на входе сразу видно, кто без очереди пытается клапан открыть.
С твоим же решением придётся прыгать между всеми источниками команд и проверять кто себя плохо ведёт.
>Утрирую, но что если какому-то клапану понадобится запуск из 17 мест? Меняем в реализации int на dint? А для 33 активации?
А заранее прикинуть и заложить с запасом нельзя?
>Это конечно ерунда, но занимаем 100 лишних интов в проекте только для запуска клапанов.
21 век на дворе, можем себе позволить.
>Из преимуществ - всегда актуальное значение в прерывании, но для согласований работы с прерываниями есть и другие пути.
Рассказывай/показывай, интересно же.
>Будут вопросы - задавай.
Ну первый вопрос, допустим у меня есть два устройства с езернетом.
Как их соединить? Есть где-то список шин, которые можно подключить к выводу или как это вообще работает?
>скорее всего 2.9
Да
>Доступ в Data Portal есть?
Да, там epulse еще
>и какие модули тебе купили?
Хз, в справке куча всяких.
Eplan pro panel называется
>Ну первый вопрос, допустим у меня есть два устройства с езернетом.
>Как их соединить? Есть где-то список шин, которые можно подключить к выводу
Ты можешь соединить их как любые другие соединения (расположение рядом, уголки, точки разрыва вот это всё).
Другой вопрос как в твоём устройстве (сам ты его делаешь или взял готовый макрос) сделан этот вывод.
1. Если у тебя обычный черный ящик, у которого обычный вывод устройства (открываешь свойства вывода, вкладка данные символа, смотришь определение), то собственно от любых других выводов черного ящика кроме названия он не отличается. Т.е. разницы между подключением Ethernet или 220В там не будет.
2. Если это не черный ящик, а ПЛК, то там есть тип выводов, которые называются "выводами шины". К ним привязаны некоторые свойства ПЛК, вроде типа шины, адреса, и т.п. Но на самом деле это почти нигде не используется, да и большая часть макросов от производителей сделана без этого. По большей части это надо кореектно делать, если ты планируешь передавать сформированные данные из еплана дальше в среду программирования. Так что на начальном этапе с этим заморачиваться точно не стоит.
>как это вообще работает
У каждого элемента есть логика, которая закрепляет за ним определенный набор функций. Что касается выводов, то можешь считать, что там нет ограничений что цеплять на самом деле там конечно могут при определенных обстоятельствах посыпаться предупреждения при проверке проекта, но это можно игнорировать, и точно не надо забивать голову сейчас.
>Хз, в справке куча всяких.
Справка - информация - объем лицензии. Я просто почему спрашиваю. Во-первых понимать с чем ты работаешь. Во-вторых мне хотелось бы раздобыть часть установочников для 2.9 на которые у меня нет лицензии, и которые не особо валяются в интернете.
>Ты можешь соединить их как любые другие соединения (расположение рядом, уголки, точки разрыва вот это всё).
Не соединяет (пикрел). Вывод создается макросом (выбираю изделия-плк-нужный мне модуль-рисую его, затем автоматически предлагает добавить вывод шины)
>Но на самом деле это почти нигде не используется
Чё за бред? Езернет дохуя где используется и чуть ли не главная хуйня, на которой построены все сети, профинет там и тд.
>Справка - информация - объем лицензии.
Пикрелы.
>Во-вторых мне хотелось бы раздобыть часть установочников
У меня нет установочников, мне просто дали RDP, по которому я конекчусь и там рисую свою хуйню.
>
>Не соединяет (пикрел)
Не к той стороне цеплять пытаешься. Переверни символ, сменив вариант в данных символа/функции.
>Чё за бред? Езернет дохуя где используется
Я не про ethernet, я про функционал еплана касательно шин.
>У меня нет установочников, мне просто дали RDP, по которому я конекчусь и там рисую свою хуйню.
Ясно. Впрочем того что я хочу все равно нет.
>Не к той стороне цеплять пытаешься.
Ебаный рот этого казино.
>я про функционал еплана касательно шин.
Ну так на схеме надо показать что и куда подключается то.
>Ну так на схеме надо показать что и куда подключается то.
Сами соедиения понятно. Но необязательно конкретно в свойствах плк прописывать что это ethernet, что здесь IP адрес такой то, и т.п.
А промежуточных решений никаких нет? Хотя бы из серии умного дома.
>>291235
Что, даже фирмы уровня соноффа и сяоми?
>>291250
>>291234
>>291453
Это будет очень колхозное решение, колхоз НЕ хочется, хочется готовую железку за 0.5-1.5к рублей, желательно у нас, а не с Алиэкспресса.
Вроде
https://market.yandex.ru/product--umnaia-rozetka-hiper-iot-p01-belyi-v-moskve/583193002?text=умная розетка&sku=583193002
только без всяких вайфаев, умных приложений и облаков.
Ей всего-то и надо что делать вкл-выкл по команде. Выше, кстати, ругали железки с алиэкспресса.
>>291235
Вочдог не поднять, доступа к прошивке/железу нет.
>Рассказывай/показывай, интересно же.
Если речь идет про способ "управления" с пика >>291473 , то на вскидку два варианта:
1. Заводим еще один бит, по которому будет запускаться пид в прерывании.
Ставим этот бит вместо Q0.0 с пика.
Недостатки:
- "разорванная" реализация пида (часть кода лежит в прерывании, часть(отвечающая за формирование управляющего бита) в основном цикле)
- появляется второй бит на запуск
- неочевидность кода.Необходимость допиливать кусок кода для каждого нового пида
2. Заводим счетчик циклов, который лежит в основном цикле(OB1). В реализации пида(экземпляр которой лежит в прерывании) смотрим на счетчик и сбрасываем управляющий бит в нужный момент.
Недостатки:
- счетчик в OB1
- выключаться пид будет с небольшой задержкой(задержка в пару основных циклов)
Есть еще идеи?
Если для фирмы, то неужели зажопите 8к на нетпинг. Там вебморда и хоть по таймеру выключай, хоть сам ручками.
>>292782
Интересно это всё, конечно. Но я не совсем понимаю весь этот дроч на циклы в пид-регуляторе. Когда программа крутится с циклом 100мс- какая мне разница, отработает регулятор через цикл или через два.
По собственному опыту такое понадобилось однажды- в цехе отгрузки 40+ конвейеров и они по цепочке друг друга тормозят от конечного к начальному в случае чего- вот там пригодилось блокировку собирать в отдельном цикле на 25мс (основной цикл ~500мс, и это был не сименс), а то каждая секунда задержки- ~60кг продукта на пол.
https://silines.ru/ethernet/
Держи. Ардуино, заботливо собранное за тебя.
Не спрашивайте откуда я об этом знаю и как я это нашел.
Полная херня ИМХО, но вангую, что встретят с огромным восторгом и возможно покатают по конференциям, если что-то более-менее вменяемое набросаешь.
Сейчас педаллируется повесточка, что люди не нужны и вымирающая форма эволюции, индустрии 6.0, интернеты вещей и проч., т.ч. ты заедешь со своей темой под эту дуду, как родной.
https://plc4me.com/download-s5-s7-for-windows-plc-siemens-software-real-100/
Хорошо, пасиба за ответ, я ещё думал о том, чтобы просто расписать какую нибудь систему диагностики на предприятии с применением плк, потому как именно о всецелой системе мониторинга нигде не встречал диссера, но чёт мне кажется это ещё хуже материал будет
Там на самом деле не "люди не нужны", а "Пидорашки не хотят размножаться и учиться Милорд", "Трудовые резервы скудеют Милорд", "Пролетариат не желает работать за 17 тысяч Милорд" и всё прочее в этом духе. Собственно паста про 100млн жителей для обслуги вывоза ископаемых из этой недостраны на самом деле никакая не паста.
Попробуй погуглить инфу про Palantir Foundry. Они как раз пилят нечто похожее на Адьютанта из СтарКрафта для наблюдения и анализа всех процессов на производстве
>Пидорашки не хотят размножаться
Лол, одна из самых обсуждаемых тем в Европке, как ни как. Все верно, анон. Общественность негодует.
Что это? Я сначала по названию подумал, что это автоконвертатор проектов из S5 в S7, но судя по описанию это просто хуево выглядящий step. Нахуй оно нужно?
>диагностика электрических машин с помощью нейросетевых технологий"
Это когда нейроорганизм типа Петрович с утра получает пиздюлину в нейрокогнитивный свой орган и идёт проверять сопротивление изоляции?
смотри сюда:
есть вибромониторинг, когда датчик постоянно показывает средний по больнице уровень вибрации
есть виброобследование, когда дядя приезжает с хитрыми датчиками, снимает ими показания, пишет отчет и уезжает. Иногда, получается вычислить поломку до того как это обнаружит вибромониторинг. У меня был случай, когда дядя в отчете написал, что 1 шарик в подшипнике бракованный. Мы вынули шарики, один оказался с недобором по весу в 2 раза, его распилили, а он с пустотой внутри. Подшипник SKF, если что.
predict - это вибромониторинг средствами виброобследования, только вместо дяди - ИИ
Алгоритм шурует по рельсам, в то время как нейросеть можно научить отличать радиус от ануса.
>в то время как нейросеть можно научить отличать радиус от ануса
Ну понятно. Рельсы перекладывать СЛОЖНА.
Я установил. Штука забавная - полноценная альтернатива симатику, только не такая тормознутая и навигация по проекту удобнее, как мне показалось.
Писать на ней программу с нуля я бы не рискнул, но что-то открыть по-быстрому удобно.
Сама панель умеет создавать такие окна для алармов.
LPW 36
LDW 6
SLW1 сдвиг влево = умножить на 2
>=F сравнение
S-#Endsig.
Гипотетически я понимаю, что мы здесь должны 2 числа сравнить и исходя из результата установить или нет -#Endsig. Проблема в том, что по моему разумению они оба пишутся в ACCUM1, то есть второе число перезаписывает первое.
PLC Siemens S5-95U
Тогда попробуй тут посмотреть.
https://support.industry.siemens.com/cs/document/106226404/toolbox-for-hmi-projects?dti=0&lc=en-DE
>Проблема в том, что по моему разумению они оба пишутся в ACCUM1
Контент ACCU1 смещается в ACCU2, когда ты в него делаешь новую загрузку.
Понял, спасибо.
Хуясе, Ванга в треде.
У турбогенераторов в основном - гидравлические подшипники
Редуктор угольного конвейера, но ГРЭС тоже встанет, если он наебнется.
Я как раз работаю в направлении применения ИИ в паре АСУ ТП. Например, научился зашивать ИИ в ПЛК B&R. Технически сложного особо ничего нет. Задавайте свои ответы
> Для чего оно может быть надо?
Уголь для сжигания в топке котла ТЭЦ мелется в шаровых мельницах. Это такая йоба-бочка, куда загружают металлические шары и непрерывно поступает уголь, на выходе угольная пыль выдувается в бункер или в топку котла. Периодически прибегает "главный мельник" и рвет волосы на жопе: Вах-вах, угольной пыли нэт, совсем нэт, да. Этот блядский ублюдок опять проебал догрузку шаров в мельницу вместо стертых. Он боится, что много загрузит и мельница встанет превышению тока на двигатель. Покажите прибор для измерения уровня, веса, объема шаров в мельнице? Вместо него - ПЛК c ИИ, анализирующим параметры из АСУ ТП, на ЧМИ выдает вес шаров, необходимых для догрузки
ИИ - условное понятие. Способов сделать ИИ много: машинное обучение, модель на основе системы уравнений с коэффициентами (как PID с 3-мя коэффициентами, только коэффициентов может быть 100), модель на основе симуляторов физических процессов. Нейросеть в связке с АСУ ТП практически не применяется, если только машинное зрение.
перекот для слабаков
Че тут непонятного? ИИ - красиво, модно, молодежно.
как быть, докидывать ещё интерфейс
, если данные забирать наружу нужно не часто, то можно и в наглую попробовать забрать (если контроллер позволяет), поколизится сетка пару секунд и дальше работать будет
Ну, для начала, смотря какой у тебя модбас: ТСР или RTU.
В первом случае допускается больше одного мастера, во втором да и впервом, тащем-та, тоже будет правильнее забирать с OPC-сервера первого мастера.
Я так понимаю речь про modbus rtu? Вообще он не приспособлен под мультимастера, т.к. там нет разграничения контроля над сетью. В том же профибасе там мастера могут по таймингам разойтись и занимать сеть по очереди.
А второму обязательно быть мастером? Пусть 1й собирает данные и перекладывает во 2го, выступающего ещё одним слейвом. По другому только шлюзы ставить, и разделять интерфейсы в любой удобной тебе конфигурации.
И какой же там ИИ должен быть для решения данной проблемы? Я думаю это можно решить обычной математикой и статистикой.
> обычной математикой и статистикой
пытались неоднократно. Слишком разный уголь (влажность и проч.), перепад давления. Существует порядка 60 теорий размола в шаровых мельницах, проверили 10 и плюнули, не подтверждаются. Для машинного обучения надо собрать посекундные данные за год, с этого начали, через полгода начали потихоньку обучать, уже получается точность 5%, что неплохо.
https://www.cmo.ru/upload/iblock/7e6/9b097d8e_d2ef_11e4_a03f_0050569e592c_ab75dbbe_2e23_11e6_ab34_0050569e592c.pdf
Что ты как маленький?
Не думаю, что найдёшь. Или придётся самому или через производителя.
Берёшь трубу у начальника и говоришь, что надо запытать производителя шкафа на предмет получения 3Д модели.
Звонишь и с вероятностью 70% получаешь модель, пусть и спустя некоторое время. Только не заикайся вов ремя разговора.
Профит.
Бля, вот почему иностранные производители промышленного оборудования почти всегда предоставляют модели на своем сайте, а наши хуй. Неужели так сложно нанять студентика чтоб нарисовал их говно в солиде.
Зачем кого-то нанимать, если модель у них УЖЕ есть, на твоём же чертеже видно. По ней и ведётся производство. Сейчас на большинстве предприятия ЧПУ листогибы, прессы и прочее дерьмо.
Или ты думал, что по цехам носятся Васяны с линейками и шлейфмашинками?
Вот так и живём. Персонал - некомпетентные долбоёбы, начальство - некомпетентные долбоёбы, АСУшники - слабохарактерные омеганы. Казалось бы - пидорните мельника уебана, наймите грамотного. Нет, мы лучше напряжем омеганов чтобы они сделали нам заебись, хуле они там такие умные епта.
>Ты хоть представляешь, как выглядит в конце смены мельник 10 угольных мельниц? На эту работу очень сложно найти даже узбека
Нормальная работа. Если тебе это очень тяжело кажется добро пожаловать отбивщиком в цех первичной обработки литья черных металлов.
По сути вы пытаетесь заменить мозг сотрудника компьютерным мозгом, не лишая сотрудника зарплаты, которую он собственно своим мозгом и должен зарабатывать. Это удобно. Кабанчики за счет вас неплохо устроятся как при советской власти.
>У нас выдали мелкашку начальноку смены. Закончилось не очень хорошо. Однажды ночью он подстрелил сменного электрика. Не насмерть
Там тоже была идея с пневматом. Хорошо не дошло до реализации.
техничкой
Странно поставлен вопрос. В целом да, можно. Если у тебя 3d модель шкафа, то на обзоре модели размеры могут даже автоматом проставляться, и их даже вполне хватит для монтажа. На 2d изображениях руками можно самому проставлять размеры. Но если у тебя там какие то сложные механические работы надо, а чертеж хочется чтобы было похоже на ГОСТ, то тогда проще наверное сделать чертеж во внешнем редакторе.
Как вообще чертить? Куда нажимать? Что значит проставлять размеры руками?
Вот например мне надо прямоугольник 300х200 мм нарисовать (стальной лист), там можно сделать чтобы как в каком-нибудь Splan - задал размер листа в миллиметрах и по линейке нарисовал прямоугольник нужных размеров?
Ну делаешь новый лист типа "графика" (хотя это не обязательно), в свойствах ему ставишь нужный масштаб. Вставляешь прямоугольник (вставить-графика-прямоугольник, хотя лучше вытащи графическую панель), тыкаешь первую точку, потом следую контекстным подсказкам, руками вводишь 200 пробел 300 (либо в свойствах прямоугольника потом меняешь).
ИИ это всего-лишь маркетинговое название.
По сути все что сейчас делается это обычная математика с "авто подбором" коэффициентов.
мимоанон
Нет, ии это когда наебнулся датчик, и плк сам перепишет в себе алгоритм, чтобы работать без этого датчика, пока не поменяют.
есть ПЛК, в который можно на С/С++. B&R в частности. Берешь пакет ИИ с исходниками на на С/С++ и впендюриваешь его в ПЛК, попутно затачивая под свою задачу.
Касательно задачи добавления мелющих шаров в мельницу. Задача сводится к решению системы из примерно 100 дифференциальных уравнений. Эту систему решили на видеокарте для майнинга, на выходе получился многомерный массив. Этот массив грузанули в ПЛК и сделали программный поиск количества необходимых шаров в зависимости от текущих условий.
А не знаешь случайно в чем прикол использование ИИ именно на плк для анализа и мониторинга данных на предприятии (просто много раз видел, что это одна из основных сфер использования) ? типа я к тому, что разве условные компьютеры какие нибудь с этим бы не лучше справились ?
Сейчас разница в производительности между ПЛК и ПК практически стерлись. Разница в том, что ПЛК в целом надежней ПК
Мимо, майнил криптовалюту на ПЛК в 2018
Есть и большие системы, которые подсказывают оператору, что делать в рамках целой производственной цепочки или цеха. Там уже это всё может крутиться на сервере, в том числе и в облаке.
А если шары в мельнице считать может сам плк- то зачем ещё одно звено, ещё и не самое надежное.
Все выяснилось, пытался подключать с неподходящим номиналом резистора.
>>296076
Каким образом эти ваши шлюзы и интерфейсы должны работать? Выступать слейвом для моего мастера, принимая данные, и при этом мастером в другой сети для кого-то другого?
>>296157
Разве в TCP может быть мультимастер?
>да и впервом, тащем-та, тоже будет правильнее забирать с OPC-сервера первого мастера.
Не понял если честно, я до такого еще не дорос...
>Разве в TCP может быть мультимастер?
Осуждается, но дозволяется.
Второй анон советует тебе сделать звезду на шине. Мне это решение не очень нравится, хотя оно самое простое, но при этом самое опасное есть шанс Х засрать сеть и остаться вообще без связи со слейвами, а первый примерно то же, что и я.
>Выступать слейвом для моего мастера, принимая данные, и при этом мастером в другой сети для кого-то другого?
Да.
>Не понял если честно, я до такого еще не дорос...
Ну кто у тебя является этими двумя мастерами?
Самый простой пример - это 2 ПК со SCADA-системами. Опрос у них идет с помощью унифицированного серверного приложения на базе технологии OPC.
Бест практис - это когда первый ПК у тебя опрашивает с помощью этого OPC-сервера твою последовательную шину, а второй ПК обращается к OPC-серверу первого ПК.
Т.о., второй мастер на прямую не взаимодействует с шиной и требование "один мастер на шину" сохраняется. При этом он может получать/передавать информацию от/через первого с минимальной задержкой.
Ну и на OPC-сервер первого ПК можно подписать больше чем 1 машину, в зависимости от возможностей используемого софта.
Это копия, сохраненная 7 июня 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.