1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

программирование контроллеров Siemens

ПЛК SIMATIC (S7-200, S7-1200, S7-300, S7-400, S7-1500, ET200)
Ответить

Автор темы
DiabloXan
здесь недавно
здесь недавно
Сообщения: 4
Зарегистрирован: 20 апр 2016, 16:53
Имя: Шарафутдинв Альбер Илнурович
Страна: Россия
город/регион: Санкт-Петербург

программирование контроллеров Siemens

Сообщение DiabloXan »

Добрый день коллеги!
Мне 27 лет-удалось поработать с такими платформами как Siemens (step7, wincc, tiaportal) Allen Breadley (RsLogix5000, Factory Talk View, Studio5000), GEFanuc (Proficy machine Edition v8.5), Trace Mode, UnityPro, Zelio Logix - но все эти знания считаю поверхностными - ни по одной платформе не считаю себя продвинутым программистом, что меня дико расстраивает - выполнял легкие и средней сложности проекты - и после недавних событий (Планирую увольняться с нынешней конторы) и после прочтения этой статьи особо остро задумался как же все таки лучше - знать все и понемногу или быть хорошим толковым специалистом в чем то одном.
Например я со многими программными продуктами сталкивался и конечно же пишу это в свое резюме - но мне кажется что при собеседовании в какой-либо конторе меня если попросят что-либо написать или решить прям там на стенде (а в солидных конторах именно так и делают - мол умеешь - докажи) я вряд ли что то напишу толковое...ну это так лирика...
dimonsms - я сам сейчас работаю в конторе - в горнорудном департаменте в СПб - тут уклон на подземную АСУ - нам такие нужны с таким стажем сейчас с подземкой мало кто работает и спецов днем с огнем не сыщешь))Можете написать в личку если интересно!!!
Проделав 5 проектов понял что самому писать логику работы средне-сложных объектов это садизм - и после последнего проекта решил обзаводиться потихоньку личной (по возможности чье-то) библиотекой готовых блоков - ибо работал 2 года в обслуживании и там был PCS7 с готовой библиотекой блоков CFC от Siemens - абалденная штука я Вам скажу-не нужно быть программистом вообще) Ибо вскрыть библиотеку Сименса мне не удалось (да и каша из STL там все равно внутри) я решил лучше самому свою библиотеку написать и плодить ее на всех объектах и на любых платформах!
Поэтому - CHANt прошу тоже поделиться исходными кодами на степ 7 и TIA - было бы очень полезно посмотреть чужие работы да и почерпнуть для себя чего интересного - в свою очередь тоже могу поделиться одним своим проектом на TIAv12 для панельки TP1900 comfort - кину в личку почту
Всем спасибо)!
Аватара пользователя

arist
здесь недавно
здесь недавно
Сообщения: 19
Зарегистрирован: 18 апр 2016, 16:59
Имя: Артем Александрович Походун
Страна: Россия
город/регион: Москва

программирование контроллеров Siemens

Сообщение arist »

Хорошая идея с библиотекой готовых блоков, но мне кажется лучше ее не в личке, а где-то в общем доступе сделать, чтобы все могли пользоваться и обновлять
Аватара пользователя

CHANt
эксперт
эксперт
Сообщения: 1465
Зарегистрирован: 25 июл 2008, 10:25
Имя: Эдуард Владимирович
Страна: СССР
город/регион: Оренбург
Благодарил (а): 45 раз
Поблагодарили: 104 раза

программирование контроллеров Siemens

Сообщение CHANt »

Для начала скачайте библиотеку OSCAT с немецкого http://www.oscat.de
Там есть и под Кодесис, и под Степ7
DiabloXan, вечером подумаю над сборкой сопроводительной доки. Одна программа бессмысленна, это всего лишь малопонятный код.
Как-то давно помогал одному коллеге писать универсальный алгоритм управления насосом, варианты разные человек пытался сделать, в конечном итоге получили монстра, и уперлись в ограничения 16 кб на блок у сименса. На мой взгляд, надо не библиотеку программную, а библиотеку алгоритмов, подправил под текущие схемы эл. соединений - кодировал и все)))
--------------------------------------------------------------------------------------------

Автор темы
DiabloXan
здесь недавно
здесь недавно
Сообщения: 4
Зарегистрирован: 20 апр 2016, 16:53
Имя: Шарафутдинв Альбер Илнурович
Страна: Россия
город/регион: Санкт-Петербург

программирование контроллеров Siemens

Сообщение DiabloXan »

1) Уважаемые админы - не хотел создавать новую тему - не знаю как так получилось вроде нажимал написать ответ - могли бы перенести все сообщения это темы в продолжение темы - viewtopic.php?f=152&t=7261
2) arist - выложить для пользования можно конечно конечный вариант, но вот давать всем для обновления не очень хороша идея ибо выйдет полная каша
3)CHANt - На мой взгляд, надо не библиотеку программную, а библиотеку алгоритмов, подправил под текущие схемы эл. соединений - кодировал и все))) - полностью согласен - но в таком случае необходимо понимать какие бывают варианты использования к примеру того же насоса в разных отраслях производства (бываю очень отличные алгоритмы) - так как нужно создать что-то единое, общее для всех отраслей ну или хотя бы той в которой ты (я) работаю...а пусконаладчики бывают работают в разных областях в том и сложность - например те же библиотеки в PCS7 они имеют свои направления - например библиотека под PC7 - CEMAT - библиотека для цементной и смежных областей - и там все блоки под эту отрасль заточены - и использовать их скажем в энергетике будет либо невозможно либо некорректно...а надо то поидее всего 3 универсальных блока: 1)Двигатель 2)Клапан 3)Шибер - которые в разы облегчат труд любого программиста на объекте либо инженера в эксплуатации
Аватара пользователя

Jackson
администратор
администратор
Сообщения: 17552
Зарегистрирован: 17 июн 2008, 16:01
Имя: Евгений свет Брониславович
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 818 раз
Поблагодарили: 1647 раз

программирование контроллеров Siemens

Сообщение Jackson »

DiabloXan писал(а): Уважаемые админы - не хотел создавать новую тему - не знаю как так получилось вроде нажимал написать ответ - могли бы перенести все сообщения это темы в продолжение темы - viewtopic.php?f=152&t=7261
Пока не понял зачем - я оттуда её и вынес специально. Новый вопрос - новая тема.
По вопросам работы Форума можно обратиться по этим контактам.
Аватара пользователя

megavolt86
эксперт
эксперт
Сообщения: 1172
Зарегистрирован: 14 ноя 2013, 20:35
Имя: Анатолий Сергеевич
Страна: Россия
город/регион: Башкортостан
Благодарил (а): 13 раз
Поблагодарили: 68 раз

программирование контроллеров Siemens

Сообщение megavolt86 »

DiabloXan писал(а): прошу тоже поделиться исходными кодами на степ 7 и TIA
Было бы тоже интересно на одним глазком посмотреть)))
У меня всего только три проекта на Сименсе, своей библиотекой не обзавелся, ни один проект не был похож на предыдущие, а так бы поделился
:ext_secret:

Михайло
почётный участник форума
почётный участник форума
Сообщения: 3574
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
город/регион: г. Чехов, МО
Благодарил (а): 6 раз
Поблагодарили: 270 раз

программирование контроллеров Siemens

Сообщение Михайло »

Мне кажется, Вам не библиотека нужна, а умение составлять алгоритмы. Можете написать код так, чтобы он почти сразу заработал?
Аватара пользователя

CHANt
эксперт
эксперт
Сообщения: 1465
Зарегистрирован: 25 июл 2008, 10:25
Имя: Эдуард Владимирович
Страна: СССР
город/регион: Оренбург
Благодарил (а): 45 раз
Поблагодарили: 104 раза

программирование контроллеров Siemens

Сообщение CHANt »

Поддерживаю Михаила! megavolt86, приложите пример того как Вы алгоритмы документируете, и часть (схему) технологического процесса для этого примера.
--------------------------------------------------------------------------------------------
Аватара пользователя

Jackson
администратор
администратор
Сообщения: 17552
Зарегистрирован: 17 июн 2008, 16:01
Имя: Евгений свет Брониславович
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 818 раз
Поблагодарили: 1647 раз

программирование контроллеров Siemens

Сообщение Jackson »

Михайло писал(а): Мне кажется, Вам не библиотека нужна, а умение составлять алгоритмы.
А это понимание нигде не скачать. :)
По вопросам работы Форума можно обратиться по этим контактам.
Аватара пользователя

megavolt86
эксперт
эксперт
Сообщения: 1172
Зарегистрирован: 14 ноя 2013, 20:35
Имя: Анатолий Сергеевич
Страна: Россия
город/регион: Башкортостан
Благодарил (а): 13 раз
Поблагодарили: 68 раз

программирование контроллеров Siemens

Сообщение megavolt86 »

CHANt писал(а):Поддерживаю Михаила! megavolt86, приложите пример того как Вы алгоритмы документируете, и часть (схему) технологического процесса для этого примера.
Программатор пока мой не под рукой, но могу скинутьпроекты свои в понедельник (чтобы спецы ужаснулись))).
С Сименсом пока тренируюсь можно сказать, опробываю разные приемы...первые проекты составлялись исключительно из фб(по аналогии с Шнейдером) и сейчас появилось ощущение что можно сделать проще и красивее при помощи фц и общего дб, но уже не дают править проект... раз работает то незачем шевелить.
..все приходит с опытом...
З.ы.: Как говорит мой шеф, 20% кода пишется в кабинете а остальное на объекте. В этом убедился буквально неделю назад, когда вся красота была перелопачена и получилась дичь, но работает! :crazy0to:
Кстати кто какой язык больше предпочитает? Я в разработке больше ориентируюсь на LAD, чтобы легче было отлаживать, да и эксплуатанционщикам легче будет разобраться в программе, если вдруг произошел затык..
:ext_secret:
Аватара пользователя

CHANt
эксперт
эксперт
Сообщения: 1465
Зарегистрирован: 25 июл 2008, 10:25
Имя: Эдуард Владимирович
Страна: СССР
город/регион: Оренбург
Благодарил (а): 45 раз
Поблагодарили: 104 раза

программирование контроллеров Siemens

Сообщение CHANt »

megavolt86 писал(а): Программатор пока мой не под рукой, но могу скинутьпроекты свои в понедельник (чтобы спецы ужаснулись))).
Не-а, ничего скидывать не надо. Никто и не просит. Предложил показать какой нибудь простейший алгоритм реализованный Вами. Пускай это будут скриншоты из программы, раз уж не документируете.
megavolt86 писал(а): Как говорит мой шеф, 20% кода пишется в кабинете а остальное на объекте. В этом убедился буквально неделю назад, когда вся красота была перелопачена и получилась дичь, но работает!
Пип..ц! И зарплату с командировочными платят? 20% это много.
megavolt86 писал(а): Кстати кто какой язык больше предпочитает?
Смотря для чего. Прикольно посмотреть на перебор несложного двухмерного массива на LAD
megavolt86 писал(а): Было бы тоже интересно на одним глазком посмотреть)))
В порядке очереди.
--------------------------------------------------------------------------------------------
Аватара пользователя

den_vish
освоился
освоился
Сообщения: 233
Зарегистрирован: 11 апр 2013, 13:22
Имя: Вишневский Денис
Благодарил (а): 11 раз
Поблагодарили: 13 раз

программирование контроллеров Siemens

Сообщение den_vish »

megavolt86 писал(а): Кстати кто какой язык больше предпочитает? Я в разработке больше ориентируюсь на LAD, чтобы легче было отлаживать, да и эксплуатанционщикам легче будет разобраться в программе, если вдруг произошел затык..
STL + SCL, раньше ладом болел, но потом меня "ёжики" утомили))), да и при длительном пользовании им - STL очень нагляден.
"- Знаешь, дружище, в чем истинный смысл второго закона термодинамики?
Как ни упирайся, а бардака все больше. И чем серьезнее ты упираешься, тем страшнее неразбериха."(с)
Аватара пользователя

megavolt86
эксперт
эксперт
Сообщения: 1172
Зарегистрирован: 14 ноя 2013, 20:35
Имя: Анатолий Сергеевич
Страна: Россия
город/регион: Башкортостан
Благодарил (а): 13 раз
Поблагодарили: 68 раз

программирование контроллеров Siemens

Сообщение megavolt86 »

CHANt писал(а):
1. Предложил показать какой нибудь простейший алгоритм реализованный Вами. Пускай это будут скриншоты из программы, раз уж не документируете.
2. Пип..ц! И зарплату с командировочными платят? 20% это много.
3.Смотря для чего. Прикольно посмотреть на перебор несложного двухмерного массива на LAD
1. В силу того, что занимаюсь в основном созданием программ для небольших установок то чего-то сверхизящного не применяю))) Да и документированием алгоритмов не занимаемся, делаем для себя...
Сименсу только учусь, потому пробую, экспериментирую, чтобы выработать свой стиль программирования...
Первые пару программ для плк Сименса писал исключительно применяя ФБ, потому получалось как то громоздко, в последних двух проектах решил поэкспериментировать и решил создать общий ДБ и уже переменные из общего ДБ использовать в ФС.
Приложу немножко описания и скриншотов, предпоследнего проекта "замена СУ фильтр-пресса", написанного с нуля на коленке в сжатые сроки, потому изящных решений нет, все сделано только для того чтобы работало.)))
В общем ДБ для каждой операции создал структуру, содержащей только те тэги, которые необходимы для данного этапа.
структура.png
Выбор режимов управления установкой и выбор необходимой технологической операции был реализован при помощи выпадающего списка на панели оператора.
При выборе необходимого пунктас панели, например "Ручное управление" тэгу #HMI_mode присваивается значение 2, что приводит к присвоению тэгу #CMD_mode.manual значения "истина".
По такому же принципу происходит выбор требуемой технологической операции.
Выбор_режима.png
Дальше опишу работу функции завершения цикла отжима фильтр-пресса. Сигналы i0.0, i9.7, "0_процесс.stop" являются общими сигналами прекращения выполнения технологического процесса. Канал "0_процесс.CMD_stage.13_выгрузка" даёт разрешение на выполнение операции выгрузки кека. Этот тэг формируется при завершении предыдущей операции или при выборе с панели управления этапа "выгрузка".
При выполнении операции выгрузки сбрасывается значение прошедшего через фильтр-пресс объёма суспензии и промывочной жидкости.
По завершении выгрузки происходит запись в канал "0_процесс.HMI_stage" значения 1 и цикл фильтрования начнётся заново.
13_1.png
Перед началом выгрузки проверяется начальное условие: разрешение на выгрузку, отсутствие аварии и открытый поддон. Если начальное условие соблюдено и первая секция не открыта (концевой выключатель не сработал) то формируется команда на открытие секции №1. Гидропривод открытия первой секции будет работать либо до срабатыванияя концевика открытой первой секции либо до истечения максимального времени, за которое секция может открыться (70 сек.). Если по истечении этого времени секция не открылась то формируется сигнал аварии о том что секция не открыта.
13_2.png
В таком же виде организуются команды на открытие следующих трех секции, только с добавлением в логику сигналов концевиков открытия предыдущих секций
13_3.png
После того как все секции открыты формируется сигнал завершения выгрузки. И через требуемый промежуток времени между циклами фильтования система управления автоматически приступает к началу цикла.
13_4.png
Немного получилось громоздко потому что произошла оказия с переменными TEMP в ФС - в одном нетворке происходила запись переменной, а в следующем чтение этой же переменной не происходило - в течении двух дней пытался понять почему, но так и не понял и перенес необходимые переменные в общий ДБ и все заработало.
Теперь хотелось бы выслушать конструктивную критику по показанному куску программы)))

2. По командировкам не езжу, ибо тружусь на одном предприятии и подряды пока никуда не ожидаются.

3. Не везде же использую только LAD )))) Он нужен для понимания сотрудниками службы эксплуатации написанного алгоритма в основном - так сказать для наглядности.
:ext_secret:

Степа
осмотрелся
осмотрелся
Сообщения: 158
Зарегистрирован: 25 окт 2010, 10:30
Имя: Капуста Степан Степанович
Поблагодарили: 7 раз

программирование контроллеров Siemens

Сообщение Степа »

megavolt86 писал(а): Как говорит мой шеф, 20% кода пишется в кабинете а остальное на объекте.
Ребяты, да вас расстрелять мало. За такой-то подход. Минимум 80-90% кода должно быть написано в кабинете. Лучше, конечно, намного больше. Это гораздо приятнее и удобнее. Не говоря уж за то, что существенно безопаснее во всех смыслах.
megavolt86 писал(а): Кстати кто какой язык больше предпочитает?
Какой удобнее для решения конкретной задачи.
Если же рассчитывать на последующую работу с кодом обслуживающего персонала - лучше всего LAD.

Alex_asu
новенький
новенький
Сообщения: 1
Зарегистрирован: 27 мар 2018, 13:35
Имя: Александр
Страна: РФ
город/регион: СПб

программирование контроллеров Siemens

Сообщение Alex_asu »

Привет, DiabloXan!
Хотел уточнить удалось ли тебе идея с созданием библиотеки готовых решений/применений/блоков обработки данных и прочее для разных платформ ?
Ответить

Вернуться в «Simatic Step7»