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

Тема: ПЛК210 Указание адресов регистро MBTCP_Slave с помощью "AT" для экземпляров структуры

  1. #1

    По умолчанию ПЛК210 Указание адресов регистро MBTCP_Slave с помощью "AT" для экземпляров структуры

    Добрый день!
    Пишу первую программу для ПЛК210. Планирую данные из экземпляров пользовательских структур (UDT) выдавать по MBTCP-Slave на панель СП310-Р
    В сеть Ethernet добавил ModbusTCP_Slave_Device, указал 2000 Holding Registers, поставил галочку Writeable
    на закладке Mapping появился массив %QW55 [0..1999] OF WORD - но сюда свои структуры я не привяжу
    например, можно ли сделать так:
    Код:
    VAR_GLOBAL
    	uBreak_1	AT %MW10	: T_Break;	// Тормоз №1
    	uBreak_2	AT %MW20	: T_Break;	// Тормоз №2
    END_VAR
    где T_Break моя UDT структура (набор UINT и BIT в основном)

    или нужно указывать адрес из диапазона %QW55-%QWxx55
    или инструкция AT тут вообще не работает? не нашел в хэлпе и на форуме примеров с ней
    живого ПЛК на руках нет, не могу проверить

  2. #2

    По умолчанию

    Цитата Сообщение от aranea Посмотреть сообщение
    Добрый день!
    Пишу первую программу для ПЛК210. Планирую данные из экземпляров пользовательских структур (UDT) выдавать по MBTCP-Slave на панель СП310-Р
    В сеть Ethernet добавил ModbusTCP_Slave_Device, указал 2000 Holding Registers, поставил галочку Writeable
    на закладке Mapping появился массив %QW55 [0..1999] OF WORD - но сюда свои структуры я не привяжу
    например, можно ли сделать так:

    где T_Break моя UDT структура (набор UINT и BIT в основном)

    или нужно указывать адрес из диапазона %QW55-%QWxx55
    или инструкция AT тут вообще не работает? не нашел в хэлпе и на форуме примеров с ней
    живого ПЛК на руках нет, не могу проверить
    У вас структура занимает 2000 регистров? Биты пробовали упаковать в Маски WORD ?

    Обычно делают так, выделяют массив равный размеру структуры и по его адресу кладут структуру. Проверить размер структуры
    в байтах можно через SIZEOF.
    Здесь скрин нескольких массивов, для чтения, записи в эмулятор панели (в панель) с использованием прямых адресов https://owen.ru/forum/showthread.php?t=39248&page=4#39

    Пример кода, структура COMPRESSOR повторяется 7 раз
    Код:
    compressors AT%QW10 : ARRAY [1..7] OF COMPRESSOR;
    Последний раз редактировалось kondor3000; 20.05.2024 в 15:05.

  3. #3
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,712

    По умолчанию

    Цитата Сообщение от aranea Посмотреть сообщение
    или нужно указывать адрес из диапазона %QW55-%QWxx55
    Да, таким образом вы размещаете свою структуру в области памяти модбас слэйва.

    Аккуратно с выравниванием! Bool в виде отдельной сущности в CoDeSys занимает в памяти байт!
    Так что зря вы не имея на руках ПЛК, да в первый раз начали с фигур высшего пилотажа, можно в штопор уйти.

  4. #4

    По умолчанию

    Цитата Сообщение от kondor3000
    У вас структура занимает 2000 регистров? Биты пробовали упаковать в Маски WORD ?
    ну это я с запасом указал, по факту потом подрежу
    у меня и так в структурах BIT а не BOOL, BIT как раз 1 бит занимает и в WORD складывается по 16 штук (был опыт CDS 3.5 на китайских ПЛК)

    нашел на форуме, что в моем случае правильнее использовать OwenCommunication -> MB_TcpSlave, на pData задал ему ADR(%MW0), на szSize 4000 указал
    теперь если объявить так:
    Код:
    VAR_GLOBAL
    	uBreak_1	AT %MW10	: T_Break;	// Тормоз №1
    	uBreak_2	AT %MW20	: T_Break;	// Тормоз №2
    END_VAR
    то как раз все данные структур попадают в область Holding Registers (в другие тоже зеркалятся, но не интересно)

Похожие темы

  1. ПЛК210-04-CS - сбой с индикацией "DO3"
    от Александр П. в разделе ПЛК2хх
    Ответов: 4
    Последнее сообщение: 10.01.2024, 11:52
  2. МУ110 с ПЛК210 "Шина не запущена"
    от KYakovlev в разделе ПЛК2хх
    Ответов: 6
    Последнее сообщение: 21.12.2023, 12:41
  3. Ответов: 0
    Последнее сообщение: 02.02.2020, 21:44
  4. Ответов: 5
    Последнее сообщение: 27.06.2018, 11:11
  5. Ответов: 16
    Последнее сообщение: 15.02.2017, 11:39

Ваши права

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