Устанавливаю сию прогу, а она ругается и просит пароль где взять не подскажете ???Ali писал(а):Roman_K писал(а): Куда копать, подскажите, плиз
...Заходим в KS2000...
Элементы "умного дома" на Beckhoff
Re: Элементы "умного дома" на Beckhoff
Re: Элементы "умного дома" на Beckhoff
Он просит не пароль, а серийный номер. За серийными номерами - google подаст... На первой же странице поиска.
Re: 11. Пометки на полях о программировании Beckhoff
Ali, расскажите пожалуйста как у вас заработали Remanent и Persistent переменные.Ali писал(а):Некоторые мысли, которые могут быть полезны при программировании контроллера
1) Remanent и Persistent переменные
У меня выдает ошибку при компиляции: "The current target does not support the 'PERSISTENT' flag".
В "TwinCAT System Manager" активен checkbox "Store Retain Data" и размер 64 байта - все по умолчанию.
Есть лишние модули Beckhoff. Пишите в личку.
Re: Элементы "умного дома" на Beckhoff
Cyb650. Напишите какой у вас контроллер - и сразу расскажу
Re: Элементы "умного дома" на Beckhoff
У меня их 2 - BC9000 и BC9100 - оба не работают в этом смысле)Ali писал(а):Cyb650. Напишите какой у вас контроллер - и сразу расскажу
Кстати, в ваших примерах видел использование "VAR_GLOBAL" для определения глобальных переменных - у меня тоже выдает ошибку компиляции (предлагает использовать VAR, VAR_INPUT, VAR_OUTPUT или VAR_IN_OUT)...
Есть лишние модули Beckhoff. Пишите в личку.
Re: Элементы "умного дома" на Beckhoff
Про серию BC9000 я вроде писал в своем посте, что там не надо применять в тектсе программы слово PERSISTENT. В контроллере BC9000 они явно выделяются в памяти. И если переменная попала в эту область, то хош-не-хош а она будет PERSISTENT... Вечерком почитаю, что я там в прошлый раз написал и попробую расписать еще раз более подробно.
Re: Элементы "умного дома" на Beckhoff
По поводу ругани на VAR_GLOBAL. Если не сложно, сделайте какой нибудь тестовою прогу где это ругается, я у себя скомпилирую и отвечу. Ок?
Re: Элементы "умного дома" на Beckhoff
Вот, например:Ali писал(а):По поводу ругани на VAR_GLOBAL. Если не сложно, сделайте какой нибудь тестовою прогу где это ругается, я у себя скомпилирую и отвечу. Ок?
Код: Выделить всё
PROGRAM MAIN
VAR_GLOBAL
OUT_H2_R1_L AT %QX0.0: BOOL;
END_VAR
Код: Выделить всё
OUT_H2_R1_L := FALSE;
Error 3780: MAIN(2): 'VAR', 'VAR_INPUT', 'VAR_OUTPUT' or 'VAR_IN_OUT' expected
Есть лишние модули Beckhoff. Пишите в личку.
Re: Элементы "умного дома" на Beckhoff
А почему в разделе PROGRAM MAIN. Я описываю глобальные переменные в отдельном месте - в разделе глобальнызх переменных. В PLC Control на левом блоке внизу выбираю самую последнюю закладку. Это блок Resources. В нем раздел Global Variables. Там и объявляем переменные глобальные.
Re: Элементы "умного дома" на Beckhoff
Так работает.Ali писал(а):А почему в разделе PROGRAM MAIN. Я описываю глобальные переменные в отдельном месте - в разделе глобальнызх переменных.
Да, на практике оказалось, что переменные вида "%MB.." сохраняются после перезагрузки и без флага.Ali писал(а):Про серию BC9000 я вроде писал в своем посте, что там не надо применять в тектсе программы слово PERSISTENT.
Спасибо!
Есть лишние модули Beckhoff. Пишите в личку.
Re: Элементы "умного дома" на Beckhoff
Это не практика, это так заложено в системе. Есть область переменных. В ней можно выделить сколько ПЕРВЫХ байт являются PERSISTENT. По умолчанию 64. Это настраивается через программу KS2000. Там есть специальный раздел для этого. Потом, в области PERSISTENT можно указать, сколько ПЕРВЫХ байт являются REMANENT. Это делается также через KS2000 но более сложным способом. Таким образом PERSISTENT и REMANENT переменные в серии BC9000 могут быть ТОЛЬКО в первых байтах памяти. Это надо помнить при написании программы. Обычно все начинают писать и начинают размещать по порядку данные. А надо их сразу выносить за зону 64 байт. А потом потихоньку переносить те переменные которые достойны быть PERSISTENT или REMANENT
Re: Элементы "умного дома" на Beckhoff
Похоже моя очередная идея - сделать из нашего контроллера считыватель Wiegand протокола, используемый в СКУД - практически накрылась медным тазом.
В чем она состояла: сигнал виганд-протокола представляет из себя последовательность импульсов по 2 проводам, которые нужно определять, а затем декодировать. Если в 1 проводе логическая единица, т.е. 5В относительно земли, а во втором логический ноль, то передалась часть кода, содержащая единицу "1" в двоичной системе счисления, если наоборот - "0". Считывая последовательность сигналов, собираем всю "посылку", например что-то вроде "011110011011011010001010110". В общем в теории все было просто. На практике, поначалу, тоже. Была закуплена ардуина, для которой был уже готовый написанный код, который я разобрал и понял суть алгоритма. После этого нужно было перенести это на бекхофф. Считыватель SmartTec ST-PR170MK, который я хотел использовать для того, чтобы по RFID метке открывать замок дома, выдает сигнал 5В, поэтому на ибэе был найден модуль KL1124 - 4х канальный модуль дискретных сигналов 5В. К нему KL9505, чтобы обеспечить эти самые 5В....
Поначалу все шло хорошо, немного помучавшись с общей "землей" (считывателю требуется 6-14В для работы, на 5 не работает) все это хозяйство было подключено. В момент нажатия кнопок на считывателе и при поднесении RFID метке, светодиод на модуле 1124 весело моргал, сообщая о том, что сигнал до него доходит. Однако разочарования ждало меня чуть позже. Оказывается, контроллер работает в своем цикле и считывает показания с модуля только в тот момент, когда доходит до места в программе, где мы это показание берем. Если же данные "прилетают" в контроллер в момент, когда он обсчитывает что-то другое, то они просто "теряются". Причем, посылка виганд-протокола состоит из 34 бит и соответственно 34 передних и задних фронтов. А контроллер ловит ~15-20% от количества посылок! Не говоря уже об отдельных битах этих посылок.
Короче говоря, не хватает скорости опроса. На ардуино используется подсчет фронтов, а инициализируются прерывания. Оно работает так: когда приходит очередной бит, основной цикл останавливается, запускается прерывание и выполняется его обработка. Времени около 20-250 мкс, которое требуется по стандарту между битами посылки, ардуине хватает на обработку этого прерывания и получения всех данных.
Гуглеж в интернетах с целью найти способ использовать прерывания на контроллере не увенчался успехом. Вот теперь сижу и думаю, что же делать, неужели все так печально закончится и придется покупать обычный виганд-контроллер за многоденег с релейными выходами, или все же что-то можно сделать?
Спасибо всем, кто осилил многобукав и мой стиль письма.
В чем она состояла: сигнал виганд-протокола представляет из себя последовательность импульсов по 2 проводам, которые нужно определять, а затем декодировать. Если в 1 проводе логическая единица, т.е. 5В относительно земли, а во втором логический ноль, то передалась часть кода, содержащая единицу "1" в двоичной системе счисления, если наоборот - "0". Считывая последовательность сигналов, собираем всю "посылку", например что-то вроде "011110011011011010001010110". В общем в теории все было просто. На практике, поначалу, тоже. Была закуплена ардуина, для которой был уже готовый написанный код, который я разобрал и понял суть алгоритма. После этого нужно было перенести это на бекхофф. Считыватель SmartTec ST-PR170MK, который я хотел использовать для того, чтобы по RFID метке открывать замок дома, выдает сигнал 5В, поэтому на ибэе был найден модуль KL1124 - 4х канальный модуль дискретных сигналов 5В. К нему KL9505, чтобы обеспечить эти самые 5В....
Поначалу все шло хорошо, немного помучавшись с общей "землей" (считывателю требуется 6-14В для работы, на 5 не работает) все это хозяйство было подключено. В момент нажатия кнопок на считывателе и при поднесении RFID метке, светодиод на модуле 1124 весело моргал, сообщая о том, что сигнал до него доходит. Однако разочарования ждало меня чуть позже. Оказывается, контроллер работает в своем цикле и считывает показания с модуля только в тот момент, когда доходит до места в программе, где мы это показание берем. Если же данные "прилетают" в контроллер в момент, когда он обсчитывает что-то другое, то они просто "теряются". Причем, посылка виганд-протокола состоит из 34 бит и соответственно 34 передних и задних фронтов. А контроллер ловит ~15-20% от количества посылок! Не говоря уже об отдельных битах этих посылок.
Короче говоря, не хватает скорости опроса. На ардуино используется подсчет фронтов, а инициализируются прерывания. Оно работает так: когда приходит очередной бит, основной цикл останавливается, запускается прерывание и выполняется его обработка. Времени около 20-250 мкс, которое требуется по стандарту между битами посылки, ардуине хватает на обработку этого прерывания и получения всех данных.
Гуглеж в интернетах с целью найти способ использовать прерывания на контроллере не увенчался успехом. Вот теперь сижу и думаю, что же делать, неужели все так печально закончится и придется покупать обычный виганд-контроллер за многоденег с релейными выходами, или все же что-то можно сделать?
Спасибо всем, кто осилил многобукав и мой стиль письма.
Re: Элементы "умного дома" на Beckhoff
MerryKaze, спасибо за опыт. Он всегда полезен, тем более чужой но не унываем!!! Сколько, еще раз, между битами данных по стандарту времени проходит? Чтобы можно было прикинуть что можно сделать.
Re: Элементы "умного дома" на Beckhoff
Али,
Википедия говорит, что в зависимости от устройства, интервал составляет от 20 мкс до 250 мкс.
В характеристиках входных модулей бекхофа есть параметр "входной фильтр", который у KL1124 составляет 0,2 мс = 200 мкс. Насколько я понимаю, он нужен для фильтрации различных помех в линии, таких как дребезг контактов кнопок. Вот, видимо, он и фильтрует практически все сигнальные импульсы.
Википедия говорит, что в зависимости от устройства, интервал составляет от 20 мкс до 250 мкс.
В характеристиках входных модулей бекхофа есть параметр "входной фильтр", который у KL1124 составляет 0,2 мс = 200 мкс. Насколько я понимаю, он нужен для фильтрации различных помех в линии, таких как дребезг контактов кнопок. Вот, видимо, он и фильтрует практически все сигнальные импульсы.
Re: Элементы "умного дома" на Beckhoff
MerryKaze, как вариант, оставьте ардуину в качестве интерфейсного модуля, а бекхофу выдавайте декодированный результат по модбасу.
Также можно попробовать покопать в сторону бекхофовского RS232 модуля.
Также можно попробовать покопать в сторону бекхофовского RS232 модуля.
Есть лишние модули Beckhoff. Пишите в личку.
Re: Элементы "умного дома" на Beckhoff
Да, FILTER TIME в маркировке модуля - это фильтрация помех на входе. То есть если время сигнала меньше чем время вильтра, то модуль данный сигнал не пропускает. 0,2 ms - это минимальный фильтр, меньше нет. Но на сам деле наверное проблема не только в этом... Контроллер не работате по прерыванию, то есть у него совершенно четкое время исполнения. И я прикинул, что даже если его зажать по максимуму (есть параметр в KS2000) то вероятность пропустить сигнал очень высокая... Так что действительно печалька... Я в конце февраля в Китай по делам поеду. Вот думаю знакомым там забросить удочку поискать дешевый wiegand controller или преобразователь, чтобы его можно было с Beckhoff поженить... Надо посмотреть на таобао, куда китайская мысль смотрит в этом плане...
Re: Элементы "умного дома" на Beckhoff
Подскажите есть ли эмулятор какой-нибудь оборудования? Еще не пришло оборудование, а уже хочу как-то поиграться с кодом, чтобы когда собрал, уже можно было написать быстро плюсовый код для обращения к оборудованию
Re: Элементы "умного дома" на Beckhoff
Да, можно. Рисуете в разделе Визуализация, затем Онлайн-режим эмуляции-подключение. На рутрекере есть короткий видео курс-введение Кодесис (правда про Овен, но разницы большой нет, Beckhoff/Wago или Овен).Fizik писал(а):Подскажите есть ли эмулятор какой-нибудь оборудования? Еще не пришло оборудование, а уже хочу как-то поиграться с кодом, чтобы когда собрал, уже можно было написать быстро плюсовый код для обращения к оборудованию
Re: Элементы "умного дома" на Beckhoff
Нашел неплохой вариант реле на дин рейку для сабжевого дела:
75$ за 10А*16
118$ за 16А*16
отдельно реле по 3-5$
http://www.ebay.com/itm/DIN-Rail-Mount- ... 5660dbf7fa
http://www.ebay.com/itm/DIN-Rail-Mount- ... 5660dbf7d1
что скажет общественность?
75$ за 10А*16
118$ за 16А*16
отдельно реле по 3-5$
http://www.ebay.com/itm/DIN-Rail-Mount- ... 5660dbf7fa
http://www.ebay.com/itm/DIN-Rail-Mount- ... 5660dbf7d1
что скажет общественность?
Re: Элементы "умного дома" на Beckhoff
Наверное, неплохой вариант, 1 реле 16А получается 260 р.
Себе брал реле Finder - довольно известная компания. У меня получилось меньше 250 за 16А реле с колодкой на дин-рейку. Реле с индикатором и механическим переключателем. Кроме того, ширина модуля в сборе (реле+колодка) составляет всего 16мм, что немаловажно, на мой взгляд.
Себе брал реле Finder - довольно известная компания. У меня получилось меньше 250 за 16А реле с колодкой на дин-рейку. Реле с индикатором и механическим переключателем. Кроме того, ширина модуля в сборе (реле+колодка) составляет всего 16мм, что немаловажно, на мой взгляд.