ЖУРНАЛ «СТА» №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 InterfaceTransmitting 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
Made with FlippingBook
RkJQdWJsaXNoZXIy MTQ4NjUy