PDA

Просмотр полной версии : помогите начать и сориентируйте с чего начать.



Alexey0027
10.02.2010, 21:38
Доброго времени суток. контроллерами интересуюсь уже давно, пишу на асм и Си для PIC. На работе поставили задачу, написать программу для ПЛк150, простой штабелер ползет по Х затем по Y , берет с полки и домой. я написал программу на Си для PIc16F84 и прогнал в протеусе, работает это для просветления алгоритма в уме. Теперь начал разбираться с ПЛК150 и вроде все понятно железяка простая, а с тем как в него этот алгорит засунуть не пойму, в КодеСис есть Си подобный язык , прочитал инструкцию какой-то он не понятный все в нем свое узко направленное. Помогите понять с чего начать.:confused:

P.S Понимаю что немного сумбурно написал, но это первоначальная паника, пройдет через неделю, с первыми результатами.
Спасибо.

Игорь Петров
11.02.2010, 10:06
Почитайте тут (http://www.prolog-plc.ru/docs/st_c.pdf).

Alexey0027
16.02.2010, 21:17
Всем доброго времени суток.Спасибо за заданное направление:)
Вот что у меня получилось, но контроллер странно на все это реагирует,никак и зависает, подскажите почему , что не так
var
x:INT:= 0; //счетчик импульсов n-coder
end_var
//едем в исходную точку, цикл выполняется пока in3=1
while in3=1 do //концевик начала отсчета
do4:=0; // тормоз отпущен
do1:=0; // do1,do2 задано на частотнике направление назад
do2:=1;
end_while
do1:=0; //входф направления по нулям двигатель остановлен
do2:=0; //
do4:=1; //тормоз включен
//начинаем движение к заданной точке
.....

Skander
17.02.2010, 00:26
Если в этом листинге ничего не пропущено то причина зависания контроллера в отсутствии в теле цикла while изменения переменной in3. В таком виде у этого цикла нет конца.

Alexey0027
17.02.2010, 21:56
Добрый день.
В этой программе in3 это вход логический 3 ПЛК, к нему кнопка приделана, нажимаем на нее изменяется состояние. По логике так должно происходить , на PIC смотря за состоянием вывода порта, через такой алгоритм все работает.
А если можно , могу я попросить написать маленький пример такого плана: слушаем вход 6 (ПУСК), как только событие произошло, начинает вращаться вал двигателя по вкл реле на выходе DO1, едем пока не нажмут кнопку Пуск еще раз.
Заранее спасибо.

kfvniiz
19.02.2010, 16:46
На PIC ты работаешь напрямую с портами, а здесь нет и в течении рабочего цикла значения входов не меняются.

Вот здесь я уточнял как идет работа с входами и входами и как выглядит рабочий цикл:
http://owen.ru/forum/showpost.php?p=33393&postcount=6
а вот ответ:
http://owen.ru/forum/showpost.php?p=33396&postcount=7

т.е.
while в твоем примере надо заменить на if

if in3=1 then
..... то что было внутри while
else
.... то что после while
END_IF

Alexey0027
25.02.2010, 20:35
спасибо за ответ!:) я пошел более простым путем с плк использовал язык Fbd оказалось что плк это проще чем можно себе представить, тоже самое что собрать схему на логических элементах, а это я знаю лучше чем программирование в разы. все работает и ездит, вопрос встал теперь как с компа вводить данные.