Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Lazarus, Free Pascal, CodeTyphon
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 02.08.2019, 12:55   #11
WorldMaster
Профессионал
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Адрес: Россия, Мурманск
Сообщений: 2,212
Репутация: 617

icq: 359393755
По умолчанию

А что же вам покажет вот этот код если к примеру придет значение 0x0d или 0x0A
Код:
Length(Rx)
Сделайте лучше массив байт со счетчиком. Или список какой нибудь ... TList у вас там есть.
__________________
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
Если помог - нажми на весы
WorldMaster вне форума   Ответить с цитированием
Старый 02.08.2019, 12:59   #12
PTyTb32
Форумчанин
 
Регистрация: 06.10.2013
Сообщений: 203
Репутация: 62

icq: 418328851
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
А что же вам покажет вот этот код если к примеру придет значение 0x0d или 0x0A
функция вернет 1, если же будут оба то вернет 2
на сколько я понял из брейков

какой массив? я не совсем понимаю как его заполнять

Последний раз редактировалось PTyTb32; 02.08.2019 в 13:06.
PTyTb32 вне форума   Ответить с цитированием
Старый 02.08.2019, 13:21   #13
WorldMaster
Профессионал
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Адрес: Россия, Мурманск
Сообщений: 2,212
Репутация: 617

icq: 359393755
По умолчанию

Цитата:
Сообщение от PTyTb32 Посмотреть сообщение
функция вернет 1, если же будут оба то вернет 2
на сколько я понял из брейков

какой массив? я не совсем понимаю как его заполнять
Не правильно я сказал. В общем я к тому что для строк длина определяется до null то есть до нуля. И если приходят нулевые байты то вы их просто будете пропускать.


ну ладно. вы получили полный пакет с устройства?? Че дальше то не получчаетс?
__________________
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
Если помог - нажми на весы
WorldMaster вне форума   Ответить с цитированием
Старый 02.08.2019, 13:44   #14
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,857
Репутация: 6688
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
В общем я к тому что для строк длина определяется до null то есть до нуля. И если приходят нулевые байты то вы их просто будете пропускать.
Ни капли для типа String. У #0 такие же права, как у любого другого символа. И этот тип у лазаря, если не ошибаюсь, может же быть и юникодный. Тогда Length совсем не количество байтов
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 02.08.2019 в 13:56.
Аватар вне форума   Ответить с цитированием
Старый 02.08.2019, 13:56   #15
PTyTb32
Форумчанин
 
Регистрация: 06.10.2013
Сообщений: 203
Репутация: 62

icq: 418328851
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
Не правильно я сказал. В общем я к тому что для строк длина определяется до null то есть до нуля. И если приходят нулевые байты то вы их просто будете пропускать.


ну ладно. вы получили полный пакет с устройства?? Че дальше то не получчаетс?
есть список того что запланировано к примеру
1) Строение 1 Вентилятор 1 включить 02.08.19 12:50
2) Строение 3 Вентилятор 1 Автоматически

и так далее

дальше таймер пускает цикл по этому списку вытягивает из него Строение (соответствует адресу устройства) и Вентилятор (соответствует номеру регистра)
дальше смотрит есть ли там слово "автоматически" если да, то опрашивает устройство с адресом (строение +4) и делает запрос к устройству ввода что бы то сказало в каком положении его регистры, в зависимости от ответа включать реле или выключать, а если слова "автоматически" нет, то просто проверить дату и время
не получается сделать часть которая автоматически работает.. регистры сбиваются и я тоже уже сильно запутался((
PTyTb32 вне форума   Ответить с цитированием
Старый 02.08.2019, 14:03   #16
WorldMaster
Профессионал
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Адрес: Россия, Мурманск
Сообщений: 2,212
Репутация: 617

icq: 359393755
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Ни капли для типа String. У #0 такие же права, как у любого другого символа. И этот тип у лазаря, если не ошибаюсь, может же быть и юникодный. Тогда Length совсем не количество байтов
Ну тогда это не null терминированная строка.

Цитата:
Сообщение от PTyTb32 Посмотреть сообщение
и я тоже уже сильно запутался((
Значит пора взять листочек и ручку и на бумаге нарисовать блоками весь процесс. Разбить на мелкие подзадачи и решить каждую отдельно.
__________________
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
Если помог - нажми на весы
WorldMaster вне форума   Ответить с цитированием
Старый 02.08.2019, 14:07   #17
PTyTb32
Форумчанин
 
Регистрация: 06.10.2013
Сообщений: 203
Репутация: 62

icq: 418328851
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
Значит пора взять листочек и ручку и на бумаге нарисовать блоками весь процесс. Разбить на мелкие подзадачи и решить каждую отдельно.
да, сидел рисовал уже, посоветовали набор компонентов PascalSCADA пробую на нем... тут не нужно лазить в протокол, оно уже готово
PTyTb32 вне форума   Ответить с цитированием
Старый 02.08.2019, 14:21   #18
WorldMaster
Профессионал
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Адрес: Россия, Мурманск
Сообщений: 2,212
Репутация: 617

icq: 359393755
По умолчанию

Цитата:
Сообщение от PTyTb32 Посмотреть сообщение
да, сидел рисовал уже, посоветовали набор компонентов PascalSCADA пробую на нем... тут не нужно лазить в протокол, оно уже готово
Ну зато надо будет лазить в мануалах к библиотеке. Еще неизвестно что хуже.

По мне так вроде ничего страшного нету. Там так много регистров чтоли? Я так понял там ответ будет типа "вкл/выкл". Зачем городить огромные либы если тут на пару часов работы. Просто надо точнее проработать на бумаге.

Я бы создал класс "Строение" и класс "Устройство"

Устройство - задал имя "вентилятор", адрес устройства, адрес устрйоства ввода.
строение - имеет адрес и список устрйоств.

создаем список строений.

Код:
далее в таймере:
если период настал то читаем список:
  прочитали номер строения и номер устройства
    ищем в списке это строение и в нем это устрйоство
    нашли 
           есть слово автоматически 
               состояниеУстройства =  устройство-метод-ДайСостояние.
               если состояниеУстройства == вкл то устройство-метод-Выключить.
               иначе устройство-метод-Включить.
           
           Записать дату и время кудато
    идем к следующей записи.
Далее только методы прописать и байты разобрать и все.
__________________
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
Если помог - нажми на весы
WorldMaster вне форума   Ответить с цитированием
Старый 02.08.2019, 14:37   #19
PTyTb32
Форумчанин
 
Регистрация: 06.10.2013
Сообщений: 203
Репутация: 62

icq: 418328851
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
Ну зато надо будет лазить в мануалах к библиотеке. Еще неизвестно что хуже.
с библиотекой оказалость на много проще) в компоненты все регистры передал потом тяну за нужный он возвращает данные или передает. отличная библиотека на мой взгляд
PTyTb32 вне форума   Ответить с цитированием
Ответ

Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
XML чтение nwhta WPF, UWP, WinRT, XAML 0 18.11.2014 15:08
Чтение mp3 Predator199 PHP 5 04.09.2012 19:28
чтение XML Gudzik11 Общие вопросы Delphi 2 05.12.2011 21:25
Чтение ini romanzi Общие вопросы Delphi 1 20.06.2011 13:33
Чтение MDL Gr@nd Общие вопросы Delphi 0 08.06.2009 06:58


03:41.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru