Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 17

Тема: Поведение модуля в исключительных ситуациях

  1. #1

    По умолчанию Поведение модуля в исключительных ситуациях

    Доброго дня, помогите новичку разобраться в "Поведение модуля в исключительных ситуациях"
    Как вытащить этот старший байт из Real.
    Если можно с примером в CFC
    Заранее спасибо за помощь.

    7.3.9.3 Поведение модуля в исключительных ситуациях
    При возникновении исключительных ситуаций, в результате измерения соот-
    ветствующего канала (старший байт переменной типа REAL) устанавливается спе-
    циальное значение соответствующее исключительной ситуации.
    Модуль аналогового ввода распознает следующие исключительные ситуации:
    − результаты измерения заведомо не верны – 0x F1;
    − результаты измерения не готовы – 0x F6;
    − сигнал на входе больше возможного – 0x FA;
    − сигнал на входе меньше возможного – 0x FB;
    − перегрузка в канале измерения тока – 0x FС;
    − обрыв датчика в канале измерения напряжения – 0x FD.

  2. #2
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,669

    По умолчанию

    У вас вместо real пойдет билиберда по идее, и вот тогда вы смотрите старший байт.
    Вроде макросы были от производителя, которые сразу выполняют контроль и в случае неисправности датчика дают на выход значение по умолчанию, которое зададите.

    Decode_float смотрите в библиотеках Owen

  3. #3
    Пользователь
    Регистрация
    05.03.2017
    Адрес
    Петропавловск
    Сообщений
    81

    По умолчанию

    если переменная больше 0хF0 это уже ошибка, дальше простым перебором
    можно и модуль сделать, чтобы сразу выводил с нужным описанием
    только не пойму зачем именно старший байт вытаскивать??? при ошибке в переменной будет значение 0хFX, и никакой другой "билиберды" ))

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

    По умолчанию

    Цитата Сообщение от ПростоМастер Посмотреть сообщение
    если переменная больше 0хF0 это уже ошибка, дальше простым перебором
    можно и модуль сделать, чтобы сразу выводил с нужным описанием
    только не пойму зачем именно старший байт вытаскивать??? при ошибке в переменной будет значение 0хFX, и никакой другой "билиберды" ))
    так то Real выглядит как то так 16#ХХХХХХХХ, где первые два икса после решетки это и есть возможный код ошибки, а 0хF0 это всего лишь байт
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  5. #5
    Пользователь
    Регистрация
    05.03.2017
    Адрес
    Петропавловск
    Сообщений
    81

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    так то Real выглядит как то так 16#ХХХХХХХХ, где первые два икса после решетки это и есть возможный код ошибки, а 0хF0 это всего лишь байт
    так непонятно зачем тащить один байт??? когда ошибка это число заведомо больше стандартного диапазона
    или лыжи не той системы не пойму

  6. #6
    Пользователь
    Регистрация
    05.03.2017
    Адрес
    Петропавловск
    Сообщений
    81

    По умолчанию

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

  7. #7
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,669

    По умолчанию

    ПростоМастер потому что надо не просто сообщить "Алярм!, Алярм!" а еще сказать почему собственно Алярма с датчиком случилась...

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

    По умолчанию

    Цитата Сообщение от ПростоМастер Посмотреть сообщение
    так непонятно зачем тащить один байт??? когда ошибка это число заведомо больше стандартного диапазона
    или лыжи не той системы не пойму
    Каково Ваше решение сообщать в одной и той же переменной и реальное значение и ошибку? Выведено за диапазон как раз и для того чтоб программный код правильно интерпретировал приходящее значение, что не так то? Не читали перечень возникающих ошибок?
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  9. #9
    Пользователь
    Регистрация
    05.03.2017
    Адрес
    Петропавловск
    Сообщений
    81

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    ПростоМастер потому что надо не просто сообщить "Алярм!, Алярм!" а еще сказать почему собственно Алярма с датчиком случилась...
    Цитата Сообщение от capzap Посмотреть сообщение
    Каково Ваше решение сообщать в одной и той же переменной и реальное значение и ошибку? Выведено за диапазон как раз и для того чтоб программный код правильно интерпретировал приходящее значение, что не так то? Не читали перечень возникающих ошибок?
    приехали. ну вы чего парни. заработались???
    к примеру диапазон измерений (образно) от 0 до 10
    как сообщить в одном числе если данные не верны и саму ошибку??? коды ошибок к примеру 100. 200. 300
    оч просто, 9 это сигнал, а к примеру 209 это уже ошибка. в нашем случае это будут отрицательные числа и чего сложного распознать нужный аларм???
    переведите если уж очень надо 16х в десятичную. если в hex не знаете почему коды ошибок и флаги в старших байтах стоят
    и решение сообщать в одной переменной ошибку с неверными данными или данные без кода ошибки, принято не мной. это логика, причём элементарная
    или мы на разных языках об одном и том же?? хз

    зачем тянуть старший байт? если по значению переменной можно сразу понять верные данные или там лажа, причём лажа с конкретным указанием ошибки. причём понять это можно не выделяя старший байт.

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

    По умолчанию

    Цитата Сообщение от ПростоМастер Посмотреть сообщение
    оч просто, 9 это сигнал, а к примеру 209 это уже ошибка. в нашем случае это будут отрицательные числа
    не в нашем, а в конкретно в Вашем придуманном случае, тут пользователи желают с LReal работать частенько

    Тянут старший байт только для того чтоб расшифровать код ошибки и реализацию как это делать ни кто не выкладывал. Например я не вижу ни какой заморочки в одном условии проверять старший байт на ошибку и принимать какое то решение и если он не равен ошибке обрабатывать аналоговый сигнал
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Система оповещения об аварийных ситуациях
    от OlegSm в разделе Подбор Оборудования
    Ответов: 3
    Последнее сообщение: 01.10.2015, 07:56
  2. Непонятное поведение ПР
    от Sergh_Cherenkov в разделе Программируемые реле
    Ответов: 30
    Последнее сообщение: 28.06.2011, 09:53
  3. страннное поведение трм212
    от mar154 в разделе Эксплуатация
    Ответов: 4
    Последнее сообщение: 16.08.2010, 16:00
  4. странное поведение энкодера
    от woffka в разделе ПЛК1хх
    Ответов: 14
    Последнее сообщение: 06.11.2009, 09:46
  5. Странное поведение МВУ8
    от Benick в разделе Эксплуатация
    Ответов: 4
    Последнее сообщение: 23.01.2008, 16:23

Ваши права

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