• Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  • Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже предостаточно - придумайте что-то пооригинальнее.
  • Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  • За поиск и предложение пиратского ПО - бан без предупреждения.
  • Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  • Перед тем как что-то написать - читать здесь и здесь.

Modbus для 1С

SCADA, серверы, АРМ верхнего уровня, диспетчерские
Ответить

Автор темы
tonyk
здесь недавно
здесь недавно
Сообщения: 62
Зарегистрирован: 16 дек 2018, 16:35
Имя: Антон
Благодарил (а): 1 раз

Modbus для 1С

Сообщение tonyk »

Коллеги!
Возникла задача писАть в 1С кое-какие данные из ПЛК. В ПЛК, ессно, присутствует Modbus в ипостасях RTU и TCP. Вопрос: есть ли для 1С готовый, пусть даже и платный, клиент Модбас? А лучше сервер, тогда ПЛК сможет сразу записывать данные в него.


Михайло
почётный участник форума
почётный участник форума
Сообщения: 3155
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
город/регион: г. Чехов, МО
Благодарил (а): 3 раза
Поблагодарили: 164 раза

Modbus для 1С

Сообщение Михайло »


Аватара пользователя

petr2off
шаман
шаман
Сообщения: 940
Зарегистрирован: 06 янв 2016, 19:45
Имя: Петров В.Л.
Страна: Россия
город/регион: Красноярск
Благодарил (а): 31 раз
Поблагодарили: 64 раза

Modbus для 1С

Сообщение petr2off »

Мне сама идея пускать 1С в сетку с ПЛК не нравится категорически. Офисная сеть и сеть АСУ ТП должны быть разнесены по разным подсетям.
Более правильно, как мне кажется - Поставить сервер с 2 сетевыми интерфейсами с SQL сервером. АСУ ТП по своему интерфейсу пишет в базу данных нужные данные, а 1С берет их с SQL сервера - что для нее вполне просто.


Автор темы
tonyk
здесь недавно
здесь недавно
Сообщения: 62
Зарегистрирован: 16 дек 2018, 16:35
Имя: Антон
Благодарил (а): 1 раз

Modbus для 1С

Сообщение tonyk »

petr2off, я тоже склоняюсь к такому же варианту, просто решил проработать вопрос со всех сторон. Кстати, АСУ ТП бывают разные, например, та, с которой я столкнулся, буквально пара ПЛК и ПК с 1С, на которой в автоматическом режиме ведётся учёт продукции. Поэтому решил обдумать и тот вариант, который озвучил в теме.


rwg
авторитет
авторитет
Сообщения: 841
Зарегистрирован: 29 апр 2014, 08:57
Имя: Рыбкин Владимир Геннадьевич
Страна: Россия
город/регион: Тверь
Благодарил (а): 29 раз
Поблагодарили: 79 раз

Modbus для 1С

Сообщение rwg »

tonyk писал(а):
18 ноя 2021, 09:48
Есть ли для 1С готовый, пусть даже и платный, клиент Модбас?
Я бы искал переходник 1С - OPC сервер


Автор темы
tonyk
здесь недавно
здесь недавно
Сообщения: 62
Зарегистрирован: 16 дек 2018, 16:35
Имя: Антон
Благодарил (а): 1 раз

Modbus для 1С

Сообщение tonyk »

rwg писал(а):
18 ноя 2021, 15:58
tonyk писал(а):
18 ноя 2021, 09:48
Есть ли для 1С готовый, пусть даже и платный, клиент Модбас?
Я бы искал переходник 1С - OPC сервер
Есть такие. Но есть СКАДА, которые работают без ОРС, потому что драйвер для Модбас в них встроен.

Аватара пользователя

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

Modbus для 1С

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

rwg писал(а):
18 ноя 2021, 15:58
Я бы искал переходник 1С - OPC сервер
ODBC называется :) Причем может быть в разных ипостасях - как клиент ODBC в OPC-сервере, как механизм обмена в скаде или вообще подключенная SQL-таблица трендами. Пускать 1С (со всеми тетками) в архивы АСУ, как уже отмечалось, настоятельно не рекомендуется. А вот выкладывать средствами одного и читать средствами другого череж промежуточную DMZ - может быть вполне приемлемо.
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" приходит единственный вопрос: "Нахрена? "


Sokolov_Dmitry
освоился
освоился
Сообщения: 233
Зарегистрирован: 31 окт 2017, 16:45
Имя: Дмитрий
Страна: Россия
город/регион: Калининград
Благодарил (а): 8 раз
Поблагодарили: 45 раз

Modbus для 1С

Сообщение Sokolov_Dmitry »



Andreywys
освоился
освоился
Сообщения: 251
Зарегистрирован: 15 сен 2016, 18:47
Имя: Андрей
Страна: Россия
город/регион: Вологда
Благодарил (а): 18 раз
Поблагодарили: 67 раз

Modbus для 1С

Сообщение Andreywys »

У меня службой по modbus собираются данные и пишутся в базу mssql, а 1с забирает из базы.
https://github.com/AndreyVys/ModbusToBa ... Service.vb
Из оборудования - moxa nport 5150 для RTU
Если решите допиливать самостоятельно, то читайте вот эту тему https://owen.ru/forum/showthread.php?t=20122


Velt
осмотрелся
осмотрелся
Сообщения: 175
Зарегистрирован: 26 мар 2017, 13:05
Имя: Денис
Страна: Россия
город/регион: Самара
Благодарил (а): 4 раза
Поблагодарили: 25 раз

Modbus для 1С

Сообщение Velt »

Можно написать на Питоне скрипт, который опрашивает ПЛК по Modbus TCP и кладёт данные в таблицу БД. Оттуда уже 1С какие надо данные выгружает.

Аватара пользователя

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

Modbus для 1С

Сообщение Jackson »

Velt писал(а):
19 ноя 2021, 16:01
Можно написать на Питоне скрипт, который опрашивает ПЛК по Modbus TCP и кладёт данные в таблицу БД
И готового такого тоже уже может быть много. Хоть в SQL, хоть в .XLS.
По вопросам работы Форума можно обратиться по этим контактам.

Аватара пользователя

VADR
администратор
администратор
Сообщения: 3771
Зарегистрирован: 25 июл 2008, 06:12
Имя: Диев Александр Васильевич
Страна: Россия
город/регион: г. Сегежа, Карелия
Благодарил (а): 130 раз
Поблагодарили: 177 раз

Modbus для 1С

Сообщение VADR »

Но нередко в таких мерах нет необходимости. Надо посмотреть, какой вообще функционал требуется на предприятии кроме этой стыковки с 1С. То есть: нужна ли там система оперативно-диспетчерского управления или нет, нужна ли какая-то аналитика технологической информации или нет, и т.п. по уровню между контроллерами и 1С. Вполне возможно, оптимальным будет внедрение по всему предприятию единой системы, собирающей данные с локальных контроллеров, хранящей у себя, ведущей какую-то технологическую аналитику (материальные и энергетические балансы, например), и предоставляющую доступ к этим данным для 1С, например, через ODBC или какой-нибудь web xml. Для одной задачи это будет избыточно, а если на все задачи предприятия по этому уровню - на каждой такой задаче в среднем окажется дешевле.
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.

Аватара пользователя

keysansa
шаман
шаман
Сообщения: 935
Зарегистрирован: 20 дек 2018, 04:45
Имя: Сергей
Страна: РБ/РФ
город/регион: РФ Сергиев Посад
Благодарил (а): 693 раза
Поблагодарили: 46 раз

Modbus для 1С

Сообщение keysansa »

petr2off писал(а):
18 ноя 2021, 11:49
Мне сама идея пускать 1С в сетку с ПЛК не нравится категорически. Офисная сеть и сеть АСУ ТП должны быть разнесены по разным подсетям.
Более правильно, как мне кажется - Поставить сервер с 2 сетевыми интерфейсами с SQL сервером. АСУ ТП по своему интерфейсу пишет в базу данных нужные данные, а 1С берет их с SQL сервера - что для нее вполне просто.
2 сетевые карты лишние. Разделение сетей не должно быть на уровне устройства. Это делить нужно на уровне маршрутизатора и/или брандмаура.
На стороне ПЛК закрыть все входящие соединения. Исходящие тоже лишние закрыть (Quod licet jovi, non licet bovi). Общение через ДМЗ. Где и будет общий сервер.

Отправлено спустя 4 минуты 39 секунд:
VADR писал(а):
22 ноя 2021, 14:53
Но нередко в таких мерах нет необходимости. Надо посмотреть, какой вообще функционал требуется на предприятии кроме этой стыковки с 1С.
Никогда разделение не мешает безопасности. Создает проблемы в работе - да. Как и всякая проблема безопасности.
И никогда дополнительная безопасность, если она не мешает работе, не является проблемой.

Отправлено спустя 1 минуту 53 секунды:
VADR писал(а):
22 ноя 2021, 14:53
Вполне возможно, оптимальным будет внедрение по всему предприятию единой системы, собирающей данные с локальных контроллеров, хранящей у себя, ведущей какую-то технологическую аналитику (материальные и энергетические балансы, например), и предоставляющую доступ к этим данным для 1С, например, через ODBC или какой-нибудь web xml.
Безопаснее будет, если контроллеры будут отсылать информацию на промежуточный сервер.
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.

Аватара пользователя

VADR
администратор
администратор
Сообщения: 3771
Зарегистрирован: 25 июл 2008, 06:12
Имя: Диев Александр Васильевич
Страна: Россия
город/регион: г. Сегежа, Карелия
Благодарил (а): 130 раз
Поблагодарили: 177 раз

Modbus для 1С

Сообщение VADR »

keysansa писал(а):
22 ноя 2021, 17:19
Никогда разделение не мешает безопасности.
Я не о разделении говорил и не о безопасности, а о питоновских скриптах, опрашивающих контроллер по модбасу по запросу от 1С.
keysansa писал(а):
22 ноя 2021, 17:19
Безопаснее будет, если контроллеры будут отсылать информацию на промежуточный сервер.
Да, примерно так. Промежуточный сервер, на который собирается информация с контроллеров. Это может быть как сервер, выделенный просто для хранения информации, так и сервер в составе системы АСОДУ, MES или ещё чего-либо в том же духе. Насчёт того, контроллер туда данные кладёт, или эта система контроллеры опрашивает - вопрос открытый. В любом случае надо стремиться к тому, чтобы контроллер как можно меньше был зависим от внешних систем. И тут есть несколько вариантов проблем:
1. Контроллер кладёт данные на внешний сервер, например, по modbus tcp. Что будет, если этот сервер ляжет и контроллер не сможет к нему подключиться? Что будет, если сервер начнёт тупить и процесс обмена данными затянется?
2. Внешняя система запрашивает данные из контроллера. Что будет, если злоумышленник завладеет этим сервером и он начнёт посылать хренову тучу запросов, а то ещё и хитрых запросов, чтобы DOS устроить? Вряд ли контроллеры на такую активность рассчитаны.
3. Есть промежуточный OPC-сервер в сети контроллера или DMZ, который один опрашивает контроллер с заданной периодичностью. На мой взгляд, вариант оптимальный: контроллеру по большому счёту пофиг, если его перестали опрашивать. Если злоумышленник положит наш промежуточный OPC-сервер, большой беды не будет, разве что прекращение обмена данными на некоторое время. С другой стороны - дополнительное оборудование - дополнительная точка отказа.
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.

Аватара пользователя

keysansa
шаман
шаман
Сообщения: 935
Зарегистрирован: 20 дек 2018, 04:45
Имя: Сергей
Страна: РБ/РФ
город/регион: РФ Сергиев Посад
Благодарил (а): 693 раза
Поблагодарили: 46 раз

Modbus для 1С

Сообщение keysansa »

VADR писал(а):
22 ноя 2021, 17:39
Я не о разделении говорил и не о безопасности, а о питоновских скриптах, опрашивающих контроллер по модбасу по запросу от 1С.
Я не против, если они запускаются ИЗ контроллера. Открывать доступ извне - всегда понижение безопасности.

Отправлено спустя 1 минуту 37 секунд:
VADR писал(а):
22 ноя 2021, 17:39
Промежуточный сервер, на который собирается информация с контроллеров.
На который сами контроллеры будут отсылать информацию. Только ту, что решит разработчик.

Отправлено спустя 2 минуты 28 секунд:
VADR писал(а):
22 ноя 2021, 17:39
Насчёт того, контроллер туда данные кладёт, или эта система контроллеры опрашивает - вопрос открытый.
С точки зрения безопасности - закрыт и давно.
Входящих соединений не должен принимать контроллер. Да, это накладывает ограничения на обслуживание. Но тут решать будут ответственные лица. И это закрытый вопрос.

Отправлено спустя 1 минуту 47 секунд:
VADR писал(а):
22 ноя 2021, 17:39
1. Контроллер кладёт данные на внешний сервер, например, по modbus tcp. Что будет, если этот сервер ляжет и контроллер не сможет к нему подключиться?
Вы с точки зрения безопасности спрашиваете - запишет контроллер себе ошибку и все. Связи у него с внешним миром нет. Если есть еще каналы - туда отправит сообщение.

Отправлено спустя 5 минут 56 секунд:
VADR писал(а):
22 ноя 2021, 17:39
Что будет, если сервер начнёт тупить и процесс обмена данными затянется?
Это уже давно решено асинхронным обменом.
VADR писал(а):
22 ноя 2021, 17:39
Внешняя система запрашивает данные из контроллера.
С точки зрения безопасности - уже дыра. Просто закрыть дыру.
VADR писал(а):
22 ноя 2021, 17:39
Есть промежуточный OPC-сервер в сети контроллера или DMZ, который один опрашивает контроллер с заданной периодичностью. На мой взгляд, вариант оптимальный: контроллеру по большому счёту пофиг, если его перестали опрашивать.
Это не OPC сервер, а OPC клиент, как мы недавно выяснили ))
Плюс, сеть контроллера не должна быть в DMZ.
Контроллер умеет в SSL?

Отправлено спустя 4 минуты 9 секунд:
VADR писал(а):
22 ноя 2021, 17:39
Если злоумышленник положит наш промежуточный OPC-сервер, большой беды не будет, разве что прекращение обмена данными на некоторое время. С другой стороны - дополнительное оборудование - дополнительная точка отказа.
Это еще будет повод усилить меры безопасности.
Вопрос будет, какого уровня доступа данный OPC сервер
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.


Velt
осмотрелся
осмотрелся
Сообщения: 175
Зарегистрирован: 26 мар 2017, 13:05
Имя: Денис
Страна: Россия
город/регион: Самара
Благодарил (а): 4 раза
Поблагодарили: 25 раз

Modbus для 1С

Сообщение Velt »

Jackson писал(а):
22 ноя 2021, 14:42
Velt писал(а):
19 ноя 2021, 16:01
Можно написать на Питоне скрипт, который опрашивает ПЛК по Modbus TCP и кладёт данные в таблицу БД
И готового такого тоже уже может быть много. Хоть в SQL, хоть в .XLS.
Так и я о том. В Питоне много готовых пакетов. Поэтому скрипт можно написать быстро. А если вручную с нуля модбас-протокол писать - то ну его нафиг....


Andreywys
освоился
освоился
Сообщения: 251
Зарегистрирован: 15 сен 2016, 18:47
Имя: Андрей
Страна: Россия
город/регион: Вологда
Благодарил (а): 18 раз
Поблагодарили: 67 раз

Modbus для 1С

Сообщение Andreywys »

Velt писал(а):
22 ноя 2021, 22:44
В Питоне много готовых пакетов.
Можно хоть на каком языке написать, библиотеки modbus есть для всех популярных языков.

Аватара пользователя

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

Modbus для 1С

Сообщение Jackson »

Andreywys писал(а):
23 ноя 2021, 08:33
Можно хоть на каком языке написать
Я предлагал взять уже написанное.
По вопросам работы Форума можно обратиться по этим контактам.


Velt
осмотрелся
осмотрелся
Сообщения: 175
Зарегистрирован: 26 мар 2017, 13:05
Имя: Денис
Страна: Россия
город/регион: Самара
Благодарил (а): 4 раза
Поблагодарили: 25 раз

Modbus для 1С

Сообщение Velt »

Andreywys писал(а):
23 ноя 2021, 08:33
Velt писал(а):
22 ноя 2021, 22:44
В Питоне много готовых пакетов.
Можно хоть на каком языке написать, библиотеки modbus есть для всех популярных языков.
Вы правы, просто лично я с PyCharm только недавно познакомился и меня приятно удивило, как можно легко и быстро найти и установить нужные библиотеки, даже не открывая браузер.


Andreywys
освоился
освоился
Сообщения: 251
Зарегистрирован: 15 сен 2016, 18:47
Имя: Андрей
Страна: Россия
город/регион: Вологда
Благодарил (а): 18 раз
Поблагодарили: 67 раз

Modbus для 1С

Сообщение Andreywys »

Velt писал(а):
24 ноя 2021, 22:56
Вы правы, просто лично я с PyCharm только недавно познакомился и меня приятно удивило, как можно легко и быстро найти и установить нужные библиотеки, даже не открывая браузер.
Это позволяет и visual studio, и многие другие ide. Но python не совсем удобен для windows, по моему скромному мнению.
Jackson писал(а):
23 ноя 2021, 13:49
Я предлагал взять уже написанное.
Зачастую уже написанное не совсем подходит или сильно геморное в настройке. У меня есть купленный advanced tcp data logger, но пришлось заморочиться и написать свое. Например, обмен life bit или хитрая обработка данных. И тогда проще написать свой код, чем пытаться разобраться в настройках готовой программы, писать обработку в хранимых процедурах на sql сервере и т.п. Но, в случае, если нужно просто взять несколько переменных и положить их в базу, то готовое решение вполне подходит, особенно, если нет навыка программирования на каком-нибудь языке.

Аватара пользователя

keysansa
шаман
шаман
Сообщения: 935
Зарегистрирован: 20 дек 2018, 04:45
Имя: Сергей
Страна: РБ/РФ
город/регион: РФ Сергиев Посад
Благодарил (а): 693 раза
Поблагодарили: 46 раз

Modbus для 1С

Сообщение keysansa »

Andreywys писал(а):
25 ноя 2021, 08:19
Это позволяет и visual studio, и многие другие ide. Но python не совсем удобен для windows, по моему скромному мнению.
python pip вам очень сильно поможет с установкой зависимостей.

Отправлено спустя 2 минуты 47 секунд:
Andreywys писал(а):
25 ноя 2021, 08:19
Например, обмен life bit или хитрая обработка данных. И тогда проще написать свой код, чем пытаться разобраться в настройках готовой программы
Часто людям легче написать свое, это есть. Но человек пишущий всегда свое - отстает по скорости разработки, и по размеру результата.
Но если платят за объем кода, тогда согласен.
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.


Andreywys
освоился
освоился
Сообщения: 251
Зарегистрирован: 15 сен 2016, 18:47
Имя: Андрей
Страна: Россия
город/регион: Вологда
Благодарил (а): 18 раз
Поблагодарили: 67 раз

Modbus для 1С

Сообщение Andreywys »

keysansa писал(а):
27 ноя 2021, 14:38
python pip вам очень сильно поможет с установкой зависимостей
Собственно как и composter в php, nuget в visual studio, npm в node.js и т.д.
И, если бы я писал для linux консольное приложение, то наверняка использовал бы python.

Аватара пользователя

keysansa
шаман
шаман
Сообщения: 935
Зарегистрирован: 20 дек 2018, 04:45
Имя: Сергей
Страна: РБ/РФ
город/регион: РФ Сергиев Посад
Благодарил (а): 693 раза
Поблагодарили: 46 раз

Modbus для 1С

Сообщение keysansa »

Andreywys писал(а):
27 ноя 2021, 15:29
keysansa писал(а):
27 ноя 2021, 14:38
python pip вам очень сильно поможет с установкой зависимостей
Собственно как и composter в php, nuget в visual studio, npm в node.js и т.д.
Да, согласен, кроме node, и php (там pear) это другая тема.
Andreywys писал(а):
27 ноя 2021, 15:29
И, если бы я писал для linux консольное приложение, то наверняка использовал бы python.
Вернуться к началу
Что вам удобнее, я для консоли использую С
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.


Andreywys
освоился
освоился
Сообщения: 251
Зарегистрирован: 15 сен 2016, 18:47
Имя: Андрей
Страна: Россия
город/регион: Вологда
Благодарил (а): 18 раз
Поблагодарили: 67 раз

Modbus для 1С

Сообщение Andreywys »

Я не "настоящий сварщик", поэтому С, кроме arduino ide, больше нигде не использую. В windows vs с .net, в линукс bash и python.

Ответить

Вернуться в «Верхний уровень автоматизации»