ЖУРНАЛ «СТА» №3/2005

СТА 3/2005 www.cta.ru У многих системных интеграторов при необходимости реализации системы управления верхнего уровня, где час- то используются такие современные программные сред- ства, как SCADAсистемы, возникает потребность програ- ммного сопряжения старого оборудования (для общности будем говорить о контроллере) с собственно пакетом SCADA. Современные SCADAсистемы в качестве прог- раммного элемента сопряжения с оборудованием исполь- зуют OPCсерверы. Чаще всего программный интерфейс старого оборудования реализует «самобытный» протокол связи, на текущий момент позабытый, и в силу этого не существует готового OPCсервера, позволяющего доста- точно просто реализовать вопрос стыковки. При этом есть два пути решения возникшей проблемы. Первый — пере- писать программу контроллера с целью обеспечения стан- дартного протокола обмена, и второй — написать собственный OPCсервер. К сожалению, довольно часто первый путь затруднителен, так как связан с существен- ными программными и материальнотехническими изде- ржками, либо просто невозможен. Остаётся безальтерна- тивный путь — писать собственный OPCсервер. Это до- вольно сложная работа, требующая наличия программис- та высокой квалификации, причём неизбежны большие временные затраты на разработку и отладку. В этой ситуа- ции фирмой Fastwel предложен оригинальный програм- мный продукт — универсальный OPCсервер [1], позволя- ющий существенным образом снизить требования к ква- лификации программиста и сократить временные затра- ты, связанные с написанием собственного OPCсервера, так как часть работы (наиболее «наукоёмкая») уже проде- лана. После приобретения этого программного продукта разработчику предлагается написать библиотеку DLL (Dynamic Link Library) пользователя, осуществляющую только обмен с устройством, всю остальную работу по обеспечению обмена данными между OPC и SCADA осу- ществляет OPCсервер. Поставляется и программная заго- товка на языке С++, на основе которой пользователь мо- жет создавать эту DLL. В данной статье рассматривается программная заготовка для написания пользовательской DLL на ассемблере. Программирование на ассемблере под Windows не только не сложнее написания программ на ас- семблере под DOS, а даже проще! Необходимость навыков работы с этим языком актуальна до сих пор, и популяр- ность его ничуть не уменьшается, а иногда применение его остаётся единственным эффективным средством решения проблемы. В ЫБОР ИНСТРУМЕНТОВ ПРОГРАММИРОВАНИЯ На текущий момент хорошо известны следующие сред- ства разработки приложений на ассемблере под Windows: MASM (Microsoft), TASM (Borland), NASM, FASM. Основ- ными пакетами (в пакет входят, как минимум, транслятор, компоновщик и компилятор ресурсов) являются MASM v.6.1X и TASM v.5.0. Для решения поставленной задачи выбран пакет MASM32 v.8.2, являющийся достаточным для программи- рования приложений для ОС Windows и содержащий, кро- ме транслятора MASM v.6.14, компоновщика и редактора ресурсов, компактный редактор, набор специализирован- ных утилит и большое количество примеров. Пакет распро- страняется бесплатно (http://www.masm32.cjb.net) . Прог- раммировать на ассемблере под Windows и пользоваться ко- мандной строкой и batфайлами, на мой взгляд, слишком консервативно. Я опробовал две интегрированные среды разработки (IDE) для ассемблера – WinAsm Studio v.4.0.1.266 (http://www.winasm.net ) и RadASM v.2.1.0.6 (http://radasm.visualassembler.com/download/radasm.html) . Версии IDE указаны на момент написания статьи. Оба про- екта достаточно динамично развиваются и распространя- ются бесплатно. Я остановился на RadASM. Установка этой IDE и работа с ней достаточно просты, и я не буду останав- ливаться на её описании. Автор RadASM программирует на ассемблере (сама оболочка также написана на этом языке), и потому всё продуманно, функционально и быстро. Кроме того, на сайте есть законченные примеры проектов, облег- чающих первые шаги в увлекательный мир ассемблера для Windows. В ВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА АССЕМБЛЕРЕ В ОС W INDOWS Безусловно, программирование под Windows имеет неко- торые отличия по отношению к «старому стилю» програм- В ЗАПИСНУЮ КНИЖКУ ИНЖЕНЕРА Написание пользовательской DLL доступа к универсальному OPC-серверу Fastwel Валерий Яковлев Во всем мне хочется дойти До самой сути. Б.Л. Пастернак 74

RkJQdWJsaXNoZXIy MTQ4NjUy