Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Взаимодействие C++ и планировщика задач Windows


Автор: EngineerPCS 1.4.2013, 06:47
Привет всем!
Я новичок в С++ и очень нуждаюсь в вашей помощи. Род моей деятельности: проектирование АСУТП, программирование ПЛК, SCADA-систем, промышленные сети передачи данных и многое другое.
Изучал Pascal, delphi, Visual Basic, немного php

Задача: есть система сбора данных со своей SCADA (Взлет СП) с котельных по каналу GSM при помощи модемов фирмы ОВЕН (ПМ01)
Протокол передачи данных: Modbus RTU
Необходимо написать программу, которая бы взаимодействовала с планировщиком задач Windows следующим образом:
Чтобы в конце каждого дня ~17:00 осуществлялось соединение с GSM-модемом (ПМ01) посредством подачи AT-команд (вида: ATD89140011001) в виртуальный сконфигурированный COM-порт (преобразователь интерфейсов RS485 >> Ethernet)
SCADA-система формирует запросы на получение отчетов с котельных (параметр: потребленная тепловая энергия). Этот запрос "ставится в очередь" планировщиком задач Windows в 17:05
Основная трудность в том, что к 17:05 должна быть установлена связь с модемами по каналу GSM без участия оператора.

Есть несколько путей решения данной проблемы:
1) установить связь при помощи программы hyper terminal. Но в ней, к сожалению, не предусмотрен планировщик циклических соединений/отключений в определенное время; Если есть инструкции взаимодействия C++ и hyper terminal'а, пожалуйста, напишите.
2) установить связь при помощи стандартного драйвера модема (пуск > панель управления > телефон и модем)

Как C++ может взаимодействовать с данными программами или службами Windows?
Вообще, стоит ли C++ применять для решения данных задач или есть другой инструмент создания приложений?
Я не прошу писать программу за меня. Помогите с выбором направления движения smile

Благодарю, если потратили время на изучение данного вопроса

Автор: GremlinProg 1.4.2013, 07:47
Это основная проблема у технарей: "как связать мое устройство с компом?",
для новичка в Си++, Вы практически не оставляете выбора для ответа: используйте готовые компоненты, библиотеки для работы с Com-портом и, соответственно, используйте упрощенные фреймворки для программирования, в которых такие компоненты, библиотеки можно подключить: Visual Basic, Си#, Delphi, Borland C++ и т.п.

Такие компоненты легко ищутся:
http://www.google.ru/search?q=Delphi+com+port
http://www.google.ru/search?q=C%23+com+port
http://www.google.ru/search?q=Basic+com+port

А если захочется поразбираться, как это делается на более низком уровне, вот, к примеру подробно разобранный пример в С++Builder 6: http://piclist.ru/S-COM-THREAD-RUS/S-COM-THREAD-RUS.html

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)