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

Программирование ПЛК прошу совета

Модератор: Глоб.модераторы

Ответить

Михайло
эксперт
эксперт
Сообщения: 3643
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
город/регион: г. Чехов, МО
Благодарил (а): 8 раз
Поблагодарили: 286 раз

Программирование ПЛК прошу совета

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

Romcheg писал(а): Аааа, видимо Вы не в курсе, что Сименс уже дааавно не делает свой Step7 сам? Они его у 3S заказывают (это те, которые CoDeSys делают).
Вряд ли. У Сименса работает 7 тысяч software engineers в штате Техас (США). И эргономика интерфейса, степень взаимодействия со сторонними продуктами разительно отличается. То, что Вы говорите, это нереально для 3S. Кто же Сименсу тогда разрабатывает софт для настройки электроприводов? А новый WinCC Professional???!!! Это же личный конек Сименса, с этим 3S не справится! А ведь продукты Step7 и упомянутые StartDrive, WinCC Professional однотипны и взаимосвязаны.
Сименс отдавал на аутсорс разработку Step7 Microwin, но это мелкий софт. Наверное на этом раздута Ваша фантазия. Либо что-то из разряда криминальных отношений с VIPA.
Аватара пользователя

Никита
почётный участник форума
почётный участник форума
Сообщения: 3971
Зарегистрирован: 20 янв 2010, 22:23
Имя: Никита
Страна: РФ
город/регион: Мурманск
Благодарил (а): 21 раз
Поблагодарили: 229 раз

Программирование ПЛК прошу совета

Сообщение Никита »

Ryzhij писал(а):
Никита писал(а): А если не сильно вникать в подробности, то на SFC его явно не разглядеть, там сама суть языка - даже не переходы, а зацикливание вызываемых подпрограмм с выходом по условию. А то и однократный CALL и дальше NOP с условным прыжком.
Коллега, ИМХО Вы несколько неудачно использовали слово "зацикливание".
Ничего подобного там не происходит.
Там, после выполнения условий перехода автомата из одного состояния в другое, происходит смена исполняемых задач ("вызываемых подпрограмм" в Вашей терминологии). Но без всякого "зацикливания". Просто неисполняемые в настоящее время участки кода обходятся.
Вячеслав, у меня мысли уже немного в других категориях витают. Я со стороны процессора смотрю. Да, ненужные участки могут обходиться (опять же, в конце концов, инструкциями условного перехода). Но системные задачи продолжают исполняться, а проверка условия перехода на следующий шаг продолжает выполняться. Нарисуйте по-русски эту схему, хотя бы на школьном уровне, пренебрегая прерываниями и наличием других задач - если условие, то - следующий шаг, иначе - [необязательный код] и возврат к проверке условия.
Вопрос то на в терминологии, а в том, что для того чтобы не повесить контроллер надо анализировать весь комплекс от алгоритмов до машинных инструкций. Впрочем, ситуация с нашей ПС-5 показывает что при желании и "таланте" можно зациклить и "дубовую железную" схему АПВ :o
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" приходит единственный вопрос: "Нахрена? "
Аватара пользователя

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

Программирование ПЛК прошу совета

Сообщение Jackson »

Никита писал(а): Написано то абсолютно, не спорю. Я к тому, что реализуемо до определенного уровня.
Но это написано для программиста. Процессор же вообще не подозревает о существовании цикла, для него есть только команда условного перехода
Когда Вы покупаете ПЛК, то в нём есть системное ПО, которое Вас как программиста не колышит. Системное ПО обеспечивает циклическое выполнение программы ПЛК и вочдоги (и много чего ещё). На то он и ПЛК, а не просто компьютер.
Никита писал(а): Так что тут для полной гарантии надо и бумажные алгоритмы, и исходники смотреть, и еще в голове держать как это примерно в процессоре выполняться будет. Ибо сдуру и при однократном вызове подпрограммы можно ухитриться стек переполнить.
Вот поэтому лучше этого вообще не делать. :) Процедуры, выполняемые пачкой по заданному условию, можно организовать и в основном цикле программы, это несложно.
Ryzhij писал(а): Тут надо быть элементарно последовательными.
Желаете соблюдать новые стандарты в программировании - соблюдайте их во всём.
:good:
Хоть и в другом контексте, а всё равно актуально.
По вопросам работы Форума можно обратиться по этим контактам.
Аватара пользователя

Valerich
эксперт
эксперт
Сообщения: 1030
Зарегистрирован: 27 июн 2013, 12:20
Имя: Валерич
Страна: СССР
Благодарил (а): 44 раза
Поблагодарили: 106 раз

Программирование ПЛК прошу совета

Сообщение Valerich »

Ryzhij писал(а):С написания модуля обработки ошибок следует начинать, а не заканчивать любой мало-мальски серьёзный проект ("проект" - в программерском смысле)
В большинстве случаев обработка ошибок отнимает больше ресурсов, чем непосредственно сам техпроцесс. :affliction:
Нужно учитывать как поломки оборудования, так и действия персонала во всех возможных вариациях. :crazy0to:

Ryzhij
почётный участник форума
почётный участник форума
Сообщения: 5790
Зарегистрирован: 07 окт 2011, 09:12
Имя: Гаско Вячеслав Эриевич
Страна: Россия
город/регион: Рязань
Благодарил (а): 673 раза
Поблагодарили: 841 раз

Программирование ПЛК прошу совета

Сообщение Ryzhij »

and909 писал(а):
В большинстве случаев обработка ошибок отнимает больше ресурсов, чем непосредственно сам техпроцесс. :affliction:
Жизнь вообще тяжела, но, к счастью, коротка...
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
Ответить

Вернуться в «Вопросы от студентов»