Показано с 1 по 8 из 8

Тема: Приведение типов для связи с СП107

  1. #1

    По умолчанию Приведение типов для связи с СП107

    Добрый день.
    В свое время были куплены 2 электросчетчика АВВ, интегрированы в систему посредством сбора данных через ПЛК160М2. В карте регистров счетчика все виды энергий идут как Usigned, что в принципе понятно и логично. Подключил по RS232, создал WORDы (2 byte), загнал это все в СП107 и все было хорошо до прошлой недели, пока ..... в одном и счетчиков WORDa стало мало и показания превратились в галиматью. Быстро осознав свою ошибку, убрал Input Module, заменив их 32bit Input Module. Показания в ПЛК пришли в норму, а вот в СП107... Для 1 счетчика, у которого пока WORDa хватает все показывает ровно, а второй кажет хрен пойми что. Там порядок байт меняется (если да, то как их изменить в панели) или что я делаю не так? (в СП107 типы переменных переделал с WORD на DWORD разумеется).

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

    По умолчанию

    Цитата Сообщение от Bigcrash Посмотреть сообщение
    Добрый день.
    В свое время были куплены 2 электросчетчика АВВ, интегрированы в систему посредством сбора данных через ПЛК160М2. В карте регистров счетчика все виды энергий идут как Usigned, что в принципе понятно и логично. Подключил по RS232, создал WORDы (2 byte), загнал это все в СП107 и все было хорошо до прошлой недели, пока ..... в одном и счетчиков WORDa стало мало и показания превратились в галиматью. Быстро осознав свою ошибку, убрал Input Module, заменив их 32bit Input Module. Показания в ПЛК пришли в норму, а вот в СП107... Для 1 счетчика, у которого пока WORDa хватает все показывает ровно, а второй кажет хрен пойми что. Там порядок байт меняется (если да, то как их изменить в панели) или что я делаю не так? (в СП107 типы переменных переделал с WORD на DWORD разумеется).
    Добрый день.
    Используйте библиотеку OwenCommunication - в ней есть функция WORD2_TO_DWORD (которая позволяет и порядок байт менять при конвертации).

  3. #3

    По умолчанию

    Евгений, в вашем посте указывается, что
    Библиотеку можно использовать в версиях CODESYS V3.5 SP11 Patch 5 и выше.
    В CS 2.3 (для ПЛК 160) она будет работать?

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

    По умолчанию

    Цитата Сообщение от Bigcrash Посмотреть сообщение
    Евгений, в вашем посте указывается, что
    В CS 2.3 (для ПЛК 160) она будет работать?
    В CS2.3 она не будет работать.
    Но насколько я понял - вопрос-то у вас про СПК и CS3.5?

  5. #5

    По умолчанию

    Я неверно панель указал, не СП107, а СП307 в связке с ПЛК160. Можно ли такое осуществить через функциональную область для конкретных регистров?
    Последний раз редактировалось Bigcrash; 27.05.2021 в 15:15.

  6. #6
    Пользователь Аватар для A.Simonov
    Регистрация
    11.07.2017
    Адрес
    Москва
    Сообщений
    623

    По умолчанию

    Цитата Сообщение от Bigcrash Посмотреть сообщение
    Я неверно панель указал, не СП107, а СП307 в связке с ПЛК160. Можно ли такое осуществить через функциональную область для конкретных регистров?
    Добрый день.

    Как вариант можно переставить данные на самом ПЛК, в любом нужном вам порядке и передать их в панель.
    addrFloat объявляете как POINTER TO ARRAY [0..3] OF BYTE
    смена_чередования_байтов.png

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

    Александр Андреевич Симонов
    Инженер по продуктам «ПЛК, модули и OwenCloud»

    Не работаю в ОВЕН с 01.07.22
    По всем вопросам обращайтесь на почту: support@owen.ru

  7. #7

    По умолчанию

    Цитата Сообщение от A.Simonov Посмотреть сообщение
    Добрый день.

    Как вариант можно переставить данные на самом ПЛК, в любом нужном вам порядке и передать их в панель.
    addrFloat объявляете как POINTER TO ARRAY [0..3] OF BYTE
    смена_чередования_байтов.png

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

  8. #8
    Пользователь Аватар для A.Simonov
    Регистрация
    11.07.2017
    Адрес
    Москва
    Сообщений
    623

    По умолчанию

    Цитата Сообщение от Bigcrash Посмотреть сообщение
    Галочка есть, но она применит настройки ко всему проекту.
    Тогда только внутри ПЛК менять байты/регистры.
    Можно еще с помощью библиотеки OSCAT (там есть функции DWORD_OF_BYTE, DWORD_OF_WORD, SWAP_BYTE, SWAP_BYTE2 и т.п.)
    https://ftp.owen.ru/CoDeSys3/98_Book...asic333_ru.pdf
    https://ftp.owen.ru/CoDeSys23/05_Lib..._basic_333.lib

    Александр Андреевич Симонов
    Инженер по продуктам «ПЛК, модули и OwenCloud»

    Не работаю в ОВЕН с 01.07.22
    По всем вопросам обращайтесь на почту: support@owen.ru

Похожие темы

  1. преобазование типов
    от u_bishop в разделе Master SCADA 3
    Ответов: 4
    Последнее сообщение: 07.02.2017, 16:35
  2. Можно ли сделать автоматическое приведение типов?
    от Владимир Ситников в разделе Среда программирования OWEN Logic
    Ответов: 7
    Последнее сообщение: 01.02.2016, 10:29
  3. преобразование типов.
    от AntonTrade в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 24.03.2010, 08:31
  4. Преобразование типов
    от DeMax в разделе ПЛК1хх
    Ответов: 5
    Последнее сообщение: 22.06.2009, 22:33

Ваши права

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