10

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

Ох.... Ну и написали же тут. В целом, здрасьте. Я являюсь программистом АСУ и пишу код для этих ПЛК уже лет 6 так. В основе работают с Siemens.

И так.

1)ООП. Оно есть. Как так спросите вы? Да легко и просто. ООП - это объектно-ориентированное программирование. И мы тут и делаем что управляем объектами. У нас есть такие вещи как UDT(user data type) - что в целом и представляет собой структуру с параметрами объекта.

И мы такие умные пишем, что у нас есть какой нибудь var1, который является объектом типа UDT. Дальше мы инициализируем параметры этого объекта.

FC - она же функция. Ну тут и говорить нечего. обычная функция. с входными и выходными значениями. Служит для того для чего и служит. FB - является сборником этих функций и имеет свое место в памяти. Кстати. Можно также FC закидать в другой FC. Он у нас и обрабатывает логику и закидывает данные в нужный объект.

Можно ли ограничить видимость данных? Да, но... Скажем везде есть это НО.

Шо там дальше у нас... Наследование? А вот этот пункт я не разбирал. в CodeSys вроде есть подобные вещи.



2)Массивы и циклы.

Массивы - есть. Данные-хранят. Хочешь в энергозависимой памяти, хочешь в энергонезависимой памяти. Делаются, заполняются. Почему же массив не передается сразу всей кучей на визуализацию? А тут уже работают протоколы передачи данных. Но мы можем передавать массив из 8 элементов в 8 переменных.

Циклы есть и работают. Только стоит помнить о пороговых значениях.

Также есть циклические блоки, которые нам выдадут ответ не реже чем раз в столько-то миллисекунд. И есть один общий цикл( считай main). Единственное, так это надо следить за временем исполнения.

Есть и прерывания, правда они в основном сделаны для обработки ошибок. Иначе контролер уйдет в стоп. прерывания можешь обрабатывать, а можешь нет.

Вся суть ПЛК состоит в том, что мы получаем отклик за точное время. По большей степени это все конечные автоматы. И подход там немного другой, нежели в обычном ПО.

Так что если есть вопросы, спрашивайте. Если знаю - отвечу, если нет - буду узнавать)

1
Автор поста оценил этот комментарий
Вот чего не ожидал увидеть здесь - так это поста про АСУ. Ну, может поможете тогда.
Я студент. Учусь на автоматизации. Закончил первый курс. Соответственно, к контроллерам не притрагивался (негде). Программирование люблю. И, пожалуй, работе с оборудованием руками предпочел бы разработку ПО для ПЛК. Как вкатиться в данную среду максимально рано? Времени терять не хочется, да и интересно до жути.
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Ну руками работать все равно придется. Должно быть понимание как работает вся эта система с нижнего до верхнего уровня. Как бы так это сформулировать... Почитай про основные типы сигналов. Что есть дискрет, что есть аналог. Чтоб было понимание пассивного и активного сигнала. Если хочешь просто потыкать контролер, то поставь CodeSYS. Там есть симуляция и он бесплатный.

Подучи ассемблер и строение памяти - поверь пригодиться. Изучи стандарты передачи данных. В основном они асинхронны.

В основом для программирования в ПЛК используют ST/LD/FBD и что-то еще. Я работаю ST/LD. Ну а дальше все зависит от ПЛК и среды разработки.

показать ответы
0
Автор поста оценил этот комментарий
Страшно поздно нашел ваш пост. Скажите, пожалуйста, на сколько увеличилась ваша ЗП с начала момента работы(в любой удобной форме) ?
Есть ли развитие в этой области? (Не однотонная работа)
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
С начала момента моя зп в рублевом эквиваленте выросла в 4 раза. Развитие... Как сам захочешь. Скажу за себя, я нашел очень большой пласт для развития и ближайшие лет 5 точно есть куда рости. В целом я бы сказал, что начался рост.
0
Автор поста оценил этот комментарий

ООП, как минимум в Сименсе, и не пахнет. Нет ни наследования, ни полиморфизма - о каком ООП может идти речь?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

ок

1
Автор поста оценил этот комментарий

Хочешь честный совет? Если любишь и можешь программировать - уходи из АСУ. Зп тут ниже чем в веб/декстоп/геймдев, гемороя больше - командировки станут твоими постоянными друзьями, как и ранние подъемы, переработки и прочее.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Вот здесь надо исходить от регионов. Где-то в целом не нужны всякого рода юниоры на разных позициях. Их и так много, только толку мало. Командировки - это жопа. Тут не буду спорить. Рание подъемы и переработки... Понимаю о чем речь, но ушел от этого.

0
DELETED
Автор поста оценил этот комментарий

хахаха))))да

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Я думаю я ответил на твой вопрос)
0
DELETED
Автор поста оценил этот комментарий

@sudak91 ник знакомый, ты не из Комсы?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
А ты Паша?
показать ответы
0
Автор поста оценил этот комментарий

CodeSYS... Я бы поработал в нем почаще, но увы, приходится работать с тем что есть, а то что есть не дает возможности ни ООП (FC и FBD не берем в расчет), ни с масивами и циклами побаловаться, ни передать на панель оператора переменную без танца с бубном над адресом этой переменной. А про то что при компиляции все хорошо, ты такой ну збс, приезжаешь на объект, заливаешь.... А не заливаешь ибо 100500 ошибок, а при компиляции их нет... Хочу с сименсом поработать, но денег жалко(

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

а ты понимаешь как параметры передаются на панель? Что это в большей части своей Modbus RTU. И дальше ты просто все передаешь.

ООП, как на том же C# ты не реализуешь. Ну потому что Ассемблер не умеет в ООП. Есть надстройки, которые потом интерпритируются в машинный код.

ST обладает for, и он адекватно работает. Можешь постараться реализовать цикл на LD.

Компиляция проверяет правильно ли написан код. Какие-то части можно отладить на симуляторе, ну а на установке - это уже на установке. Там ты пытаешься подружить железо и логику.

Я понимаю, что очень многое зависит и от контролеров, и от софта, но вряд ли там что-то кардинально отличается.

показать ответы
1
Автор поста оценил этот комментарий
Если это не секретная информация, какая у вас локация?
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Я удалённо работаю) Фирма московская
показать ответы
1
Автор поста оценил этот комментарий
Про аналог и цифру стыдно не знать в современном мире. Знал и до вуза. Потом тоже рассказали. За кодесис спасибо, посмотрю.
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Когда меня брали на работу я всего этого не знал)

показать ответы

Темы

Политика

Теги

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

Сообщества

18+

Теги

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

Сообщества

Игры

Теги

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

Сообщества

Юмор

Теги

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

Сообщества

Отношения

Теги

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

Сообщества

Здоровье

Теги

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

Сообщества

Путешествия

Теги

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

Сообщества

Спорт

Теги

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

Сообщества

Хобби

Теги

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

Сообщества

Сервис

Теги

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

Сообщества

Природа

Теги

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

Сообщества

Бизнес

Теги

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

Сообщества

Транспорт

Теги

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

Сообщества

Общение

Теги

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

Сообщества

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

Теги

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

Сообщества

Наука

Теги

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

Сообщества

IT

Теги

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

Сообщества

Животные

Теги

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

Сообщества

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

Теги

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

Сообщества

Экономика

Теги

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

Сообщества

Кулинария

Теги

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

Сообщества

История

Теги

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

Сообщества

Недвижимость и ремонт

Теги

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

Сообщества