ЖУРНАЛ «СТА» №2/2007

80 СТА 2/2007 АППАРАТНЫЕ СРЕДСТВА ПРОМЫШЛЕННЫЕ КОНТРОЛЛЕРЫ www.cta.ru Ч АСТЬ 2 О СНОВНЫЕ ПОДСИСТЕМЫ КОН - ТРОЛЛЕРА F ASTWEL I/O. Ш ИНА FBUS Общие сведения Системная программа, запускаемая в контроллере при каждом включении питания и сбросе, состоит из несколь- ких сервисов, главными из которых яв- ляются сервис вводавывода, управля- ющий модулями вводавывода, сервис внешней сети, реализующий прото- кольный стек и обслуживающий сете- вые запросы, и среда исполнения прикладных программ. Далее будет рассказано о том, как устроены эти основные подсистемы. Рассказ начнётся с подсистемы, внут- реннее устройство которой пришлось придумывать с нуля. Соединитель внутренней шины в конструктиве модуля WAGO имеет 6 краевых плоских контактов, из кото- рых два используются для подачи пита- ния (Vcc и GND) на модуль, а значит, для передачи данных и линий управле- ния доступны четыре контакта. Совер- шенно очевидно, что в таком случае внутренняя шина на физическом уров- не должна представляться некоторым последовательным интерфейсом пере- дачи данных. Перед началом проектирования ключевого компонента контроллера — узла сопряжения и протокола обмена с модулями вводавывода — мы, конеч- но же, в первую очередь решили по- смотреть, а с чем нам придётся сорев- новаться. Тщательное изучение доку- ментации продуктов конкурентов пос- тавило нас в затруднительное положе- ние, поскольку нигде отчётливо не го- ворилось о реальной пропускной спо- собности шины KBus. Вот что удалось выяснить. 1. Скорость передачи на физическом уровне составляет 2 Мбит/с у WAGO и 2,5 Мбит/с у Beckhoff. 2. KBus представляет собой своего ро- да синхронный кольцевой сдвиго- вый регистр с аппаратным выбором локальных регистров команд и дан- ных в каждом модуле. В конце каж- дого цикла шины этот большой ре- гистр содержит значения из регист- ров данных всех модулей. 3. Для выполнения каждого цикла ши- ны требуется выдать на шину не- сколько команд. 4. Регистр данных каждого модуля име- ет ограниченный размер, в результа- те чего для обмена данными, скажем, с многоканальным модулем аналого- вого ввода требуется несколько цик- лов шины. 5. Каждый модуль может вносить собственные задержки в процесс формирования общего содержимого. «Странно всё это», – подумали мы, ибо из такого расклада следовало мно- жество проблем, главные из которых — некоторая непредсказуемость времени полного цикла обмена данными с мо- дулями вводавывода, а также труднос- ти обеспечения совместимости моду- лей разных типов друг с другом. Ну, до- пустим, вторая проблема неочевидна, будем считать, что её нет, уподобив- шись страусу при виде чегото неиз- вестного. Но как быть с временем цик- ла? Ведь, к примеру, очередной вызов прикладной программы возможен только при наличии когерентных дан- ных от модулей вводавывода, то есть когда полностью завершён текущий опрос модулей. То есть период вызова программы определяется временем оп- роса модулей, которое, в свою очередь, заранее определить невозможно. Вы- зывать прикладную программу, как по- лучится? Но это же не наш метод! Кро- ме того, не очень понятно, что делать в случае, если разные модули, подклю- чённые к шине, требуется опрашивать с разной периодичностью. В общем, мы решили не ходить по чужим граблям, а изобретать свой ве- лосипед – разрабатывать настоящий коммуникационный протокол, в кото- ром блок центрального процессора контроллера играет роль мастера сети, а модули вводавывода являются под- чинёнными устройствами. Надо ска- зать, такое предположение не следует делать сразу, пока не определены ос- новные сценарии взаимодействий по сети. У нас же както само собой воз- никло убеждение, что в качестве физи- ческого уровня будет использоваться интерфейс RS485 со скоростью обме- на не менее 2 Мбит/с, а раз так, то с учётом ограниченности вычислитель- ных ресурсов модулей вводавывода тип сетевого отношения «один мас- тер–множество подчинённых» стал выглядеть как данность. Так что там со сценариями сетевого взаимодействия? Межмодульная шина должна позволять выполнять следую- щие основные операции с модулями вводавывода. Fastwel I/O изнутри Александр Локотков В статье рассматриваются внутреннее устройство и принципы функционирования основных составных частей аппаратно-программного комплекса Fastwel I/O, предназначенного для создания автоматизированных систем сбора данных и управления. Представлены подходы к проектированию и детально описаны межмодульная внутренняя шина FBUS, адаптированная среда исполнения прикладных программ CoDeSys, сервисы сетевых протоколов и особенности взаимодействия составных частей комплекса друг с другом.

RkJQdWJsaXNoZXIy MTQ4NjUy