Карта сайта
Google

WWW
www.mastak.dn.ua

WWW.ELEKTROSVIT.UA - все про електрообладнання в Україн?

 

 

GSM-мониторинг и управление: Программное обеспечение коммуникаторов ES-ForthLogic

Программное обеспечение

Главная концептуальная особенность линейки коммуникаторов ES-ForthLogicтм - использование встроенных интерпретаторов языка ForthLogic. Данная концепция с одной стороны снимает любые ограничения при создании логики работы системы, с другой стороны позволяет вообще обойтись без специализированного программного обеспечения для описания той же логики (крайняя форма минимализма). Программирование можно осуществлять интерактивно (в диалоговом режиме) непосредственно на месте с помощью PC-совместимой клавиатуры и встроенного дисплея (только для коммуникаторов ES-ForthLogicтм M и GM) или с помощью компьютера PC, присоединенного через USB и обычной программы эмуляции терминала или с помощью SMS. Также можно загрузить предварительно подготовленную программу любым способом (USB, GPRS). Благодаря простому API интерпретатора языка ForthLogic, существует возможность создания произвольного встроенного графического интерфейса для конфигурации конкретной промышленной задачи (система меню), а концепция открытого API и свойства интерпретатора языка ForthLogic способствуют созданию Пользователями контроллеров ES-ForthLogicтм и специалистами предприятия ЭЛЕКТРОСВИТ открытой и непрерывно расширяемой базы данных готовых программных решений. При необходимости  специалисты предприятия осуществляют поддержку и сопровождение задач Клиентов на всех уровнях. Также могут быть созданы программные компоненты для PC с применением кросс-платформовых средств и среды разработки, которые позволяют использовать программы и модули на любых операционных системах для PC-совместимых архитектур. Эти средства также позволяют Клиентам легко вносить изменения в готовые программы для более полной их адаптации под конкретные задачи.

Главная задача  предприятия Электросвит - решить задачи всех Пользователей и дать им возможность самим определять конечную стоимость программных средств, необходимых для выполнения поставленной задачи управления.

Концепция языка ForthLogic

Живой язык

Представьте, что Вы - руководитель офиса и взяли себе нового энергичного помощника. В первый день Вы учите его оформлять Вашу корреспонденцию по соответствующему формату (допустим, Ваш помощник уже умеет печатать на машинке). В конце дня Вы уже можете просто сказать ему: "Пожалуйста, напечатайте это". На второй день Вы показываете своему помощнику систему регистрации. Все утро у Вас идет на соответствующие разъяснения, но уже после обеда Вам достаточно отдать короткое распоряжение: "Пожалуйста, зарегистрируйте это". До конца недели Вы будете понимать друг друга с полуслова. Да, если Вы скажете своему помощнику: "Пожалуйста, отправьте это письмо", он поймет, что письмо нужно напечатать, дать Вам на подпись, сделать с него фотокопию и зарегистрировать его, а оригинал отослать по почте. Подобные взаимоотношения позволят как Вам, так и Вашему помощнику выполнять свою работу эффективнее и принесут Вам обоим больше удовольствия.
Следовательно, для правильной организации труда и обеспечения эффективного взаимодействия сотрудников необходимо:
- определить круг задач и назначить каждой задаче имя;
- сгруппировать однотипные задачи и назначить каждой из укрупненных задач имя и так далее.
ForthLogic дает Вам возможность аналогичным способом организовать Ваши собственные процедуры и передать их контроллеру таким же образом (разве что не говорить ему: "пожалуйста"). Как пример можно привести гипотетическую стиральную машину, управляемую контроллером с программой на ForthLogic. Завершающей командой в нашем примере будет команда, которой мы назначим имя СТИРАЛЬНАЯ_МАШИНА. Ниже дается определение команды СТИРАЛЬНАЯ_МАШИНА так, как оно выглядит на ForthLogic (программирование осуществляется с помощью PC-совместимой клавиатуры и встроенного дисплея, или с помощью компьютера PC, присоединенного через USB, и обычной программы эмуляции терминала):

: СТИРАЛЬНАЯ_МАШИНА СТИРАТЬ ОТЖАТЬ ПОЛОСКАТЬ ОТЖАТЬ ;

На языке ForthLogic двоеточие означает начало нового определения. Первое слово после двоеточия - СТИРАЛЬНАЯ_МАШИНА - является именем новой процедуры. Остальные слова - СТИРАТЬ, ОТЖАТЬ, ПОЛОСКАТЬ, ОТЖАТЬ - составляют "определение" этой новой процедуры. Наконец, точкой с запятой, отражается конец определения. Каждое слово, которое входит в состав определения СТИРАЛЬНАЯ_МАШИНА в нашей программе, которая описывает стиральную машину, уже когда-то определено. В частности, посмотрим, как записывается определение команды ПОЛОСКАТЬ:

: ПОЛОСКАТЬ НАЛИТЬ_ВОДУ СТИРАТЬ СЛИТЬ_ВОДУ ;

Как видите, определение ПОЛОСКАТЬ состоит из группы слов: НАЛИТЬ_ВОДУ, СТИРАТЬ и СЛИТЬ_ВОДУ. Опять-таки, каждое из этих слов уже где-то определено в программе, которая описывает стиральную машину. Определение команды НАЛИТЬ_ВОДУ может быть таким:

: НАЛИТЬ_ВОДУ КРАНЫ ОТКРЫТЬ ДО-НАПОЛНЕНИЯ КРАНИ ЗАКРЫТЬ ;

В приведенном определении мы ссылаемся как на объекты (краны), так и на действиЯ (открыть и закрыть) - это одна из особенностей ForthLogic. Слово ДО-НАПОЛНЕНИЯ введено для создания "Цикла задержки", чтобы контролировать включение индикатора уровня заполнения емкости стиральной машины водой. Если мы проследим эти определения в обратном порядке, то в конечном итоге обнаружим, что все они определены в терминах базовых команд, которые образуют основу ForthLogic. Одни из этих команд сами определены через двоеточие, как было показано выше, другие - непосредственно в терминах машинного языка конкретного процессора. В языке ForthLogic определенная таким образом команда называется словом. Возможность определять слова в терминах других слов называется расширяемостью. Расширяемость является основой хорошего стиля программирования и позволяет достичь необходимого уровня мощности языка. Обслуживает ли Ваша программа линию монтажа, собирает ли данные для научного эксперимента, используется ли для коммерческих задач или является игровой - во всех случаях Вы можете создать свой собственный "живой язык", который отвечает Вашим потребностям.

Диалог

Одно из специфических свойств языка ForthLogic заключается в том, что он дает возможность "выполнить" слово, просто написав его. Достаточно просто набрать это слово на клавиатуре и нажать клавишу ENTER. Конечно, можно применять данное слово в определении других слов, располагая его в соответствующее определение. ForthLogic называется диалоговым языком, потому что команды выполняются сразу, как только Вы их вводите.

Словарь

Каждое слово (его имя и определение) заносится в так называемый словарь Forthlogic. Этот словарь, когда Вы начинаете писать на ForthLogic, уже содержит какое-то количество слов, но Вы можете вносить в него и "свои" слова. При определении нового слова оно переводится в словарную форму и добавляется в словарь. Такой процесс называется компиляцией. В любой момент можно посмотреть список слов, которые находятся в словаре ForthLogic. Для этого нужно ввести слово WORDS, и тогда Вы получите на экране имена слов вместе с их "адресами" (ссылками на участки памяти). Слова перечислятся в том порядке, в котором их определили.