|
  |
Программирование EasyTools |
|
|
|
3.3.2008, 16:41
|
Группа: Участники форума
Сообщений: 241
Регистрация: 3.9.2007
Из: СПб
Пользователь №: 11054

|
Уважаемые учатники форума. Поделитесь пожалуйста опытом, если кто работал с контроллерами РСО2 Carel. Вопрос в том, что при загрузке программы в контроллер подвисает экран. Неактивны все кнопки. Сам контроллер на внешние раздражители реагирует, во всяком случае входы видит. Заранее спасибо.
|
|
|
|
Гость_mike-altai_*
|
3.3.2008, 18:22
|
Guest Forum

|
Цитата(begem @ 3.3.2008, 19:41) [snapback]228015[/snapback] ... Вопрос в том, что при загрузке программы в контроллер подвисает экран. Опишите подробнее процесс загрузки программы в контроллер. Контроллер со встроенным экраном, или с внешней панелью PGD? Какие сообщения выдаёт WinLoad? Если выводится сообщение об успешной загрузке, то необходимо закрыть окно WinLoad`а. После этого контроллер загрузится с новой программой.
|
|
|
|
|
3.3.2008, 20:36
|
Группа: Участники форума
Сообщений: 241
Регистрация: 3.9.2007
Из: СПб
Пользователь №: 11054

|
Дисплей не PGD. Отдельный 4-х строчный терминал. Пррограмма загружается в контроллер корректно, да и загружаю не в первый раз.  Более рання версия работает без таких ошибок, только проверил. Постепенно удаляя все дополнения которые сделал позже и загружая, добился что ошибка ушла. Выходит дело не в процессе загрузки . а в алгоритме программы, а в этом вы уже не поможете  Ну . думаю, повозившись еще денек найду где ошибся. Кстати , это не единственный вопрос . Есть еще несколько вопросов. Но опять же по реализации алгоритма. Например, недельная программа. С помощью каких атомов или макроблоков ее сделать? Спасибо за помощь.
|
|
|
|
Гость_mike-altai_*
|
4.3.2008, 6:28
|
Guest Forum

|
Цитата(begem @ 3.3.2008, 23:36) [snapback]228069[/snapback] ... Например, недельная программа. С помощью каких атомов или макроблоков ее сделать? Включение/выключение в назначенное время можно сделать на семи (по количеству дней) макроблоках FASCIA_O. День недели определяется с помощью макроблоков DATA И DAY_WEEK. Будут вопросы - напишу подробнее.
|
|
|
|
|
4.3.2008, 10:06
|
Группа: Участники форума
Сообщений: 241
Регистрация: 3.9.2007
Из: СПб
Пользователь №: 11054

|
Выяснил. Контроллер зависал по причине одной системной переменной Serial0 protocol. Удалил, поставил serial1 protocol. Только еще бы разобраться почему так произошло  Насчет недельной программы , спасибо, посмотрю. Еще вопрос, если можно. аварии делал не с помощью специализированных масок. Использовал обычные. В результате: допустим по цифровому входу авария прошла авария, алгоритм атроботал, зажглась надпись, нажимаю еще раз на ALARMS - Задействует маску, где пишется , что нет аварии. При этом авария еще не сброшена. Видимо что-то в коде прописать забыл, а вот что - не пойму.
|
|
|
|
Гость_mike-altai_*
|
4.3.2008, 10:43
|
Guest Forum

|
Цитата(begem @ 4.3.2008, 13:06) [snapback]228173[/snapback] ... Видимо что-то в коде прописать забыл, а вот что - не пойму. У меня в Mask code написано: enable(al_frost,x) key( Enter )= { set(res_al_p,x) }где: res_al_p - переменная, прицепленная ко входу R атома SR. В 1 она устанавливается по кнопке Enter, сбрасывается атомом PULSE через секунду после установки. На вход S поступает сигнал аварии с циф. входа, на выходе атома SR формируется авария al_frost.
Сообщение отредактировал mike-altai - 4.3.2008, 10:45
|
|
|
|
|
4.3.2008, 12:34
|
Группа: Участники форума
Сообщений: 241
Регистрация: 3.9.2007
Из: СПб
Пользователь №: 11054

|
У меня есть одна общая маска. Нужно сделать вот что: при нажатии кнопки ENTER если есть какая-то авария , то показать именно ту аварию, которая активна.
|
|
|
|
|
4.3.2008, 12:46
|
Группа: Участники форума
Сообщений: 241
Регистрация: 3.9.2007
Из: СПб
Пользователь №: 11054

|
Спасибо. С авариями получилось так, как хотел. Немного громоздко, но все-же получилось.  теперь возьмусь за недельную программу.
|
|
|
|
Гость_mike-altai_*
|
4.3.2008, 13:02
|
Guest Forum

|
Я делаю на каждую аварию собственную маску. При нажатии кнопки <Alr> осуществляется переход на первую аварийную маску. При этом отображается маска с активной аварией. Если аварий несколько, то просмотреть все можно, нажимая кнопки Вверх/Вниз. Сброс аварии по кнопке <Ent>.
|
|
|
|
|
4.3.2008, 15:32
|
Группа: Участники форума
Сообщений: 241
Регистрация: 3.9.2007
Из: СПб
Пользователь №: 11054

|
Делал также, но одних получилось, а в других нет. Как ни силился, был косяк, о котором я писал. Сейчас создал одну маску через которую запускаются все аварии и все прописал в ней. Авария: 1. Виртуальный ключ. 2. По этому ключу переход к определенной маске. 3. В маске ENABLE при такой-то переменной. Ну и сброс аварии. Это ВСЕ? Или я все таки что-то пропустил? И еще вопрос. В маске выбираю вариант работы насоса. Есть 3 варианта. Но принажатии кнопки вниз или вверх после последней авари идет пустое поле. Т.е. не получается круг. Цикл. Напишите пож. Как организовать.
|
|
|
|
Гость_mike-altai_*
|
4.3.2008, 17:06
|
Guest Forum

|
Цитата(begem @ 4.3.2008, 18:32) [snapback]228289[/snapback] ...В маске выбираю вариант работы насоса. Есть 3 варианта. Но принажатии кнопки вниз или вверх после последней авари идет пустое поле. Т.е. не получается круг. Цикл. Напишите пож. Как организовать. Три варианта - это числа 0, 1, 2. Создаёте переменную N (Integer) в T - памяти, устанавливаете свойство Field's high limit =2, в Field code создаёте field instruction: assint=("Mode1","Mode2","Mode3") Названия режимов работы насоса пишите свои. Пустого поля не будет  Цитата Авария: 1. Виртуальный ключ. 2. По этому ключу переход к определенной маске. 3. В маске ENABLE при такой-то переменной. Ну и сброс аварии. Это ВСЕ? Или я все таки что-то пропустил? Я не создаю виртуальный ключ для перехода к определённой маске. Просто в Global code прописываю: key(Alarm)= { goto_mask(m_al_frost) }m_al_frost - первая маска аварии. Если эта авария не активна, отображается другая маска (с активной аварией), либо маска m_no_alarm, если активных аварий нет.
Сообщение отредактировал mike-altai - 4.3.2008, 17:11
|
|
|
|
|
4.3.2008, 17:19
|
Группа: Участники форума
Сообщений: 241
Регистрация: 3.9.2007
Из: СПб
Пользователь №: 11054

|
Спасибо большое mike-altai. Как только прочитал про насос, так сразу понял. Я искал что-то прописанное в коде, а нужно было просто установить ограничения.  Хотя вроде необязательно в Т памяти. приступаю к недельной программе.
|
|
|
|
|
5.3.2008, 12:12
|
Группа: Участники форума
Сообщений: 241
Регистрация: 3.9.2007
Из: СПб
Пользователь №: 11054

|
И еще вопрос. программу нужно залить в контроллер , подключенный к системе диспетчеризации. Мне нужно только отослать переменные? Или прописать что-то еще?
|
|
|
|
Гость_mike-altai_*
|
5.3.2008, 14:04
|
Guest Forum

|
Цитата(begem @ 5.3.2008, 15:12) [snapback]228526[/snapback] И еще вопрос. программу нужно залить в контроллер , подключенный к системе диспетчеризации. Мне нужно только отослать переменные? Или прописать что-то еще? Не понял вопроса. 1. Вы сами создаете программу, или правите кем-то созданную? 2. Какая используется диспетчеризация: PlantVisor, WebGate, OPC-сервер... либо что-то ещё? Переменные можно как отсылать, так и принимать от системы диспетчеризации. Для этого используются атомы RAOUT, RAIN, RDOUT и т.д. Адрес контроллера в сети определяется переменной IDENT. Посмотрите как это реализовано в демонстрационном проекте.
|
|
|
|
|
5.3.2008, 14:28
|
Группа: Участники форума
Сообщений: 241
Регистрация: 3.9.2007
Из: СПб
Пользователь №: 11054

|
Программу создаю сам. Но с диспетчеризацией дела не имел, поэтому прошу извинить за некоррктный вопрос. Насчет того какая диспетчеризация - узнаю. Просто я думал, что не имеет особой разницы куда отсылать.
|
|
|
|
Гость_mike-altai_*
|
5.3.2008, 19:08
|
Guest Forum

|
Цитата(begem @ 5.3.2008, 17:28) [snapback]228582[/snapback] Программу создаю сам. Ну, это нормально  Я думал, что Вы модернизируете какую-то систему с готовой диспетчеризацией. Потому и попросил уточнения.
|
|
|
|
|
6.3.2008, 10:07
|
Группа: Участники форума
Сообщений: 241
Регистрация: 3.9.2007
Из: СПб
Пользователь №: 11054

|
Есть ли такой атом или макроблок, который при поступлении единицы на цифровой вход, передавал аналоговую переменную со второго входа на выход. Если 0, то ничего не проходит? Или, допустим, при получении на вход переменной равной 1,2,3 и т.д открывал 1.2,3 и т.д аналоговые входы? Почему-то не нашел. Все это идет из недельной програмы, выдвигаются новые требования.  Нужно сделать так ,чтобы можно было задать время работы и уставку на это время. Вот и ищу варианты.
|
|
|
|
Гость_mike-altai_*
|
6.3.2008, 11:51
|
Guest Forum

|
Цитата(begem @ 6.3.2008, 13:07) [snapback]228826[/snapback] Есть ли такой атом или макроблок, который при поступлении единицы на цифровой вход, передавал аналоговую переменную со второго входа на выход. Если 0, то ничего не проходит? ... Это называется мультиплексор. Атом MPX для аналоговых переменных. Атом MPXD для цифровых.
Сообщение отредактировал mike-altai - 6.3.2008, 12:50
|
|
|
|
|
6.3.2008, 13:19
|
Группа: Участники форума
Сообщений: 241
Регистрация: 3.9.2007
Из: СПб
Пользователь №: 11054

|
Извините, в первойчасти я неплавильно выразился. Про мультиплексор я, конечно, знаю. И пытался сделать на нем, но не получилось.  После мультиплексоров в количестве соответствующим дня недели выходят сигналы, которые потом нужно как-то объеденить и отдать как уставку. Но как их оъеденить? Атомы "и" и "или" не подходят. Вот поэтому и спрашиваю "Или, допустим, при получении на вход переменной равной 1,2,3 и т.д открывал 1.2,3 и т.д аналоговые входы?" И вот еще для меня вопрос. DAYWEEK сегодня выдает 4. А это по описанию среда  Или может описание старое. И сделали нумерацию с понедельника.?
|
|
|
|
Гость_mike-altai_*
|
6.3.2008, 13:41
|
Guest Forum

|
Посмотрите описание макроблока FASCE_4V. Похоже, это то, что Вам надо. Воскресенье в макроблоке WEEK_DAY =0, Понедельник =1 и т.д. ЗЫ: С дистрибутивом EasyTools поставляются примеры проектов. Поищите на диске.
|
|
|
|
|
6.3.2008, 13:52
|
Группа: Участники форума
Сообщений: 241
Регистрация: 3.9.2007
Из: СПб
Пользователь №: 11054

|
По описанию у DAYWEEK нет 0 и начинается с единицы, заканчивается на 7. В реале- от 0 до 6  Спасибо , с этим разобрался. Я и раньше присматривался к FALCE_4V, но он не подходит. У него нет входа, по которому он включается в определенный день недели. Да и уставка мне нужна всего одна на день. Все-таки как-то придется без готового блока.
|
|
|
|
|
6.3.2008, 14:01
|
Группа: Участники форума
Сообщений: 241
Регистрация: 3.9.2007
Из: СПб
Пользователь №: 11054

|
А вот по диспетчеризации. Протокол MODBUS, 9600, номер в сети тоже знаю. Это все указал для соответствующих атомов. Ну вот я передаю температуру(неважно какую). Мне не опнятно как он там определяет, какая это температура или это может вообще не температура. Он видит саму переменную или есть номер по которому он идентифицирует,. Например 1-Т приточного воздуха?
|
|
|
|
Гость_mike-altai_*
|
6.3.2008, 14:20
|
Guest Forum

|
Я с MODBUS не работал. Делаю диспетчеризацию на PlantVisore. В Плантвизоре все переменные прописываются в текстовом файле с расширением *.var Каждой переменной задаётся имя, тип, и адрес (индекс). К переменной в скриптах можно обращаться по имени, либо по индексу. Вы разрабатываете программу для готовой системы диспетчеризации? Для какой конкретно?
Сообщение отредактировал mike-altai - 6.3.2008, 14:26
|
|
|
|
|
6.3.2008, 14:26
|
Группа: Участники форума
Сообщений: 241
Регистрация: 3.9.2007
Из: СПб
Пользователь №: 11054

|
а вот какая именно диспетчеризация,еще не выяснил  Вот вроде сообразил, как сделать уставки, но не перекинуть изображение листа на форум.
|
|
|
|
Гость_mike-altai_*
|
6.3.2008, 20:45
|
Guest Forum

|
Цитата(begem @ 6.3.2008, 17:01) [snapback]228958[/snapback] А вот по диспетчеризации. Протокол MODBUS, 9600, номер в сети тоже знаю. Цитата(begem @ 6.3.2008, 17:26) [snapback]228968[/snapback] а вот какая именно диспетчеризация,еще не выяснил  1. У Вас сколько контроллеров в системе диспетчеризации? 2. При чём здесь MODBUS? 3. Кто будет мастером в сети? Цитата(begem) Вот вроде сообразил, как сделать уставки, но не перекинуть изображение листа на форум. Наверное что-то подобное получилось
|
|
|
|
|
7.3.2008, 10:19
|
Группа: Участники форума
Сообщений: 241
Регистрация: 3.9.2007
Из: СПб
Пользователь №: 11054

|
Чувсвую себя древним как мамонт  Больше наверно спрашивать не буду, только последнее: может есть какая-то литература по диспетчеризации в общем виде. В библиотеку зашел, понравилась книга, но стоимость порядка 1500р. Может есть какие-нить ссылки?
|
|
|
|
|
7.3.2008, 15:02
|
Группа: Участники форума
Сообщений: 637
Регистрация: 4.7.2005
Пользователь №: 945

|
Если говорить о Карел и модбасе, то надо знать один документ от Карела.
CarelModbus.pdf ( 345,41 килобайт )
Кол-во скачиваний: 136
|
|
|
|
|
11.3.2008, 9:17
|
Группа: Участники форума
Сообщений: 241
Регистрация: 3.9.2007
Из: СПб
Пользователь №: 11054

|
Спасибо. Правда, я имел ввиду что-то общее. Но с этим как-нить сам тогда разберусь.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
Реклама
ООО «Арктика групп» ИНН: 7713634274
ООО "Русич" ИНН 9721068883 / ЕРИД 2VtzqvMjLF8
ООО «УНИСПЛИТ» ИНН: 6453155081 erid:2VtzqxXgvJi
Реклама: ООО «СибСтронг» | ИНН 6670013662 | ERID: 2VtzqwyM2dc
Последние сообщения Форума
|