1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Octagon 5066 с системой DOS 6.22 485 modbus rtu драйвер

RS-485, ProfiBUS, 4-20 mA, Wi-Fi, GSM и так далее
Ответить

Автор темы
onixx
новенький
новенький
Сообщения: 1
Зарегистрирован: 10 дек 2018, 14:32
Имя: Иван
Благодарил (а): 10 раз

Octagon 5066 с системой DOS 6.22 485 modbus rtu драйвер

Сообщение onixx »

Здравствуйте. Помогите примерно набросать план действий.
Имеется старый мини компьютер Octagon 5066 с системой DOS 6.22. На плате есть 485 интерфейс. Так же есть устройство передающее параметры по 485 Modbus RTU. Так вот надо написать программу для опроса этого устройства.
Из навыков у меня только программирование на C Atmega. Ну и программирование на Delphi.
Т.е. грубо говоря Octagon 5066 это тот же контроллер и поход к написанию драйверов тот же? На что влияет операционная система DOS, она же только с файловой системой работает? Я так же должен работать с регистрами этого порта 485 как и в обычном контроллере? В dataseet ни какой инфы нет.
На чем писать драйвер C, C++? Нужен ли Assembler?
Я не понимаю структуру. Т.е. у меня будет файл Autoexec.bat, в котором будет прописан мой драйвер. Этот драйвер периодически опрашивает мой датчик и в определенном месте памяти находится нужное мне значение? И моя главная программа имеет доступ к этому участку памяти.
Какой более легкий и современный стенд мне собрать, что бы осилить данный проект? Чем больше документации и примеров тем лучше. Может это будет эмулятор ДОС на компьютере и обмен по 232 с контроллером?
Что мне надо знать? Спасибо
Аватара пользователя

Jackson
администратор
администратор
Сообщения: 17472
Зарегистрирован: 17 июн 2008, 16:01
Имя: Евгений свет Брониславович
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 749 раз
Поблагодарили: 1278 раз

Octagon 5066 с системой DOS 6.22 485 modbus rtu драйвер

Сообщение Jackson »

Приветствую!

Такое обилие вопросов выглядит как "шеф! всё пропало!" :)
onixx писал(а): 10 дек 2018, 14:36Что мне надо знать?
Задачу. От начала и до конца.

А именно:
onixx писал(а): 10 дек 2018, 14:36Так вот надо написать программу для опроса этого устройства.
  1. Кто из этих устройств есть модбас-мастер, а кто - модбас-слейв?
  2. данные Вы опросите, получите - и куда их девать? Архивировать, передавать другой программе, другому устройству, в каком виде?
Для того чтобы просто опросить модбас-устройство уже давно всё написано - ModBUS Pool например (правда он не под DOS). Но данные он никуда не девает - это тестовая программка.
onixx писал(а): 10 дек 2018, 14:36Т.е. грубо говоря Octagon 5066 это тот же контроллер и поход к написанию драйверов тот же?
Тот же - это какой? :) Вообще это для Вас - обычный компьютер архитектуры 80486, работаете с COM-портом как с обычным UART. Посмотрите, какой UART на этом контроллере, может быть 8250, 8250A, 8250B, 16450, 16550. Первый - давно снят с производства и вряд ли у Вас он. А примеры работы с COM-портом есть в учебниках, иногда они есть и от производителей.
onixx писал(а): 10 дек 2018, 14:36На что влияет операционная система DOS, она же только с файловой системой работает?
А Вы DOSа никогда не видели? :) Вот и познакомитесь.
DOS может повлиять на всё - по желанию программиста.
onixx писал(а): 10 дек 2018, 14:36В dataseet ни какой инфы нет.
Что, совсем-совсем пустой даташит? Даташит - это общее краткое описание чтобы только выбрать и купить устройство. Ищите другую документацию, она есть.
onixx писал(а): 10 дек 2018, 14:36 Какой более легкий и современный стенд мне собрать, что бы осилить данный проект?
К Вашему Octagon'у добавьте какой-никакой VGA-монитор (или какой там можно к нему подключить), клавиатуру, блок питания, какой-нибудь накопитель. Встроенный накопитель 2МБайт - это флэш, ресурс записи ограничен, поэтому тренироваться лучше на стороннем накопителе, а потом уже готовый исполняемый файл со всем что ему надо перенести на системный носитель. На втором компьютере (на котором работаете) установите программки ModBUS Pool и ModSim - первая работает как ModBUS Master, вторая -
как ModBUS Slave. Ну и Ваше устройство, которое собираетесь опрашивать. И свяжите два компа вместе по COM-портам.

Отправлено спустя 38 минут 58 секунд:
onixx писал(а): 10 дек 2018, 14:36 На чем писать драйвер C, C++? Нужен ли Assembler?
Лично мне в своё время ASM для этого не понадобился.
По вопросам работы Форума можно обратиться по этим контактам.
Аватара пользователя

MuadDib
частый гость
частый гость
Сообщения: 462
Зарегистрирован: 31 июл 2010, 09:12
Имя: Павел
Страна: РФ
Благодарил (а): 8 раз
Поблагодарили: 13 раз

Octagon 5066 с системой DOS 6.22 485 modbus rtu драйвер

Сообщение MuadDib »

В предыдущем посте все подробно расписано. На всякий случай добавлю, что лучший компилятор под такое железо и ОС - Borland C++ 3.1. При желании можно использовать и компиляторы Pascal той же фирмы

О программировании последовательных портов в DOS можно прочитать в этой книге (с примерами на Pascal):

https://books.google.ru/books/about/Пос ... edir_esc=y
Аватара пользователя

Никита
почётный участник форума
почётный участник форума
Сообщения: 3899
Зарегистрирован: 20 янв 2010, 22:23
Имя: Никита
Страна: РФ
город/регион: Мурманск
Благодарил (а): 18 раз
Поблагодарили: 187 раз

Octagon 5066 с системой DOS 6.22 485 modbus rtu драйвер

Сообщение Никита »

Могу рекомендовать классику - "Персональный компьютер IBM PC и операционная система MS-DOS" П. Нортона (того самого). По крайней мере, разберетесь зачем нужна DOS и как работает (работало) железо.
Но, похоже стоит задача сделать, а на изучение времени дано немного...
Если других задач на Octagon нет и резиденты не нужны, то все достаточно просто. А вот если нужен резидентный драйвер, а познаний по прерываниям и однозадачной операционке нет, остается посочувствовать...
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" приходит единственный вопрос: "Нахрена? "
Аватара пользователя

Jackson
администратор
администратор
Сообщения: 17472
Зарегистрирован: 17 июн 2008, 16:01
Имя: Евгений свет Брониславович
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 749 раз
Поблагодарили: 1278 раз

Octagon 5066 с системой DOS 6.22 485 modbus rtu драйвер

Сообщение Jackson »

Никита писал(а): 10 дек 2018, 18:28 Могу рекомендовать классику - "Персональный компьютер IBM PC и операционная система MS-DOS" П. Нортона (того самого)
А как же Фигурнов? Старые издания "IBM-PC для пользователя". и его же издание "MS-DOS 6.22. Правда, он больше для пользователя а не программиста.
Никита писал(а): 10 дек 2018, 18:28Если других задач на Octagon нет и резиденты не нужны, то все достаточно просто.
Послушаем автора, что за задание. Но применять эту машинку исключительно для опроса ModBUS-устройств в наше время - неразумно. Слишком сложно и дорого.

Отправлено спустя 9 минут 2 секунды:
MuadDib писал(а): 10 дек 2018, 17:10 На всякий случай добавлю, что лучший компилятор под такое железо и ОС - Borland C++ 3.1. При желании можно использовать и компиляторы Pascal той же фирмы
Это классика, но именно на этом железе с ним могут быть проблемы - потому что это AMD и 586 процессор, а Borland C++ 3.1, по-моему, ничего не знает старше Интела 486. Я сам не сталкивался, но мои давние коллеги на давней работе, столкнулись, помучались и решили. С этого компилятора код получается компактнее чем с Паскаля, да и учиться лучше сразу по-взрослому. Так что я тоже за С++.
По вопросам работы Форума можно обратиться по этим контактам.
Аватара пользователя

Никита
почётный участник форума
почётный участник форума
Сообщения: 3899
Зарегистрирован: 20 янв 2010, 22:23
Имя: Никита
Страна: РФ
город/регион: Мурманск
Благодарил (а): 18 раз
Поблагодарили: 187 раз

Octagon 5066 с системой DOS 6.22 485 modbus rtu драйвер

Сообщение Никита »

Jackson писал(а): 10 дек 2018, 22:50 А как же Фигурнов? Старые издания "IBM-PC для пользователя". и его же издание "MS-DOS 6.22. Правда, он больше для пользователя а не программиста.
Можно и так, но проблемы это не снимает. Все это требует познаний в архитектуре х86 машин и принципов их работы вплоть до осциллограмм на шинах... Одна 20-разрядная адресация чего стоит. А эти знания кому-то в свое время достались, а кому-то уже нет. И стоит ли ради разовой задачи учить историю - большой вопрос. Не, в принципе-то знаний много не бывает, но обстоятельства...
Jackson писал(а): 10 дек 2018, 22:50 AMD и 586 процессор, а Borland C++ 3.1, по-моему, ничего не знает старше Интела 486.
И не надо. Книга про защищенный режим 286 [и выше] из "библиотеки системного программиста" объемом была больше Фигурнова или Нортона. А основные команды процессора в реальном одни и те же. ДОС, кстати, без экстендеров или пресловутой Win 3.[0..11] тоже защищенный режим не держит. И ++ тоже ни к чему, не просматривается необходимости в ООП в этой задаче.
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" приходит единственный вопрос: "Нахрена? "
Аватара пользователя

MuadDib
частый гость
частый гость
Сообщения: 462
Зарегистрирован: 31 июл 2010, 09:12
Имя: Павел
Страна: РФ
Благодарил (а): 8 раз
Поблагодарили: 13 раз

Octagon 5066 с системой DOS 6.22 485 modbus rtu драйвер

Сообщение MuadDib »

Jackson писал(а): 10 дек 2018, 22:50
MuadDib писал(а): 10 дек 2018, 17:10 На всякий случай добавлю, что лучший компилятор под такое железо и ОС - Borland C++ 3.1. При желании можно использовать и компиляторы Pascal той же фирмы
Это классика, но именно на этом железе с ним могут быть проблемы - потому что это AMD и 586 процессор, а Borland C++ 3.1, по-моему, ничего не знает старше Интела 486. Я сам не сталкивался, но мои давние коллеги на давней работе, столкнулись, помучались и решили. С этого компилятора код получается компактнее чем с Паскаля, да и учиться лучше сразу по-взрослому. Так что я тоже за С++.
Проблемы исключать нельзя. Если хочется более нового компилятора, можно попробовать Borland C++ 5.x. На этом продукте остановилась линейка борландовских продуктов с поддержкой DOS. Честно скажу, в проде линейку 5.x не использовал. Может она и лучше поддерживает поздние процессоры DOS-овской эпохи. Если есть желание, можно попытаться использовать этот компилятор, тем паче что Эмбаркадеро ныне раздает его бесплатно (в виде набора приложений командной строки, без типа-IDE).

Отмечу, что DOS компиляторы, выпущенные Борландом после 3.1, делались по остаточному принципу, поскольку фирма в это время рожала новую линейку продуктов - C++Builder. Borland C++ 4.0 и более поздние вообще делались под Windows с сохранением возможности компиляции под DOS. Поэтому, с учетом положительной репутации 3.1 в сообществе программистов, лично я бы остановился именно на нем. И лишь по факту наличия проблем стал бы искать альтернативу.

И да, возможно, автору будет проще вообще выкинуть DOS-машинку и опрашивать Modbus устройство как-то иначе. Если Octagon нужен только как посредник для опроса Modbus RTU устройства, то можно использовать девайс типа этого:

https://www.moxa.ru/shop/com_v_ethernet ... te-mb3180/

Если же в вашем Octagon нужно реализовать какую-то логику управления (выполнять какие-то действия в зависимости от информации с Modbus RTU устройства), то тогда да, нужно программировать под DOS. Или искать другой подходящий (и более дешевый) контроллер без ДОСовских заморочек.

Отправлено спустя 7 минут 24 секунды:
Никита писал(а): 10 дек 2018, 23:34 И ++ тоже ни к чему, не просматривается необходимости в ООП в этой задаче.
Очень спорное утверждение. Необходимости ООП действительно нет. Однако, ООП позволяет существенно упростить задачу программиста (при наличии у последнего прямых рук). Кроме того, "плюсы" - это не только ООП. Шаблоны из STL очень упрощают жизнь.

Есть ряд задач, где использование "плюсов" категорически противопоказано. Но прикладная программа для опроса устройств по Modbus RTU - явно не такая задача.
Аватара пользователя

Никита
почётный участник форума
почётный участник форума
Сообщения: 3899
Зарегистрирован: 20 янв 2010, 22:23
Имя: Никита
Страна: РФ
город/регион: Мурманск
Благодарил (а): 18 раз
Поблагодарили: 187 раз

Octagon 5066 с системой DOS 6.22 485 modbus rtu драйвер

Сообщение Никита »

Есть еще вариант - покупка готовой системы разработки с библиотеками и рантайм-лицензии для дос.
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" приходит единственный вопрос: "Нахрена? "

leon78
эксперт
эксперт
Сообщения: 1024
Зарегистрирован: 25 июл 2008, 10:06
Имя: Леонид
Страна: РФ
Благодарил (а): 28 раз
Поблагодарили: 104 раза

Octagon 5066 с системой DOS 6.22 485 modbus rtu драйвер

Сообщение leon78 »

Можно попробовать на сайте производителя примеры поискать.
В открытом доступе нет, но кто мешает запросить?
http://www.octagonsystems.com/support/obsolete-products
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.

ZuElecRu
освоился
освоился
Сообщения: 290
Зарегистрирован: 09 авг 2016, 13:49
Имя: Чистилин Андрей Анатольевич
Страна: Россия
город/регион: Малоярославец
Благодарил (а): 31 раз
Поблагодарили: 35 раз

Octagon 5066 с системой DOS 6.22 485 modbus rtu драйвер

Сообщение ZuElecRu »

А что устройство или датчик то меряет/делает? Может уже и устройство поменять на более современное? С OPC сервером, на пример?
Modbus RTU перепахан вдоль и поперек, можно взять бесплатный OPC сервер на 32 тега и бесплатную SCADA же....

leon78
эксперт
эксперт
Сообщения: 1024
Зарегистрирован: 25 июл 2008, 10:06
Имя: Леонид
Страна: РФ
Благодарил (а): 28 раз
Поблагодарили: 104 раза

Octagon 5066 с системой DOS 6.22 485 modbus rtu драйвер

Сообщение leon78 »

Возможно и "Прософт" сможет помочь, мануал у них на сервере есть:
ftp://ftp.prosoft.ru/pub/Hardware/Octag ... roPC/5066/
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.
Аватара пользователя

Jackson
администратор
администратор
Сообщения: 17472
Зарегистрирован: 17 июн 2008, 16:01
Имя: Евгений свет Брониславович
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 749 раз
Поблагодарили: 1278 раз

Octagon 5066 с системой DOS 6.22 485 modbus rtu драйвер

Сообщение Jackson »

MuadDib писал(а): 11 дек 2018, 06:52 Если же в вашем Octagon нужно реализовать какую-то логику управления
А во всех других случаях он тут и бессмысленный. :)
Пусть автор задачу озвучит сначала.
Никита писал(а): 10 дек 2018, 23:34 И ++ тоже ни к чему, не просматривается необходимости в ООП в этой задаче
Даже если оно не просматривается - совершенно не вижу, почему бы благородным донам не использовать ++.
По вопросам работы Форума можно обратиться по этим контактам.
Ответить

Вернуться в «Интерфейсы, протоколы, связь»