Как я СКАДу писал Хабрахабр. Введение. Данная история началась примерно год назад. Сам я по специальности автоматчик, занимаюсь разработкой и внедрением систем автоматического управления технологическими процессами АСУТП. В основном работа состоит в разработке прикладного программного обеспечения в специализированном ПО, так называемом SCADA пакете. Для тех, кто не знаком с понятием SCADA и с чем его едят подробно можно ознакомиться здесь. Достаточно долго проработал в компании отечественного разработчика подобной системы, начав с тестировщика, прошел через техподдержку, дорос до уровня руководителя отделом системной интеграции, выполнял разработку проектов автоматизации под ключ на базе ПО, которое разрабатывала компания. В процессе разработки проектов, очутившись в шкуре конечного пользователя продуктом, часто приходилось дорабатывать инструментарий под конкретные задачи напильником, потому как функционал или глючил, или не дотягивал до должного уровня. А все прения с разработкой и маркетингом по развитию продукта либо упирались в нежелание что либо делать со стороны разработки, либо все списывалось на то, что у меня руки кривые и я ничего не понимаю в колбасных обрезках. Долго так продолжаться не могло, и вот в один прекрасный момент наши пути с этой компанией разошлись, я ушел к одному из своих крупных заказчиков продолжать делать то, что делал им же на заказ, но уже в штате этого заказчика. В свободное от основной работы время я помогал людям и знакомым из этой сферы по их проектам в качестве факультатива. Function Block Diagram графический язык программирования стандарта. Бесплатный редакторсимулятор FBD middot Бесплатная система сквозного проектирования на языке FBD с симулятором сетей. В редакторе STL можно создавать программы, которые невозможно создать в редакторе LAD или FBD. Это объясняется тем, что,. Графический редактор SFC схем. Программный пакет редактор FBDпрограмм АЛЬФА предназначен для программирования функциональными блоками микропроцессорных. Редактор алгоритмов инструментальной системы SCADA поддерживает. FBD Functional Block Diagram язык функциональных блоков визуальный. Внешне редактор LD очень похож на редактор FBD, только вместо функциональных блоков пользователю предлагается использовать контакты и. CFC редактор. FBD редактор. Элементы и функц. Элементы и функц. Подробностям реализации графического редактора я также. Сама система поддерживает два языка программирования FBD и. В статье рассматривается новый редактор диаграмм функциональных блоков FBD, предназначенный для программирования. SetFBDGen.PNG' alt='Fbd Редактор' title='Fbd Редактор' />Благо за долгие годы работы в этой сфере у меня накопилось много хороших контактов, да и репутация моя как инженера хорошо окрепла. Иногда меня даже официально выкупали у компании на конкретные проекты как разработчика консультанта. Мои проекты и опыт работ в области АСУТП можно посмотреть здесь. Изначально занимался системами автоматизации для диспетчеризации инженерных систем зданий по Москве. Потом, с развитием интернет технологий, появилась возможность разрабатывать проекты для удаленных объектов в других городах. Заказчик подключал выделенный защищенный канал связи с объектом через интернет, что позволяло напрямую подключаться к объекту и вести наладку и доводку проекта прямо из дома. Продолжал работать на том же ПО, что и ранее, потому как наиболее подходящих альтернатив пока не наблюдалось, да и уже были очень хорошие наработки и опыт предыдущих разработок, который не хотелось просто так оставлять при переходе на новые системы. В процессе работы над проектами дорабатывал саму СКАДу своими собственными заплатками, которые позволяли подменять штатный функционал пакета в силу его неудовлетворительной работы или неспособности реализовать те или иные требования. Контрольные Работы По Алгебре 10 Класс Мордкович. За время такой доработки система стала походить уже на некоторое ядро, которое было обвешано внешними утилитами и сервисами как новогодняя елка игрушками. И вот, посмотрев на результат таких издевательств над пакетом, стала закрадываться крамольная мысль а собственно говоря, зачем нам кузнец Кроме того сильным стимулом стало еще то, что компания разработчик СКАДы так и продолжает свой путь накопления багов и глюков, выпуская все новые релизы, не занимаясь нормальны тестированием и проработкой архитектуры продукта. А так как я занимался некоторыми разработками в свободное время, мне стало сильно жаль убитого своего свободного времени на разборки по багам чужой системы, которые зачастую длились по полночи и так по несколько ночей подряд. Да и заказчики стали возмущаться за что такие деньги уплачены, то куча ошибок вылезает при пуско наладке по базовому функционалу, то этот самый функционал реально то не дотягивает до заявленного и надо что то стороннее подключать или разрабатывать, хотя маркетинговые напевы продажными менеджерами про мега мощь пакета для заказчика были напеты про совершенно обратное. В итоге перелив эмоций через край усадил меня за баранку пылесоса читай ПК, и я решил написать свою собственную СКАДу. Fbd Редактор СкачатьТак как это в первую очередь инструмент для себя, то и делать я его решил не как того требуют рекламные лозунги, а так как этот инструмент вижу я как разработчик проектов АСУТП. В качестве основной архитектуры системы была выбрана архитектура уже известного мне за долгие годы работы СКАДа пакета. Изобретением велосипеда я решил не заниматься, а уделить внимание его функционалу. Все было бы замечательно, если бы не одно НО изначально я не программист, а автоматчик. То, что писал свои собственные утилиты для пакета было что то вроде стороннего увлечения, хобби так сказать, ради которого начал изучение технологии. Net и языка программирования С. До того ничего подобного серьезного я не делал и многие мои познания в области программирования и некоторых технологий были на уровне где то слышал, или уже видел как это работает у кого то. Однако глаза боятся, а руки делают. Многие мои знакомые и сослуживцы, узнав про мою идею, реагировали на это как один вращая указательным пальцем у виска. Конечно, все бренды в этой области делаются командами разработчиков годами, и годами же вылизываются, чтобы хоть немного приблизиться к совершенству. Но, не смотря на такую реакцию, я все же начал выполнять задуманное. А тут еще и фраза Чингисхана где то услышанная стала просто моим девизом Если боишься не делай, а если делаешь не бойся. Взяв в руки клавиатуру, я засел за проектирование своей первой серьезной системы. Оглядев получившийся фронт работ, начал обкладываться книгами по программированию на С, а также ссылками на тематические форумы, где черпал всю необходимую информацию по принципам реализации тех или иных функций в пакете. Но об этом чуть ниже и по порядку. Архитектура. Перед началом работ для себя составил некоторую функциональную карту пакета, из каких основных элементов состоит и какие понадобятся знания каких технологий, чтобы эти элементы создать. Кроме базы в проекте присутствуют алгоритмы, с которыми также связаны переменные проекта. Эти алгоритмы создает разработчик проекта, они выполняют функции управления и мониторинга технологического объекта через базу переменных, которые связаны с самим объектом управления датчиками и исполнительными механизмами через подсистему вводавывода посредством аппаратуры контроллеры, платы вводавывода, устройства распределенного сбора данных и управления. Для того, чтобы оператору если таковой в системе подразумевается все это красочно и интуитивно понятно продемонстрировать, а также предоставить ему возможность управлять ходом технологического процесса предусматривается подсистема графического вводавывода, которая в виде мнемосхем отображает заранее разработанные экраны технологических элементов системы графические примитивы, изображения, индикаторы, тренды, наборы графических объектов, состоящих из штатных примитивов и разного рода элементов управления кнопки, ползунки, области реакции на клик мышкой и прочее. Так как система подразумевает функцию ведения истории по ходу технологического процесса параметры базы переменных обязательно должны иметь возможность сохраняться в некоторые архивы, чтобы их затем можно было поднимать на тренды или отчеты с целью анализа ситуаций технологами и оперативным персоналом. Также в эти же архивы должны сохраняться журналы по событиям в системе это некие текстовые сообщения с определенными категориями сообщение, предупреждение, авария, ошибка, действие оператора, метками времени возникновения, квитирования их оперативным персоналом и текстом, описывающим суть события. Всем этим должна будет заниматься подсистема архивирования данных и журналирования событий. Так как проект АСУТП зачастую представляет собой многоузловую систему, состоящую из нескольких операторских мест, серверных узлов, узлов контроллеров на нижнем уровне, шлюзовых машин, все это объединяется сетью по технологии Ethernet и требует оперативного взаимодействия в квази реальном режиме времени. Осуществлять такое взаимодействие должна подсистема сетевого обмена. Вот вкратце общая архитектура комплекса.