Форум TRACE MODE: техническая поддержка Послать новую тему / Post New Topic  Послать ответ / Post A Reply
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 6 » TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version » Специальные функции в ST-программе

   
Автор / Author Тема / Topic: Специальные функции в ST-программе
shippite
Junior Member / Новичок
Участник № / Member № 3060


Icon 1 отправлено / posted      Профиль для / Profile for shippite           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Здравствуйте.
Подкажите пожалуйста. Используя специальные функии в ST программе, запись и чтение в порт, не получается за одно выполнение программы считать более 16 байт.

Сообщения / Posts 18 | Из / From: Казахстан  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Эти функции изначально планировались для использования в DOS контроллерах. Как они работают в Windows не проверялось.
Сообщения / Posts 17114 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
shippite
Junior Member / Новичок
Участник № / Member № 3060


Icon 1 отправлено / posted      Профиль для / Profile for shippite           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
именно в DOS я их и использую
Сообщения / Posts 18 | Из / From: Казахстан  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Скорее всего, у Вас буфер регистра хранит только 16 байт, поэтому и считывать больше не получается. Уточните это в спецификации устройства, с которым Вы работаете.
Сообщения / Posts 17114 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
shippite
Junior Member / Новичок
Участник № / Member № 3060


Icon 1 отправлено / posted      Профиль для / Profile for shippite           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Добрый день.
Я соеденил два компьютера нуль-модемным кабелем, через сом порт.
На первом компьютере стоит DOS 6.2, на втором Windows XP.
на втором компе поставил снифер компорта и смотрю что прилетает в порт.
на первом компьютере запускаю МикроТрэйс под ДОС, и в программе пытаюсь послать 50 байт, больше чем

26-27 байт за один проход программы не посылается, при этом корректно посылаются первые 20-21 байт,

(посылаю целочисленные значения от 1 до 50).

Настройки порта MicroRTM:
номер - СОМ1
Скороть - 19200
адрес - 0x3f8
контроль четности - 8-n-1
прерывание - 4
Управление - нет
Таймаут - 1
RS передача - 0
Включение передатчика - 0
Задержка запроса - 0
CRS16 - пусто

пересчет MicroRTM:
период -1
Разрешение - 0.01

программа срабатывает 1 раз в секунду.


первый раз я посылал 5 байт и пытался считать 50 байт
больше 16 не считывалось
5 байт посылка
16 прием
общий 21 байт.

С Уважением Петр.

Сообщения / Posts 18 | Из / From: Казахстан  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Еще раз повторим. FIFO буфер в DOS скорее всего 16 байт, поэтому все остальные данные либо не попадают в него, либо затирают предыдущие. Проблема не в нашей функции, а в устройстве.
Сообщения / Posts 17114 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
shippite
Junior Member / Новичок
Участник № / Member № 3060


Icon 1 отправлено / posted      Профиль для / Profile for shippite           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Добрый день.
Возникла вновь необходимость работы со специальными функии в ST программе, запись и чтение в порт.
Интересует вопрос. Можно ли в DOS, используя специальные функии в ST программе, запись и чтение в порт, считывать с порта свыше 16 байт?

Сообщения / Posts 18 | Из / From: Казахстан  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Сама по себе функция чтения из порта в ST-программе не имеет ограничений на ее повторение.
Чем Вам отвечает порт, зависит от его заполнения и правильности работы с ним (проверки готовности очередного байта, в частности).
Это выходит за рамки Trace Mode 6.
Надо работать с портом в соответствии с его регламентом.

Сообщения / Posts 17114 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
shippite
Junior Member / Новичок
Участник № / Member № 3060


Icon 1 отправлено / posted      Профиль для / Profile for shippite           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Существует ли способ, в ST программе очистить "сбросить" очередь СOM порта?
Сообщения / Posts 18 | Из / From: Казахстан  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Есть ST-функция "запись в порт" (имеется в виду "Запись в регистр").
У какой регистр порта и что нужно записать, чтобы очистить очередь COM-порта, надо брать из описания COM-порта.

Еще раз вынужден повторить:
"Это выходит за рамки Trace Mode 6.
Надо работать с портом в соответствии с его регламентом."

Сообщения / Posts 17114 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
shippite
Junior Member / Новичок
Участник № / Member № 3060


Icon 1 отправлено / posted      Профиль для / Profile for shippite           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Добрый день.
Драйверы обмена с УСО для MS DOS, через точку входа.
int RWH(unsigned short type, IA *ia, unsigned short *v);
v – выходное/входное значение канала или значение атрибута канала, 16-разрядное число без знака или 16-разрядное число со знаком.
а как можно передать переменную real(double)?

Сообщения / Posts 18 | Из / From: Казахстан  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Нельзя в драйвер передать число больше 2 байт.
Драйвер RWH предназначен для поддержки плат УСО.
В реальных платах УСО значения переменной передаются и принимаются в целочисленном формате не более 16 разрядов.

Сообщения / Posts 17114 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
shippite
Junior Member / Новичок
Участник № / Member № 3060


Icon 1 отправлено / posted      Профиль для / Profile for shippite           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Добрый день.
а можно примерчик по новому механизму создания драйверов, Обмен по произвольному протоколу по RS.

Сообщения / Posts 18 | Из / From: Казахстан  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Реализации драйверов привязаны к конкретным протоколам. Без их публикации примеры смысла не имеют. А публиковать чужие протоколы мы не можем.

Попробуйте создать драйвер для протокола Modbus и проверить его на любом эмуляторе Modbus (их много в интернете).

Сообщения / Posts 17114 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Отправлен пример.
Сообщения / Posts 17114 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
ПавелТ
Junior Member / Новичок
Участник № / Member № 3834


Icon 1 отправлено / posted      Профиль для / Profile for ПавелТ           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
А какой эмулятор Modbus конкретно посоветуете?
Сообщения / Posts 4 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Romсheg
unregistered



Icon 1 отправлено / posted            Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Берите ModSim32 (ModScan32)
IP / IP: IP адрес / IP address | Report this post to a Moderator
shippite
Junior Member / Новичок
Участник № / Member № 3060


Icon 1 отправлено / posted      Профиль для / Profile for shippite           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Новый механизм создания драйверов, обмен по произвольному протоколу по RS, поддерживается в МикроТрэйс под ДОС?
Сообщения / Posts 18 | Из / From: Казахстан  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Нет, для DOS не поддерживается.
Сообщения / Posts 17114 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

Quick Reply
Сообщение / Message:

HTML код не разрешен. / HTML is not enabled.
UBB код разрешен. / UBB Code is enabled.

Значки Graemlins / Instant Graemlins
   


Послать новую тему / Post New Topic  Послать ответ / Post A Reply Закрыть тему / Close Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2