FLProg
Вход на сайт
Логин:
Пароль:
Мы в VK
Поиск
Статистика


Яндекс.Метрика
Пятница, 09.12.2016, 10:39
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 212»
Модератор форума: support, Сергей 
Форум » Основной » Спросить у знатоков » Поиск подстроки.
Поиск подстроки.
Max
Дата: Понедельник, 12.09.2016, 20:24 | Сообщение # 1
Гуру
Группа: Проверенные
Сообщений: 484
Награды: 14
Репутация: 4
Статус: Offline
Может я не понимаю суть этого стандартного блока? Ведь он должен выделять именно то, что подано (написано) на входе SubStr и соответственно формировать лог. единицу на выходе Contain в случае совпадения на входе?
У меня этот блок на все подряд срабатывает что бы не было на входе SubStr....

Смысл этого блока? Или у меня что то с программой?


Максим (VK - Максим Дунаевский)
 
rw6cm Дата: Вторник, 13.09.2016, 08:01 | Сообщение # 2
Генерал-майор
Группа: Проверенные
Сообщений: 480
Награды: 43
Репутация: 32
Статус: Offline
Цитата Max ()
Смысл этого блока? Или у меня что то с программой?
Можно конкретный пример выложить?


PC, E8400, 3.5Gb, Win7-32, ver.FLP(portable)
 
Max Дата: Вторник, 13.09.2016, 08:07 | Сообщение # 3
Гуру
Группа: Проверенные
Сообщений: 484
Награды: 14
Репутация: 4
Статус: Offline
Цитата rw6cm ()
Можно конкретный пример выложить?

Да, про пример забыл. Выложу.


Максим (VK - Максим Дунаевский)
 
Max Дата: Вторник, 13.09.2016, 19:45 | Сообщение # 4
Гуру
Группа: Проверенные
Сообщений: 484
Награды: 14
Репутация: 4
Статус: Offline
Конструкция на самом деле элементарная, но не работает.

Верхний по схеме канал принимает все что поступает в переменную IncomingSMS вне зависимости, что указано на входе SubStr, хотя должен отбирать только указанное на входе значение.

Честно говоря, непонятно тогда, как работает этот блок? Как же он ищет, коли реагирует на все подряд?

P.S. Буду делать, как ранее было обсуждено в этой теме.
Прикрепления: 2889534.jpg(28Kb)


Максим (VK - Максим Дунаевский)
 
OlegAn1962 Дата: Вторник, 13.09.2016, 20:13 | Сообщение # 5
Майор
Группа: Проверенные
Сообщений: 120
Награды: 0
Репутация: 0
Статус: Offline
Цитата Max ()
Верхний по схеме канал принимает все что поступает в переменную IncomingSMS вне зависимости, что указано на входе SubStr, хотя должен отбирать только указанное на входе значение.
И что, на выходе постоянно 1, или Вы не смотрели?
 
Max Дата: Вторник, 13.09.2016, 21:15 | Сообщение # 6
Гуру
Группа: Проверенные
Сообщений: 484
Награды: 14
Репутация: 4
Статус: Offline
Цитата OlegAn1962 ()
И что, на выходе постоянно 1, или Вы не смотрели?
Посмотрел. До этого ориентировался на значения в лишь переменных... Да, блоки работают и выдают лог. ед, но почему в переменных оказывается не предназначенное для неё данные, а именно в переменную Ontimer записывается данные предназначенные для переменной Offtimer.
А вот с переменной Offtimer все нормально... Странно.
Выложу кусок проекта уже в в виде файла FLprog.
Прикрепления: Progect.rar(226Kb)


Максим (VK - Максим Дунаевский)

Сообщение отредактировал Max - Вторник, 13.09.2016, 21:16
 
НовыйUser Дата: Вторник, 13.09.2016, 21:28 | Сообщение # 7
Подполковник
Группа: Проверенные
Сообщений: 272
Награды: 1
Репутация: 2
Статус: Offline
Проблему работы сабстринга обсуждали мы со Слимпером в профильной теме по m590/800. Причина глюкавости блока не понятна, но она имеет место быть в схеме. Замени на Compare String.

Сообщение отредактировал НовыйUser - Вторник, 13.09.2016, 21:30
 
OlegAn1962 Дата: Вторник, 13.09.2016, 22:31 | Сообщение # 8
Майор
Группа: Проверенные
Сообщений: 120
Награды: 0
Репутация: 0
Статус: Offline
Так блоки работают нормально получается, проблема в "почему в переменных оказывается не предназначенное для неё данные", это уже другой вопрос.
 
Слимпер Дата: Среда, 14.09.2016, 05:25 | Сообщение # 9
Генерал-лейтенант
Группа: Проверенные
Сообщений: 678
Награды: 31
Репутация: 23
Статус: Offline
OlegAn1962, Max, тут  НовыйUser прав, это ошибка работы программы я ее описывал в Порядок выполнения логики в FBD, сообщение 6.

А пока попробуй переделать плату Incoming SMS вот в такой вид :



Кстати в блоке GSM  выход Received_SMS, итак дает одиночный импульс, по этому убрал блоки Rtrig.

П.С, если кусок кода работает не так как ожидалось, для поиска ошибки, лучше перенести его в пустой проекта, попробовать его с компилировать, и часто становится ясно где глюк.
Это очень актуально, когда работаешь с участками кода, где важна последовательность расчета блоков,где расчет длится только один программный цикл.
Прикрепления: 0839841.png(6Kb)


Сообщение отредактировал Слимпер - Среда, 14.09.2016, 05:30
 
Max Дата: Среда, 14.09.2016, 06:12 | Сообщение # 10
Гуру
Группа: Проверенные
Сообщений: 484
Награды: 14
Репутация: 4
Статус: Offline
Цитата OlegAn1962 ()
Так блоки работают нормально получается, проблема в "почему в переменных оказывается не предназначенное для неё данные", это уже другой вопрос.
Ну, если можно сказать грубо, то не совсем так. Но, при этом по описанию и представлению ждешь от них немного другого... Слимпер правильно написал:
Цитата Слимпер ()
кусок кода работает не так как ожидалось,

Цитата Слимпер ()
это ошибка работы программы
Да, я уже это понял, что тут проблемка с порядком исполнения кода, но в Си  не разбираюсь и опираюсь только на функции самого FLProg.

Попробую предложенную Вами схему.

Вопрос еще в том, почему же в переменную (у которой включена галка команды по внешнему лог. сигналу) записывается то, что для неё не предназначено и висит в ней?


Максим (VK - Максим Дунаевский)

Сообщение отредактировал Max - Среда, 14.09.2016, 06:17
 
Слимпер Дата: Среда, 14.09.2016, 07:52 | Сообщение # 11
Генерал-лейтенант
Группа: Проверенные
Сообщений: 678
Награды: 31
Репутация: 23
Статус: Offline
Цитата Max ()
Вопрос еще в том, почему же в переменную (у которой включена галка команды по внешнему лог. сигналу) записывается то, что для неё не предназначено и висит в ней?
 Может происходить так, что анализ содержит строка текст или нет строку,  проходит позже чем запись в перемену, тогда и будет такой косяк.
Т.е. Строка уже поменялась, а программа еще считает, что она содержит старую строку.

Еще я заметил, что многие на форуме располагаю блоки не правильно



Как писал автор, расчет положения блоков идет относительно правого верхнего угла платы.

По этому каждый следующий блок (где используются рассчитываемые в других блоках величины ), должен располагаться не только праве, но и ниже  (смотреть по правому верхнему углу блока) всех блоков с которыми соединены его входа. Притом не важно соединение в виде  линии или оно преобразована в текст.

Если на входе блока только переменные или входа контроллера, то это уже не важно.

Там еще есть деление на разные типы блоков, расчитываемые, оконечные, и логические. Логические (их положение меньше учитывается ), расчитываеммые блоки и оконечные (их критично), но так как нет списков деления блоков, то лучше так поступать со всеми.
Прикрепления: 8686734.png(21Kb)


Сообщение отредактировал Слимпер - Среда, 14.09.2016, 08:04
 
Max Дата: Среда, 14.09.2016, 08:38 | Сообщение # 12
Гуру
Группа: Проверенные
Сообщений: 484
Награды: 14
Репутация: 4
Статус: Offline
Да, еще в переменную (та что выше всех) поверх записанного ранее значения записывается еще и не предназначенное ей значение. Это особенно видно на дисплее.
Цитата Слимпер ()
Как писал автор, расчет положения блоков идет относительно правого верхнего угла платы.
Это надо вынести вообще на главную страницу! Это очень важно! Предлагаю вообще на главной странице сделать так наз. скрижалии (заповеди) для FLProg. Иначе, просто многие будут делать свои программы (казалось бы правильно!), а они не корректно будут работать. В результате человек будет искать то, чего можно избежать просто правильно расставив блоки!
Цитата Слимпер ()
Еще я заметил, что многие на форуме располагаю блоки не правильно

Да уж, я на это сильно внимание не обращал! Думал, что сверху вниз и небольшое смещение имеют роль, а тут ведь очень тонко все получается!


Максим (VK - Максим Дунаевский)
 
Слимпер Дата: Среда, 14.09.2016, 09:42 | Сообщение # 13
Генерал-лейтенант
Группа: Проверенные
Сообщений: 678
Награды: 31
Репутация: 23
Статус: Offline
Max, Это я почерпнул из диалога с автором, можно почитать в этой теме сообщения 12-14, основные тезисы:




Так же была еще одна тема, она не много устарела, но вот выжимка от туда:




Сообщение отредактировал Слимпер - Среда, 14.09.2016, 11:16
 
Max Дата: Среда, 14.09.2016, 11:07 | Сообщение # 14
Гуру
Группа: Проверенные
Сообщений: 484
Награды: 14
Репутация: 4
Статус: Offline
Цитата Слимпер ()
Это я почерпнул из диалога с автором, можно почитать в этой теме сообщения 12-14, основные тезисы:
Прочел тему. Она для меня стала неким откровением...

Я теперь начал понимать, почему некоторые моменты в программе у меня просто неправильно работали, при том, что вроде логически все должно работать 100%...

Очень и очень печально, что автор программы проигнорировал последний пост в этой теме. Для очень многих бы открылись бы глаза... В принципе, последний заданный в той теме вопрос считаю не раскрытым.

И эта тема, по сути наиважнейшая, просто затерялась в разделе Баг-трекер-Непринятые!
Модератору надо бы её вынести на главную страницу, и огненными буквами записать на главной странице сайта!

Добавлено (14.09.2016, 11:07)
---------------------------------------------
Цитата Max ()
Слимпер
Получается Ваш вопрос, который был задан Вами в посте №15 так и не получил конкретный ответ? И выводы Вы сделали по собственным так сказать, рассуждениям?


Максим (VK - Максим Дунаевский)

Сообщение отредактировал Max - Среда, 14.09.2016, 11:07
 
Слимпер Дата: Среда, 14.09.2016, 11:19 | Сообщение # 15
Генерал-лейтенант
Группа: Проверенные
Сообщений: 678
Награды: 31
Репутация: 23
Статус: Offline
Цитата Max ()
Получается Ваш вопрос, который был задан Вами в посте №15 так и не получил конкретный ответ? И выводы Вы сделали по собственным так сказать, рассуждениям?
Часть ответов я получил в другой теме, выше давал ссылку, но она что криво вставилась, сейчас поправил.
Вот еще раз FBD Порядок обработки блоков на плате

Ну и да, часть просто когда были глюки, лез смотрел как это в коде выглядит, и сделал выводы для себя.


Сообщение отредактировал Слимпер - Среда, 14.09.2016, 11:19
 
Форум » Основной » Спросить у знатоков » Поиск подстроки.
Страница 1 из 212»
Поиск:

FLProg © 2016
Яндекс.Метрика