ЖУРНАЛ «СТА» №1/2008

Рассмотрим более подробно способы отображения входных и выходных пере- менных среды исполнения CoDeSys на коммуникационные объекты протокола Modbus. Каждый регистр, описание которого добавляется пользователем в конфигу- рацию контроллера PLC Configuration, имеет входной (для Holding , или выход- ных регистров) или выходной (для Input , или входных регистров) канал типа WORD. Делимые ( Bitwise ) регистры, в отличие от неделимых, обеспечивают возможность побитового доступа к ад- ресуемым ими данным как со стороны сети, так и со стороны программы. Спо- собы отображения данных программы на коммуникационные объектыModbus иллюстрируются рис. 30. Возможность отображения не более двух байт из области входных или вы- ходных данных среды исполнения CoDeSys на один регистр вовсе не озна- чает, что отсутствует способ обмени- ваться данными большего размера. Если мастер Modbus поддерживает команды чтения и записи множества регистров со смежными адресами за один запрос, то имеется возможность передавать по сети до 250 байт между мастером и контрол- лером за одну сетевую транзакцию. Для этого следует добавить в конфигурацию контроллера множество регистров, ко- личество которых должно быть в два раза меньше количества байт, подлежа- щих передаче, и идентификаторы кото- рых представляют собой возрастающую последовательность чисел, где каждые два соседних числа отличны на единицу ( RegisterID i = RegisterID i–1 + 1). Далее в программе необходимо создать выход- ную (для чтения из контроллера) или входную (для записи в контроллер) пе- ременную требуемого типа, ссылаю- щуюся на адрес первого регистра из соз- данного множества. Например, для чте- ния из контроллера переменной с пла- вающей точкой двойной точности (типа LREAL) потребуется создать четыре входных регистра со смежными увели- чивающимися на единицу идентифика- 50 СТА 1/2008 АППА РАТ НЫ Е С Р Е Д С Т В А / П Р ОМЫШЛ Е ННЫ Е КОН Т Р ОЛЛ Е Р Ы www.cta.ru VAR_INPUT modbusInput0 AT %IW0: BYTE; modbusInput1 AT %IW1: WORD; modbusBitIn0 AT %IX0.3: BOOL; modbusBitIn1 AT %IX1.13: BOOL; END_VAR VAR_INPUT modbusInput0 AT %IW0: BYTE; modbusInput1 AT %IW1: WORD; END_VAR %IW0 %IW1 %IB0 %IB1 %IB2 %IB3 Область входных данных Адресация неделимых выходных регистров Holding Register 1 Holding Register 2 %IW0 %IW1 %IB0 %IB1 %IB2 %IB3 Область входных данных Адресация делимых выходных регистров Bitwise Holding Register 1 Bitwise Holding Register 2 %IX0.0 %IX0.15 %IX1.0 %IX1.15 Рис. 30. Отображение входных переменных на выходные регистры Modbus Структурная схема микроконтроллера R8610 Кэш L1 16 кбайт RDC ядро 32 бит Контроллер USB 2.0 Host Контроллер прерываний Контроллер SDRAM Интерфейс X Bus Интерфейс LPC Контроллер DMA Таймер/ счётчик Микроконтроллер R8610 Новый х86 микроконтроллер RDC R8610 Доступен набор для разработчиков и полный комплект технической документации П Р О С О Ф Т — А К Т И В Н Ы Й К О М П О Н Е Н Т В А Ш Е Г О Б И З Н Е С А Телефон: (495) 234-0636 E-mail: info@prochip.ru Web: www.prochip.ru ■ Совместимость с популярной архитектурой x86 ■ Обширные периферийные возможности ■ Низкие затраты на разработку ПО ■ Низкая стоимость Основные достоинства Технические характеристики ■ RISC-ядро 133 МГц 32 бит ■ Двухпортовый хост-контроллер USB 2.0 ■ Контроллер PCI rev. 2.1 ■ 2 контроллера Fast Ethernet MAC ■ Интегрированная периферия: • контроллер прерываний, • контроллер DMA ■ Внешние интерфейсы и память: • Flash, ROM, SDRAM, • порт UART, • интерфейс LPC ■ 56 портов ввода-вывода общего назначения ■ Поддержка WinCE, Linux и других ОС #483 Реклама

RkJQdWJsaXNoZXIy MTQ4NjUy