Страница 445 из 1050 ПерваяПервая ... 345395435443444445446447455495545945 ... ПоследняяПоследняя
Показано с 4,441 по 4,450 из 10495

Тема: ВОПРОС-ОТВЕТ (отвечаем на простые вопросы от новичков)

  1. #4441

    По умолчанию

    Если я правильно понимаю, то в моем примере должно быть так EDF83A6B ? Но это число равно в дес 3992468075 но не 0. Помогите пож. разобраться „совсем зеленому” новичку. Если не затруднит дайте пример программы перевода из word в дес желательно в cfc другого языка не знаю( но очень хочу научиться)((((

  2. #4442

    По умолчанию

    Цитата Сообщение от Panalexfix Посмотреть сообщение
    Если я правильно понимаю, то в моем примере должно быть так EDF83A6B ? Но это число равно в дес 3992468075 но не 0. Помогите пож. разобраться „совсем зеленому” новичку. Если не затруднит дайте пример программы перевода из word в дес желательно в cfc другого языка не знаю( но очень хочу научиться)((((
    ГОСПОДА огромное Вам СПАСИБО!!!
    в первом случае получилось с 0 кг(2,1,4,3), но когда положил вес равный 1,1 кг, то методом подбора получил 4,3,2,1 как это все систематизировать? От этого миксера голова кругом((((

  3. #4443

    По умолчанию

    Цитата Сообщение от krollcbas Посмотреть сообщение
    А есть какой-либо "родной" от весов цифровой индикатор, чтоб убедиться что число, которое Вы говорите - ноль?
    Не путаете ли Вы регистры по адресам и соответствует ли это описанию разметки регистров весов?
    В весах точно заявлена поддержка Modbus RTU?
    В конце концов отключите ПЛК, подключите через AC4 к ОПС серверу, может там сдвиг какой-то придуман злодеями.
    Будете видеть всю картину значений по регистрам. Если значение Ваше увидете, так там и язык программирования не важен станет. Вы не такой уж и "зеленый", коль в субботу гранит науки кушаете.
    ДА, на весовом терминале кв 001 есть индикация (шести разрядный семи сегментный индикатор). Он даже откалиброван)))
    Заявлено производителем MODBUS.

  4. #4444
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,254

    По умолчанию

    Цитата Сообщение от Panalexfix Посмотреть сообщение
    ГОСПОДА огромное Вам СПАСИБО!!!
    в первом случае получилось с 0 кг(2,1,4,3), но когда положил вес равный 1,1 кг, то методом подбора получил 4,3,2,1 как это все систематизировать? От этого миксера голова кругом((((
    приведите значения регистров при килограмме на весах
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  5. #4445
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,843

    По умолчанию

    Цитата Сообщение от Panalexfix Посмотреть сообщение
    Доброго времени суток!!!
    Прошу помощи в переводе из Float в нормальный десятичный вид. Задача: из весового контроллера КВ 001 считать один регистр №0 (текущий вес), а он Float. Производитель сказал что нужно поменять первый и последний бит при считывании, а как это сделать не знаю((((.
    Float это и есть REAL.
    Ну, что Вы сразу взялись отдельные регистры читать (два WORDа) вместо REAL. А затем пытаетесь на калькуляторе механически совмещать эти два регистра, числа с плавающей точкой выглядят не так, Смотреть двоичное представление Float (REAL)

    Числа Float действительно занимают два регистра, только порядок передачи этих регистров по ModBus не стандартизован, по этому приходится иногда переставлять регистры местами уже в программе ПЛК.
    Но переставлять местами регистры может сам Мастер. В Universal modbus device измените значение параметра Byte Sequence на Native
    Вложение 20821
    И попробуйте, может этот вариант расположения регистров подойдет для Вашего случая.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  6. #4446

    По умолчанию

    petera не помогло при этом и число осталось тоже самое без изменений

  7. #4447
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,843

    По умолчанию

    Цитата Сообщение от Panalexfix Посмотреть сообщение
    petera не помогло при этом и число осталось тоже самое без изменений
    Не может быть тоже самое число. Надеюсь, Вы не два Register input modul используете, а как и положено Real input modul.
    Значение в переменной "ves" должно меняться в зависимости от
    значение параметра Byte Sequence. Попробуйте Native, а затем Trace_mode. Число должно быть разным.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  8. #4448

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    приведите значения регистров при килограмме на весах
    При 1 кг на весах значение:
    регистра №0 в WORD = 32029 переводим в НЕХ =7D1D
    регистра №1 в WORD = 32831 переводим в НЕХ =803F
    отсюда:
    7D- это 1-й байт
    1D- это 2-й байт
    80- это 3-й байт
    3F- это 4-й байт
    Если я правильно все понимаю то 3F807D1D это и есть мой 1 кг веса со смещениями чтения байт>> 4,3,1,2
    при значении 0 кг порядок чтения 2,1,4,3.
    при 1 кг 4,3,1,2.
    при 1,1 кг 4,3,2,1.
    Как это все "миксовать" для нормального отображения?

  9. #4449

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    Не может быть тоже самое число. Надеюсь, Вы не два Register input modul используете, а как и положено Real input modul.
    Значение в переменной "ves" должно меняться в зависимости от
    значение параметра Byte Sequence. Попробуйте Native, а затем Trace_mode. Число должно быть разным.
    Все напутал как Вы и сказали))
    Вот таки "краказябры" формата real(float)

  10. #4450
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,843

    По умолчанию

    Цитата Сообщение от Panalexfix Посмотреть сообщение
    При 1 кг на весах значение:
    регистра №0 в WORD = 32029 переводим в НЕХ =7D1D
    регистра №1 в WORD = 32831 переводим в НЕХ =803F
    отсюда:
    7D- это 1-й байт
    1D- это 2-й байт
    80- это 3-й байт
    3F- это 4-й байт
    Если я правильно все понимаю то 3F807D1D это и есть мой 1 кг веса со смещениями чтения байт>> 4,3,1,2
    при значении 0 кг порядок чтения 2,1,4,3.
    при 1 кг 4,3,1,2.
    при 1,1 кг 4,3,2,1.
    Не правильно
    Пришло 80 3F 7D 1D
    1D- это 1-й байт
    7D- это 2-й байт
    3F- это 3-й байт
    80- это 4-й байт
    Теперь нужно в полученном переставить местами 4 и 3, 2 и 1 байты.

    ЗЫ. После перестановки должно получится так 3F801D7D, что соответствует 1.00089991092681884765625 ~=1.0009 кг.

    Теперь для 0 кг.
    Вы получили значения
    регистра №0=F8ED
    регистра №1=6B3A
    ED- это 1-й байт
    F8- это 2-й байт
    3A- это 3-й байт
    6B- это 4-й байт
    Или 6B3AF8ED
    После перестановки байт в 6B3AF8ED должно получится 3A6BEDF8, что соответствует 8.999998681247234344482421875 е-004~=8.999999 e-004=0.0008999999=0.0009 кг

    Для 1.1.кг Вы полученные значения не привели
    Но должно быть примерно так
    регистр №0=CDCC
    регистр №1=8C3F
    CC- это 1-й байт
    CD- это 2-й байт
    3F- это 3-й байт
    8C- это 4-й байт
    Или 8C3FCDCC
    После перестановки байт в 8C3FCDCC должно получится 3F8CCCCD, что соответствует 1.10000002384185791015625~=1.1000 кг
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

Страница 445 из 1050 ПерваяПервая ... 345395435443444445446447455495545945 ... ПоследняяПоследняя

Метки этой темы

Ваши права

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