Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 12.06.2009, 21:10  
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию

Сообщение от lvadia
Я предлагал просто ввести в программу дополнительную форму.
Очень дельное предложение, для отладки намного удобнее будет,
Но может это просто сложно реализовать?... или сложно реализовать СРАЗУ.. а постепенно может и получится...
Сообщение от kos_ua
А в основном все просматривают а писать впадлу
Почему же, я например предлагал написать функции для контролеров AVR и PIC, правда Си я только начал изучать, в основоном пишу АСМ (уже лет 10).
И подобные контролеры реализовывал на Асм, конечно не программируемые а написаные под один или несколько алгоритмов переключаемые пользователем.

Была разработана идея (собственно продумана структура программы пользователя) программируемого но по другому принципу, что бы анализировалась не вся программа а некоторые этапы рабочего цикла, тогда скорость прохода по каждому этапу можно увеличить, то есть самое быстрое срабатывание может быть 20-100 микросек.

Так что помочь писать не смогу. Смогу только свои идеи...
Реклама:
picavr вне форума  
Непрочитано 15.06.2009, 13:26  
kos_ua
Прописка
 
Регистрация: 07.07.2005
Сообщений: 111
Сказал спасибо: 2
Сказали Спасибо 12 раз(а) в 7 сообщении(ях)
kos_ua на пути к лучшему
По умолчанию

Привет Всем....С прошедшими Вас Выходными!!!
Как и обещал выкладываю новый вариант проги...

Здесь внесены следующие изменения:
1. Все Task разделены на две группы- свободный Task и прерывания.
Если два раза кликнуть по закладке откроется свойство Task. Там и выбираем обычная задача это или прерывание.
2. По просьбе добавил реверсивный счетчик который считает от 0 и до 999.
3. В режиме симуляции если кликнуть 2 раза по входным переменным то откроется окошко для редактирования значений этой переменной.
4. Указатель мышки изменяется в зависимости от того что мы делаем)))

Пока что Все....жду критики))))

Прикрепленный файл: 3051226.rar
kos_ua вне форума  
Непрочитано 15.06.2009, 14:20  
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию

Сообщение от kos_ua
2. По просьбе добавил реверсивный счетчик который считает от 0 и до 999.
Пока что Все....жду критики))))
Имхо как то неполно используются два байта в МК, тогда бы уже до 50 000 или 65 000

Прикрепленный файл: 3051226.rar
picavr вне форума  
Непрочитано 15.06.2009, 14:22  
kos_ua
Прописка
 
Регистрация: 07.07.2005
Сообщений: 111
Сказал спасибо: 2
Сказали Спасибо 12 раз(а) в 7 сообщении(ях)
kos_ua на пути к лучшему
По умолчанию

Сообщение от picavr
Сообщение от kos_ua
2. По просьбе добавил реверсивный счетчик который считает от 0 и до 999.
Пока что Все....жду критики))))
Имхо как то неполно используются два байта в МК, тогда бы уже до 50 000 или 65 000
Согласен....огрничение сугобо личное....Так написано в стандарте IEC 61131.

Подправить можно всегда))
if ((Items[0].AnchorValue) and not FpUP and (Items[6].AnchorValue‹999)) then Items[6].AnchorValue:=Items[6].AnchorValue+1;

Прикрепленный файл: 3051226.rar

Сообщение от picavr
Почему же, я например предлагал написать функции для контролеров AVR и PIC, правда Си я только начал изучать, в основоном пишу АСМ (уже лет 10).
И подобные контролеры реализовывал на Асм, конечно не программируемые а написаные под один или несколько алгоритмов переключаемые пользователем.
Что касается Си то он скажем так кроссплатформенный....исключение составляют регистры и порты....но к этому мы еще не подходили...так что думаю что сгенерированный код чуть чуть изменив можно сразу пихать в Си компилятор от АВР или ПИК....

Последний раз редактировалось mike-y-k; 14.04.2022 в 22:58. Причина: 6.6
kos_ua вне форума  
Непрочитано 15.06.2009, 18:02  
Mixer79
Частый гость
 
Регистрация: 22.08.2007
Сообщений: 43
Сказал спасибо: 3
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
Mixer79 на пути к лучшему
По умолчанию

Сообщение от kos_ua
А в основном все просматривают а писать впадлу))...закроем тему...перейдем в ICQ...и ОК)
8O Вот те раз... Я, например, смотрю форум практически каждый день. Если есть, что написать - пишу. Если нет - зачем воду лить? И потом я заглядываю сюда и тогда, когда приходят сообщения об ответе. А они, сволочи такие, то приходят, а то нет. Если есть желание переписываться по мылу или аське - свисните, я с удовольствием.

Теперь по программе:
Все просто супер. Но есть небольшие замечания. Поскольку разговор был о счетчиках, то я начал с них.
1. Нарисовал свою схемку со счетчиком. Только вот в торопях забыл поставить переменные в выходные прямоугольнички. И запустил симуляцию. Программа даже не обругалась и продолжила работу. Только номера блоков горят красным. Это так и задумано?
2. Запустил симуляцию счетчика. Отключил симуляцию. Снова включил. И счетчик продолжил счет со старым значением. Т.е. не обнуляется при входе в симуляцию. Позже заметил, что все переменные не обнуляются при повторном запуске симуляции.
3. Что значит свободный Task? Т.е. циклический? После выполнения всех Task'ов программа переходит снова на первый?
4. Task'и (прерывания) по внешнему сигналу или по изменению значения не нужно завести?
5. Если Task работает как прерывание, то симуляция запускается, но изменить переменные не удается.
6. Основательно запутался как работает счетчик. На вход EN приходит 1, и на PV уже начинает что то считать.

Позже продолжу изучение. МОжет еще что накопаю.
Mixer79 вне форума  
Непрочитано 15.06.2009, 18:23  
kos_ua
Прописка
 
Регистрация: 07.07.2005
Сообщений: 111
Сказал спасибо: 2
Сказали Спасибо 12 раз(а) в 7 сообщении(ях)
kos_ua на пути к лучшему
По умолчанию

Сообщение от Mixer79
Сообщение от kos_ua
А в основном все просматривают а писать впадлу))...закроем тему...перейдем в ICQ...и ОК)
8O Вот те раз... Я, например, смотрю форум практически каждый день. Если есть, что написать - пишу. Если нет - зачем воду лить? И потом я заглядываю сюда и тогда, когда приходят сообщения об ответе. А они, сволочи такие, то приходят, а то нет. Если есть желание переписываться по мылу или аське - свисните, я с удовольствием.

Теперь по программе:
Все просто супер. Но есть небольшие замечания. Поскольку разговор был о счетчиках, то я начал с них.
1. Нарисовал свою схемку со счетчиком. Только вот в торопях забыл поставить переменные в выходные прямоугольнички. И запустил симуляцию. Программа даже не обругалась и продолжила работу. Только номера блоков горят красным. Это так и задумано?
2. Запустил симуляцию счетчика. Отключил симуляцию. Снова включил. И счетчик продолжил счет со старым значением. Т.е. не обнуляется при входе в симуляцию. Позже заметил, что все переменные не обнуляются при повторном запуске симуляции.
3. Что значит свободный Task? Т.е. циклический? После выполнения всех Task'ов программа переходит снова на первый?
4. Task'и (прерывания) по внешнему сигналу или по изменению значения не нужно завести?
5. Если Task работает как прерывание, то симуляция запускается, но изменить переменные не удается.
6. Основательно запутался как работает счетчик. На вход EN приходит 1, и на PV уже начинает что то считать.

Позже продолжу изучение. МОжет еще что накопаю.
Заранее спасибо....а теперь по порядку и с конца)))
Пункт 6....без входа Enable счетчик работает нормально...если вход EN нарисован на схеме то счетчик действительно считает все время....баг уже справлен....честно проверял но без входа EN....забыл скобку поставить))).
Пункт 5.Проверь плз. на подпрограмме прерывания ON100ms b On10ms переменные меняются...а на прерывании OnStartUp не меняются...так как эта подпрограмма вызывается один раз при старте ПЛК(или симулятора).
Пункт 4. Все схемки называем Task(задача). Делим их на две категории. Группа задач вызывающихся по событию(прерывание)...думаю объяснять не надо.
Остальная группа задач вызывается циклически по порядку как они расположены в редакторе....путем перетаскивания мышки можно менять их порядок вызова.
Пункт 2. При компиляции Си кода ошибки вылетают при симуляции просто неуспел написать проверку такую же как при компиляции....реально не успеваю....скоро клаву менять буду))))....
Пункт 1. См. пункт 2....тоже не успел написать обнуление переменных....хотя много вопросов на эту тему...Попытаюсь объяснить.
Переменные I,Q берутся из физических датчиков подключенных к ПЛК. Т.е это наши переферийные модули. Возможно для симуляции их надо обнулять а в реально ПЛК...это информация должна читаться с модулей ввода-вывода.
Что касается меркерной области памяти(М)...то это область памяти предназначена для хранения наших переменных.....в хороших ПЛК и надеюсь что и в нашем ПЛК эта область памяти храниться в EEPROM...значит вывод....обнулять ее не надо...Для инициализации переменных при старте ПЛК я сделал прерывание OnStartUp.
Может у кого есть свои мнения по данной проблеме?)))

PS....а счетчики уже исправил))
kos_ua вне форума  
Непрочитано 15.06.2009, 22:15  
Mixer79
Частый гость
 
Регистрация: 22.08.2007
Сообщений: 43
Сказал спасибо: 3
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
Mixer79 на пути к лучшему
По умолчанию

Сообщение от kos_ua
....реально не успеваю....
Да не... все нормально. Я вообще (да и не я один наверно) удивляюсь как вы все это успеваете. Да еще с такой скоростью реагируете на замечания
Сообщение от kos_ua
Пункт 5.Проверь плз. на подпрограмме прерывания ON100ms b On10ms переменные меняются...а на прерывании OnStartUp не меняются...
Да, симуляция проверялась именно в OnStartUp. В связи с этим очередной вопрос, опережающий события: как на счет пошагового режима отладки
Сообщение от kos_ua
Пункт 4. Все схемки называем Task(задача). Делим их на две категории. Группа задач вызывающихся по событию(прерывание)...думаю объяснять не надо.
Остальная группа задач вызывается циклически по порядку
Вот теперь мне понятно что OnTimer10ms и OnTimer100ms это всего лишь примеры прерываний.
Сообщение от kos_ua
Пункт 1.См. пункт 2....
Переменные I,Q берутся из физических датчиков подключенных к ПЛК. Т.е это наши переферийные модули. Возможно для симуляции их надо обнулять а в реально ПЛК...это информация должна читаться с модулей ввода-вывода.
Это понятно, и на сколько я помню во всех симуляторах они обнуляются.
Сообщение от kos_ua
....в хороших ПЛК и надеюсь что и в нашем ПЛК эта область памяти храниться в EEPROM...
Хорошо, давайте снова сравним с SIEMENS. Ведь там мы указываем какую область мы сохраняем в EEPROM. А все, что не указали - стираем (обнуляем).

Сообщение от kos_ua
....скоро клаву менять буду))))....
... оно и правильно, женщин надо менять периодически. С периодом OnTimer10years или OnTimer100years
Ради такого случая и скинуться не грех. Уж что, что, а клаву то я думаю мы осилим

P.S. Ну и так... личные пожелания. Как правило все подобные проекты так же быстро забрасываются как и начинаются. Люди достигнув определенных результатов, останавливаются и забрасывают их. Хотелось бы, чтобы ваш проект будет исключением из правил
Не торопитесь. Оставьте время для личной жизни. Но и не забрасывайте на долго

Последний раз редактировалось mike-y-k; 14.04.2022 в 22:58. Причина: 6.6
Mixer79 вне форума  
Непрочитано 15.06.2009, 22:58  
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию

Сообщение от Mixer79
Сообщение от kos_ua
....скоро клаву менять буду))))....
... оно и правильно, женщин надо менять периодически. С периодом OnTimer10years или OnTimer100years
Ради такого случая и скинуться не грех. Уж что, что, а клаву то я думаю мы осилим
И не только Клаву.. и Машу то же )))
picavr вне форума  
Непрочитано 15.06.2009, 23:55  
Mixer79
Частый гость
 
Регистрация: 22.08.2007
Сообщений: 43
Сказал спасибо: 3
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
Mixer79 на пути к лучшему
По умолчанию

Продолжил изучение и вот мои вопросы:
1. На дискретных элементах OR и AND не получается добавить EN.
2. У дискретных элементах OR и AND нельзя сделать больше 4 входов. Причем когда их 3, их еще можно и добавить и удалить. А когда 4 - не прибавишь, не удалишь.
3. Не понял в чем разница входа S и EN в таймере? По-моему они работают одинаково.
4. Когда и как срабатывает выход OUT на счетчике? Он активен уже при начале счета на увеличение. И остается активным до момента когда счетчик станет равным 0 при уменьшении. В таком случае как работает SP?
5. Для работы с действительными числами не хватает еще округления.
6. Хочется собраться и проверить работу программы на железе. Или хотя бы в протеусе. Зажечь, так сказать, свой первый светодиод Но примеры которые вы давали в моей версии протеуса не проходят
Кто пробовал работу с AVR?
Mixer79 вне форума  
Непрочитано 16.06.2009, 08:42  
kos_ua
Прописка
 
Регистрация: 07.07.2005
Сообщений: 111
Сказал спасибо: 2
Сказали Спасибо 12 раз(а) в 7 сообщении(ях)
kos_ua на пути к лучшему
По умолчанию

Сообщение от Mixer79
Продолжил изучение и вот мои вопросы:
1. На дискретных элементах OR и AND не получается добавить EN.
2. У дискретных элементах OR и AND нельзя сделать больше 4 входов. Причем когда их 3, их еще можно и добавить и удалить. А когда 4 - не прибавишь, не удалишь.
3. Не понял в чем разница входа S и EN в таймере? По-моему они работают одинаково.
4. Когда и как срабатывает выход OUT на счетчике? Он активен уже при начале счета на увеличение. И остается активным до момента когда счетчик станет равным 0 при уменьшении. В таком случае как работает SP?
5. Для работы с действительными числами не хватает еще округления.
6. Хочется собраться и проверить работу программы на железе. Или хотя бы в протеусе. Зажечь, так сказать, свой первый светодиод Но примеры которые вы давали в моей версии протеуса не проходят
Кто пробовал работу с AVR?
1. На AND OR по стандарту не добавляется вход разрешения работы(EN) он та не нужен.
2. Колличество входов на AND OR элементах ограничено до 4(ИМХО).
3. Входы S и EN отличаются примерно как мальчик от девочки)))....Вход EN сразу отключает работу таймера и сбрасывает выход в 0. Вход S запускает таймер...а дальше таймер работает по тому алгоритму который вы выбрали....
SP-таймер формирователь импульса.
SE-таймер формирователь импульса вне зависимости от входа S.
SD- таймер формирователь задержки на включение.
SF- таймер формирователь задержки на отключение.
Все таймера работают в версии что выложу сегодня.....в старых версиях работал таймер SP and SD.
4. Счетчик работает так как вы и написали)))).
5. Для работы с действительными числами используйте функции INT_TO_FLT and FLT_TO_INT.....вторая функция округляет(сделал по простому отбрасывет дробную часть от Float и превращает ее в Integer)
6. Выложу сегодня схемку в протеусе ввиде jpg(прийдется ручками нарисовать).....
Да кстати у меня Протеус 6.9 sp5
kos_ua вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Языки программирования IEC-6113-3(FBD, LD, IL и т.) VladG Информация по радиокомпонентам 0 18.08.2009 08:57
Ищу ПЛК (промышленный контроллер) c RS-232 и RS-485... LazarenkoAS2 Делимся опытом 44 19.10.2008 20:27
Графический ЖК индикатор на базе LC7981 Bear-ku Микроконтроллеры, АЦП, память и т.д 1 24.07.2008 08:29
Создаем лабораторный БП с цифровым управлением masterpc Источники питания и свет 60 02.04.2007 06:24
осциллограф на базе ПК SlavaS Измерительное оборудование 61 09.06.2005 20:04


Часовой пояс GMT +4, время: 22:05.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot