я это сделал а вот как бит определить для ип 320?
Вид для печати
я это сделал а вот как бит определить для ип 320?
Если в конфигурации ПЛК есть необходимый модуль слейв и в нем есть элемент 8bit, и один из этих бит предполагается использовать в качестве ну например, индикатора, то нужно сначала высчитать ПОБИТОВЫЙ адрес этого регистра в модуле слейв с учетом выравнивания, о чем я собственно и писал раньше. Затем этот адрес нужно указать в настройках индикатора конфигураторе панели.
Ну например, если элемент 8bit в модуле слейв стоит на самом верху, то адреса его битов будут с 0 до 7, соответственно и в конфигураторе панели нужно задать один из этих адресов, например 0х0
Посмотрите вот этот пример, сваял по-быстрому, но попробовать сейчас не на чем.
Добрый день.
Помогите пожалуйста с условием в программе "Счетчик"(прилагается) на SFC в блоке "MIG" для возврата к первому блоку.
Программа должна позволить оператору по нажатию кнопки (зацепленной к DI) задавать нужные параметры в станке (например: параметры под №1, №2 и т.д.), причем на выходе (DQ) лампочка будет оповещать о номере выбранных параметров (например: 1 мигание - параметры под №1, 2 мигания - параметры под №2 и т.д.)
Если можно организовать это как-то проще буду только рад лицезреть ;)
как вы с помощью t_bNP выбираете номер подпрограммы? counter обнулять совсем не надо?
условием можете использовать f_trig со входом MIG_TP_b2.Q
p.s. что-то оно у вас не очень продумано. один раз нажали - выбралась первая подпрограмма, нажали еще раз - выбралась вторая прога. а если нажали еще раз? и как выбрать после второй снова первую?
p.p.s. имхо логика кривоватая
для случая с одной кнопкой и одной лампочкой мне припоминается логика программирования таблеток от к***та - длительное нажатие кнопки - вход в режим конфигурирования, далее выбор режима несколькими нажатиями кнопки без длительных перерывов, длительный перерыв в нажатиях ведет к запоминанию номера режима по количеству нажатий. реализуется все на таймерах.
Эта часть программы будет прицеплена к основной, в которой в зависимости от counter=1 или 2 и т.д. будут подставляться данные из массива в параметры. А t_bNP - это всего лишь кнопка (прошу прощения, в программе коммент более подробно надо было описать), которая по единому нажатию производит 1 цикл программы
надобы =) просто вопрос встал, как задать условие на 2 цикле, когда counter = 2, а там и можно обнулить:)
спасибо, попробую ;)
зациклить думаю. Допустим, после 4ой будет следующая - 1ая
на счет кривоватости - не спорю:D практики нет
интересный пример
Здравствуйте, подскажите назначение реальных входов и выходов в окне переменных происходить автоматически или нужно вручную прописывать входы к контактам(QI) и катушки к выходам(QX) ПЛК?
Добрый день, помогите разобраться, не могу наладить связь RS-485 между ПЛК-160 и панелью Weitek, панель выдает ошибку - нет ответа контроллера подскажите в какую сторону рыть, возможных причин масса, подскажите очевидные, кто уже работал с этой панелью
может быть у кого нибудь есть пример настройки rs-485 на панели, буду очень благодарен
Для создания привязанных к выводам переменных пользуйтесь конфигуратором ПЛК.Цитата:
Здравствуйте, подскажите назначение реальных входов и выходов в окне переменных происходить автоматически или нужно вручную прописывать входы к контактам(QI) и катушки к выходам(QX) ПЛК?
http://images.devs-on.net/Image/o7Dy...ysSilenaCo.png
vooodooo22 ничего страшного, рад помочь
ssl попробуйте вместо простого MODBUS RTU драйвера использовать MODBUS RTU (zero-based addressing) драйвер, полагаю т.к. у вас в конфигурации плк добавлен всего 1 регистр, для ПЛК ОВЕН он имеет адрес 0, а панель обращается к адресу 1
пробовал и Modbus RTU и Zero-baised никакой реакции, мне бы один работающий пример и был бы счастлив!
Возник вопрос, чем отличается Tcp/Ip (Level 2 Route) от обычного Tcp/Ip (Level 2)?
[QUOTE=YuriBel;82708]Если в конфигурации ПЛК есть необходимый модуль слейв и в нем есть элемент 8bit, и один из этих бит предполагается использовать в качестве ну например, индикатора, то нужно сначала высчитать ПОБИТОВЫЙ адрес этого регистра в модуле слейв с учетом выравнивания, о чем я собственно и писал раньше. Затем этот адрес нужно указать в настройках индикатора конфигураторе панели.
Ну например, если элемент 8bit в модуле слейв стоит на самом верху, то адреса его битов будут с 0 до 7, соответственно и в конфигураторе панели нужно задать один из этих адресов, например 0х0
Посмотрите вот этот пример, сваял по-быстрому, но попробовать сейчас не на чем.
А если у меня элимент 2byta то как биты определить???
а ставить любой что ли??
Подскажите новичку.
Вход ID - кнопка, выход QD - лампа. Любой язык МЭК. Кнопку жмем 2 раза. Как сделать так, чтобы лампа зажглась только после второго нажатия на кнопку?
пардон... вроде нашел..."Функциональный блок 'декрементный счетчик' " - CTU :)
уважаемый swerder, не могли бы Вы подсказать, где можно подсмотреть этот пример? Гугл результатов не дал:o
vooodooo22
т.к. описание поверхностное, то и код выполняет только зажигание лампы
про пример - не знаю, таблетку в руках держал, настраивал.Код:var
iButton at %ix0.0.0 : bool;
oLamp at %qx1.0 : bool;
ctu_ : ctu;
end_var
ctu_(CU := iButton, RESET := FALSE, PV := 2);
oLamp := ctu_.Q ;
Чтобы у вас следующий вопрос не возник через минуту после просмотра такого примера, продвиньтесь чуть дальше в исходных требованиях. Для того, чтобы зажечь лампочку, вполне подойдет счетчик CTU из библиотеки Standard.lib, но для того, чтобы его правильно объвязать, нежно понимать, как должна себя повести лампочка в дальнейшем. при третьем, четвертом и т.д. нажатиях она остается гореть или должна погаснуть? Или должна погаснуть через какое-то время? Или по нажатию другой кнопки? . Чуть расширьте так сказать, ТЗ, тогда и пример получтися более показательным.
Распиновка у панели вот такая, 1 подсоединяю к А, 2 подсоединяю к В, куда на контроллере подсоединять землю?
Программа должна позволить оператору по нажатию кнопки (зацепленной к DI) задавать нужные параметры в станке. (например: параметры под №1, №2,... , №n ), причем на выходе (DQ) лампочка будет оповещать о номере выбранных параметров.
Пример:
• одно нажатие - 1 мигание - параметры под №1,
• еще одно нажатие - 2 мигания - параметры под №2, ... ,
• еще одно нажатие - n миганий - параметры под №n
После n-го нажатия следующее нажатие приведет к
- 1 мигание - параметры под №1 (т.е. замкнутый цикл)
Пока набросал кусок программки без учета выбора параметров. Что-то получилось громоздко :( ps. Чет я там с инверсией и NOT намудрил, их убрать надо. Перегрелся походу вчера к концу рабочего дня =)
Наводящие вопросы:
Чему в реальноси равно n?
Есть ли еще свободные входы и выходы?
Я к чему все это спрашиваю - если n невелико и есть n свободных выходов для лампочек, и еще 2 входа для кнопок, то мне казалось бы более эргономичным и логичным построить поцесс следующи образом:
1. Кнопка выбора параметра подает импульсы на вход счетчика.
2. По первому нажатию этой кнопки запускается таймер, который через некоторое время сбросит счетчик, если оператор начал прооцедуру выбора, но не закончил ее
3. Параллельно с этим таймером сброс счетчика может быть произведен при помощи кнопки №2 (на случай, если оператор проскочил мимо, чтобы не ждать срабатывания таймера. Таймер по нажатию этой кнопки нужно будет перезапустить.
4. n лампочек через дешифратор или семисегментный индикатор через дешифратор (или если не хватает выходов, то индикатор на RS485) покызывает текущее значение счетчика.
5. Нажатие кнопки №3 переводит программу в раздел установки нужного блока параметров в зависимости от текущего значения счетчика.
6. как поступить со счетчиком при достижении им максимального значения, можно придумать (например сбросить и запустить поцесс по новой).
Вот как-то так.
Для оператора это будет понятней, чем считать мигания лампочки.
• n = 8
• входы/выходы есть, но они в дальнейшем потребуются для других целей
За пример большое спасибо! Попробую учесть некоторые нюансы. Если в моем примере упрусь в стенку, попробую реализовать Ваш;)
"Упрусь в стенку" - не продуман толком сброс счетчика "CTUprgrmN" для возврата к программе №1, был бы рад подсказке ;)
прикрепил скрин.
все решил, громоздко, но четко =) Сброс работает по 4-ому нажатию
Хочу связать панель Weintec, контроллер ПЛК-160 и МВА8, контроллер МАСТЕР для МВА8, панель МАСТЕР для контроллера, подскажите по конфигурации, когда запускаю Мастер для опроса МВА8 панель начинает тупить, то выдает, что нет связи, то с большой задержкой реагирует на прикосновения
ssl другими словами, включенная панель weintek, являясь мастером для контроллера плк160, начинает подтормаживать при подаче питания на контроллер? желтое окошко о потере связи появляется?
Появляется, исчезает панель реагирует с огромной задержкой или вообще не реагирует, когда в ПЛК отключаю мастер опрашивающий МВА - все нормально
т.е. Вы у вас на одних проводах два мастера?
или панель перенесите на 232 порт, или панель сделайте шлюзом для МВА8
ssl вы опишите структуру связи ваших приборов, а то пока не понятно кто у вас там мастер и сколько мастеров у вас там
да и так понятно, если панель на 485 цепляет.
точно, упустил это
Подскажите, можно-ли панель сделать ведомым прибором?
Можно, только не совсем удобно. Настройте её как MODBUS Server, как адреса панели соответствуют регистрам, есть в инструкции. Потеряете реальную скорость связи, если не воспользуетесь способом Валенка, т.е. самописный модбас в контроллере и связь пакетами.
Можно проще, но не феншуйно:
Оставьте в контроллере только слейв, Панелью опрашивайте МВА8 и пересылайте данные по времени в контроллер, там есть такая фича. адрес устройства, отличный от того что задали по умолчанию, пишут как 1# перед номером регисрта.
но по феншую, пересадить панель на 232 порт контроллера.
Дело в том, что планируется зацепить три панели на контроллер, думаю в сети они себя вести будут плохо
вы, ssl, хорошо формулируете вопросы :)
в - не работает панель с контроллером
о - сделайте так и так
в - тормозит панель на rs485
о - так у вас 2 мастера на линии - разнесите на разные порты
в - видите ли, планируется 3 панели использовать...
ssl с тремя панелями вам 2 пути:
1. настроить все три как slave приборы, контроллер-мастер будет опрашивать панели.
- не очень удобно.
+ без разницы на каком порте контроллера будут висеть.
2. соединить 3 панели цепочкой, первую настроить как мастера для ПЛК, 2 следующие настраивать по принципу "удаленный плк"
+ удобное управление в итоге
- сложная настройка, нужен свободный порт на контроллере, не уверен, что поддерживается вашей панелью
Удаленный ПЛК, насколько я понимаю, это связь по Ethernet? Если да, то этот вариант отметается, остается настроить Панели как Слейв. А на счет вопросов, прошу прощения, недостаток базового образования.
ethernet сугубо между панелями. от панели до плк любой удобный вам способ связи.