Вход

Просмотр полной версии : Объединение 1С с промышленным оборудованием.



Dmitry Simonov
22.10.2024, 11:45
Добрый день. Я студент, у меня есть темя для диплома создать систему для завода с датчиками. Сама задача состоит в автоматизации процессов, которые происходят на предприятии. К примеру датчик регулировки температуры для организации работы системы охлаждения. Помогите подобрать подходящий.
Главная сложность поставлена задача соединить его с 1С. Возможно ли это в принципе с вашими датчиками.

melky
22.10.2024, 11:53
Это возможно с любыми датчиками. Как правило, чтение приборов, ПЛК, датчиков через модули ввода происходят при помощи Scada систем. Scada системы при этом сохраняют данные в некие базы данных.
Смотрите с какой БД вам проще будет работать из 1С, выбираете Scada, которая может писать данные в выбранную БД.

Так же у 1C вроде есть возможность запросов к разного рода API, например REST. Тут тоже можно поиграться, обращаясь напрямую к Scada системам для получения данных.

МихаилГл
22.10.2024, 11:54
Добрый день. Я студент, у меня есть темя для диплома создать систему для завода с датчиками. Сама задача состоит в автоматизации процессов, которые происходят на предприятии. К примеру датчик регулировки температуры для организации работы системы охлаждения. Помогите подобрать подходящий.
Главная сложность поставлена задача соединить его с 1С. Возможно ли это в принципе с вашими датчиками.

Вам датчик абсолютно не важен. Зачем вы про него вопрос подняли, непонятно. Т.к. его выбор зависит от процесса, который вы вообще не описали, но забываем про это.
Главный вопрос, как вы это интегрируете в 1С. Тем более не понятна ваша специализация. Кто вы, АСУТПшник или 1Сник. Для вас разные решения...

Для АСУТПшника:
1. Любой датчик (например с выходом 4-20 мА)
2. Вторичный прибор под тип датчика (ETHERNET модуль аналогового ввода ОВЕН)
3. Бесплатная Rapid Scada которая опрашивает вторичный прибор по модбас тср и транслирует данные в MSSQL экспресс
4. Как слить данные из MSSQL - это к 1Сникам...

Примерно так

Cs-Cs
22.10.2024, 12:25
Лучше поставить точнее задачу.
Что такое "Соединить с 1С"? Возможны варианты:
* Вести документацию в 1С. Я себе такое на 1С и написал, вот: https://cs-cs.net/crm-devices-manage
* Передавать какие-то данные. Какие? Когда (в смысле, постоянно или по запросу от 1С)?
Чаще всего 1Ску используют для учёта чего-то. То есть, вести журнал данных в 1С - плохо, а вот сделать так, чтобы 1Ска запросила из АСУТП какие-то данные типа "Время наработки насоса" или "Сколько кВт*час электричества сожрала печь с прошлого раза" - можно.

imaex
22.10.2024, 13:17
Добрый день. Я студент, у меня есть темя для диплома создать систему для завода с датчиками. Сама задача состоит в автоматизации процессов, которые происходят на предприятии. К примеру датчик регулировки температуры для организации работы системы охлаждения. Помогите подобрать подходящий.
Главная сложность поставлена задача соединить его с 1С. Возможно ли это в принципе с вашими датчиками.
Это Вам так задачи ставят или Вы так поняли? Чего автоматизировать-то хотите? На любом предприятии ("заводе с датчиками" :D) сотни, наверное, процессов "происходят". Если не тысячи. В т.ч. процессы перекура.

Вам показания датчика в 1С нужно? Берёте любой датчик, показания которого можно можно снимать через OPC-сервер. Пишете опрос OPC-сервера в 1С, она это умеет. Вот только зачем?

In_Da_Cher_A
22.10.2024, 15:12
"ваши" датчики

датчик регулировки температуры для организации работы системы охлажденияпросто бессмысленный набор слов

поставлена задача соединить его с 1Счто ему делать в 1С? температуру воды передавать в бухгалетрию?

melky
22.10.2024, 15:32
энтальпию за расчетный период :) или как там правильно... :)

In_Da_Cher_A
22.10.2024, 15:48
энтальпию за расчетный период :) или как там правильно... :)а где в каталоге ОВЕНа датчик энтальпии? :D

EFrol
23.10.2024, 07:40
А как к 1С подключают штрихсканеры, весы, панели покупателя, ККМ и т.д.?
Вам известен механизм внешних компонент 1С (https://v8.1c.ru/platforma/vneshniy-komponent/#:~:text=%D0%92%D0%BD%D0%B5%D1%88%D0%BD%D0%B8%D0%B 9%20%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0% BD%D1%82%20%E2%80%94%20%D1%8D%D1%82%D0%BE%20%D0%BF %D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%2 C%20%D0%BA%D0%BE%D1%82%D0%BE%D1%80%D0%B0%D1%8F,%D0 %BA%D0%BE%D0%B4%D0%BE%D0%B2%2C%20%D0%BF%D1%80%D0%B 8%D0%BD%D1%82%D0%B5%D1%80%D0%B0%D0%BC%D0%B8%20%D1% 8D%D1%82%D0%B8%D0%BA%D0%B5%D1%82%D0%BE%D0%BA%20%D0 %B8%20%D1%82.)?
С его помощью можно сделать буквально ВСЁ!!

Большинство приборов ОВЕН имеют универсальные входы (для подключения различных датчиков) и цифровые порты (RS485, USB) с поддержкой хорошо известных протоколов обмена.
Конечно Вам понадобятся некоторые специфические знания - Интернет в помощь.

Dmitry Simonov
28.10.2024, 15:14
Это возможно с любыми датчиками. Как правило, чтение приборов, ПЛК, датчиков через модули ввода происходят при помощи Scada систем. Scada системы при этом сохраняют данные в некие базы данных.
Смотрите с какой БД вам проще будет работать из 1С, выбираете Scada, которая может писать данные в выбранную БД.

Так же у 1C вроде есть возможность запросов к разного рода API, например REST. Тут тоже можно поиграться, обращаясь напрямую к Scada системам для получения данных.

Уточнил задачу у руководителя. Он предлагает через REST к API датчика. Может я неправильно называю, может не API, а функцию включения, выключения датчика и получения его показаний через запрос.

Dmitry Simonov
28.10.2024, 15:15
Вам датчик абсолютно не важен. Зачем вы про него вопрос подняли, непонятно. Т.к. его выбор зависит от процесса, который вы вообще не описали, но забываем про это.
Главный вопрос, как вы это интегрируете в 1С. Тем более не понятна ваша специализация. Кто вы, АСУТПшник или 1Сник. Для вас разные решения...

Для АСУТПшника:
1. Любой датчик (например с выходом 4-20 мА)
2. Вторичный прибор под тип датчика (ETHERNET модуль аналогового ввода ОВЕН)
3. Бесплатная Rapid Scada которая опрашивает вторичный прибор по модбас тср и транслирует данные в MSSQL экспресс
4. Как слить данные из MSSQL - это к 1Сникам...

Примерно так

Я пишу диплом на 1С. Но подключаться хочу напрямую, НЕ через АСУТП.

Dmitry Simonov
28.10.2024, 15:22
Лучше поставить точнее задачу.
Что такое "Соединить с 1С"? Возможны варианты:
* Вести документацию в 1С. Я себе такое на 1С и написал, вот: https://cs-cs.net/crm-devices-manage
* Передавать какие-то данные. Какие? Когда (в смысле, постоянно или по запросу от 1С)?
Чаще всего 1Ску используют для учёта чего-то. То есть, вести журнал данных в 1С - плохо, а вот сделать так, чтобы 1Ска запросила из АСУТП какие-то данные типа "Время наработки насоса" или "Сколько кВт*час электричества сожрала печь с прошлого раза" - можно.

Директор производства пластиковой посуды поставил много задач. Руководитель практики сказал, что если решу одну, то решу и другую.
Задача 1 Открыть на проветривание форточку в цехе (потом соответственно не 1)
Задача 2 Купил станок в Турции, но в нем нет возможности собирать инфу по простоям. Директор просил соединить ЕРП и простои станка в 1С.
Ну и т.д. и т.п. Просто директор раньше учился на программиста, а теперь хозяйственник и все хочет делать своё.
...
P.S.
Директор ставил какую-то SCADA и сам настаивал. Потом какой-то период не следил за ней, подошел, а она не работает. А сил разобраться у него не было. Решил, что надо идти путем через 1С.

Dmitry Simonov
28.10.2024, 15:23
Это Вам так задачи ставят или Вы так поняли? Чего автоматизировать-то хотите? На любом предприятии ("заводе с датчиками" :D) сотни, наверное, процессов "происходят". Если не тысячи. В т.ч. процессы перекура.

Вам показания датчика в 1С нужно? Берёте любой датчик, показания которого можно можно снимать через OPC-сервер. Пишете опрос OPC-сервера в 1С, она это умеет. Вот только зачем?

ОРС сервер. Подскажите где прочитать про него.

Dmitry Simonov
28.10.2024, 15:27
А как к 1С подключают штрихсканеры, весы, панели покупателя, ККМ и т.д.?
Вам известен механизм внешних компонент 1С (https://v8.1c.ru/platforma/vneshniy-komponent/#:~:text=%D0%92%D0%BD%D0%B5%D1%88%D0%BD%D0%B8%D0%B 9%20%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0% BD%D1%82%20%E2%80%94%20%D1%8D%D1%82%D0%BE%20%D0%BF %D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%2 C%20%D0%BA%D0%BE%D1%82%D0%BE%D1%80%D0%B0%D1%8F,%D0 %BA%D0%BE%D0%B4%D0%BE%D0%B2%2C%20%D0%BF%D1%80%D0%B 8%D0%BD%D1%82%D0%B5%D1%80%D0%B0%D0%BC%D0%B8%20%D1% 8D%D1%82%D0%B8%D0%BA%D0%B5%D1%82%D0%BE%D0%BA%20%D0 %B8%20%D1%82.)?
С его помощью можно сделать буквально ВСЁ!!

Именно это и сказал мой руководитель.

Большинство приборов ОВЕН имеют универсальные входы (для подключения различных датчиков) и цифровые порты (RS485, USB) с поддержкой хорошо известных протоколов обмена.
Конечно Вам понадобятся некоторые специфические знания - Интернет в помощь.

В данный момент изучаю механизм внешних компонент 1С.

In_Da_Cher_A
28.10.2024, 22:08
Я пишу диплом на 1С. Но подключаться хочу напрямую, НЕ через АСУТП.это будет 1СУТП:D

Он предлагает через REST к API датчика. это сильное заявление для руководителя.

Может я неправильно называю, может не API, а функцию включения, выключения датчика и получения его показаний через запрос.запрос к датчику? что есть в вашем понимании этот магический предмет, именуемый в вашем измерении словом "датчик"?

lazhator
29.10.2024, 04:05
сколько не смотрю на ответы на подобные вопросы в этом форуме, все одно и то же : - снобизм, причем откровенный. Вы не хотите, что бы к вам обращались с вопросами? Понятно же, что пишет человек которому либо знания давались поверхностно, либо он сам их так получал. На все вопросы дипломника, должен отвечать его руководитель, для того он и назначен. Но, по моему глубокому убеждению, преподавателей, как и руководителей из их числа, способных действительно обучать и направлять студентов в нужное русло - единицы.. Зачем упражняться в остроумии, потешить свое ЧСВ? Не нужно ничего разжевывать, дайте пару ссылок, по вопросам или просто скажите, что 1С в общем-то не предназначена для контроля температуры - его функции автоматизация бизнес процессов любой компании, независимо от направлений и масштабов.

imaex
29.10.2024, 07:41
Директор ставил какую-то SCADA.... Решил, что надо идти путем через 1С.

Первый "подход к станку" был концептуально правильный. Но потом хозяйственник победил. :D



ОРС сервер. Подскажите где прочитать про него.

Начните с википедии, хотя бы. Обычно в статьях внизу имеются ссылки на материалы по теме. Или просто в поисковой строке браузера вбейте "что такое OPC?"

Вообще удивительно - одна из основных вещей, чему должны учить в любом ВУЗ'е - поиск информации. Читать такое в век Интернета и от человека, у которого доступ в Интернет явно есть - удивительнее на порядок.

In_Da_Cher_A
29.10.2024, 07:53
сколько не смотрю на ответы на подобные вопросы в этом форуме,
это форум и здесь живые люди, а не служба техподдержки типа "мои документы" - пришёл задал вопрос получил ответ ушёл
просто так зайти после рабочего дня и потрепаться на рабочую тематику - нам в этом отказано :D
мы типа должны как ИИ, как ChatGPT или Алиса - вопрос = ответ, вопрос - ответ :D

Не нужно ничего разжевывать, дайте пару ссылок, так дайте. пара ссылок, как вы сами заметили, с уровнем его знаний - его не спасёт.
Пара ссылок помогут там, где человек научился думать, работать своей головой. А здесь надо заново проходить от 3 до 5 лет, кто он там бакалавр или магистратура

человек которому либо знания давались поверхностно, либо он сам их так получал. через полгода, этот человек окажется на злобном, безжалостном, капиталистическом рынке труда, где всем насрать на поверхностность его знаний и где он их получал - есть функционал - нужен работник, не знаешь? - давайдосвидания. и что он расскажет на собеседовании? жалобную историю про плохих учителей и руководителей? это ТАМ не работает
Если он этого ещё не осознал, и не начал учиться сам, то увы, мы здесь ничем не поможем, даже если напишем за него диплом

просто скажите, что 1С в общем-то не предназначена для контроля температуры - его функции автоматизация бизнес процессов любой компании, независимо от направлений и масштабов.пришёл будущий программист 1С, который пишет диплом по 1С, которому "начальник" дал задание на диплом по 1С, а мы будем говорить ему, что земля круглая?
никто не даст ему другой темы, другого руководителя, это "ван вей тикет"

отоночо михалыч

МихаилГл
29.10.2024, 08:09
никто не даст ему другой темы, другого руководителя, это "ван вей тикет"

Ну не знаю, я в своё время, когда писал диплом и темы мне не понравились, подошёл и сказал: буду писать вот об этом. Мне сказали: валяй. Тем более я что, зря 2 курсовых до этого на ту же область писал. А тут, как говорится, уплотнил и расширил!

Но у препода в голове какая-то каша... API, rest запросы... Это больше для программистов приложений а не стандартных АСУТП шников. Ну для автоматизации бизнес процессов, согласен, но при чем тут технология...

imaex
29.10.2024, 08:23
Понятно же, что пишет человек которому либо знания давались поверхностно, либо он сам их так получал.

И что теперь - обнять и плакать? Лет так уже почти 35 назад в ответ на вопросы к старшему товарищу я был послан...читать доки, так сказать. Помогло, знаете ли. Иторнетов тогда не было, если что. Все мануалы шуршащие, в т.ч. на "синьках".

Dmitry Simonov
30.10.2024, 11:47
У меня есть датчик термосопротивления с цифровым выходом RS-485. Мне нужно его подключить к компьютеру, на котором установлен ОРС-сервер для опроса. Подскажите как это можно сделать и при помощи какого оборудования.

melky
30.10.2024, 11:49
Преобразователь интерфейса USB-RS485 ну или по богатому Ethernet-RS485
Протокол датчика? Ну по крайней мере другого оборудования не требуется для подключения к ПК

Dmitry Simonov
30.10.2024, 22:25
Поддерживает протокол ОВЕН и Modbus RTU. Не подскажете, 1С может работать с этим протоколом? Если я правильно понимаю, здесь нужна внешняя компонента, по принципу подключения кассового оборудования.

SafSerg66
31.10.2024, 04:34
Я давно подключал Овеновские приборы через ОРС сервер к своим программам. Очень неудобно, со временем отказался от ОРС. Теперь только USB-RS485 дальше напрямую запросы. Не знаю если в 1С функция обращения к ОРС. СКАДЫ поддерживают ОРС но это другое.

melky
31.10.2024, 06:29
Интересно, почему бы не задать вопрос в 1С ?
Вообще, если к 1С подключают всякие кассовые аппараты, штрихкодеры и т.д. значит там язык позволяет работать с портами.
А вообще программист 1С это такое гордое название, и не понятно, что они там вообще программируют. Хотя версия 8 насколько знаю сильно изменилась в этом плане.

imaex
31.10.2024, 07:50
Не знаю если в 1С функция обращения к ОРС.
А она там нужна? Точно? Вот в Excel'е, например, нет такой функции, а работать с OPC можно. В аттаче пример простенький на примере Matrikon.OPC.Simulation, он в комплекте с матриконовским же OPC explorer'ом идёт. Получение данных по подписке сделано, просто мне тогда было так интересно. Библиотеки OPC Core только установить нужно, качнуть с сайта OPC Foundation, тут (https://opcfoundation.org/developer-tools/samples-and-tools-classic). НЯП, всё это можно было и в 7.7 делать.

А вот зачем это нужно делать именно в 1С - отдельный вопрос.

In_Da_Cher_A
31.10.2024, 07:53
Интересно, почему бы не задать вопрос в 1С ?Потому что те ресурсы, что есть по 1С, заточены по людей, которые работают и заплатили денег.
И зарабатывают деньги. Поэтому после нашего лампового уголка, где за двоешников и ленивых студентов делают курсовики, вытирая им слёзки, их встретит реальный мир будущих коллег, которые если отвечают на вопросы, то "за деньги Да".
ну и по классике - чтобы найти ресурсы по 1С нужно сделать пару кликов мышкой в гугле. Это вероятно, крайне затруднительно для студента.

EFrol
31.10.2024, 08:27
Поддерживает протокол ОВЕН и Modbus RTU. Не подскажете, 1С может работать с этим протоколом? Если я правильно понимаю, здесь нужна внешняя компонента, по принципу подключения кассового оборудования.

Вы всё правильно понимаете. Я сам 15 лет программировал под 1С 7.7.
В моих задачах в т.ч. было и разработка внешних компонент на VB:
- подключение автомобильных весов на элеваторах;
- подключение БИК-анализаторов в лабораториях;
- подключение различных расходомеров (узлов учета) газа, тепла, воды, концентратов и т.д. в том числе и удаленно;

Просто это было очень давно. ModbusRTU - точно где-то есть.
Внешняя компонента хороша тем, что работает как параллельный процесс и взаимодействует с 1С на уровне событий.
Реализовать компоненту для работы с ОВЕН-протоколом - точно можно!
И компоненты написанные для 1С 7.7 без проблем интегрируются с 1С8.

https://infostart.ru/1c/tools/1638366/

Dmitry Simonov
31.10.2024, 11:03
Вы всё правильно понимаете. Я сам 15 лет программировал под 1С 7.7.
В моих задачах в т.ч. было и разработка внешних компонент на VB:
- подключение автомобильных весов на элеваторах;
- подключение БИК-анализаторов в лабораториях;
- подключение различных расходомеров (узлов учета) газа, тепла, воды, концентратов и т.д. в том числе и удаленно;

Просто это было очень давно. ModbusRTU - точно где-то есть.
Внешняя компонента хороша тем, что работает как параллельный процесс и взаимодействует с 1С на уровне событий.
Реализовать компоненту для работы с ОВЕН-протоколом - точно можно!
И компоненты написанные для 1С 7.7 без проблем интегрируются с 1С8.

https://infostart.ru/1c/tools/1638366/

Спасибо большое за подсказку. Я изучил протокол ModbusRTU и его можно преобразовать в протокол
ModbusTCP/IP, с которым можно работать через внешнюю компоненту 1С и не только из неё. Для этого можно использовать шлюз. И тут возник вопрос что лучше, приобрести ваши МКОН преобразователи, или же купить на рынке. Подойдет ли шлюз другого производителя?

МихаилГл
31.10.2024, 11:11
Любой, китайский или moxa преобразователь. Хоть rs485 to usb, хоть rs485 to rs232, хоть rs485 to Ethernet. Ну для modbus tcp конечно лучше 3ий вариант. В остальных двух виртуальный или реальный ком порт используется.

imaex
31.10.2024, 11:12
приобрести ваши МКОН преобразователи

Категорически не советую. Есть намного дешевле и без МКОН-овских сюрпризов.

imaex
31.10.2024, 11:16
moxa преобразователь

Шутите? Моксовский шлюз самый дешёвый почти 350 баксов стоит.

МихаилГл
31.10.2024, 11:34
Шутите? Моксовский шлюз самый дешёвый почти 350 баксов стоит.

Вопроса про цену не было, это во первых, во вторых, там написано, китайский или... Можно nport, да можно всё что угодно)

PS nport это оказывается тоже moxa... Сёл в галошу)

EFrol
31.10.2024, 12:27
Спасибо большое за подсказку. Я изучил протокол ModbusRTU и его можно преобразовать в протокол
ModbusTCP/IP, с которым можно работать через внешнюю компоненту 1С и не только из неё. Для этого можно использовать шлюз. И тут возник вопрос что лучше, приобрести ваши МКОН преобразователи, или же купить на рынке. Подойдет ли шлюз другого производителя?

Я использую:
https://duino.ru/USB-RS485.html/
https://www.chipdip.ru/product/uart-to-eth?from=suggest_product + https://duino.ru/rs485-ttl/

imaex
31.10.2024, 12:34
Я использую:
https://duino.ru/USB-RS485.html/
https://www.chipdip.ru/product/uart-to-eth?from=suggest_product + https://duino.ru/rs485-ttl/

Человек спрашивал про шлюз RTU-TCP. По Вашим ссылкам не шлюзы, а простые преобразователи последовательного интерфейса в ethernet. Не путайте человека, он без нас запутается.

Вот недорогой преобразователь с функцией шлюза RTU-TCP:
https://usriot.ru/serial-to-ethernet/serial-device-servers/industrial-device-servers/usr-tcp232-410s

EFrol
31.10.2024, 12:54
UART_TO_ETH я использую и как ModbusTCP и как Modbus over TCP. Просто реализую ModbusTCP на уровне компоненты 1C, а UART_TO_ETH обеспечивает транспорт TCP/IP.

imaex
31.10.2024, 13:21
Просто реализую ModbusTCP на уровне компоненты 1C

Т.е. у Вас компонента преобразует запросы вида modbus/tcp в modbus/rtu и обратно? А на фига козе баян?

EFrol
31.10.2024, 16:27
Т.е. у Вас компонента преобразует запросы вида modbus/tcp в modbus/rtu и обратно? А на фига козе баян?

ModbusRTU на уровне компоненты, конечно. Очепятка ;) С маленьким AVR или PIC можно полный аналог MKOH замутить.

imaex
31.10.2024, 20:00
ModbusRTU на уровне компоненты, конечно.

ОК, допустим.


UART_TO_ETH я использую и как ModbusTCP и как Modbus over TCP.

Только вот как с этим быть, если UART_TO_ETH ни о Modbus TCP, ни о Modbus RTU понятия не имеет? Оно в принципе протоколы преобразовывать не умеет - что ему на один вход пихнули, то оно с другого и выплюнет. С Modbus over TCP вопросов нет, как выше сказано - что пришло, то и ушло.

BETEP
31.10.2024, 20:30
Это возможно с любыми датчиками. Как правило, чтение приборов, ПЛК, датчиков через модули ввода происходят при помощи Scada систем. Scada системы при этом сохраняют данные в некие базы данных.
Смотрите с какой БД вам проще будет работать из 1С, выбираете Scada, которая может писать данные в выбранную БД.
Скада не обязательна, Лектус (иногда глючит) вроде что то умеет в какую то базу писать и KEPServerEX тоже умеет с базами в обе стороны (в инетах есть с таблеткой)
Наверно это самый простой вариант.
----------
Старинный ModScan тоже умеет другим приложениям данные отдавать.
https://win-tech.com/html/modbus1.htm
----------------
Немного сталкиваюсь с одинэсниками, обычно им удобнее отдавать мне нужное через текстовые файлы, а забирать через БД или текст.

Dmitry Simonov
06.11.2024, 13:34
Добрый день. Подскажите пожалуйста, как подключить датчик с выходом сопротивление к компьютеру (ДТС125Л-РТ100.В4.60). Какое именно аппаратное обеспечение требуется?

1exan
06.11.2024, 13:51
Если вы про ОВЕН, то можно использовать МВ210-101 (https://owen.ru/product/moduli_analogovogo_vvoda_s_universal_nimi_vhodami_ ethernet_mv210) (ModbusTCP) или МВ110-2А (https://owen.ru/product/moduli_analogovogo_vvoda_s_universal_nimi_vhodami_ s_interfejsom_rs_485) (ModbusRTU, нужен преобразователь - например RS485-USB)

EFrol
06.11.2024, 13:56
Я бы взял 2ТРМ0 (https://owen.ru/product/2trm0). У него есть USB-порт!!! И он дешевле!!!

Сергей0308
06.11.2024, 13:57
Добрый день. Подскажите пожалуйста, как подключить датчик с выходом сопротивление к компьютеру (ДТС125Л-РТ100.В4.60). Какое именно аппаратное обеспечение требуется?

Можно применить это:

79871

https://owen.ru/product/2trm0

И, если у Вас компьютер не промышленный, а "домашний", то ещё и это:

79872

https://owen.ru/product/as4m

Dmitry Simonov
06.11.2024, 14:27
Просто руководитель диплома офигевает от общей суммы на железо, необходимую для диплома. Можно ли как-нибудь снизить затраты?
1. Датчик ДТС125Л-РТ100.В4.60 - 1920 рублей,
2. АС4 преобразователь интерфейсов RS-485 <-> USB c гальванической изоляцией - 6360 рублей
3. МБ110-2А - 10920 рублей,
4. ПО в виде внешней компоненты для работы с ModbusTCP (https://infostart.ru/1c/tools/1638366/) - 1860 рублей.

Всего: 21060 рублей.
И ещё такой вопрос, это все компоненты подключения к компьютеру или я что-то забыл?

melky
06.11.2024, 14:41
Не парьте мозг себе и людям. Для диплома будет достаточно китайских погремушек от датчиков до преобразователей интерфейсов.
тот же преобразователь на CH340 - USB-RS485 будет стоить 70-100 рублей.

платы для 0-20мА датчиков рублей 300-500 а то и меньше. Датчики тоже по куда меньшей цене.
Вам же необходимо показать принципы, а не строго какое-то оборудование.
И на? вам внешние компоненты для 1С за деньги? неужели нет в базовом варианте 1С чтения БД, той же Postgre? поставили бесплатную Scada с записью в БД и все. Или вам так важно с Modbus общаться именно через внешнюю компоненту?

Dmitry Simonov
06.11.2024, 14:48
Не парьте мозг себе и людям. Для диплома будет достаточно китайских погремушек от датчиков до преобразователей интерфейсов.
тот же преобразователь на CH340 - USB-RS485 будет стоить 70-100 рублей.

платы для 0-20мА датчиков рублей 300-500 а то и меньше. Датчики тоже по куда меньшей цене.
Вам же необходимо показать принципы, а не строго какое-то оборудование.
И на? вам внешние компоненты для 1С за деньги? неужели нет в базовом варианте 1С чтения БД, той же Postgre? поставили бесплатную Scada с записью в БД и все. Или вам так важно с Modbus общаться именно через внешнюю компоненту?

В том то и дело, что моя цель попытаться избежать общения через таких посредников как БД и SCADA и реализовать общение с датчиком через 1С напрямую.

Сергей0308
06.11.2024, 14:48
Просто руководитель диплома офигевает от общей суммы на железо, необходимую для диплома. Можно ли как-нибудь снизить затраты?
1. Датчик ДТС125Л-РТ100.В4.60 - 1920 рублей,
2. АС4 преобразователь интерфейсов RS-485 <-> USB c гальванической изоляцией - 6360 рублей
3. МБ110-2А - 10920 рублей,
4. ПО в виде внешней компоненты для работы с ModbusTCP (https://infostart.ru/1c/tools/1638366/) - 1860 рублей.

Всего: 21060 рублей.
И ещё такой вопрос, это все компоненты подключения к компьютеру или я что-то забыл?

А, если такой модуль купить, ещё дороже будет:

79873

https://owen.ru/product/moduli_analogovogo_vvoda_s_universal_nimi_vhodami_ ethernet_mv210

Он один 20000 рублей стоит, надеюсь, смысл понятен?!

melky
06.11.2024, 14:58
Dmitry Simonov ну ок - вы купите пример, который потом будете допиливать и перепиливать. Ваше право. Железо то вам для диплома зачем промышленного исполнения? Преподу домой понадобился модуль аналогового ввода МВ110-2А ? :)

А ничего что это RS485-ое устройство, а ссылка на пример для Modbus TCP? вас не смущает?

Тут как бы самый первый вопрос возникает: Зачем Козе баян?

Dmitry Simonov
06.11.2024, 15:02
Dmitry Simonov ну ок - вы купите пример, который потом будете допиливать и перепиливать. Ваше право. Железо то вам для диплома зачем промышленного исполнения? Преподу домой понадобился модуль аналогового ввода МВ110-2А ? :)

А ничего что это RS485-ое устройство, а ссылка на пример для Modbus TCP? вас не смущает?

Тут как бы самый первый вопрос возникает: Зачем Козе баян?

Можно использовать шлюз RS485-USB. Разве нет?

1exan
06.11.2024, 15:05
Можно использовать шлюз RS485-USB. Разве нет?

Нет, упоминаемый в описании вашей внешней компоненты ModbusTCP подразумевает использование интерфейса Ethernet

melky
06.11.2024, 15:44
Нужен тогда преобразователь протокола Modbus TCP - Modbus RTU, что будет несколько дороже простого преобразователя USB-RS485. Ну есть у USR-IOT по цене дешевле АС3(4)...
сомневаюсь, что тот компонент умеет Modbus RTU - over TCP.

imaex
06.11.2024, 16:15
что тот компонент умеет Modbus RTU - over TCP.

По косвенным признакам (скриншотам по ссылке) похоже, что именно Modbus TCP. Вот только я ни фига не понял - а как там тип регистра задаётся? В формате адреса регистра?


Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Офигительно. Прямо планету Шелезяка напомнило. Яп очканул такое купить.

imaex
06.11.2024, 16:30
Просто руководитель диплома офигевает от общей суммы на железо, необходимую для диплома. Можно ли как-нибудь снизить затраты?


А Вам точно всё это добро нужно для диплома? НЯП, в дипломе нужно показать принципиальную возможность такого решения. Что мешает в 1С организовать опрос симулятора OPC-сервера? Концептуально ведь замена реального OPC с реальным датчиком(ами) на симулятор ничего не меняет. Вам ведь принцип нужно показать? Или нет? А так, то, что я предлагаю, вообще ни копейки не стоит. Только Ваше время и труд.

EFrol
06.11.2024, 16:39
В том то и дело, что моя цель попытаться избежать общения через таких посредников как БД и SCADA и реализовать общение с датчиком через 1С напрямую.

Меня очень смущает один интересный момент:
В РЭ на 2ТРМ0 (https://owen.ru/product/2trm0/specifications) (стоимостью 5280), сказано что:
79874
Однако, если открыть OwenConfigurator:
79875
то мы увидим, что для него, прибор подключенный через USB, как бы уже подключен через преобразователь USB-RS485.
И настройка (в т.ч. и оперативные параметры) доступны конфигуратору по ходу по протоколу ModbusRTU или ModbusASC.
Не думаю, что ОВЕН станет создавать отдельный протокол для работы с прибором по USB.

Если это так, то нам не нужен отдельно преобразователь USB-RS485.

EFrol
06.11.2024, 16:51
В данном архиве находится исходный проект для VB6, который создает dll в виде внешней компоненты для 1С.
Эта компонента открывает COM-порт, который в свою очередь работал с IR-приемо-передатчиком для связи с ТСД (терминал сбора данных).
Если Вы с этим разберетесь и добавите туда процедуры обмена по протоколу ModbusRTU, считайте что диплом Вы защитили!!!
Надеюсь VB6 Вы найдете сами.

EFrol
06.11.2024, 17:05
Примерно так выглядит процедура подсчета контрольной суммы для Modbus-пакета:


Public Function Modbus_CRC(ByVal Data As String) As Long
Dim iByte, iBit As Integer

Modbus_CRC = &HFFFF&
For iByte = 1 To Len(Data)
Modbus_CRC = Modbus_CRC Xor Asc(Mid(Data, iByte, 1))
For iBit = 0 To 7
If Modbus_CRC Mod 2 > 0 Then
Modbus_CRC = Modbus_CRC \ 2
Modbus_CRC = Modbus_CRC Xor &HA001&
Else
Modbus_CRC = Modbus_CRC \ 2
End If
Next
Next
End Function


а так выглядит функция формирования, отправки и приема:


Public Function Modbus_Query(ByVal Device As Integer, ByVal cmd As Integer, ByVal Addr As Long, ByVal Count As Long, Optional Value As String) As Boolean
Dim mCRC As Long
Dim mQuery As String

mQuery = Chr(Device)
mQuery = mQuery + Chr(cmd)
mQuery = mQuery + Chr(Int(Addr / 8)) + Chr(Addr Mod 256)
mQuery = mQuery + Chr(Int(Count / 8)) + Chr(Count Mod 256)
mQuery = mQuery + Value
mCRC = Modbus_CRC(mQuery)
mQuery = mQuery + Chr(Int(mCRC / 256)) + Chr(mCRC Mod 256)

Modbus_Query = Query(mQuery)

If Modbus_Query And ErrCode = 0 Then
If Len(Packet) < 2 Then
ErrCode = -1: Exit Function
End If
If Modbus_CRC(Mid(Packet, 1, Len(Packet) - 2)) <> Modbus_readWord(Len(Packet) - 1) Then
ErrCode = -2: Exit Function
End If

If readByte(2) > 127 Then
ErrCode = readByte(3): Exit Function
End If
End If
End Function


И главное помните: "Дорогу осилит идущий."

Сергей0308
06.11.2024, 19:37
Примерно так выглядит процедура подсчета контрольной суммы для Modbus-пакета:


Public Function Modbus_CRC(ByVal Data As String) As Long
Dim iByte, iBit As Integer

Modbus_CRC = &HFFFF&
For iByte = 1 To Len(Data)
Modbus_CRC = Modbus_CRC Xor Asc(Mid(Data, iByte, 1))
For iBit = 0 To 7
If Modbus_CRC Mod 2 > 0 Then
Modbus_CRC = Modbus_CRC \ 2
Modbus_CRC = Modbus_CRC Xor &HA001&
Else
Modbus_CRC = Modbus_CRC \ 2
End If
Next
Next
End Function


а так выглядит функция формирования, отправки и приема:


Public Function Modbus_Query(ByVal Device As Integer, ByVal cmd As Integer, ByVal Addr As Long, ByVal Count As Long, Optional Value As String) As Boolean
Dim mCRC As Long
Dim mQuery As String

mQuery = Chr(Device)
mQuery = mQuery + Chr(cmd)
mQuery = mQuery + Chr(Int(Addr / 8)) + Chr(Addr Mod 256)
mQuery = mQuery + Chr(Int(Count / 8)) + Chr(Count Mod 256)
mQuery = mQuery + Value
mCRC = Modbus_CRC(mQuery)
mQuery = mQuery + Chr(Int(mCRC / 256)) + Chr(mCRC Mod 256)

Modbus_Query = Query(mQuery)

If Modbus_Query And ErrCode = 0 Then
If Len(Packet) < 2 Then
ErrCode = -1: Exit Function
End If
If Modbus_CRC(Mid(Packet, 1, Len(Packet) - 2)) <> Modbus_readWord(Len(Packet) - 1) Then
ErrCode = -2: Exit Function
End If

If readByte(2) > 127 Then
ErrCode = readByte(3): Exit Function
End If
End If
End Function


И главное помните: "Дорогу осилит идущий."

Вы шутите, в смысле, студент не знает как датчик подключить!

EFrol
06.11.2024, 20:46
Ну мы же все когда-то были такими же студентами?! Или кто-то сразу родился профессором?!
Поверьте. Еще год - полтора и они отправят нас на пенсию.:rolleyes:

AlexandrGr
06.11.2024, 21:20
Эти не отправят.
А те кто что то могут не идут в АСУТП.