Пытаю ПЛК100 и ИП320(как мастер). Очень расстроен отсутствием в ПЛК100 менеджера рецептов (((( с сименсом проще получалось. Подскажите пожалуйста как правильно организовать работу с рецептами. Может у кого пример есть. Буду очень благодарен !!!
Пытаю ПЛК100 и ИП320(как мастер). Очень расстроен отсутствием в ПЛК100 менеджера рецептов (((( с сименсом проще получалось. Подскажите пожалуйста как правильно организовать работу с рецептами. Может у кого пример есть. Буду очень благодарен !!!
1. На сколько понимаю - рецепт - это просто массив данных. Который присваивается по значению одной переменной другим переменным. Или нет?
Если не сложно - скиньте скрины или описания как это реализовано у Семена на a.nikolaev@owen.ru
Там все так просто. В несколько строк строк помещается:
FOR cN:=0 TO N DO (*Начинаем поиск от 0 до N*)
IF......(что ищем, как нашли, то exit)
.....
cn:=cN+1;(приращение номера при поиске)
EXIT; (*прерываем поиск*)
END_IF
END_FOR
Это если данных очень много.
А если у Вас простенько, то создайте структуру(если данные разнотипные).
Затем объявите массив из структуры.
И к примеру по номеру в этом массиве присваивайте значения текущим данным.
ну или в пику сименсу возьмите к примеру можно взять панель подороже, с готовыми рецептами.
Хотя я лично проблем не вижу. тут используются самые простые операции присваивания и выбора.
Последний раз редактировалось lara197a; 21.03.2014 в 09:34.
Рецептов всего 15. Количество параметров (переменных) 5 в каждом. На экране номера, каждому присвоен свой рецепт, в каждом рецепте 5 изменяемых переменных, при нажатии клавиши с присвоенным номером ...загрузка требуемого набора рабочих параметров.
В мануале Codesys есть менеджер создания рецептов....только не для ПЛК (((((.
Можно их реализовать на CFC (FB) ?
Ткните носом в пример .... если есть.
Можно, но лучше на ST.
Подойдут функции Casse и IF.
Упрощенно типа так:
IF Prog=1 THEN
VDK_p:=VDK1;
ELSIF Prog=2 THEN
VDK_p:=VDK2;
.......
ELSE
VDK_p:=0;
END_IF
И далее для следующей переменной.
Если присваивание и чтение делать через цикл FOR и команду exit, то это значительно сократит код, хотя смысл будет тем же. Если хотите, то разберетесь.
Не разберетесь -пишите как выше "индийский" код.
Последний раз редактировалось lara197a; 22.03.2014 в 12:23.
Внутренне пр-во распределяет драйвер, этим и голову забивать не зачем.
Физические вх-вых, определены таргет файлом. Посмотреть в конфигурации ПЛК.
Я не правильно вопрос задал (
к примеру
OUT0_WORD AT %QW9.1.0.0: WORD;
OUT1_WORD AT %QW9.1.1.0: WORD;
OUT2_WORD AT %QW9.1.2.0: WORD;
OUT3_WORD AT %QW9.1.3.0: WORD;
взято из списка глобальных переменных....
Как (где) узнать (посмотреть) какие адреса регистров и битов компилятор назначил для этих выходов ???