roboforum.ru

Технический форум по робототехнике.

Com порт и дельфи. Нужна помощь.

Com порт и дельфи. Нужна помощь.

Hexapod » 22 мар 2010, 00:05

Добрый день.
Сейчас работаю над проектом в универе, который позволяет фотографировать рост растений (мелкие штуки, которые надо фоткать в режиме макро).
С помощью специалистов из форума по камерам удалось подключиться к своему фотоаппарату по USB через Borland Delphi 2005. Научился получать снимки, менять режимы съемки. Уж больно крупные планы надо брать, пришлось помучатся с макрорежимами.

Для того чтобы двигаться дальше - мне нужно сделать синхронизацию с механикой.
Из старого робота достал пару серв Hitec Hs-322HD, банки аккум на 3300, контроллер серво-двигателей. Он подключается к компьютеру с помощью USB (USB<->Serial эмулятор, в системе видится как COM3).
Насколько я понял, все что нужно, это научиться обмениваться сообщениями с портом.
Например, чтобы узнать версию прошивки:
Код: Выделить всёРазвернуть
[b]Syntax[/b]: “!SCVER?” $0D
[b]Reply[/b]: “1.3”

позиционирование:
Код: Выделить всёРазвернуть
[b]Syntax[/b]: “!SC” C R pw.LOWBYTE, pw.HIGHBYTE, $0D
[b]Reply[/b]: none
где, C - номер сервы 0-15, R - скорость
The command terminator, $0D, (CR), must not be omitted.


Да, я знаю, что работа с портом - это "почти" работа с файлом, для Настоящего Программиста - раз плюнуть.
В чем суть вопроса:
Я первый раз работаю с дельфи. Был бы признателен, за рабочий проект (шаблон для работы с ком-портами), способный посылать и получать на заданный порт команды. Либо ссылку на рабочий пример под дельфи.

Вся документация на контроллер есть. Есть пример проги, от производителя, позволяющий двигать сервы (можно посмотреть сниффером порта, что они шлют...)

В общем, надеюсь на помощь Гуру-Программистов!
:)

Re: Com порт и дельфи. Нужна помощь.

VIRUS_V8 » 22 мар 2010, 07:57

bcom_port.zip
(123.18 КиБ) Скачиваний: 0

в архиве компонент для делфи для работы с сом портом + руская справка + примеры.
Сам пользуюсь очень удобно.
Может пригодиться :)

Re: Com порт и дельфи. Нужна помощь.

Hexapod » 22 мар 2010, 12:11

В борланд дельфи у меня не получается подключить компоненты по инструкции из файлов. Примеры в борланде тоже не хотят открываться:(

Путем нехитрых движений удалось получить таки список портов, используя
EnumComPorts
Дальше, что не получилось: создать соединение с выбраным портом или просто с портом "Ком1".
Что делал:
1.uses
BCPort -
2.Объявляем переменную для порта
BComPort1:TBComPort;
3. BComPort1.Port='com1';

В итоге ошибка: см вложения.
Наверное, я совсем не понимаю как в дельфи объявлять переменные?


Вот листинг из программы, добавил три строки:
Код: Выделить всёРазвернуть
unit Unit3;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, BCPort, StdCtrls; ////1 строка

type

  TForm3 = class(TForm)
    ComboBox1: TComboBox;
    Button1: TButton;
    BComPort1:TBComPort; ////2 строка

    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form3: TForm3;

implementation

{$R *.dfm}

procedure TForm3.FormCreate(Sender: TObject);

begin

    ComboBox1.Clear;
  EnumComPorts(ComboBox1.Items);
  // Выбор порта в списке ComboBox1 и выполнение других действий

  BComPort1.Port='com1'; ////3 строка



end;

end.
Вложения
errr2.JPG
Ошибка при компиляции

Re: Com порт и дельфи. Нужна помощь.

Hexapod » 22 мар 2010, 14:49

Почитал, удалось собрать. Сейчас изучаю. Спасибо.


Rambler\'s Top100 Mail.ru counter