Просмотр полной версии : timer_20mks
Как правильно считать данные со входов ? В примере выбирают in:=SysPortIn(0); вот так, т.е. это FDI1? А как выбрать еще FDI2?
И как лучше всего обнулять массив использую работу по прерыванию ? к примеру у меня заполнился массив , но с ошибкой , как его тогда обнулить , в самой plc_prg или где ??
[QUOTE=vadim_;176749]Как правильно считать данные со входов ? В примере выбирают in:=SysPortIn(0); вот так, т.е. это FDI1? А как выбрать еще FDI2?
Может так - in:=SysPortIn(1); - Ответ на этот вопрос мне тоже интересен!
Гарчев Евгений
03.08.2015, 14:11
Из описания примера (раздел V):
" В нашем примере программа состоит из чтения состояния "быстрых" входов функцией SysPortIn (из библиотекиSysLibPorts.lib), выполнении нескольких условий и записи значений в "быстрые" выходы функцией SysPortOut (из библиотекиSysLibPorts.lib). Для той и для другой функции работа ведется с портом 0, с младшими битами. Число значимых бит равно числу "быстрых" входов и выходов используемого контроллера."
Из самого примера:
(*Чтение "быстрых" входов из порта 0*)
in:=SysPortIn(0);
in1:=in.0; (*состояние первого "быстрого" входа *)
Таким образом, обращение ко второму "быстрому" входу: "in2:=in.1;"
Алексей Александрович
20.01.2016, 11:54
Не хочу плодить темы.
Взял программу примера с диска и с сайта ОВЕН.
Поменял только целевую платформу с 110M на 110L
Сигналы с входов не передаются на выходы.
В чем прикол? :confused:
Гарчев Евгений
20.01.2016, 14:00
Здравствуйте!
А Вы после изменения таргета в конфигурации задач указали заново вызов подпрограммы по таймеру 20мкс?
При изменении трагета конфигурация задач сбрасывается.
Алексей Александрович
21.01.2016, 08:40
Здравствуйте!
А Вы после изменения таргета в конфигурации задач указали заново вызов подпрограммы по таймеру 20мкс?
При изменении трагета конфигурация задач сбрасывается.
Да Вы правы. Исправил.
Но цирк у меня с примером продолжается. И мне уже не смешно.
Программа загружается только после кнопки сброс+старт(5сек). После Ф5 не запускается (или не знаю что там происходит). init=TRUE так и остается.
И через несколько секунд потеря связи (#0).
Попробовал не запуская залить проект. Создал загрузочный проект. Вроде как залился окошко появилось на пол сек. Выключил ПЛК включил.
Пищит и загорается лампочка РАБОТА на сек и гаснет. Через несколько сек все повторяется. Вроде как перезагрузки идут. Посмотреть что там происходит не могу КДС не подключается. Помогает только опять сброс+старт(5сек). Это все делал в разных комбинациях.
Исправленный пример предлагаю
Да Вы правы. Исправил.
Но цирк у меня с примером продолжается. И мне уже не смешно.
Программа загружается только после кнопки сброс+старт(5сек). После Ф5 не запускается (или не знаю что там происходит). init=TRUE так и остается.
И через несколько секунд потеря связи (#0).
Попробовал не запуская залить проект. Создал загрузочный проект. Вроде как залился окошко появилось на пол сек. Выключил ПЛК включил.
Пищит и загорается лампочка РАБОТА на сек и гаснет. Через несколько сек все повторяется. Вроде как перезагрузки идут. Посмотреть что там происходит не могу КДС не подключается. Помогает только опять сброс+старт(5сек). Это все делал в разных комбинациях.
Исправленный пример предлагаю
вот у Вас проект не работает, так Вы мало того это не устраняете, так еще и загрузочный сделали, чтоб после ресета у вас опять глючная программа запустилась в контроллере
Алексей Александрович
21.01.2016, 08:59
Вот ничего не понял :confused: А комбинация кнопок сброс+старт(5сек) что по Вашему?
Алексей Александрович
22.01.2016, 06:00
И тишина. Только тени представителей ОВЕНА слегка колышутся.
Кто нибудь вообще реализовывал рабочий проект на таймере 20мкс????
Может поделитесь кусочком.
а есть смысл с вами дискутировать, Вы даже вон добавляете ересь, сперва записываете на постоянку глючный проект в контроллер, а потом хвастаетесь что сброс делаете, другими словами сизифов труд, ни нашаг не приближаясь к решению проблемы.
ЗЫ если считаете что на форуме отдельную скоростную задачу до Вас ни кто не обсуждал и не делился примерами, то мягко говоря воспользуйтесь поиском
Алексей Александрович
22.01.2016, 07:36
а есть смысл с вами дискутировать, Вы даже вон добавляете ересь, сперва записываете на постоянку глючный проект в контроллер, а потом хвастаетесь что сброс делаете, другими словами сизифов труд, ни нашаг не приближаясь к решению проблемы.
ЗЫ если считаете что на форуме отдельную скоростную задачу до Вас ни кто не обсуждал и не делился примерами, то мягко говоря воспользуйтесь поиском
И опять одна болтовня.
И опять одна болтовня.
уговорили, посмотрел проект который Вы выложили и что? Как была целевая платформа с буквой М так и осталась в проекте.
Вместо того чтоб проверить свой проект пытаетесь со мной быковать, так у вас никогда ни чего не начнет получаться
Алексей Александрович
22.01.2016, 08:38
Ну хотя бы в начале почитали внимательно. Пример в посте 6 для л. А то уже смешно. И что нибудь путное посоветовали.
мне не важно что Вы написали в том посте, я открываю проект в КДС который Вы предоставили там же, захожу в настройки целевой платформы и вижу что стоит таргет от 110.60М, мне больше ни чего не надо, смейтесь дальше, говорят смех продлевает жизнь
Алексей Александрович
22.01.2016, 10:29
мне не важно что Вы написали в том посте
Ключевая фраза. Соответственно мне не интересна ваша болтовня
Ключевая фраза. Соответственно мне не интересна ваша болтовня
Вы выложили проект не имеющий никакого отношения к Вашему реальному контроллеру и пытаетесь доказать что у Вас ни чего не работает. Может быть по этому так сильно акцентируете на мою болтовню, вместо того чтоб начать что то реально делать.
Свою ключевую фразу могу сформулировать и по другому, я не верю словам, доказательства предоставте
Алексей Александрович
22.01.2016, 10:48
Просто даже интересно с какого раза вы прочтете #6
На мосточке утром рано
Повстречались два барана.
Тот крутой и тот крутой –
Полдеревни под пятой.
Застучал один ногами,
Завертел другой рогами.
Видят толку в этом нету –
Достают по пистолету:
Пиф-паф, ой-ёй-ёй,
Оба в речку с головой. :D
Вольд поверь, ччто касается пистолета, в речку упадет только один
увидел я шестой пост, вернее вложение, не совсем понял зачем тогда первое было выкладывать
продолжим, как меняли целевую платформу, какие действия выполнили
Алексей Александрович
22.01.2016, 11:40
Пока отложим обсуждение. В понедельник принесу со склада 110-60-М. Хочу отвести подозрение что у меня на столе глюкнутый ПЛК
Платформу менял и импорт-экспорт. И на прямую в ресурсах (такое раньше прокатывало без проблем)
ну и заходили в меню дополнительно когда выбран конфигуратор, выбирали соответствующий пункт
Алексей Александрович
22.01.2016, 11:58
Вот только массовых криков "У МЕНЯ ПРОЕКТ С ТАЙМЕРОМ ПРЕКРАСНО РАБОТАЕТ" я так и не услышал :confused:
Николаев Андрей
22.01.2016, 16:11
У меня проект с таймером прекрасно работает...
https://youtu.be/WfIRyDNOf3k?list=PL2EcVEe6E9SB4F3WVm-MptpHA5ep0nrq5
Гарчев Евгений
22.01.2016, 17:48
Да Вы правы. Исправил.
Но цирк у меня с примером продолжается. И мне уже не смешно.
Программа загружается только после кнопки сброс+старт(5сек). После Ф5 не запускается (или не знаю что там происходит). init=TRUE так и остается.
И через несколько секунд потеря связи (#0).
Попробовал не запуская залить проект. Создал загрузочный проект. Вроде как залился окошко появилось на пол сек. Выключил ПЛК включил.
Пищит и загорается лампочка РАБОТА на сек и гаснет. Через несколько сек все повторяется. Вроде как перезагрузки идут. Посмотреть что там происходит не могу КДС не подключается. Помогает только опять сброс+старт(5сек). Это все делал в разных комбинациях.
Исправленный пример предлагаю
У Вас контроллер старый или новый (М02)? Складывается впечатление, что старый, а на старых ПЛК прерывания корректно работают только на прошивке 2.10.9 (скачать ее можно здесь - http://www.owen.ru/catalog/codesys_v2/13294651). Для старых ПЛК период вызова подпрограммы по прерыванию не желательно делать чаще 100мкс.
У Вас контроллер старый или новый (М02)? Складывается впечатление, что старый, а на старых ПЛК прерывания корректно работают только на прошивке 2.10.9 (скачать ее можно здесь - http://www.owen.ru/catalog/codesys_v2/13294651). Для старых ПЛК период вызова подпрограммы по прерыванию не желательно делать чаще 100мкс.
лучше просвятите про лимит памяти конфигурации при изменении на прямое управление,я когда менял заметил что байты заметно смещаются в сторону увеличения при замене на директ контрол, может из-за этого виснет, у меня дома из элек только сотка , сам проверить не могу
Гарчев Евгений
25.01.2016, 21:09
лучше просвятите про лимит памяти конфигурации при изменении на прямое управление,я когда менял заметил что байты заметно смещаются в сторону увеличения при замене на директ контрол, может из-за этого виснет, у меня дома из элек только сотка , сам проверить не могу
Не обращал внимания, проверим, отпишусь...
Филоненко Владислав
25.01.2016, 21:15
лучше просвятите про лимит памяти конфигурации при изменении на прямое управление,я когда менял заметил что байты заметно смещаются в сторону увеличения при замене на директ контрол, может из-за этого виснет, у меня дома из элек только сотка , сам проверить не могу
Конечно смещаются. Как иначе.
Используйте символьные имена - ничего смещаться не будет.
Кто-нить может объяснить, почему интерфейс вызова события по таймеру (int;int;int), а в примере приведенном здесь (byte;byte;dword) ?
Ну и function vs program - тоже
Конечно смещаются. Как иначе.
Используйте символьные имена - ничего смещаться не будет.
меня интересует: плк с буквой Л имеет ограничение по количеству байт на конфигурацию, так вот когда добавляются два прямых доступа, не превышается ли этот лимит. Причем тут символьные имена, если речь о использовании быстрых входов/выходов
Филоненко Владислав
26.01.2016, 08:58
Кто-нить может объяснить, почему интерфейс вызова события по таймеру (int;int;int), а в примере приведенном здесь (byte;byte;dword) ?
Ну и function vs program - тоже
Параметры не используются, поэтому каждый фантазирует как ему хочется.
Филоненко Владислав
26.01.2016, 08:59
меня интересует: плк с буквой Л имеет ограничение по количеству байт на конфигурацию, так вот когда добавляются два прямых
доступа, не превышается ли этот лимит. Причем тут символьные имена, если речь о использовании быстрых входов/выходов
Наоборот, убирая FDI/FDO Вы получаете ещё 2 байта минимум к размеру.
у меня нет этого плк, поэтому я пробовал в эмуляторе, через указатели пытался вычислять разницу занятия места в памяти, в обычной конфигурации часто встречалось значение 291, поставив прямое управление эта разница не принимала значение меньше 1000, поэтому и посчитал что выходит переполнение отведенного места
Параметры не используются, поэтому каждый фантазирует как ему хочется.
Погонял на живом ПЛК110-60 (МО1) 2.12.7.
Вытягивается 60мкс. Но при простейшем коде в обработчике прерывания (x := x + 1), и типа того в PLC_PRG, с минЦ = 0 статистика кажет 6-7мс.
Мои выводы : код раздачи вызовов прерываний (именно так) - полная шняга, очень тяжелый.
При 100мкс - получше, но все равно система еле укладывается в 1.3-1.5мс.
Видимо при 20 и 40мкс вообще не проверятся повторный вход, раз вываливается в перезагрузку.
Жесть. Большого практического смысла не вижу.
А как работать с быстрыми входами МВ210 и таймером 20мкс?
Как организовать ditect control у МВ210/
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot