Страница 214 из 318 ПерваяПервая ... 114164204212213214215216224264314 ... ПоследняяПоследняя
Показано с 2,131 по 2,140 из 3178

Тема: Панели оператора СП3xx. Вопросы и ответы

  1. #2131

    По умолчанию

    petera, супер!!! Большое спасибо за подсказку и отдельное спасибо - за реализацию. Разобрался.

  2. #2132

    По умолчанию

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


    Чертим трубопроводы. Казалось бы, ерунда, а не вопрос.
    Все начертили, красота. Загружаем в панель - разрывы.
    Это нормально?

    То есть, чтоб линии по факту соединялись, то в редакторе вынуждены их делать в нахлест
    WhatsApp Image 2021-08-03 at 14.17.08.jpeg
    +79104444236
    С уважением,
    Лапшин Вячеслав

  3. #2133
    Пользователь
    Регистрация
    18.05.2017
    Адрес
    Чебоксары
    Сообщений
    118

    По умолчанию

    Уважаемые сотрудники техподдержки!

    Столкнулся с какой-то мистикой, поэтому прошу объяснить, не является ли ошибкой в документации на СП307 следующее

    Код макроса: WORD ArrValue[2];


    Reads(PLC, 2, MODBUS_RTU_REGS_4X, 4, 2, &ArrValue);

    Разве не правильно будет записать
    Reads(PLC, 2, MODBUS_RTU_REGS_4X, 4, 2, ArrValue);
    или
    Reads(PLC, 2, MODBUS_RTU_REGS_4X, 4, 2, &ArrValue[0]);

    Насколько помню, адрес первого элемента массива в языке Си можно получить так, как я написал в своих двух примерах, а не как в справке.
    Что это - какой-то особый Си или ошибка в документации?

    При чтении в макросе двух массивов творилась мистика, когда начал читать все одним массивом стало нормально, но вот вопрос - а я вообще с памятью правильно ли работаю, не порчу ли что-либо системное и т.п.?

  4. #2134
    Пользователь
    Регистрация
    18.05.2017
    Адрес
    Чебоксары
    Сообщений
    118

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Добрый день. Отправьте, пожалуйста, проекты для обоих устройств на support@owen.ru

    Укажите версию прошивки ПЛК (можно посмотреть через PLC browser в Codesys, команда PLC Info).
    Уважаемые сотрудники техподдержки!

    Столкнулся с какой-то мистикой, поэтому прошу объяснить, не является ли ошибкой в документации на СП307 следующее

    Код макроса: WORD ArrValue[2];


    Reads(PLC, 2, MODBUS_RTU_REGS_4X, 4, 2, &ArrValue);

    Разве не правильно будет записать
    Reads(PLC, 2, MODBUS_RTU_REGS_4X, 4, 2, ArrValue);
    или
    Reads(PLC, 2, MODBUS_RTU_REGS_4X, 4, 2, &ArrValue[0]);

    Насколько помню, адрес первого элемента массива в языке Си можно получить так, как я написал в своих двух примерах, а не как в справке.
    Что это - какой-то особый Си или ошибка в документации?

    При чтении в макросе двух массивов творилась мистика, когда начал читать все одним массивом стало нормально, но вот вопрос - а я вообще с памятью правильно ли работаю, не порчу ли что-либо системное и т.п.?

  5. #2135
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,064

    По умолчанию

    Цитата Сообщение от konst_smn Посмотреть сообщение
    Насколько помню, адрес первого элемента массива в языке Си можно получить так, как я написал в своих двух примерах, а не как в справке.
    Что это - какой-то особый Си или ошибка в документации?
    Это обычный С.
    http://www.open-std.org/jtc1/sc22/wg...onaleV5.10.pdf
    см. п. 6.5.3.2


    Цитата Сообщение от konst_smn Посмотреть сообщение
    При чтении в макросе двух массивов творилась мистика, когда начал читать все одним массивом стало нормально, но вот вопрос - а я вообще с памятью правильно ли работаю, не порчу ли что-либо системное и т.п.?
    Чтобы ответить на этот вопрос - нужен ваш проект и подробное пошаговое описание, как в нем воспроизвести "мистику".

  6. #2136
    Пользователь
    Регистрация
    18.05.2017
    Адрес
    Чебоксары
    Сообщений
    118

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Это обычный С.
    http://www.open-std.org/jtc1/sc22/wg...onaleV5.10.pdf
    см. п. 6.5.3.2




    Чтобы ответить на этот вопрос - нужен ваш проект и подробное пошаговое описание, как в нем воспроизвести "мистику".
    Основная суть вопроса - не мистика, а получение адреса в Си. Проект Ведь, как понимаете, не только с СП307, поэтому достоверную причину "мистики" было бы бессовестно предлагать искать Вам.
    Давайте вернемся к сути вопроса - это получение адреса массива. В документах, которые Вы предлагаете, писать могут что угодно, суть в другом, возможно, в моем заблуждении, или неправильной памяти?

    Когда я делаю
    int Var

    а затем
    &Var

    я получаю адрес переменной Var

    когда я делаю
    int Var[10], то в силу своих, возможно, заблуждений, считаю, что для получения адреса первого элемента массива я должен в Си либо написать просто "Var", либо
    что-то типа "&(Var[0])"
    В реализации Си89 не так - просто да или нет?
    Вы разработчики, Ваше слово - при использовании Вашей техники - закон. Вы говорите - делаем так, это работает - значит делаем так !
    PS СП307 используется в проекте с ПЛК110, когда в объявленных модбас-переменных шли 8-битовые элементы (несколько пар), затем 2 байтовые, зачем одна 4-байтовая, затем снова двухбайтовые - с последними двухбайтовыми шла мистика. Просто выкинул 4- байтовую переменную, потом, возможно, вставлю ее в самый конец регистр Модбаса - когда она была в конце, все работало нормально. Для Вас это просто информация, я могу быть где-то неправ, где-то заблуждаться.
    Последний раз редактировалось konst_smn; 08.08.2021 в 12:17.

  7. #2137
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,064

    По умолчанию

    В реализации Си89 не так - просто да или нет?
    В макросах для панелей СП3хх (и согласно стандарту ANSI C - хоть и, по вашему мнению, в нем могут "писать что угодно") - все 3 варианта (вариант из документации и два варианта, упомянутых вами) - корректны и будут работать одинаково.

    PS СП307 используется в проекте с ПЛК110, когда в объявленных модбас-переменных шли 8-битовые элементы (несколько пар), затем 2 байтовые, зачем одна 4-байтовая, затем снова двухбайтовые - с последними двухбайтовыми шла мистика.
    Вы, вероятно, не учли выравнивание памяти.
    https://ftp.owen.ru/CoDeSys23/06_Doc...ation_v2.0.pdf
    см. п. 3.1.3.1

  8. #2138
    Пользователь
    Регистрация
    18.05.2017
    Адрес
    Чебоксары
    Сообщений
    118

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    В макросах для панелей СП3хх (и согласно стандарту ANSI C - хоть и, по вашему мнению, в нем могут "писать что угодно") - все 3 варианта (вариант из документации и два варианта, упомянутых вами) - корректны и будут работать одинаково.



    Вы, вероятно, не учли выравнивание памяти.
    https://ftp.owen.ru/CoDeSys23/06_Doc...ation_v2.0.pdf
    см. п. 3.1.3.1
    Спасибо за совет. Выравнивание памяти учел . Простые правила без руководства - 8 битные регистры парами, 4-байтовая переменная - 2 регистра. Впрочем, не суть важно, пока что "обошел".
    Огромное спасибо за работу и в воскресенье , вместе в Вашими единомышленниками, считающими что надо максимально внедрять отечественные приборы !!!!!

  9. #2139
    Пользователь
    Регистрация
    18.05.2017
    Адрес
    Чебоксары
    Сообщений
    118

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    В макросах для панелей СП3хх (и согласно стандарту ANSI C - хоть и, по вашему мнению, в нем могут "писать что угодно") - все 3 варианта (вариант из документации и два варианта, упомянутых вами) - корректны и будут работать одинаково.



    Вы, вероятно, не учли выравнивание памяти.
    https://ftp.owen.ru/CoDeSys23/06_Doc...ation_v2.0.pdf
    см. п. 3.1.3.1

    И все же, проблема есть.
    Читаю макросом данные из ПЛК110 - регистры 0 - 16 в регистры PSW панели СП307.
    Вывожу регистр 4 на экран в виде шестнадцатеричного числа - в нем ноль, как и положено. В регистре PSW260 при этом находится значение 255 (0xFF, которое фактически записано в регистр 13 (счет, номера регистра, естественно, с нуля)
    Что не так в этом макросе, вызываемом либо раз в секунду, либо непрерывно при помощи глобальной функциональной области?
    В нем всего лишь читаются 17 регистров в массив, если нет ошибки обмена с ПЛК110.
    Почему вдруг в регистре PSW260 вместо регистра 4 регистр 13?
    Ставил при реализации проекта задачу оптимизации быстродействия, привязал к PSW сотни экранных элементов.
    В чем причина-то? Моя ошибка - в упор не вижу? ограничения длины буфера или длины сообщения панели, не указанные в документации?
    На ПЛК110 грешить трудно - он что - в длинном сообщении передает не то, что в коротком, когда я привязываю регистр к цифровому индикатору?

    WORD RdBuf[100];

    // Read from PLC110 - DI to PSW256, PSW257, PSW258 DO to PSW259, 260

    Reads(PLC, 1, MODBUS_RTU_REGS_4X, 0, 17, &RdBuf);
    if (GetPSBStatus(51))
    {
    ;
    }
    else
    {
    PSW[256] = RdBuf[0];
    PSW[257] = RdBuf[1];
    PSW[258] = RdBuf[2];
    PSW[259] = RdBuf[3];
    PSW[260] = RdBuf[4];
    PSW[261] = RdBuf[5];
    PSW[262] = RdBuf[6];
    PSW[263] = RdBuf[7];
    PSW[264] = RdBuf[8];
    PSW[265] = RdBuf[9];
    PSW[266] = RdBuf[10];
    PSW[267] = RdBuf[11];
    PSW[268] = RdBuf[12];
    PSW[260] = RdBuf[13];
    PSW[270] = RdBuf[14];
    PSW[271] = RdBuf[15];
    PSW[272] = RdBuf[16];
    }
    Последний раз редактировалось konst_smn; 09.08.2021 в 09:21.

  10. #2140

Страница 214 из 318 ПерваяПервая ... 114164204212213214215216224264314 ... ПоследняяПоследняя

Похожие темы

  1. Экспорт CSV в панели СП3xx и порядок квитирования событий
    от theoretician в разделе Панели оператора (HMI)
    Ответов: 30
    Последнее сообщение: 24.08.2021, 16:17
  2. Индикатор ИП120 , вопросы- ответы
    от rovki в разделе Программируемые реле
    Ответов: 56
    Последнее сообщение: 03.11.2017, 15:58
  3. Сенсорные панели оператора ОВЕН СП3ХХ
    от Боднар Олег Миколайович в разделе Подбор Оборудования
    Ответов: 7
    Последнее сообщение: 17.12.2015, 09:09
  4. СПК 107 в качестве панели оператора
    от Леонид в разделе СПК1хх
    Ответов: 15
    Последнее сообщение: 20.11.2015, 08:17

Ваши права

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