Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.09.2021, 22:04   #11
aha
Пользователь
 
Регистрация: 17.04.2010
Сообщений: 29
По умолчанию

древний станочный дивайс, да не в этом дело , ранее не пользовался программными прерываниями в этом компоненте , оказывается если установить программное прерывание , то байты xon xoff будут игнорироваться,т.е по событию comport RxChar в буфере не окажутся, но почему программа моя в цикле позволяет записывать на передачу, хотя и с тормозом, но при этом реально ничего не передается ...
В принципе можно работать в не софтовом flowcontrol, т.е отловив на приеме код OFFа остановить передачу

Последний раз редактировалось aha; 05.09.2021 в 22:07.
aha вне форума Ответить с цитированием
Старый 06.09.2021, 00:14   #12
Desc
Участник клуба
 
Аватар для Desc
 
Регистрация: 21.11.2007
Сообщений: 1,063
По умолчанию

Порт физический на стороне ПК на каком чипе реализован, это так-же важно?
Задаются ли программно режимы работы порта?
Если да, как задаются?
Управляет ли девайс параметрами своего пора?
Об этом в теме "0" информации.
I am not a wizard, I am just learning.

Последний раз редактировалось Desc; 06.09.2021 в 00:17.
Desc вне форума Ответить с цитированием
Старый 06.09.2021, 02:18   #13
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

Цитата:
Сообщение от aha Посмотреть сообщение
так то можно контролировать прием кода #19 в цикле и приостановить передачу.
Можно. Компорт сам умеет отличать символы xon/xoff. И компонент, который вы используете просто обязан уметь реагировать на них возбуждая некий обработчик события.
Приостановить передачу в вашем цикле тоже не сложно. Достаточно лишь проверять на каждой итерации некий ваш пользовательский флаг, который будет устанавливаться тем самым вышеупомянутым обработчиком события приема xon/xoff.
Мне лично только ну очень не нравится ваш код передачи, когда из символьной строки берется один символ и передается как строка. Это бред.
northener вне форума Ответить с цитированием
Старый 06.09.2021, 02:21   #14
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

Цитата:
Сообщение от stalkernet Посмотреть сообщение
ну и всетаки ModBus почитать не мешает. Организация и структура кадра.
Зачем читать что-то что не имеет никакого отношения к теме вопроса?
Цитата:
Сообщение от stalkernet Посмотреть сообщение
попробуй BCPort. Почему ComPort не пользовал уже не помню.
Ещё один замечательный совет.
northener вне форума Ответить с цитированием
Старый 06.09.2021, 02:35   #15
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

Цитата:
Сообщение от Desc Посмотреть сообщение
Порт физический на стороне ПК на каком чипе реализован
А это к чему? СОМ-порт физический на стороне ПК уже очень давно не реализуется на отдельном чипе. Но все реализации компортов следуют одним и тем же правилам совместимости.
northener вне форума Ответить с цитированием
Старый 06.09.2021, 02:58   #16
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

Пропустил/не заметил это ваше сообщение.
Цитата:
Сообщение от aha Посмотреть сообщение
ранее не пользовался программными прерываниями в этом компоненте
Прерываний в компонентах нет никаких. Это совсем разные вещи.
Цитата:
Сообщение от aha Посмотреть сообщение
оказывается если установить программное прерывание , то байты xon xoff будут игнорироваться,т.е по событию comport RxChar в буфере не окажутся
Естественно не окажутся. Ибо эти байты/символы не информационные, а служебные.
Цитата:
Сообщение от aha Посмотреть сообщение
, но почему программа моя в цикле позволяет записывать на передачу
А потому что ваша программа никак не реагирует на эти сигналы.
Цитата:
Сообщение от aha Посмотреть сообщение
хотя и с тормозом
Тормоз ищите сами, если он действительно есть, а не кажется.
Цитата:
Сообщение от aha Посмотреть сообщение
но при этом реально ничего не передается ...
Точнее ничего реально не принимается железякой, потому что она не готова ничего принимать, о чем она вас оповестила.
northener вне форума Ответить с цитированием
Старый 06.09.2021, 11:31   #17
stalkernet
Пользователь
 
Регистрация: 28.02.2009
Сообщений: 42
По умолчанию

northener
Во первых разница в ИРППС(совдеповский PS232) и RS232. существенна. они между собой псевдосовместимы. особенно по таймингам в пакете.
Во вторых последний раз когда нужно было связать эти интерфейсы между собой было в 2005 -2006 году. а пвмять както с годами не лучшает. По этому прямо сказал - не помню.

теперь о железе со стороны компа. почему важно.
если он аппаратный или реализован на плате расширения - полноценные порты.
если перехдник USBCOM - вот тут начинаются грабли.
основные чипы что используют это CP и FT.
CPXXXX - кастрированый - только полудуплекс (присерно 15 центоы стоит) и трехпроводка
FTXXXX - честный можно реадизовать дуплекс и использовать сигнальные линии. (1 бакс стоит)

aha
Похоже справочник не выдержал борьбы со временем. не нашел. Больше склоняюсь к мнению northener - не правильно обрабатываешь события в своем софте. если СОМ со стороны компа честный. ищи в алгоритме обработки.
stalkernet вне форума Ответить с цитированием
Старый 06.09.2021, 18:58   #18
stalkernet
Пользователь
 
Регистрация: 28.02.2009
Сообщений: 42
По умолчанию

aha
еще вопрос на чем пишешь.
если VCL - бирем фонарик.
если FMX - изучаем танцы на граблях. и изобретаем свой.
ИМХО - Delphi 7....

а по хорошему из уравнения X + Y = 3.14, 2.73 и ......
удалилбы одну переменную.
поставил бы virtualComport. на один порт посадил имитатор посылки. на другой свой софт.
сразу пнятно где грабли - или железяка или софт.
stalkernet вне форума Ответить с цитированием
Старый 06.09.2021, 18:58   #19
stalkernet
Пользователь
 
Регистрация: 28.02.2009
Сообщений: 42
По умолчанию

aha
еще вопрос на чем пишешь.
если VCL - бирем фонарик.
если FMX - изучаем танцы на граблях. и изобретаем свой.
ИМХО - Delphi 7....

а по хорошему из уравнения X + Y = 3.14, 2.73 и ......
удалилбы одну переменную.
поставил бы virtualComport. на один порт посадил имитатор посылки. на другой свой софт.
сразу пнятно где грабли - или железяка или софт.
stalkernet вне форума Ответить с цитированием
Старый 06.09.2021, 22:47   #20
aha
Пользователь
 
Регистрация: 17.04.2010
Сообщений: 29
По умолчанию

не угадал - дельфи 5..
aha вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с Com-портом Teror4uks Общие вопросы Delphi 5 10.10.2014 12:48
Работа c COM-портом doniyor Общие вопросы Delphi 12 27.07.2009 11:16
Работа с COM портом hoba Общие вопросы Delphi 3 20.11.2008 03:39
работа с COM портом ShAzat Общие вопросы Delphi 8 28.05.2008 20:08