На форуме обязательно:
  1. Заполнить свой профиль на Русском языке. См. Правила, п.2.d.
  2. Не писать свой вопрос в первую попавшуюся тему, а вместо этого создать свою. См. Правила, п.3.a.

Рекламу на своём форуме мы не размещаем ни на каких условиях.

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

Ответить

Михайло
почётный участник форума
почётный участник форума
Сообщения: 2483
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
Благодарил (а): 1 раз
Поблагодарили: 63 раза
Контактная информация:

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

Сообщение Михайло » 10 янв 2017, 10:54

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

Аватара пользователя

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

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

Сообщение Никита » 10 янв 2017, 11:23

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

Аватара пользователя

TEB
администратор
администратор
Сообщения: 9139
Зарегистрирован: 17 июн 2008, 15:01
Имя: Евгений свет Брониславович
Благодарил (а): 93 раза
Поблагодарили: 123 раза
Контактная информация:

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

Сообщение TEB » 10 янв 2017, 11:31

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

Аватара пользователя

and909
завсегдатай
завсегдатай
Сообщения: 529
Зарегистрирован: 27 июн 2013, 11:20
Имя: Андрей Шавшуков
Благодарил (а): 8 раз
Поблагодарили: 13 раз

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

Сообщение and909 » 10 янв 2017, 11:35

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


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

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

Сообщение Ryzhij » 10 янв 2017, 12:06

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

Ответить