Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 07.05.2015
Сообщений: 73
Delphi 6-7

Связь СП270 с ПК

08.05.2022, 11:22. Показов 1100. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте !
Подскажите как написать функцию передачи данных из программы Дельфи (мастер) через ComPort для панели СП270 (slave) по протоколу Modbus RTU ? Подключение СП270 разъем download к ПК разъем сом1 кабелем (RX->TX, TX->RX, GND).
Программирование СП270 по этому кабелю происходит нормально. Панель СП270 подключена к ПК по RS232.
Параметры связи указаны одни и те же для СП270 и ПК: скорость - 115200, бит - 8, стоп-бит - 1, четность - нет.
Строка для передачи по протоколу Modbus RTU для записи числа 88 [0058h] в панель СП270 с адресом 2[02h] в ячейку с адресом 300 [012Ch] :
"02 06 01 2C 00 58 48 36 0D 0A"
где:
[02] – адрес панели СП270
[06] – функция записи в один регистр
[01 2С] – адрес записываемого регистра
[00 58] – данные для записи
[48 36] – контрольная сумма, 48 мл. байт, 36 ст. байт
[0D 0A] - признак окончания пакета

Передавал данные с помощью функции, найденной в инете:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
function PostComm(var Buf; size: word): integer;
var p: pointer; i: DWord;
begin
p := @Buf;
result := 0;
while size > 0 do begin
if not(WriteFile(f, p^, 1, i, nil)) then begin
Form1.Edit2.Text:='Передача не выполнена .';
exit;
end;
inc(result, i);
inc(integer(p));
dec(size);
Application.ProcessMessages;
end;
end;
// передача данных по нажатию кнопки
procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var str1: string; k1, l: integer;  buf: array of byte;
begin
str1:=Edit1.Text;
// забиваем массив данными попарно
SetLength(buf, (Length(str1)+4) div 2);
k1:= 1;
for l := 0 to High(buf)-2 do begin
// преобразуем str1 в массив данных buf
buf[l] := StrToInt( '$' + Copy(str1, k1, 2) );
Memo1.Lines.Add('l: ' + IntToStr(l) + ' Äàííûå: ' + IntToStr(buf[l]));
k1 := k1 + 2;
end;
k1:=High(buf);
PostComm(Buf, k1);
end;
Посылал строкой - панель не реагирует, предполагаю что нужно передавать данные по другому.
Пробовал посылать строку с помощью программы Termite - то же никакой реакции.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.05.2022, 11:22
Ответы с готовыми решениями:

Связь спутник-земля и межспутниковая связь: полученная мощность ( link budget)
я нашел это уравнение,см. прилагаемый рисунок. :read: Я использовал уравнение и вычислил полученную мощность со следующими...

Определяет ли связь, в частности современная связь, структуру государственного управления?
Определяет ли связь, в частности современная связь, структуру государственного управления, а также структуру государственного устройства?

связь CPU-314SC и WINDOWS где посмотреть обмен данными и вообще связь
между двумя системами.

20
0 / 0 / 0
Регистрация: 07.05.2015
Сообщений: 73
10.05.2022, 06:59  [ТС]
Студворк — интернет-сервис помощи студентам
northener
Большое спасибо за статью
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.05.2022, 06:59
Помогаю со студенческими работами здесь

Создать любые две таблицы, установить между ними связь, и с помощью запроса показать эту связь
Короче такое задание. Создать любые две таблицы, установить между ними связь и с помощью запроса показать эту связь. Как это сделать?...

Приложение для весов (android приложение + связь с сервером (php & MySQL) + связь с весами + общая синхронизация данных)
Всем здравия братья и сестры. Описательная часть. Решил я за бабахать умные весы для пасеки! Нужны они для отслеживания...

Wi-Fi связь на PC
Опишу кратко свою проблему: купил на днях роутер и адаптеры wi-fi, все подключил и настроил, первый адаптер подключил к ноуту ,а второй к...

Связь EF
Есть сущности: public class Blouse { public int Id { get; set; } public int? MainPhotoId { get; set;...

Связь с 1с 8.2
Господа программисты,не подскажите ли вы в каком направлении мне искать инфу: Вопрос: Как в свое приложение экспортировать таблицу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Новые блоги и статьи
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru