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

АППА РАТ НЫ Е С Р Е Д С Т В А / П Р ОМЫШЛ Е ННЫ Е КОН Т Р ОЛЛ Е Р Ы 45 СТА 1/2008 www.cta.ru и основного коммуникационного профиля протокола CANopen. Сервис протокола CANopen в кон- троллере CPM701 серии Fastwel I/O реа- лизован в отдельном потоке исполне- ния и активизируется при возникнове- нии прерывания от адаптера сети CAN, входящего в состав контроллера, либо при необходимости передачи сообще- ния в сеть. Для обмена данными реального вре- мени между узлами сети CANopen в контроллерах CPM701 используется протокол PDO (Process Data Objects), позволяющий передавать и принимать в каждом сообщении до 8 байт данных. Для взаимодействия между средой раз- работки и контроллером по сети CAN используется сегментный режим чтения и записи по протоколу SDO (Service Data Objects). Параметры обмена Контроллеры CPM701 серии Fastwel I/O обеспечивают возможность инфор- мационного обмена при скоростях пе- редачи, приведённых в табл. 6. Начиная со скорости 500 кбит/с, тре- буется применять кабель, специально предназначенный для реализации сетей CAN, и согласование линии на каждом узле. Кроме скорости обмена, пользовате- лю требуется задать идентификатор узла в сети CANopen. Идентификатор узла (NodeID) используется сервисом управ- ления сетью для формирования и пере- дачи ряда служебных сообщений, а так- же сервисом протокола SDO для взаимо- действия со средой разработки CoDeSys. Исходящие коммуникационные объекты Сообщения, передаваемые контролле- ром в сеть CAN, далее называются исхо- дящими коммуникационными объекта- ми. Пользователь добавляет в конфигу- рацию контроллера требуемое количест- во описаний исходящих коммуникаци- онных объектов в поддерево CANopen InterfaceTransmitting PDOs секции PLC Configuration проекта прикладной про- граммы CoDeSys. Для каждого комму- никационного объекта должны задавать- ся идентификатор (COB_ID), тип пере- дачи (Transmission_Type), а также опцио- нально период выдачи (Event_Timer) и интервал, ограничивающий минималь- ный временной промежуток между пере- дачей в сеть одного и того же сообщения (Inhibit_Time). Кроме того, в описание каждого коммуникационного объекта пользователем должны быть добавлены ссылки на адреса в области выходных данных среды исполнения CoDeSys. До- бавление выполняется по команде кон- текстного меню, вызываемого щелчком правой кнопки мыши над описателем исходящего коммуникационного объек- та. Тем самым обеспечивается возмож- ность передачи в сеть значений перемен- ных, формируемых прикладной про- граммой. Способ отображения переменных из области выходных данных среды испол- нения CoDeSys на поля данных исходя- щих коммуникационных объектов ил- люстрирует рис. 26. Для отображения могут использоваться ссылки типа BYTE, WORD и DWORD с сохранением возможности побитовой адресации внутри каждой ссылки. Следует отме- тить, что ссылки перечисленных типов могут использоваться для передачи це- лочисленных значений со знаком, зна- чений с плавающей точкой одинарной и двойной точности, а также перемен- ных любых пользовательских типов длиной до 8 байт. Исходящие коммуникационные объ- екты, для которых установлено нулевое значение параметра Transmission_Type, передаются в сеть в случае, если узел получил синхронизирующее сообщение SYNC и прикладная программа вывела значения выходных переменных, ссы- лающихся на «каналы» данных комму- никационных объектов. Сообщение SYNC обычно периодически формиру- ется одним из узлов CANopen, которо- му отведена роль мастера синхрониза- ции (SYNC Master). Минимальный пе- риод синхронизирующего сообщения SYNC, при котором контроллеры CPM701 способны выдерживать интер- валы синхронизации CANopen, состав- ляет 20 мс. Если же мастер синхронизации будет передавать SYNC чаще, чем раз в 20 мс, контроллеры CPM701 передадут в сеть аварийные телеграммы (EMCY) с иден- тификаторами 80h+NodeID (NodeID – идентификатор каждого узла) и кодом ошибки 8110h (CAN overrun – перегруз- ка сети). Исходящие коммуникационные объ- екты, для которых установлено значение параметра Transmission_Type от 1 до 240, передаются в сеть в случае, если узел по- лучил соответствующее количество син- хронизирующих сообщений SYNC. На- пример, при периоде SYNC, равном 25 мс, и значении Transmission_Type = 4, которое установлено для некоторого ис- ходящего коммуникационного объекта, данный коммуникационный объект бу- Таблица 6 Скорости информационного обмена, поддерживаемые контроллерами CPM701 серии Fastwel I/O Скорость обмена, кбит/с Длина линии передачи данных, м 10 5000 20 2500 50 1000 125 500 250 250 500 100 800 50 1000 25 VAR_OUTPUT canOutput0 AT %QB0: BYTE; canOutput1 AT %QB1: BYTE; canOutput2 AT %QB2: REAL; canOutput3 AT %QB6: INT; END_VAR %QB0 %QB1 Область выходных данных TxPDO1 BYTE Output %QB2 %QB6 DWORD Output WORD Output 0 1 2 3 4 5 6 7 8 COB ID Исходящий коммуникационный объект Описатель исходящего коммуникационного объекта Поле данных BYTE Output Рис. 26. Отображение выходных переменных среды исполнения CoDeSys на поля данных исходящих коммуникационных объектов CANopen

RkJQdWJsaXNoZXIy MTQ4NjUy