8

Программирование ПЛК. Ожидание/реальность1

/*ВВЕДЕНИЕ*/

Будучи в 5 классе, проснувшись 1 января я заметил в своей комнате заветный компуктер. О чем мог еще мечтать школьник? Поиграть в ГТА или NFS. Но, увы, компик то подъехал, а вот игры в комплекте не поставлялись, а интернет тем более. Так я и пролазил несколько месяцев по тотал командеру, командной строке и системным файлам. И задался вполне логичным вопросом: Как оно работает. Благо компьютерные клубы никто не отменял, там и  скачал пару книг по программированию на паскале и бейсике (о которых на данный момент ничего и не помню, ну кроме названия). Начался период взлетов и падений, когда или все понятно, или не понятно ничего. Ближе к 9 классу (а информатика началась именно в 9 классе) я уже мог написать простенькие программы на этих языках, поэтому на уроках спокойно играл в CSS или смотрел мемчики вконтакте. Пока кто-то не сказал про С++. Начались новые взлеты и падения. Началась эра парадигм и ООП. тут все было куда сложнее и даже после выпуска из школы я не мог сказать, что С++ стал мне как родной. А где как ни в универе прокачать свой скилл? Вот и поступил... На свою голову. Думаю стоит прояснить. Препод по английскому доказывал, что мужчины на английском будет "manS", препод по ОС, что у Windows монолитное ядро, а препод по метрологии отправлял к "ДИРЕКТОРУ" и "ВЫЗЫВАЛ РОДИТЕЛЕЙ". М-да, первый опорный юга России, что поделать. На 3 курсе нашу параллель разделили на 2 специальности - чистые программисты и программисты робототехники и мехатроники. Я попал во вторую. И О ЧУДО! Нас наконец начали С++. Да, не чистому, в WinForms, но это С++. И базы данных. И автоматизация. И искусственный интеллект. В общем желание кодить загорелось снова. Помимо универа я выучил еще несколько языков, попробовал себя в веб дизайне и геймдеве, но, увы, мои навыки оставляли желать лучшего. После 3 курса мне пришлось уйти в отставку (академ отпуск). И чтобы жить - нужны деньги, а значит нужна работа. Так я и попал в фирму, которая занимается автоматизацией. И тут началось...

/*ОСНОВНАЯ ЧАСТЬ*/

Скажу честно, с ПЛК до этого я работал мало, но работал, так что минимальное понимание было. Да и работал до этого я под присмотром препода на Mitsubisi, а тут неизвестный мне Schneider. "Ну ничего страшного" подумал я, "разберемся". Но увидев все вживую стало страшно. Что не так? А вот:

0. Для начала проясню, что в данной среде есть много "ЯП", на которых можно работать, но как истинный кодер я выбрал ST(Структурированный текст) и FBD(Functional Block Diagram). Почему объясню ниже.

1. ООП? Не, не слышал. Функции и те работают через одно место. Спасают функциональные блоки(далее ФБ), заменяющие функции. Работать с ФБ в ST крайне неудобно, поэтому прихдится делать следующее. Пишем код ФБ на ST и собираем все ФБ в одной большой программе. Удобно? Не особо, но мы знаем: работает - не трогай.

2. Массивы и циклы. Начнем с того, что вся жизнь ПЛК - это один бесконечный цикл, поэтому программа повторяться будет все время. Так же запрещены механизмы прерываний, коими и являются циклы. То есть в данной системе они как-бы должны отсутствовать, но они есть и работают крайне интересно. У данной среды предусмотрена многозадачность с разной скоростью реакции (100мс, 300 мс, 10000мс и тд). И при попытке использования циклов тот выполняется только в 1 случае: если на него есть время. Говорим циклам пока-пока. С массивами все положительно. Они работают, использовать можно, но... При попытке их передачи в панель оператора вторая может их просто не найти. Точнее в 99% случаев не найдет. Поэтому массивы только для выполнения кода, никак не для хранения данных.

3. Дебаг. Уже знаем про запрет прерываний, да? Так, а брейкпоинты это что такое? Да, точно, прерывания. Понять что с кодом не так разобрав его пошагово НЕВОЗМОЖНО! Удобно, правда?

/*ЗАКЛЮЧЕНИЕ*/

Данное детище было написано лишь на реактивной тяге моего сидалища. И обращаясь к знатокам, да, я не профи, я все еще джун и может не понимаю тонкостей данной среды, но если техподдержка не может ответить на мои вопросы думаю дело не только во мне. Поэтому приму любые советы/критику/оценки. В дальнейшем собираюсь рассказать процесс создания небольшого проектика в данной среде, если, конечно, будет интересно.

А на этом откланяюсь.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества