Ponch Posted October 19, 2010 Share Posted October 19, 2010 вот возник такой вопрос что у нас имеется контроллер 2210 пульт ДУ подключенный к 2210 и допустим лампочки на выходах можно ли составить такие условия 1)нажал кнопку и отпустил (замкнулось и разомкнулось) лампочка включилась, еще раз нажал, лампочка выключилась 2)зажал кнопку на 5 секунд иль более, лампочка включилась, еще раз зажал, выключилась Link to comment
Irina Posted October 22, 2010 Share Posted October 22, 2010 Можно сделать такое с использованием внутренних регистров. Для первой задачи программка будет примерно такого вида: #1 <IF> (DI-0 ON to OFF) AND (Internal Register-0=0) <THEN> (Internal Register-0=2) #2 <IF> (DI-0 ON to OFF) AND (Internal Register-0=1) <THEN> (Internal Register-0=3) #3 <IF> (Internal Register-0=2) <THEN> (DO-0=ON) AND (Internal Register-0=1) #4 <IF> (Internal Register-0=3) <THEN> (DO-0=OFF) AND (Internal Register-0=0) Link to comment
Irina Posted October 22, 2010 Share Posted October 22, 2010 Для второй задачи добавится таймер: #1 <IF> (DI-0 ON) AND (Internal Register-0=0) <THEN> (Internal Register-0=2) AND (Timer-0 START) #2 <IF> (DI-0 ON) AND (Internal Register-0=1) <THEN> (Internal Register-0=3) AND (Timer-0 START) #3 <IF> (Internal Register-0=2) AND (Timer-0 TIMEOUT) <THEN> (DO-0=ON) AND (Internal Register-0=1) AND (Timer-0 RESTART) #4 <IF> (Internal Register-0=3) AND (Timer-0 TIMEOUT) <THEN> (DO-0=OFF) AND (Internal Register-0=0) AND (Timer-0 RESTART) #5 <IF> (DI-0 OFF) AND (Internal Register-0=2) <THEN> (Internal Register-0=0) AND (Timer-0 STOP) #6 <IF> (DI-0 OFF) AND (Internal Register-0=3) <THEN> (Internal Register-0=1) AND (Timer-0 STOP) Link to comment
Ponch Posted October 22, 2010 Author Share Posted October 22, 2010 ну при таком раскладе мне не хватит строк только в первом случаи на 4 канала уже надо 16 строк условий у меня их 8 планируется использовать.... можно ли сделать условия попроще? либо мб вариант если соединить 2 контроллера таких по их шине (которая у них сбоку) кол-во строк как бы расширяется иль как? Link to comment
Ponch Posted October 22, 2010 Author Share Posted October 22, 2010 либо мб вариант есть доплатить и чтоб было у меня не 24 строки условия, а 124? т.к ведь проц вполне у него с большим запасом Link to comment
Ponch Posted October 22, 2010 Author Share Posted October 22, 2010 и кстати первая и вторая задача должны работать вместе, а там условия кажется пересекаются поясню мою задачу имеется два радио пульта 4 кнопки на каждом и я хочу разной комбинацией кнопкой делать различные задачи варианты команд 1)нажал\отпустил одну кнопку - выполнилось одно условие 2)зажал кнопку\ и отпустил - выполнилось другое условие 3)нажал одну+вторую и отпустил - выполнилось еще одно условие Link to comment
Ponch Posted October 23, 2010 Author Share Posted October 23, 2010 Можно сделать такое с использованием внутренних регистров. Для первой задачи программка будет примерно такого вида: #1 <IF> (DI-0 ON to OFF) AND (Internal Register-0=0) <THEN> (Internal Register-0=2) #2 <IF> (DI-0 ON to OFF) AND (Internal Register-0=1) <THEN> (Internal Register-0=3) #3 <IF> (Internal Register-0=2) <THEN> (DO-0=ON) AND (Internal Register-0=1) #4 <IF> (Internal Register-0=3) <THEN> (DO-0=OFF) AND (Internal Register-0=0) а я до этого все не мог понять что за регистры оказывается вот для чего еще пока не проверил но в теории тогда и так должно работать - сокращаем с 4 до 2 условий #1 <IF> (DI-0 ON to OFF) AND (Internal Register-0=0) <THEN> (DO-0=ON) AND (Internal Register-0=1) #2 <IF> (DI-0 ON to OFF) AND (Internal Register-0=1) <THEN> (DO-0=OFF) AND (Internal Register-0=0) Link to comment
Ponch Posted October 23, 2010 Author Share Posted October 23, 2010 проверил мой вариант не рабочий Link to comment
Irina Posted October 25, 2010 Share Posted October 25, 2010 можно ли сделать условия попроще? Проще, скорее всего, не получится. ioLogik читает все строки последовательно, поэтому приходится прибегать к внутренним регистрам. Такая программа работать не будет #1 <IF> (DI-0 ON to OFF) AND (Internal Register-0=0) <THEN> (DO-0=ON) AND (Internal Register-0=1) #2 <IF> (DI-0 ON to OFF) AND (Internal Register-0=1) <THEN> (DO-0=OFF) AND (Internal Register-0=0) Допустим, Internal Register-0=0, состояние входа DI-0 изменилось с ON на OFF. ioLogik начинает читать программу: #1 <IF> (DI-0 ON to OFF) AND *Да* (Internal Register-0=0) *Да* <THEN> (DO-0=ON) AND *Меняем состояние DO-0 на ON* (Internal Register-0=1)*Меняем значение внутреннего регистра на 1* #2 <IF> (DI-0 ON to OFF) AND *Да* (Internal Register-0=1) *Да* <THEN> (DO-0=OFF) AND *Меняем состояние DO-0 на OFF* (Internal Register-0=0) *Меняем значение внутреннего регистра на 0* Получается, что DO включится на долю секунды, пока ioLogik не дойдет до следующей строки программы. либо мб вариант если соединить 2 контроллера таких по их шине (которая у них сбоку) кол-во строк как бы расширяется иль как? Еще раз про общую шину. По общей шине к ioLogik E2210 можно подключать только модули R2110 и R2140. При этом подключенные модули R2100 будут точно так же опрашиваться по протоколу Modbus/RTU, логика Click&Go и прочие функции модулей серии ioLogik E2200 на них распространяться не будут. Такая опция подключения сделана лишь для того, чтобы можно было управлять большим количеством модулей, используя одно Ethernet-соединение. Соответственно, количество строк для условий Click&Go Logiс при подключении модулей серии R2100 никак не изменится. либо мб вариант есть доплатить и чтоб было у меня не 24 строки условия, а 124? т.к ведь проц вполне у него с большим запасом Теоретически при достаточно большом проекте можно обсуждать с производителями изменения программного обеспечения под ваши задачи. Link to comment
Ponch Posted October 27, 2010 Author Share Posted October 27, 2010 хм ну я думаю я не один кому не хватает тих 24 строк походу на 24 строки написать нормальную систему, из нескольких контроллеров и без использования компа невозможно я взял для первой пробы...., хотел сделать на основе этих железок-Умный дом, но так чтоб в качестве управление комп не использовался.., т.к он всетки не надежный вообще мы сами с нуля делали контроллеры, был свой протокол передачи - просто устали делать и дорабатывать, подумал мб попробовать готовое, т.к цены за последние 5 лет снизились хорошо.... а по сути та получается платишь достаточно большие деньги, но возможностей практически нету по сути я даже 2 пульта по 4 кнопки ет получается около 4 в кубе команд, чтоб эти команды написать 23 условия даже на 8 кнопок (4 кнопки на двух пультах) не возможно не говоря уже о системе где будет 50 контроллеров соединены между собой и делать выводы (как например нарисовано на картинке, что подключаете один контроллер с вводами, и к нему 5 контроллеров выводов, подключить можно, ну чтоб управлять ими всеми, строк та не хватит - это по сути получается 5 умноженное 8, ровно 40 самых простых команд (типа если на DI1=1, то сделать это), уже в 24 строки никак не укладываешься мне нужны будут 50 контроллеров для моей дачи - чтоб договариваться с производителем на счет переделки специальной прошивки думаю было бы удобней для всех сделать прошивку новую которая позволяет около 200 условий создавать.... Link to comment
Irina Posted October 28, 2010 Share Posted October 28, 2010 ну я думаю я не один кому не хватает тих 24 строк походу на 24 строки написать нормальную систему, из нескольких контроллеров и без использования компа невозможно Да, были такие запросы, но это буквально 1-2 проекта, что очень немного относительно всего объема устройств. В принципе, под конкретную задачу возможно расширение количества строк до 50. Но это в любом случае не будет стандартной функцией. Основная причина в том, что существующие на данный момент модели ioLogik (серии E2200, E4200, W5000) - это простые устройства, и по функциям, и по настройке. В ближайшее время планируется расширение линейки - появятся новые устройства поддерживающие программирование по стандарту МЭК 61131, для более сложных задач. Click&Go - для простого программирования. Чаще всего ioLogik E2200 используются в связке с компьютером. Click&Go дает некоторые дополнительные возможности локального управления. Это не свободно программируемые контроллеры, это простая локальная логика. (как например нарисовано на картинке, что подключаете один контроллер с вводами, и к нему 5 контроллеров выводов, подключить можно, ну чтоб управлять ими всеми, строк та не хватит - это по сути получается 5 умноженное 8, ровно 40 самых простых команд (типа если на DI1=1, то сделать это), уже в 24 строки никак не укладываешься Если имеется в виду такая картинка: то здесь речь идет о функции Remote Action и о возможности отправить команду одновременно на 5 IP-адресов. <IF> (DI-0 ON ) <THEN> (DO-0=ON) AND (Send Remote Cmd. Set # 1 To ...) При замыкании DI-0 отправить команду 1 на 5 модулей (5 IP-адресов). Это всего одна команда. Link to comment
Ponch Posted October 28, 2010 Author Share Posted October 28, 2010 Да, были такие запросы, но это буквально 1-2 проекта, что очень немного относительно всего объема устройств. я думаю остальные просто молча берут другие контроллеры и все ну меня простая локальная логика впринципи устраивает для не сложных задач, но нужно кол-во строк а для сложных задач, там да либо дорогие контроллеры, либо комп использовать, но комп штука не надежная что нужно чтоб у меня была возможность сделать 50 строк хотябы? В ближайшее время планируется расширение линейки - появятся новые устройства поддерживающие программирование по стандарту МЭК 61131, для более сложных зада когда точнее планируется? и будет аналог 2210 за 500 долларов? иль речь идет о контроллерах которые зашкаливают за 2000$ ? я просто думаю заняться автоматизацией и у меня стоит выбор над контроллерами Link to comment
Irina Posted November 2, 2010 Share Posted November 2, 2010 Напишите, пожалуйста, запрос мне на почту maslenkova@nnz.ru, я поясню, какая информация будет нужна от вас. Link to comment
Ponch Posted November 2, 2010 Author Share Posted November 2, 2010 отправил вам запрос на почту вот как бы просьба такая чтоб было 100-200 строк была возможность делать больше трех условий в одной строке - думаю тут понятно что я имел виду была возможность чтоб внутри строки можно было разделять и AND и OR между условиями, а не так что на все три условия либо AND либо OR - ну я думаю понятно что я хотел написать Link to comment
PEKlo+++ Posted March 21, 2011 Share Posted March 21, 2011 Доброго дня всем... Раз ветка по программированию, да ещё для "чайников", задам свой вопрос. Имеются: -ioLogik E2210 (или E2212); -ioLogik E2214. Кнопки без фиксации подключены к DI-0, DI-1, DI-2 ioLogik E2210; Нагрузка (светодиоды) подключены к DO-0, DO-1, DO-2 (Реле, "сухие" контакты) ioLogik E2214. Оба Лоджика подключены к ЛВС. В режиме Peer to Peer работают "на ура". А как реализовать задержку выключения реле Е2214 на 5-10 секунд после отпускания кнопки на Е2210? Я так понимаю, что возможно что-то одно: или логика на собственных I/O контактах устройства, или функция Peer to Peer? Порознь и Логика и Peer to Peer броде бы понятны.... А как их "скрестить"? Link to comment
Komantsev Posted March 21, 2011 Share Posted March 21, 2011 Добрый день! А в принципе можно скрестить. Есть в Click&Go механизм "Remote Action", который в чем-то очень похож на Peer-to-Peer. Он дает команду удаленному модулю на выполнение чего-либо. Я сейчас в командировке, под рукой нет ioLogik. Но для Вашей задачи программа (схематично) должна иметь вид: На E2210: if DI then Timer_Start if Timer_Finish then Remote_Action_to_E2214 На E2214: if Remote_Action_from_E2210 then DO Попробуйте реализовать. Если не получится, через пару дней напишу точную программу. Link to comment
PEKlo+++ Posted March 21, 2011 Share Posted March 21, 2011 Спасибо, весьма оперативно. Буду пробовать. О результатах сообщу. Link to comment
PEKlo+++ Posted March 21, 2011 Share Posted March 21, 2011 Спасибо за наводку, всё получилось! Только немножко не так: 2210 IF DI-0 ON Then Send Remote Cmd Set#1 To 2214 2214 IF Recive Remote Cmd Set#1 from 2210 Then DO-0=ON AND Timer-0 START IF Timer-0 TIMEOUT Then DO-0=OFF AND Timer-0 STOP В самом таймере выставляем требуемое время задержки. Отлично! Теперь думаю, как организовать обратную связь к оператору (например светодиод) о том, что там, вдали, что-то во включенном состоянии, пока работает таймер. Link to comment
Komantsev Posted March 22, 2011 Share Posted March 22, 2011 Теперь думаю, как организовать обратную связь к оператору (например светодиод) о том, что там, вдали, что-то во включенном состоянии, пока работает таймер. Честно говоря, не совсем понял, что именно надо. Если поясните, попробую помочь с программой Link to comment
PEKlo+++ Posted March 23, 2011 Share Posted March 23, 2011 Честно говоря, не совсем понял, что именно надо. Если поясните, попробую помочь с программой Спасибо, но всё что нужно было, получилось. А нужно было организовать обратную связь на пульт управления с целью индикации состояния контактов удалённого реле (замкнуты/разомкнуты). Точно так же, с помощью Remote_Action отправляю с удалённого Лоджика команды ВКЛ/ВЫКЛ, а на ближнем Лоджике, по их приходу, включаю/выключаю DO в Pulse Mode. Светодиоды моргают, пока удалённый Лоджик отрабатывает включенное состояние. Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now