ЖУРНАЛ «СТА» №1/2008
никационных объектов не используют- ся. Для того чтобы данные входящего коммуникационного объекта вводи- лись в приложение немедленно после поступления по сети, но перед очеред- ным вызовом PLC_PRG, параметр Transmission_Type должен быть равен 255. Таким образом, при Transmission_Type = 255 обеспечивается наименьшее время реакции на измене- ние значения некоторой удалённой пе- ременной. Наконец, в описание каждого комму- никационного объекта пользователем добавляются ссылки на адреса в области входных данных среды исполнения CoDeSys, обеспечивающие возмож- ность получения прикладной програм- мой данных, приходящих по сети. Способ отображения входных пере- менных среды исполнения CoDeSys на поля данных входящих коммуникаци- онных объектов представлен на рис. 27. Для отображения могут использоваться ссылки типа BYTE, WORD и DWORD с сохранением возможности побитовой адресации внутри каждой ссылки. Входящие коммуникационные объ- екты приходят из сети асинхронно от- носительно исполнения прикладной программы. Данные входящих комму- никационных объектов считываются в область входных данных среды испол- нения CoDeSys перед очередным вызо- вом PLC_PRG. Служебные коммуникационные объекты Сетевой сервис контроллера CPM701 поддерживает обязательные к реализа- ции служебные коммуникационные объекты протокола CANopen. Если значение параметра CANopen Interface–Producer_Heartbeat_Time в конфигурации контроллера отлично от нуля, узел будет передавать в сеть сооб- щение Heartbeat с идентификатором 700h+NodeID и периодом (в миллисе- кундах), равным значению Producer_Heartbeat_Time. Данное сооб- щение свидетельствует о присутствии в сети узла с идентификатором NodeID. Поле данных указанного сообщения со- держит код состояния стека CANopen на узле: 0 – инициализация стека; 4 – стек остановлен (Stopped); 5 – рабочее (Operational) состояние; 127 – предопе- рационное (PreOperational) состояние. Если значение параметра CANopen Interface–SYNC_COBID равно 1073741952, то данный узел будет пере- давать в сеть синхронизирующее сооб- щение SYNC с идентификатором 128 и периодом (в микросекундах), равным значению параметра CANopen Interface–Sync_Period. Указанное странное значение на самом деле пред- ставляет собой идентификатор сообще- ния SYNC, расширенный до 32разряд- ного числа, с установленным 31 битом (40000080h). По стандарту это означает, что данный узел будет выполнять в сети функцию мастера синхронизации. Кроме того, при запуске контроллер передаёт в сеть сообщение NMT Bootup с идентификатором 700h+NodeID и ну- левым значением в поле данных, что свидетельствует о запуске стека CANopen контроллера на узле NodeID. Наконец, если в CANадаптере кон- троллера CPM701 по какойто причине превышен счётчик ошибок передачи, CANадаптер кратковременно отклю- чается от шины, переходя в состояние Bus Off, после чего при повторном под- ключении к шине передаёт в сеть сооб- щение EMCY (идентификатор 80h+NodeID) с кодом 8140h (recovered from bus off – «восстановился после от- ключения от шины»). Оценка времени реакции при сетевом обмене между двумя контроллерами Для оценки времени реакции при се- тевом обмене достаточно использовать два контроллера CPM701, включённых в сеть CAN. Каждый контроллер пере- даёт в сеть по 10 сообщений, каждое из которых содержит по восемь байт дан- ных, причём перепад испытательного дискретного сигнала, подаваемого на вход одного из модулей дискретного ввода, подключённого к внутренней шине одного из контроллеров, может передаваться в восьмом бите восьмого байта сообщения с наибольшим иден- тификатором (3F8h, рис. 28). Второй контроллер при получении информа- ции о перепаде испытательного сигнала переводит в соответствующее состоя- ние один из выходов своего модуля дис- кретного вывода. Период исполнения программ каждого контроллера равен 1 мс. Сообщения передаются в сеть при по- явлении синхронизирующего сообще- ния SYNC, которое формируется первым контроллером. Если для входящего ком- муникационного объекта, посредством которого передаётся перепад испыта- тельного сигнала, на втором контроллере параметру Transmission_Type присвоено значение 255, то обеспечивается наи- меньшее время реакции, в предельном случае равное T SYNC + T transmission + T cycle1 + T cycle2 , где T SYNC – период пере- дачи синхронизирующего сообщения SYNC; T transmission – время между переда- чей очередного SYNC и приёмом сооб- щения, содержащего перепад испыта- тельного сигнала; T cycle1 и T cycle2 – перио- ды исполнения программ на первом и втором контроллерах. В рассматривае- мом примере максимальное время реак- ции составляет 25 + 10 + 1 + 1 = 37 мс. На рис. 29 представлена циклограмма одного из наиболее благоприятных с точ- ки зрения времени реакции соотноше- ний между сетевым циклом и циклами исполнения программ на каждом кон- троллере. Если на втором контроллере для вхо- дящего коммуникационного объекта, посредством которого передаётся пере- пад испытательного сигнала, параметру 48 СТА 1/2008 АППА РАТ НЫ Е С Р Е Д С Т В А / П Р ОМЫШЛ Е ННЫ Е КОН Т Р ОЛЛ Е Р Ы www.cta.ru Синхронизирующее сообщение SYNC PDO COB ID = 3E5H PDO COB ID = 3F8H Время обмена 10,26 мс Рис. 28. Совместная передача 20 сообщений двумя контроллерами (скорость обмена 250 кбит/с)
Made with FlippingBook
RkJQdWJsaXNoZXIy MTQ4NjUy