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

Обучение программированию


Автор темы
Andrey Fo
новенький
новенький
Сообщения: 1
Зарегистрирован: 13 окт 2021, 10:03
Имя: Андрей
Страна: россия
город/регион: спб

Обучение программированию

Сообщение Andrey Fo »

Форумчане, Доброго дня!
В программировании ПЛК я полный 0, но заинтересовало данное направление деятельности,
Нужны Ваши рекомендации, за ранее благодарю за ответы и наставления,
Предыстория такая , по роду деятельности работаю механиком, в вверенном оборудовании стоят ПЛК Simatik S7-200. работают без сбоя, что радует.
Но есть задумка изготовить станок для нужд предприятия , внедрив в него ПЛК .

Вопрос первый : Возможно ли изучить по ютубу, книжкам , сайтам как программировать ПЛК, не будет ли зря потраченным время? До этого и близко не сталкивался с программированием.
Вопрос второй: Кто ни будь заканчивал курсы по программированию ПЛК в СПБ, помогли они? или та информация которую доносят на курсах можно из ютуба подчерпнуть, и не стоит переплачивать.


Всем спасибо!
Аватара пользователя

dtv
завсегдатай
завсегдатай
Сообщения: 575
Зарегистрирован: 04 фев 2014, 08:41
Имя: Тарас Валерьевич
Страна: Россия
город/регион: Екатеринбург
Благодарил (а): 78 раз
Поблагодарили: 95 раз

Обучение программированию

Сообщение dtv »

А есть ли у Вас хоть какой-то опыт программирования, не важно на чём и чего?
Взгляд знатока намного уже кругозора неуча. Ю.Базылев

Roman_33
освоился
освоился
Сообщения: 266
Зарегистрирован: 25 ноя 2018, 17:55
Имя: Роман
Благодарил (а): 4 раза
Поблагодарили: 41 раз

Обучение программированию

Сообщение Roman_33 »

При желании всё возможно. Я в АСУ ТП пришел с ЖД (машинист тепловоза/электровоза), правда я хорошо в электрике разбирался, и вообще технически грамотный и сообразительный :oops: . Мне тупо дали проект и сказали делай, как сейчас помню ПЛК был Fatek, а проект поддержание избыточного давления в чистом помещении. Так что дерзайте!
Случается нередко нам
И труд и мудрость видеть там,
Где стоит только догадаться
За дело просто взяться.

zuben
новенький
новенький
Сообщения: 1
Зарегистрирован: 06 ноя 2021, 00:25
Имя: Виталий
Страна: РФ
город/регион: Краснодарский край

Обучение программированию

Сообщение zuben »

Здравствуйте, уважаемые форумчане! Меня тоже заинтересовало программирование ПЛК. Основное занятие - это ремонт и монтаж холодильного и климатического оборудования. Но бывает и вентиляция и отопление. Хотелось бы ещё расширить навыки. Есть опыт программирования на VB, VBA. Заинтересовали курсы Дмитрия Громова. Что можете сказать о них?
Аватара пользователя

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

Обучение программированию

Сообщение Jackson »

По вопросам работы Форума можно обратиться по этим контактам.

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

Обучение программированию

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

Roman_33 писал(а): 14 окт 2021, 08:16 Я в АСУ ТП пришел с ЖД (машинист тепловоза/электровоза)
[+]
Ловите анекдот:
Два машиниста едут в кабине поезда, один с тоской смотрит в окно и говорит:
- Всё, Вась, пойду в путейцы работать.
- Нафига???
- А вот посмотри на них. Как ни проезжаем, они все время курят и больше ничего не делают. Работа мечты, че.
Ну, сказано-сделано, уволился он с работы, устроился в путейцы. Там ему выдали кувалду, и он ей машет. Час, второй, третий, четвёртый... На пятый он и говорит:
- Слышь, бригадир, а курить-то когда будем?
- А ща поезд поедет, мы все и покурим...
Аватара пользователя

VADR
администратор
администратор
Сообщения: 4734
Зарегистрирован: 25 июл 2008, 07:12
Имя: Диев Александр Васильевич
Страна: Россия
город/регион: г. Сегежа, Карелия
Благодарил (а): 225 раз
Поблагодарили: 396 раз

Обучение программированию

Сообщение VADR »

Главное, что надо усвоить при программировании промышленных систем: ситуация очень даже может пойти не по тому сценарию, который был задуман, и программа контроллера должна с этим справиться.
[+] шутка юмора
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.

Roman_33
освоился
освоился
Сообщения: 266
Зарегистрирован: 25 ноя 2018, 17:55
Имя: Роман
Благодарил (а): 4 раза
Поблагодарили: 41 раз

Обучение программированию

Сообщение Roman_33 »

Михайло писал(а): 06 ноя 2021, 01:49 Ловите анекдот:
После второго курса возникла альтернатива, либо на практике в депо бесплатно гайки крутить, либо устроиться на работу и это зачтется как практика.И я устроился монтером пути. Я вам скажу, таким здоровым я себя никогда в жизни не чувствовал. Постоянно на свежем воздухе, ни одного инструмента легче пуда. :lol: Накачался,загорел и купил Яву. Это как сейчас Мерседес S-класса. Но это все хорошо по молодости, когда здоровья дофига. Сейчас бы я там сдох. :affliction:
Случается нередко нам
И труд и мудрость видеть там,
Где стоит только догадаться
За дело просто взяться.
Аватара пользователя

Nicolayy
освоился
освоился
Сообщения: 281
Зарегистрирован: 14 фев 2014, 11:55
Имя: Николай
Страна: Россия
Благодарил (а): 9 раз
Поблагодарили: 64 раза

Обучение программированию

Сообщение Nicolayy »

Andrey Fo писал(а): 13 окт 2021, 12:23 До этого и близко не сталкивался с программированием.
К сожалению, ничего Вы по книжкам не изучите в таком случае. Ничего сверхъестественно сложного нет, но Вам нужно знать хотя бы основные вещи в программировании, которые дети обычно проходят в школе в 9 классе, чтобы сименовская документация по S7-200 стала Вам понятна.

Отправлено спустя 2 минуты 45 секунд:
zuben писал(а): 06 ноя 2021, 00:54 Есть опыт программирования на VB, VBA.
Не нужны Вам никакие курсы. Открывайте pdf-ки сименовские по интересующему Вас контроллеру и читайте. Там всё просто и понятно написано.
Аватара пользователя

VADR
администратор
администратор
Сообщения: 4734
Зарегистрирован: 25 июл 2008, 07:12
Имя: Диев Александр Васильевич
Страна: Россия
город/регион: г. Сегежа, Карелия
Благодарил (а): 225 раз
Поблагодарили: 396 раз

Обучение программированию

Сообщение VADR »

Nicolayy писал(а): 06 ноя 2021, 14:36 Не нужны Вам никакие курсы. Открывайте pdf-ки сименовские по интересующему Вас контроллеру и читайте. Там всё просто и понятно написано.
Ой, не-не. Элементарные понятия о практике программирования промышленных контроллеров нужны обязатально. Как раз недавно столкнулся с программой, приведшей меня в ступор. Система на одном контроллере S7-1200, 3 входных аналоговых сигнала, 4 выходных аналоговых, 4 входных дискретных. Всё. В этом всём зачем-то сделан цикл с косвенной адресацией для опроса входов, в котором без бутылки не разберёшься. Зачем? А фиг знает. Автор - художник, он так видит.
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.
Аватара пользователя

Nicolayy
освоился
освоился
Сообщения: 281
Зарегистрирован: 14 фев 2014, 11:55
Имя: Николай
Страна: Россия
Благодарил (а): 9 раз
Поблагодарили: 64 раза

Обучение программированию

Сообщение Nicolayy »

VADR, я думаю, что это было какое-то универсальное решение из другого проекта, где много сигналов было. И кто-то просто не заморачивался и применил это решение для простой задачи, где оно, собственно, и не нужно было совсем.
Аватара пользователя

VADR
администратор
администратор
Сообщения: 4734
Зарегистрирован: 25 июл 2008, 07:12
Имя: Диев Александр Васильевич
Страна: Россия
город/регион: г. Сегежа, Карелия
Благодарил (а): 225 раз
Поблагодарили: 396 раз

Обучение программированию

Сообщение VADR »

Такое решение не нужно нигде. Особенно - в системе с большим количеством сигналов. Уж если там, где сигнала всего три, приходится чесать левой пяткой правое ухо, чтобы это промониторить, что будет в системах с сотнями каналов?
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.

Roman_33
освоился
освоился
Сообщения: 266
Зарегистрирован: 25 ноя 2018, 17:55
Имя: Роман
Благодарил (а): 4 раза
Поблагодарили: 41 раз

Обучение программированию

Сообщение Roman_33 »

VADR писал(а): 07 ноя 2021, 12:42 Такое решение не нужно нигде.
Есть такие люди (хипстеры-самокатчики), которые на полном серьезе считают, что чем замудреннее написана программа, тем круче (заказчику как правило на это фиолетово, он вообще думает, что это можно из Google Play скачать), ну вот так они тешут свое ЧСВ. А если написано просто и очевидно да еще и на LAD, то это типа "по детски". А геморой, как правило, получает эксплуатация.
Случается нередко нам
И труд и мудрость видеть там,
Где стоит только догадаться
За дело просто взяться.
Аватара пользователя

Nicolayy
освоился
освоился
Сообщения: 281
Зарегистрирован: 14 фев 2014, 11:55
Имя: Николай
Страна: Россия
Благодарил (а): 9 раз
Поблагодарили: 64 раза

Обучение программированию

Сообщение Nicolayy »

Roman_33, у меня есть программа управления котлом ДКВР, написанная на FBD для S7-1200. Легче было застрелиться, чем что-то понять в ней.
Короче говоря, задачи слишком разные могут быть, чтоб вот так просто делать выводы, что правильно с точки зрения оптимизации, а что наоборот является излишним усложнением и делает неудобным мониторинг. Вообще, надо сказать, что компилятор для S7-1200 так работает, что особо что-то оптимизировать, сэкономив память или уменьшив время цикла программы не оcобо-то и получится. Вероятно, в Siemens'e это тоже поняли, но пошли по экстенсивному пути, просто увеличив объем памяти на современных S7-1200 по сравнению с первой линейкoй этих же самых моделей ПЛК
Аватара пользователя

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

Обучение программированию

Сообщение Jackson »

Roman_33 писал(а): 07 ноя 2021, 13:12 Есть такие люди (хипстеры-самокатчики),
[+] старый баян про HELLO WORLD
Эволюция программиста

1. Старший курс школы.
10 PRINT 'HELLO WORLD'
20 END

2. Младший курс института.
program Hello(input,output)
begin
writeln('Hello World')
end.

3. Старший курс института.
(defun hello
(print
(cons' Hello (list 'World))))

4. Молодой специалист.
#include
void main(void)
{
char *message[] = {'Hello ','World'};
int i;
for(i = 0; i < 2; ++i)
printf('%s', message);
printf('
');
}

5. Опытный профессионал.
#include
class string
{ private:
int size;
char *ptr;
public:
string() : size(0), ptr(new char('*')) {}
string(const string &s) : size(s.size)
{
ptr = new char[size + 1];
strcpy(ptr, s.ptr);
}
~string()
{
delete [] ptr;
}
friend ostream &operator << (ostream &, const string &);
string &operator = (const char *);
};
ostream &operator << (ostream &stream, const tring &s)
{
return(stream << s.ptr);
}
string &string::operator = (const char *chrs)
{
if(this != &chr)
{
delete [] ptr;
size = strlen(chrs);
ptr = new char[size + 1];
strcpy(ptr, chr);
}
return(*this);
}
int main()
{
string str;
str = 'Hello World';
cout << str << endl;
return(0);
}

6. Системный администратор.
#include
main()
{ char *tmp;
int i=0;
/*Хапнем побольше*/
tmp = (char *)malloc(1024*sizeof(char));
while (tmp='Hello World'[i++]);
/*Блин, лажанулся*/
i = (int)tmp[8];
tmp[8] = tmp[9];
tmp[9] = (char)i;
printf('%s
',tmp);
}

7. Hачинающий хакер.
#!/usr/local/bin/perl
$msg='Hello, World.
';
if ($#ARGV >= 0)
{
while(defined($arg=shift(@ARGV)))
{
$outfilename = $arg;
open(FILE, '>' . $outfile name) || die 'Can't close $arg:$!
';
}
} else {
print($msg);
}
1;

8. Понаторевший хакер.
#include
#define S 'Hello, World
'
main()
{exit(printf(S)==strlen(S)?0:1);}

9. Закаленный ххакер.
% cc -o a.out
~/src/misc/hw/hw.c
% a.out

10. Хакер-гуру.
% cat
Hello, World.
^D

11. Младший менеджер.
10 PRINT 'HELLO WORLD'
20 END

12. Менеджер среднего уровня.
% mail -s 'Hello, World.'
bob@b12
Боб, не могли бы Вы написать для меня программу 'Hello, World.'?
Она понадобится мне завтра.
^D

13. Старший менеджер.
% zmail jim
Мне нужна программа 'Hello, World.', и немедленно!

14. Президент компании.
% letter
letter: Command not found.
% mail
To: ^X ^F ^C
% help mail
help: Command not found.
% Черт!
!: Event unrecognized.
% logout

[+] в лесу родилась ёлочка в 1С
Процедура Лес()
Ёлочка = СоздатьОбъект("Ёлка");
Пока Ёлочка.Жива()=1 Цикл
Ёлочка.Возраст=Ёлочка.Возраст+1;
Если (ТекущееВремяГода()="Зима") или (ТекущееВремяГода()="Лето") Тогда
Ёлочка.Стройность = 1;
Ёлочка.Цвет = глПолучитьЦвет("Зеленый");
КонецЕсли;

Метель = СоздатьОбъект("Метель");
Метель.ОткрытьФайл("D:\Music\NSYNC - Bye Bye Bye.mp3");
Система.Уснуть(1000);
Метель.Воспроизвести();

Мороз = СоздатьОбъект("Мороз");
Мороз.Укутать(Ёлочка);
Если Ёлочка.Замерзла()=1 Тогда
Ёлочка.Жива(0);
Возврат;
КонецЕсли;

Заяц = СоздатьОбъект("Заяц");
Заяц.Трусливый = 1;
Заяц.Цвет = глПолучитьЦвет("Серый");
ЛК = Ёлочка.ЛеваяКоордината;
ВК = Ёлочка.ВерхняяКоордината;
Пока 1=1 Цикл
Заяц.ЛеваяКоордината = ЛК;
ЛК=ЛК+1;
Заяц.НижняяКоордината = ВК + Окр(abs(sin(ЛК*pi/180)*10));
КонецЦикла;

КомандаСистемы("wolf3d.exe /evil");

СкопироватьВБуфер(Ёлочка);
Праздник = СоздатьОбъект("Праздник");
ВставитьИзБуфера(Ёлочка, Праздник);
Ёлочка.ЗагрузитьСкинИзФайла("нарядная.jpg");
Дети = СоздатьОбъект("Дети");
Для й=1 По Ёлочка.Радость.РазмерСписка() Цикл
Дети.Настроение=Дети.Настроение+Ёлочка.Радость.ПолучитьЗначение(й);
КонецЦикла;
КонецЦикла;
КонецПроцедуры //Лес()
По вопросам работы Форума можно обратиться по этим контактам.
Аватара пользователя

keysansa
эксперт
эксперт
Сообщения: 2340
Зарегистрирован: 20 дек 2018, 04:45
Имя: Сергей
Страна: РБ/РФ
город/регион: РФ Сергиев Посад
Благодарил (а): 1998 раз
Поблагодарили: 176 раз

Обучение программированию

Сообщение keysansa »

Jackson писал(а): 07 ноя 2021, 22:08 Эволюция программиста
Комментарии отсутствуют на протяжении всего развития...
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.
Аватара пользователя

Nicolayy
освоился
освоился
Сообщения: 281
Зарегистрирован: 14 фев 2014, 11:55
Имя: Николай
Страна: Россия
Благодарил (а): 9 раз
Поблагодарили: 64 раза

Обучение программированию

Сообщение Nicolayy »

Jackson, директива #include с неправильным синтаксисом в этих забавных примерах превратила неплохую шутку в невежество.

stesl
эксперт
эксперт
Сообщения: 1008
Зарегистрирован: 31 мар 2018, 12:05
Имя: Вячеслав
Благодарил (а): 94 раза
Поблагодарили: 136 раз

Обучение программированию

Сообщение stesl »

VADR писал(а): 06 ноя 2021, 14:49 В этом всём зачем-то сделан цикл с косвенной адресацией для опроса входов
Так удобней ) Это я делал )))

Отправлено спустя 4 минуты 23 секунды:
keysansa писал(а): 07 ноя 2021, 22:47 Комментарии отсутствуют на протяжении всего развития..

Код: Выделить всё

/*Хапнем побольше*/
tmp = (char *)malloc(1024*sizeof(char));
while (tmp='Hello World'[i++]);
/*Блин, лажанулся*/
Сисадмин знает, что такое эксплуатация )
Аватара пользователя

VADR
администратор
администратор
Сообщения: 4734
Зарегистрирован: 25 июл 2008, 07:12
Имя: Диев Александр Васильевич
Страна: Россия
город/регион: г. Сегежа, Карелия
Благодарил (а): 225 раз
Поблагодарили: 396 раз

Обучение программированию

Сообщение VADR »

stesl писал(а): 08 ноя 2021, 14:55 Так удобней ) Это я делал )))
Вот уж не знаю, кому это удобнее. Цикл специально для опроса входов, вложенная функция на LAD длиной в 8 нетворков, там где можно было на каждый канал повесить один NORM_X и один SCALE_X... зачем?
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.

stesl
эксперт
эксперт
Сообщения: 1008
Зарегистрирован: 31 мар 2018, 12:05
Имя: Вячеслав
Благодарил (а): 94 раза
Поблагодарили: 136 раз

Обучение программированию

Сообщение stesl »

VADR писал(а): 08 ноя 2021, 15:55 один NORM_X и один SCALE_X
На новую линейку ездил учиться? Или сам постигал? На ты, как к старому "сокурснику" ;)
Я в классике, вместо банды FC105 делаю цикл на SCL.
Аватара пользователя

VADR
администратор
администратор
Сообщения: 4734
Зарегистрирован: 25 июл 2008, 07:12
Имя: Диев Александр Васильевич
Страна: Россия
город/регион: г. Сегежа, Карелия
Благодарил (а): 225 раз
Поблагодарили: 396 раз

Обучение программированию

Сообщение VADR »

Три минуты поиска в TIA Portal. Всё это лежит в "Basic Instructions". Исходные данные для поиска - предположение "где-то что-то такое точно должно быть" :)
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.
Аватара пользователя

Nicolayy
освоился
освоился
Сообщения: 281
Зарегистрирован: 14 фев 2014, 11:55
Имя: Николай
Страна: Россия
Благодарил (а): 9 раз
Поблагодарили: 64 раза

Обучение программированию

Сообщение Nicolayy »

VADR писал(а): 09 ноя 2021, 08:23 Три минуты поиска в TIA Portal. Всё это лежит в "Basic Instructions"
Стоп-стоп. Секундочку! А как же:
VADR писал(а): 07 ноя 2021, 12:42
Nicolayy писал(а): 06 ноя 2021, 14:36 Не нужны Вам никакие курсы. Открывайте pdf-ки сименовские по интересующему Вас контроллеру и читайте
Ой, не-не
:ext_book:
Аватара пользователя

VADR
администратор
администратор
Сообщения: 4734
Зарегистрирован: 25 июл 2008, 07:12
Имя: Диев Александр Васильевич
Страна: Россия
город/регион: г. Сегежа, Карелия
Благодарил (а): 225 раз
Поблагодарили: 396 раз

Обучение программированию

Сообщение VADR »

Nicolayy писал(а): 09 ноя 2021, 12:37 Стоп-стоп. Секундочку! А как же:
Так у меня в базе 3 курса Sitrain и 21 год опыта непосредственно в АСУТП.
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.

stesl
эксперт
эксперт
Сообщения: 1008
Зарегистрирован: 31 мар 2018, 12:05
Имя: Вячеслав
Благодарил (а): 94 раза
Поблагодарили: 136 раз

Обучение программированию

Сообщение stesl »

VADR писал(а): 09 ноя 2021, 08:23 Три минуты поиска в TIA Portal. Всё это лежит в "Basic Instructions". Исходные данные для поиска - предположение "где-то что-то такое точно должно быть" :)
Сколько будет два + два?
- Вя
- Чего?!! Два что ли?
- Вя
- Ты хорошо подумал?
- Четыдэ
- О, да ты умный у меня )))

Разговор с чадом после каникульного локдауна и часов каток в онлайне и тик тока ;)
Аватара пользователя

keysansa
эксперт
эксперт
Сообщения: 2340
Зарегистрирован: 20 дек 2018, 04:45
Имя: Сергей
Страна: РБ/РФ
город/регион: РФ Сергиев Посад
Благодарил (а): 1998 раз
Поблагодарили: 176 раз

Обучение программированию

Сообщение keysansa »

Nicolayy писал(а): 08 ноя 2021, 08:47 Jackson, директива #include с неправильным синтаксисом в этих забавных примерах превратила неплохую шутку в невежество.
По поему появление коментариев, символизирует большее развитие, нежели появление
#include "cool.framework.h"
вместо
#incude <stdio.h>
Изменение include больше свидетельствует о посещении stackoverflow )
ЗЫ. О развитии больше говорит появление def макросов.
Только мое мнение. По себе сужу.

Отправлено спустя 53 минуты 7 секунд:
stesl писал(а): 08 ноя 2021, 14:55 Сисадмин знает, что такое эксплуатация )
Сисадмину pascal понравится ) Хоть он и не решает всех проблем ))
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.
Ответить

Вернуться в «Флудилка обо всём»