Здравствуйте, я так то довольно давно в сфере инжиниринга. В настоящее время работаю киповцем, появилось возможность и желание освоить что-то новое -хотелось бы научиться программированию на ПЛК. У меня есть задание, так сказать пробный проект: "Система контроля параметров затворной жидкости". Я уже кое-что сделал сам, товарищ Chant в личном сообщении очень помог дельными советами. Есть некоторые нюансы, которых я пока непонимаю, хотелось бы получить совет от Вас, уважаемые коллеги. Готов к обучению! Снизу файлы по проекту, схемы сами рисовали.
https://yadi.sk/d/k0LAck1JdvBTz - сам проект, пока сырой. Вопрос по масштабирвоанию, использую NORM X чтобы привести шкалу в реальные значения?
Обучаем новичка программированию ПЛК и Скада-систем
Обучаем новичка программированию ПЛК и Скада-систем
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Re: Обучаем новичка программированию ПЛК и Скада-систем
я бы на твоем месте сначала понял как сделать пукт про регистрацию, остальное ерунда.
13-го портала нет, посмотреть не могу. Для преобразования написал свою простую функцию для преобразования, немного школьной математики и вуаля!
13-го портала нет, посмотреть не могу. Для преобразования написал свою простую функцию для преобразования, немного школьной математики и вуаля!
Re: Обучаем новичка программированию ПЛК и Скада-систем
Может я чего-то не знаю, но мне кажется неразумно ставить четыре CPU в один шкаф и питать их одним вводным автоматом. На мой взгляд нужно поставить один большой ЦПУ или сделать четыре абсолютно независимых (автономных) проекта.
Чтобы отмасштабировать аналоговый сигнал, нужно использовать пару функций: NORM_X, а затем SCALE_X.
Чтобы отмасштабировать аналоговый сигнал, нужно использовать пару функций: NORM_X, а затем SCALE_X.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Re: Обучаем новичка программированию ПЛК и Скада-систем
Пока одна система будет, на один насос. Питание будет разное конечно. Вот по поводу обработки сигналов. Я сделал как показано на рисунке+добавил функцию по пересчету из 0-20 мА в 4-20. Я попробовал подцепить сопротивление, вроде работает. Я незнаю, не программист-с точки зрения эргономики программы, времени обработки сигнала может быть так делать правильно? или можно сделать проще?
Пысы. картинки как то можно под спойлер прятать? вроде приблуда есть, а они как вложения просто.
Пысы. картинки как то можно под спойлер прятать? вроде приблуда есть, а они как вложения просто.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Re: Обучаем новичка программированию ПЛК и Скада-систем
Спойлер есть и вложения туда прятать можно, надо только не забывать для вложения нажать "вставить в текст сообщения".
Что касается обработки сигнала температуры, то не думайте, что на вход IW96 будет записываться температура в реальных значениях (от -50 до +250 градусов). У Сименса там будет лежать число от -500 до +2500. То есть на каждый градус - по 10 единиц.
Что касается обработки сигнала температуры, то не думайте, что на вход IW96 будет записываться температура в реальных значениях (от -50 до +250 градусов). У Сименса там будет лежать число от -500 до +2500. То есть на каждый градус - по 10 единиц.
Re: Обучаем новичка программированию ПЛК и Скада-систем
может у него 4-20 мА преобразователь, а ты его путаешьМихайло писал(а):Спойлер есть и вложения туда прятать можно, надо только не забывать для вложения нажать "вставить в текст сообщения".
Что касается обработки сигнала температуры, то не думайте, что на вход IW96 будет записываться температура в реальных значениях (от -50 до +250 градусов). У Сименса там будет лежать число от -500 до +2500. То есть на каждый градус - по 10 единиц.
Re: Обучаем новичка программированию ПЛК и Скада-систем
Я добавил пересчет в своем сообщении от 12 января. Посмотри.creept писал(а):+добавил функцию по пересчету из 0-20 мА в 4-20.
Re: Обучаем новичка программированию ПЛК и Скада-систем
прочитал, запутанно для новичка, не стоит грузить его еще по прямому подключению PT100.
А по теме - самое сложно реализуемое это регистрация, начни с нее, остальное ерунда
А по теме - самое сложно реализуемое это регистрация, начни с нее, остальное ерунда
Re: Обучаем новичка программированию ПЛК и Скада-систем
сделал также, но максимальное значение при токе 19,97 как видно на скриншоте. Не пойму что не так. Канал в конфигурации у меня выставлен 4-20мА. Проверяю резюком 10кОм, по факту будет стоять преобразователь температуры pt100 WIKA:TR 10-B со вторичным преобразователем T32.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Re: Обучаем новичка программированию ПЛК и Скада-систем
с этим разобрался ребят, туплю. извиняйте
Re: Обучаем новичка программированию ПЛК и Скада-систем
Ребят, во время настройки Пид-регулятора выдает сообщение об ошибке - Ошибка времени выборки: PID_Compact не вызывается в течение времени выборки циклического прерывания ОБ. Я его в ОБ30 засунул. Время опроса ОБ30-100мс. В настройках Пид ставлю время выборки алгоритма Пид-0.1 сек и все равно выдает ошибку.
Re: Обучаем новичка программированию ПЛК и Скада-систем
Период прерывания OB30 должен быть меньше времени выборки алгоритма. Или наоборот? Но уж точно не равные.
Re: Обучаем новичка программированию ПЛК и Скада-систем
Здравствуйте, ребята подскажите как сделать, как вы делаете может быть. У меня имеются 4 уставки по уровню - критически высокий,высокий, критич.низкий, низкий. Напротив резервуара я вставил текстовый блок и настроил его видимость, текстовые блоки наложил друг на друга. Мне надо чтобы допустим когда уровень достиг отметки в 70 процентов высветилось сообщение "Высокий" и начало мигать сине-желтым цветом, потом когда уровень достигнет 80 процентов и выше "Высокий переставал бы моргать и загорался бы "Критический высокий" с миганием красно-желтым цветом. Есть 2 варианта- взять переменную типа Real и задать диапазон допустим от 70 до 79 и взять булевую переменную (при нуле 0 невидима , при единице загорается), но если я беру булевую переменную то уровень "Высокий" продолжает гореть что логично исходя из написанной мной логики. Вообщем я что-то запутался, подскажите кто как делает, при этом мне нужно чтобы если уровень вдруг упал с 70 до 69 и менее сообщение не становилось невидимым, а оставалось гореть до квитирования оператором (для этого в логике на скрине видно я делаю Set "Water_level_1_high"), чего не происходит если использовать переменную типа Real. А если использовать переменную типа Bool то Уровень высокий продолжает моргать.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
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, создать графический список.
Теперь о наложении текстов - так тоже не надо делать, ведь у Сименса есть мощная система текстовых и графических списков (ищи в дереве проекта 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, создать графический список.
Re: Обучаем новичка программированию ПЛК и Скада-систем
непойму, можно пример обработки этой переменной в ПЛК? я создаю блок МУВ, мне на вход этого блока присвоить переменную типа BOOL не удается, я могу задать число допустим 70, которое он отошлет в переменную типа USINT, то есть получается мне нужно создать 8 блоков МУВ ? (4 сообщения на 1 бачке и 4 на втором).
Re: Обучаем новичка программированию ПЛК и Скада-систем
Рассматривай тэг типа USINT не как 8 отдельных битов, а как число от 0 до 255. Этим числом ты можешь выводить 256 сообщений в одном объекте Symbolic IO Field. В твоем случае число принимает значения 0, 1, 2; соответственно всего 3 MOVE на каждый Symbolic IO Field.
Re: Обучаем новичка программированию ПЛК и Скада-систем
Привет, подскажите как добавить кнопки вверх вниз имитацию нажатия клавиатуры. У меня есть объект AlarmView_1, как так вот оператору сложновату будет скроллом пользоваться (пальцы большие), я атк понял стандартными средствами это никак не сделать. Я знаю что можно, видел такие кнопки потому что, но незнаю как
Re: Обучаем новичка программированию ПЛК и Скада-систем
Панель какая?
Re: Обучаем новичка программированию ПЛК и Скада-систем
ecли проекту верить,-tp1200 comfortМихайло писал(а):Панель какая?
Supervision of erection
Re: Обучаем новичка программированию ПЛК и Скада-систем
так точно, TP 1200 comfort