В приложенной вами схеме, нет переменной r1.
Вид для печати
Схему пришлось упростить, поэтому r1=k2. r1 я обозначил как дискретный выход ПЛК. На той схеме что я представил это k2.
Необходимо организовать включение p1 при включенном p2. Но если p1 включен изначально p2 не должен включаться.( p2 может включиться только после выключения p1)
Вложение 17838 Ну, не знаю, у меня всё включается.
Вложение 17839
Сначала включил p2 в следствии этого включился k2. Затем включил p1 и к2 отключился. Но он , по условию задачи" не должен отключаться!
Значит не такая схема у вас. Вложение 17841
Попробуйте в Вашей схеме включить сначала р2. После этого, если нет аварии, должен включиться к2. Затем включите p1. Что происходит? У меня к2 выключается.
Здравствуйте. Контроллер ПЛК110. Настраиваем прерывание по таймеру, инициализируем его SetIRQ();, работаем. Все работает как надо, но при перезагрузки ПЛК прерывание перестает работать, помогает только отключение ПЛК от сети. В чем может быть загвоздка?
Василий Кашуба, спасибо, Ваша схема работает.
capzap, спасибо, буду разбираться с вашей схемой.
Благодарю за помощь.
Добрый день. Подскажите новичку. ПЛК 100-24.К-М плюс энкодер oss-05-2hc ( 500 имп/об). Энкодер запитан от 24В, его выходы А и В, подключены к 1 и 2 дискретным входам ПЛК соответственно. Фильтрацию этих входов установил "-1". Добавил подэлемент "Encoder 16bit" Дал ему имя допустим "pos". Ну для начала допустим нужно посчитать 2000 импульсов и подать сигнал на 1ый дискр.выход. Проблема в том что ПЛК вообще ничего не считает. Подскажите что я делаю не так. За ранее спасибо.Вложение 17864
Вы не читаете руководство в той части, где написано, что энкодер обнуляется каждый цикл (справедливости ради, руководства местами написаны не очень):Цитата:
Подскажите что я делаю не так.
То есть копить значения вы должны сами. Сделайте так:Цитата:
После чтения программой ПЛК значения триггера, оно обнуляется, т.е. за цикл ПЛК значения не только считываются, но и обнуляются, соответственно, накопления в триггере нет, и, при необходимости суммирования, исполнение этой функции осуществляется в программе.
Вложение 17866
Спасибо большое за ответ. Понял свою проблему.Но все равно не считает. Взял второй энкодер. Думал проблема в нем. Но нет. Что еще может быть? может сам энкодер не подходит?
Т.к. выходы А и В энкодера с открытым коллектором
Вложение 17877
то при таком подключении как Вы сделали, никакого напряжения с выхода энкодера нет.
Нужно использовать внешние резисторы между входами ПЛК и +24В
Вложение 17878
ЗЫ. Т.к. эта схема подключения инвертирует сизналы, то при подключении энкодера к ПЛК нужно поменять местами А и В, а то счет будет идти в обратную сторону.
Добрый день!
Где можно более подробно почитать про создание визуализаций в CoDeSys v2 ???
В книге есть только про светофор. Этого мало.
Читали этот документ?
http://www.kipshop.ru/CoDeSys/steps/...isu_v23_ru.pdf
С праздником всех! Народ, почему объявление локальной переменной в функции через 'AT' не вызывает ошибку компиляции? Что с происходит с этой переменной после вызова функции?
По стандарту в функциях действительно не допускается объявление таких переменных. Однако компилятор CoDeSys 2.x во многом забивает на этот стандарт — в частности на правило указывать в документации, что поддерживается и что не поддерживается. См. мои сообщения в теме CoDeSys v2.3.Цитата:
почему объявление локальной переменной в функции через 'AT' не вызывает ошибку компиляции?
Тут интереснее будет посмотреть, что происходит до вызова. По идее, если вы указываете расположение переменной в памяти через AT, то пропадает необходимость выделять и освобождать память под эту переменную. Получается то же самое, что обращение через объявленный в функции указатель на глобльную переменную — какая разница, что будет с указателем после вызова функции? Под вопросом остаётся инициализация, которая происходит после создания фрейма функции.Цитата:
Что с происходит с этой переменной после вызова функции?
Понятно, глобальный указатель значит - пусть будет указатель. Спасибо за ответ:)
Добрый день! PLC_PRG - перестал исполняется. Компиляция проходит успешно, но данная функция не вызывается.
Вложение 18003
Проект
Просто подумал, что это стандартный случай :)
Так включите ее в таск конфигуратор.
Вот так работает, иначе никак.
Напомните мне, при смене IP адреса в ПЛК160 после команды SetIP писать новый адрес? С пробелом нет?
Вопрос снимаю, всё выяснилось.
Добрый день. Скажите пожалуйста как вывести на печать проект написанный на языке CFC из CoDeSys?? Или есть возможность сохранить проект как изображение, чтобы в дальнейшем вставить в файл автокада?
Добрый день!
Вопрос по визуализации.
Отображаю переменную (REAL). Мне нужно чтобы было 2 знака после запятой (по умолчанию там 6 знаков). Согласно документации после символа форматирования нужно указать необходимое число знаков после запятой в виде количества букв "d", после символа.
Вложение 18062
Пишем как указано в документации..
Вложение 18063
Не получается ...
Вложение 18064
В чём подвох??? Как правильно записать форматирование???
Спасибо!