Обучаем новичка программированию ПЛК и Скада-систем

Автоматизация технологических процессов, системы управления, АСУ ТП, АСКУЭ, программирование ПЛК, человеко-машинный интерфейс, сетевое оборудование, протоколы
creept
Дилетант
Сообщения: 14
Зарегистрирован: 10 дек 2014, 10:30

Обучаем новичка программированию ПЛК и Скада-систем

Сообщение creept »

Здравствуйте, я так то довольно давно в сфере инжиниринга. В настоящее время работаю киповцем, появилось возможность и желание освоить что-то новое -хотелось бы научиться программированию на ПЛК. У меня есть задание, так сказать пробный проект: "Система контроля параметров затворной жидкости". Я уже кое-что сделал сам, товарищ Chant в личном сообщении очень помог дельными советами. Есть некоторые нюансы, которых я пока непонимаю, хотелось бы получить совет от Вас, уважаемые коллеги. Готов к обучению! Снизу файлы по проекту, схемы сами рисовали.

https://yadi.sk/d/k0LAck1JdvBTz - сам проект, пока сырой. Вопрос по масштабирвоанию, использую NORM X чтобы привести шкалу в реальные значения?
У вас нет необходимых прав для просмотра вложений в этом сообщении.

ward
Специалист
Сообщения: 415
Зарегистрирован: 12 ноя 2012, 08:44

Re: Обучаем новичка программированию ПЛК и Скада-систем

Сообщение ward »

я бы на твоем месте сначала понял как сделать пукт про регистрацию, остальное ерунда.
13-го портала нет, посмотреть не могу. Для преобразования написал свою простую функцию для преобразования, немного школьной математики и вуаля!

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Обучаем новичка программированию ПЛК и Скада-систем

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

Может я чего-то не знаю, но мне кажется неразумно ставить четыре CPU в один шкаф и питать их одним вводным автоматом. На мой взгляд нужно поставить один большой ЦПУ или сделать четыре абсолютно независимых (автономных) проекта.

Чтобы отмасштабировать аналоговый сигнал, нужно использовать пару функций: NORM_X, а затем SCALE_X.
Как обрабатывать 0-20 мА или 4-20 мА.gif
Как обрабатывать 4-20 мА при канале 0-20 мА.gif
У вас нет необходимых прав для просмотра вложений в этом сообщении.

creept
Дилетант
Сообщения: 14
Зарегистрирован: 10 дек 2014, 10:30

Re: Обучаем новичка программированию ПЛК и Скада-систем

Сообщение creept »

Пока одна система будет, на один насос. Питание будет разное конечно. Вот по поводу обработки сигналов. Я сделал как показано на рисунке+добавил функцию по пересчету из 0-20 мА в 4-20. Я попробовал подцепить сопротивление, вроде работает. Я незнаю, не программист-с точки зрения эргономики программы, времени обработки сигнала может быть так делать правильно? или можно сделать проще?

Пысы. картинки как то можно под спойлер прятать? вроде приблуда есть, а они как вложения просто.
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Обучаем новичка программированию ПЛК и Скада-систем

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

Спойлер есть и вложения туда прятать можно, надо только не забывать для вложения нажать "вставить в текст сообщения".

Что касается обработки сигнала температуры, то не думайте, что на вход IW96 будет записываться температура в реальных значениях (от -50 до +250 градусов). У Сименса там будет лежать число от -500 до +2500. То есть на каждый градус - по 10 единиц.

ward
Специалист
Сообщения: 415
Зарегистрирован: 12 ноя 2012, 08:44

Re: Обучаем новичка программированию ПЛК и Скада-систем

Сообщение ward »

Михайло писал(а):Спойлер есть и вложения туда прятать можно, надо только не забывать для вложения нажать "вставить в текст сообщения".

Что касается обработки сигнала температуры, то не думайте, что на вход IW96 будет записываться температура в реальных значениях (от -50 до +250 градусов). У Сименса там будет лежать число от -500 до +2500. То есть на каждый градус - по 10 единиц.
может у него 4-20 мА преобразователь, а ты его путаешь

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Обучаем новичка программированию ПЛК и Скада-систем

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

creept писал(а):+добавил функцию по пересчету из 0-20 мА в 4-20.
Я добавил пересчет в своем сообщении от 12 января. Посмотри.

ward
Специалист
Сообщения: 415
Зарегистрирован: 12 ноя 2012, 08:44

Re: Обучаем новичка программированию ПЛК и Скада-систем

Сообщение ward »

прочитал, запутанно для новичка, не стоит грузить его еще по прямому подключению PT100.
А по теме - самое сложно реализуемое это регистрация, начни с нее, остальное ерунда

creept
Дилетант
Сообщения: 14
Зарегистрирован: 10 дек 2014, 10:30

Re: Обучаем новичка программированию ПЛК и Скада-систем

Сообщение creept »

сделал также, но максимальное значение при токе 19,97 как видно на скриншоте. Не пойму что не так. Канал в конфигурации у меня выставлен 4-20мА. Проверяю резюком 10кОм, по факту будет стоять преобразователь температуры pt100 WIKA:TR 10-B со вторичным преобразователем T32.
1.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.

creept
Дилетант
Сообщения: 14
Зарегистрирован: 10 дек 2014, 10:30

Re: Обучаем новичка программированию ПЛК и Скада-систем

Сообщение creept »

с этим разобрался ребят, туплю. извиняйте :p

creept
Дилетант
Сообщения: 14
Зарегистрирован: 10 дек 2014, 10:30

Re: Обучаем новичка программированию ПЛК и Скада-систем

Сообщение creept »

Ребят, во время настройки Пид-регулятора выдает сообщение об ошибке - Ошибка времени выборки: PID_Compact не вызывается в течение времени выборки циклического прерывания ОБ. Я его в ОБ30 засунул. Время опроса ОБ30-100мс. В настройках Пид ставлю время выборки алгоритма Пид-0.1 сек и все равно выдает ошибку.

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Обучаем новичка программированию ПЛК и Скада-систем

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

Период прерывания OB30 должен быть меньше времени выборки алгоритма. Или наоборот? Но уж точно не равные.

creept
Дилетант
Сообщения: 14
Зарегистрирован: 10 дек 2014, 10:30

Re: Обучаем новичка программированию ПЛК и Скада-систем

Сообщение creept »

плс1.jpg
скада1.jpg
скада2.jpg
Здравствуйте, ребята подскажите как сделать, как вы делаете может быть. У меня имеются 4 уставки по уровню - критически высокий,высокий, критич.низкий, низкий. Напротив резервуара я вставил текстовый блок и настроил его видимость, текстовые блоки наложил друг на друга. Мне надо чтобы допустим когда уровень достиг отметки в 70 процентов высветилось сообщение "Высокий" и начало мигать сине-желтым цветом, потом когда уровень достигнет 80 процентов и выше "Высокий переставал бы моргать и загорался бы "Критический высокий" с миганием красно-желтым цветом. Есть 2 варианта- взять переменную типа Real и задать диапазон допустим от 70 до 79 и взять булевую переменную (при нуле 0 невидима , при единице загорается), но если я беру булевую переменную то уровень "Высокий" продолжает гореть что логично исходя из написанной мной логики. Вообщем я что-то запутался, подскажите кто как делает, при этом мне нужно чтобы если уровень вдруг упал с 70 до 69 и менее сообщение не становилось невидимым, а оставалось гореть до квитирования оператором (для этого в логике на скрине видно я делаю Set "Water_level_1_high"), чего не происходит если использовать переменную типа Real. А если использовать переменную типа Bool то Уровень высокий продолжает моргать.
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Обучаем новичка программированию ПЛК и Скада-систем

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

Не надо делать так, чтобы сообщение "зависало" на экране прямо напротив резервуара после того, как опасность сама по себе ушла. Это сообщение должно быть в отрыве от резервуара, иначе человек может подумать, что это текущее (фактическое) состояние, а не напоминание.

Теперь о наложении текстов - так тоже не надо делать, ведь у Сименса есть мощная система текстовых и графических списков (ищи в дереве проекта HMI - text and graphic lists). Нужно создать два текстовых списка, назвать их например, high и low. Тип списка Value/range. В списке high создать три текста: пустой текст (Value - 0), "высокий" (1) и "очень высокий" (2), в списке low - пустой текст (0), "низкий" (1) и "очень низкий" (2). В ПЛК создаешь два тэга типа USINT, которые будут определять, какой текст выводится сейчас на экране (значения от 0 до 2). На экране вместо четырех объектов Text field размещаешь два Symbolic I/O Field, связываешь эти объекты с тэгами USINT и с текстовыми списками. Проблема наложения текстов решена.
Проблема мигания и прочего поведения текстовых сообщений также решаема. Нужно настроить Animations -> Appearance, Visibility. Эти состояния также могут управляться тэгами USINT, которые были ранее созданы для вывода текста. Можно создать другие тэги, чтобы сделать более гибкую систему вывода текстов. Это уже по вкусу.
Для работы с тэгами USINT в ПЛК следует широко использовать функцию MOVE.

Аналогично работает система управляемой графики, только для этого надо добавить на экран Graphic I/O Field, создать графический список.

creept
Дилетант
Сообщения: 14
Зарегистрирован: 10 дек 2014, 10:30

Re: Обучаем новичка программированию ПЛК и Скада-систем

Сообщение creept »

непойму, можно пример обработки этой переменной в ПЛК? я создаю блок МУВ, мне на вход этого блока присвоить переменную типа BOOL не удается, я могу задать число допустим 70, которое он отошлет в переменную типа USINT, то есть получается мне нужно создать 8 блоков МУВ ? (4 сообщения на 1 бачке и 4 на втором).

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Обучаем новичка программированию ПЛК и Скада-систем

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

Рассматривай тэг типа USINT не как 8 отдельных битов, а как число от 0 до 255. Этим числом ты можешь выводить 256 сообщений в одном объекте Symbolic IO Field. В твоем случае число принимает значения 0, 1, 2; соответственно всего 3 MOVE на каждый Symbolic IO Field.

creept
Дилетант
Сообщения: 14
Зарегистрирован: 10 дек 2014, 10:30

Re: Обучаем новичка программированию ПЛК и Скада-систем

Сообщение creept »

Привет, подскажите как добавить кнопки вверх вниз имитацию нажатия клавиатуры. У меня есть объект AlarmView_1, как так вот оператору сложновату будет скроллом пользоваться (пальцы большие), я атк понял стандартными средствами это никак не сделать. Я знаю что можно, видел такие кнопки потому что, но незнаю как

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Обучаем новичка программированию ПЛК и Скада-систем

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

Панель какая?

Аватара пользователя
Ka3ax
Специалист
Сообщения: 303
Зарегистрирован: 07 сен 2013, 10:09

Re: Обучаем новичка программированию ПЛК и Скада-систем

Сообщение Ka3ax »

Михайло писал(а):Панель какая?
ecли проекту верить,-tp1200 comfort
Supervision of erection

creept
Дилетант
Сообщения: 14
Зарегистрирован: 10 дек 2014, 10:30

Re: Обучаем новичка программированию ПЛК и Скада-систем

Сообщение creept »

так точно, TP 1200 comfort

Ответить