Умный дом на 1С + ардуино

Публикация № 653542

Программирование - Практика программирования

ардуино умный дом 1C arduino Smart House

119
Конфигурация для автоматизации быта программиста 1C и не только. В данной статье будет рассказано, как можно использовать 1С для задач, не входящих в стандартные рамки этой платформы. Например, управление домом. В качестве периферии для подключения будет использован микроконтроллер (МК) Ардуино, но на нём не будет никакой логической нагрузки, весь процесс будет проходить на сервере 1С. Работа с пинами ввода/вывода происходит напрямую из 1С.

Итак, система состоит из 3 потоков (сеансов):

1. Поток, который управляет МК по ЮСБ (серийный порт).

2. Поток, который управляет МК, подключенными по сети.

3. Основной поток, осуществляющий обработку логической части кода.

В конфигурации есть 2 регистра сведений, через которые происходит управление микроконтроллерами (COM, NET). А в общем модуле "К" есть большая часть стандартных функций, с помощью которых можно напрямую управлять МК, однако время выполнения значительно дольше времени выполнения этих команд в мк.

Поверхностно систему можно описать следующим образом: регламентное задание с небольшим интервалом проверяет заданные в регистре условия для старта процедур, если условие выполняется, то в отдельном потоке запускается указанная процедура. Процедуры могут напрямую работать с оборудованием с помощью вызова спец. функций из модуля "К".

 
Пример "Поддержание в комнате температуры 15-20 градусов"
 
При вызове кокой-либо функции модуля "К" МК выполняет соответствующее ей действие, при этом 1С будет ожидать завершения этого действия, а по окончанию получит ответ и продолжит исполнять код процедуры. Если действие предпологает какой-либо ответ, то будет возвращено соответствующее значение, если нет, то Булево. Например, функция "analogRead" измерит напряжение и вернёт число от 0 до 1023, а функция "analogWrite" установит ШИМ волну с заданной скважностью и вернёт ИСТИНА.
 
 
 
Описание механизма передачи команды на МК и получение ответа после выполнения. (ЧИТАТЬ НЕОБЯЗАТЕЛЬНО. Раздел для тех кому интересно)

 

Добавлять свои обработки можно напрямую в конфигурацию, а можно как внешние обработки в справочник "Обработки". В справочники "КонтроллерыCOM" и КонтроллерыNET добавляются подключенные МК, в коде лучше использовать эти справочники как промежуточное звено, чтобы в случае изменения номера COM порта или IP адреса МК достаточно было поменять значения в этих справочниках. Однако можно указывать данные подключения МК напрямую.

Для поддержания того или иного процесса обработка должна выполняться переодически, а не разого. Для этого в конфигурации есть Регистр сведений "Процессы":

---------------------------------------

Наименование- Строка(100) - Произвольное название процесса.

РасположениеПроцедуры - (Строка, ссылка на справочник Обработки) Если обработка встроенная то указывается её название.

НазваниеПроцедуры - (Строка) Название экспортной процедуры в обработке.

Оборудование - (Ссылка на справочник оборудование) так как одна обработка может использоваться для нескольких устройств у которых могут быть разные МК ( или один МК но разные пины) нужно указывать с чем именно она будет работать (пример обработка управления светом одна, а лампочек 4)

ГруппаУсловий - Ссылка на соответствующий справочник. Условия выполнения тех или иных действий можно прописать в коде самой выполняемой процедуры, однако если они простые то лучше указать их здесь, чтобы процедура вообще не запускалась.

Остальные поля  очевидны.

Для определения условий запуска той или иной обработки есть 2 справочника:

- Условия

- ГруппыУсловий

В первом справочнике можно написать код проверки, он должен содержать переменную "Результат" (Булево), если её нет или она равна ЛОЖЬ то проверка не пройдера. Во втором справочнике создаётся набор из нужных условий, там же их можно объеденять в группы ИЛИ.

Для хранения фиксированных параметров есть справочник "Настройки", в нём указывается имя параметра и значение, элемент справочника привязывается к оборудованию и параметры могут использоваться в процедурах обработок для этого оборудования.

Для монитринга какого либо процесса используется регистр сведений "ТекущиеДанныеОборудования" обработки в него записывают текущую информацию которую должны получить процессы других сеансов. Например вы с телефона окрываете веб клиент и хотите видеть текущую температуру в комнате (из первого примера), через этот регистр процесс обработки передаст нужную информацию.

Список стандартных функций доступных из 1С:

-pinMode
-digitalWrite
-analogWrite
-digitalRead
-analogRead
-tone
-noTone
-analogReference

Их описание в 1С можно посмотреть в общем модуле "К", а для МК на сайте http://arduino.ru/Reference

Список специфических функций:

-ОткрытьCOMПорт
-ЗакрытьCOMПорт
-ПересоздатьКомпонентуИОткрытьCOMПорт
-ПроверитьКомпонентуИСвязьCOMПорта
-ПерезапуститьАгентСервера1С
-ПерезагрузитьСервер1С
-АвтоСброс

 
 Описание специфических функций

Для сложных действий состоящих из ряда простых команд были сделаны дополнительные функции:

-_pinModeOUTPUT_digitalWrite
-_pinModeINPUT_digitalRead
-_ТемператураВлажностьDHT11
-_analogRead_СреднееАрифметическое

 
 Описание составных функций

Конфигурация содержит обработку для управления пинами МК

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

 

ARDUINO

Скетч для ардуины будет следующий:

 
 COM (USB) интерфейс
 
 NET (Ethernet)
 
NET (ESPDUINO Wi-Fi)
 
 NET HR911105A (Ethernet)

Среду для разработки можно скачать с официального сайта http://arduino.ru/Arduino_environment

ВАЖНО!!! Работает только в серверном режиме. Сервер 1С должен быть 32 разрядным. МК подключается к серверу.

П.С. Конфигурация недоделана, выкладываю как есть. Внешние обработки пока что не функционируют, свои поделки вставляйте в основную конфигурацию. Проект дорабатывается, обновления буду выкладывать сюда.

Архив с барахлом https://cloud.mail.ru/public/JsdY/87bMekTef

 

05.02.2019 Добавлена масса функционала (опишу позже).

02.03.2019 Новое:

  1. Почти полноценный телеграм бот который умеет:
    1. Принимать любые сообщения (загружает все типы вложений)
    2. Принимать трансляцию геоданных
    3. Отправлять Текстовые сообщения + с клавиатурой, фотографии, файлы
    4. Редактировать ранее отправленные текстовые сообщения, клавиатуры, фотографии
  2. Механизмы взаимодействия подсистем конфигурации, можно несколькими кликами сделать новую команду телеграм бота и привязать к ней нужное действие (команда контроллера), так же можно получить ответ от телеграм бота о результате выполненного действия (правда это уже посложнее)
  3. Веб хуки. Приём и обработка Get запросов, можно настроить шаблоны и совершать нужные действия при получении команды по http (это даёт возможность инициирования события на контроллере, пригодится например для умных выключателей)
  4. Добавлены обработки работы с IP камерами изображение с которых можно получить в пост запросе Get методом и камеры Dahua, видео запись реализовать не вышло, однако возможна запись фотографий с интервалом 1 сек. (так же есть механизм "трансляции видео" в телеграм, по сути это слайд шоу, в телеграм отправляется фотография которая обновляется раз в секунду но всё же
  5.  Допишу позже)

 

 

Последняя версия на Гит Хабе https://github.com/sasha777666/SmartHome

 

При разработке были использованы материалы:

1. infostart.ru/public/372352/

 

Архив с барахлом  https://cloud.mail.ru/public/JsdY/87bMekTef

119

Скачать файлы

Наименование Файл Версия Размер
Умный дом на 1С + ардуино:
.rar 649,97Kb
06.08.17
13
.rar 649,97Kb 13 Скачать
SmartHome1C.cf
.cf 5,57Mb
19.03.19
1
.cf 5,57Mb 1 Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. IvanovAV 57 08.08.17 01:26 Сейчас в теме
2. Артано 655 08.08.17 02:28 Сейчас в теме
Один вопрос - чем обусловлены ведущие символы нижнего подчеркивания в именах методов?
3. PhoenixAOD 57 08.08.17 03:26 Сейчас в теме
(2)Скорее всего привычкой))
5. sasha777666 288 08.08.17 09:03 Сейчас в теме
(2) хотел выделить процедуры которые являются комбинациями, чтобы набрав "К._" в подсказке появился их список, не знаю почему выбрал именно этот символ "_" :)
4. MaxS 1639 08.08.17 07:17 Сейчас в теме
Неужели ARDUINO не справиться с простейшими задачами? Может быть 1С полезнее использовать для конфигурирования логики и запись результата в память ARDUINO?
Иначе если после включения обогревателя зависнет 1С сервер, будет жарко.
Либо добавить простейшую логику защиты от зависания сервера. Обогреватель включается максимум на пол часа. Если за это время не получен ответ от сервера, переводим в состояние по умолчанию, заданное ранее в 1С, рекомендуется состояние по умолчанию - "выключен".
DrAku1a; dima1c; sergelemon; fvadim; starik-2005; +5 Ответить
6. sasha777666 288 08.08.17 09:11 Сейчас в теме
(4) Справится, но для этого нужно писать код для ардуины, а я хочу приобщить тех кто может писать только на 1С :)
Зависания и потеря связи предусмотрена, есть команда К.АвтоСброс(НомерПорта, ВремяВСекундах), вызвав её в МК включится таймер и если по прошествии указанного времени МК снова не получит эту команду то перезагрузится сбросив состояние всех пинов. В случае если причино стало зависание COM порта то можно перезапустить агент сервера К.ПерезапуститьАгентСервера1С, а если причина в ошибках ОС то перезагрузить сервер К.ПерезагрузитьСервер1С ... конечно если зависнет сам сервер то решать проблему нужно чем-то стороннем.
Olenevod; Serj1C; +2 Ответить
11. TODD22 17 08.08.17 17:45 Сейчас в теме
(6)
а я хочу приобщить тех кто может писать только на 1С :)

Пусть лучше освоят для разнообразия другие языки и технологии....
Novinsky; eugeniezheludkov; DrAku1a; neikist; igormiro; papami; корум; juricher; starik-2005; +9 Ответить
13. корум 311 08.08.17 17:53 Сейчас в теме
(11)
другие языки и технологии

Например, родной русский для выдачи команд сыну.
pbabincev; TreeDogNight; adapter; smakki; juricher; +5 Ответить
51. DrAku1a 1303 03.01.18 16:54 Сейчас в теме
(11) Я за! Тема интересная, вот только практической необходимости, пока что, нету.
21. OhlamOOOOn 26 09.08.17 09:55 Сейчас в теме
(6) Как вариант применения 1С, прямо скажу, для меня было неожиданно :) Классный изврат, порадовал :)
Но вот практического применения я пока увидеть не могу. Очень дорого. К всеобщему счастью, стоимость ардуины мега в китае около 400 руб, web расширения к ней того же порядка, силовые модули тоже рублей по 100 на контакт. Все, получаем веб сервер для управления. Да придется немного посмотреть уроков и почитать. Но извините меня, объем знаний для начального программирования ардуины ничтожно мал, по сравнению с применением той же БСП. Я сомневаюсь, что даже начинающий 1С-ник будет испытывать какие-либо проблемы при изучении. А вот для тех, "кто может писать только на 1С" думаю области управления устройствами лежат за пределами их интересов...

Повторюсь, спасибо за интересную идею применения, осталось только придумать область применения.
Хотя у меня уже есть вариант - управление светом на рабочем месте бухгалтера путем проведения документа "расход электроэнергии" :)
25. sasha777666 288 09.08.17 10:37 Сейчас в теме
(21) Практическая цель - возможность сделать какое-то устройство без изучения материала по ардуине. Сравнивать с какими-то специально разработанными для этого платформами не корректно. Но тут есть 2 преимущества которые являются очень весомыми для 1Сника:
1.Пишем на языке 1С
2. Доступны все фичи платформы.
13jaguar; +1 Ответить
24. disnos 09.08.17 10:31 Сейчас в теме
(6) Как чистый эксперимент интересно, но не для реального использования. Был опыт разработки связки 1с и ардуино для испытательной системы.

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

Повисла ночью у вас 1с-ка или винда или роутер и все система ушла в цикличный рестарт и сброс пинов.
Тогда надо поставить еще 1 ардуину, которая будет проверять каждое из устройств и в случае зависания ребутить комп, роутер и тд. :)
blackhole321; sasha777666; +2 Ответить
8. adapter 504 08.08.17 15:05 Сейчас в теме
т.е. умный дом теперь требует купить серверную лицензию 1С? Или мерзни как нищеброд. Вендор аплодирует )
Серверная 1С требует еще и сервер БД, даже фришный, но все равно ресурсы ест - как из пушки по воробьям.
triera2000; awk; juricher; starik-2005; +4 Ответить
9. sasha777666 288 08.08.17 15:58 Сейчас в теме
(8) размер базы несколько мегабайт, подойдёт скуль экспресс он бесплатный. У меня всё на мини ПК работает ( флешка 30 гиг, проц 1.4*4 вроде, 2 гига ОЗУ)
10. TODD22 17 08.08.17 17:42 Сейчас в теме
(9)
подойдёт скуль экспресс он бесплатный.

Но сервер 1С платный.
12. корум 311 08.08.17 17:52 Сейчас в теме
(9)
флешка 30 гиг, проц 1.4*4 вроде, 2 гига ОЗУ

... и вот это вот всё для того, чтобы включать вентилятор?
Господа, вы слишком много кушать.
awk; juricher; +2 Ответить
14. TODD22 17 08.08.17 17:56 Сейчас в теме
(12)
... и вот это вот всё для того, чтобы включать вентилятор?

Ну почему всё? Ещё 1С сервер и СУБД :) Управлять вентиляторами это вам не сыну команды отдавать! Тут серьёзно всё...
15. juricher 6 08.08.17 19:40 Сейчас в теме
(12) Я бы сказал жиром пука...те
16. starik-2005 1866 08.08.17 19:40 Сейчас в теме
Не, мне, конечно, понравилось все это (в плане темы), но, господа! XXI-й век на дворе, стоимость "райспбери пиай" дешевле не только микросервера (я так понял, что 1С микросервер на 5 клиентов за 15 косарей выпустила именно для подобного шаманства), но и чуть ли не учебной 1С-ки. И в линухе не нужны эти все драйвера и компоненты для работы с COM-портом, эмулируемым кривыми виндовыми дровами - там уже есть порт-файл, в который ты на том же PHP/Python/C++/Go/куче всего другого можешь писать и из которого можешь читать. Это не говоря о том, что на "райспбери" (или "оранже" и прочих) девайсе ты можешь GPIO дергать вообще хоть из шелла. Кароч, за напоминание - спасибо, а за 1С в качестве управлятеля - чисто поржать.

https://www.terraelectronica.ru/news_postup.php?ID=3568
17. sasha777666 288 08.08.17 23:41 Сейчас в теме
(16) и много ли программист 1C накодит на PHP/Python/C++/Go/ ? для тех кто зная только 1С хочет что-то сделать малинка не альтернатива. Дёргать GPIO вообще опасно, 15мА превысишь и нет малинки..... и насчёт файла, ну и в винде можно писать/читать напрямую в порт "\\.\Com8" ...
27. starik-2005 1866 09.08.17 11:18 Сейчас в теме
(17) если программист не сможет что-то запилить на питоне, на котором дети 12-летние пишут вполне приличные приложения, то это, во-первых, ни разу не программист и даже в 1С ему делать нечего.

А по поводу 15мА, то это Ваше личное непонимание того, как все работает. У народа до 0,5А на выходе напруга. Но ежу понятно, что двигателем крутить надо через драйвер (это микросхема такая, а не то, что кто-то подумал). А для чтения данных с GPIO другие методы.
28. TODD22 17 09.08.17 11:45 Сейчас в теме
(27)
У народа до 0,5А на выходе напруга.

Это сила тока ;)
29. корум 311 09.08.17 12:01 Сейчас в теме
(28) Все всё искричество в ОМАХ меряют! :)
30. sasha777666 288 09.08.17 12:18 Сейчас в теме
(27) 16 мА это тех характеристики, а не моё личное мнение.
31. starik-2005 1866 09.08.17 12:43 Сейчас в теме
(30) Суть GPIO - прочитать уровень, установить уровень. Они двух вариантов: цифровой - высокий/низкий и аналоговый - это некий каскадный ЦАП (энное количество бит по количеству резисторов в каскаже). Дальше есть ШИМ - широтно-импульсная модуляция сигнала для управления скоростью вращения двигателя (ясно, что через линию управления драйвера), угла поворота или интенсивности свечения светодиода (можно и для иных моментов - генератор прямоугольного звукового сигнала на зуммерах, например). Все. Там мощи не надо. GPIO - это, считай, нога цифровая/аналоговая ардуинки - не более. То же самое для малины, апельсины и прочих девайсов (апельсинку зиро H2+ можно у кетайцев с 256 метрами и 4-мя ядрами 1,2Ггц купить за 700 рублей с учетом доставки).

Так вот, на ногах максимальная сила тока - до 0,5А = 500мА (от источника питания зависит в принципе, от ноги, от девайса). Напряжение - 5/3 вольта (в зависимости от девайса и ноги). Дальше все нетрудно посчитать, закон Ома в этих ваших интернетах описан в достаточном количестве источников. Подбираете правильный резистор и огребаете профит в виде данных с датчика, верчения пропеллером или поворота камеры на угол альфа.

И все это на питоне или даже bash-е. Для извращенцев на последние малины ставится Windows IoT.
32. sasha777666 288 09.08.17 13:13 Сейчас в теме
(31) Зачем вы всё это пишите? А на счёт МК у которого через GPIO можно пропустить 0.5 Ампера, поделитесь ссылочкой пожалуйста.
33. starik-2005 1866 09.08.17 13:44 Сейчас в теме
(32) а все зависит от того, зачем Вы пишите это:
Дёргать GPIO вообще опасно, 15мА превысишь и нет малинки.
То, что бред написан - это полбеды. Беда в том, что кто-то этот бред прочитает и подумает, что GPIO дергать вообще нельзя.
35. sasha777666 288 09.08.17 14:08 Сейчас в теме
(33)
(34) да вы батенька Не культурный человек, да и с названием раздела ошиблись
для тупых специальный раздел даже написан
судя по тому, что вы не поняли его, он явно не
для тупых

Вывод 5 вольт это 5 вольт от преобразователя напряжения, а GPIO это выводы АЦП
38. starik-2005 1866 09.08.17 16:53 Сейчас в теме
(35)
судя по тому, что вы не поняли его, он явно не
Ну расскажите нам, просветите, так сказать, темноту...
39. sasha777666 288 09.08.17 18:13 Сейчас в теме
(38) Сергей я посмотрел ваши публикации и у меня складывается впечатление, что ваш аккаунт взломали и сейчас тут другой человек. По ссылке написано что 0.3А можно взять с 5 вольтовых пинов питания, логика на малинке 3.3 вольта и на GPIO не может быть 5, я работал с малинкой и прекрасно знаю её характеристики. И то, что нельзя использовать GPIO - написали вы, я же говорил что их опасно использовать потому что есть риск спалить МК т.к. они напрямую завязаны на АЦП. И если ток ( пусть даже для поддержания логического напряжения) будет больше нормы, а это 16мА а не как не 300 то будет беда.
40. starik-2005 1866 09.08.17 19:26 Сейчас в теме
(39) хорошо, допустим ошибся я и перепутал выходы питания и ноги gpio - ошибся, умнее стал.

Но меня смутило именно то, что Ваш ответ звучал как "использовать gpio" нельзя. И тут уже вопрос сам всплывает: а как информацию сдатчиков считывать? У Вас есть вариант, как это сделать без gpio? Глупость на глупость = ничья.
41. sasha777666 288 09.08.17 19:41 Сейчас в теме
(40) я подключал ардуино нано и использовал её, а на малинке была веб морда, код писал на пхп..... по сути сейчас сделал тоже самое но с мини пк, а код на 1С. Но основная причина использования ардуины была как раз в том, что на малинке логика 3.3 вольта.
34. starik-2005 1866 09.08.17 13:53 Сейчас в теме
(32)
А на счёт МК у которого через GPIO можно пропустить 0.5 Ампера, поделитесь ссылочкой пожалуйста.
Ну вот тут, например, для тупых специальный раздел даже написан:
Что ВАЖНО знать перед работой с GPIO Raspberry Pi

Пожалуй, это самый важный раздел. Нужно помнить о некоторых особенностях GPIO и соблюдать определенные меры предосторожности, чтобы не залететь еще на 35-50$ не повредить Raspberry. Ниже приведены такие "критические особенности", а также несколько нюансов, которые просто могут быть полезны, и которые желательно помнить при разработке.
Максимальный суммарный ток обоих выводов 3.3 В равен 50 мА! Поэтому эти выводы могут использоваться для питания внешних устройств, только если их потребляемый ток меньше 50 мА.
Максимальный суммарный ток обоих выводов 5 В равен 300 мА! Эти выводы также могут использоваться для питания внешних устройств только в том случае, если их потребляемый ток меньше 300 мА.

Чуток ошибся - 300мА.
18. vano-ekt 1175 09.08.17 08:10 Сейчас в теме
(16) да главное оттащить прога от регистра бухгалтерии, если у него душа лежит к робототехнике
он сам С++/пайтон в руки возьмет, потыкавшись с 1С
veretennikoff; starik-2005; +2 Ответить
19. Amedis 109 09.08.17 08:46 Сейчас в теме
"Умный дом на 1С" даже звучит страшно )))
20. awk 693 09.08.17 09:45 Сейчас в теме
Спасибо за комментарии. Ржал.... Настроение подняли с утра...
22. madonov 153 09.08.17 10:13 Сейчас в теме
ждем ЦУП на 1С =)
и желательно на клюшках.
23. sg12 17 09.08.17 10:31 Сейчас в теме
Года 3 назад выиграл у методиста бутылку текилы, за реализацию получения и записи в регистр сведений температуры с датчика ds18b20. А по теме, конечно интересная идея, но вот опускать низкий уровень в 1С мне кажется не правильно(но сама реализация интересна), я бы реализовал саму систему на ардуино, а вот управление системой на 1С.
26. stilet 50 09.08.17 10:50 Сейчас в теме
В ленивом режиме пишу нечто подобное, но с некоторым отличием:
1. 1С только как центр управления
2. Исполнительными устройствами являются MegaD 2561
36. citicat 118 09.08.17 16:14 Сейчас в теме
Для домашнего применения (выключить вентилятор) дороговато с учетом всех лицензий.
Для управлением ТСЖ, правда, не для включения вентилятора, а для похожих систем со включением- выключением электричества по подъездам можно переработать систему.
sasha777666; +1 Ответить
37. TODD22 17 09.08.17 16:31 Сейчас в теме
(36)
включением- выключением электричества по подъездам

Уже придумали датчики освещённости и датчики движения. Без всяких 1С и ардуин работает.
корум; +1 Ответить
42. vostok1.dz 34 10.08.17 14:11 Сейчас в теме
Горячая тема, для автоматизации небольших производств, я у себя на "подвластном" мне производстве окон уже заменил пару контроллеров на ардуино, и получаю тем самым, через com порт информацию о сделанных операциях станком (человеком), далее идет загрузка данных в 1с...
Реально освободил одно рабочее место кладовщика (или мастера)..., бонусом вижу когда идёт максимальная выработка по часам..., и много попутной информации...
Так же и я страдаю этим безумием ардуино ))), но уже есть реальные результаты....
AlenaR; citicat; sasha777666; +3 Ответить
43. sasha777666 288 10.08.17 15:38 Сейчас в теме
(42) Присоединяйтесь к проекту )) Сделайте модуль управления светом или климатом :) я сейчас делаю модуль управления зарядом АКБ от солнечных панелей.
44. vostok1.dz 34 10.08.17 20:00 Сейчас в теме
(43)Ближе к новому году, буду внедрять модбас в 1с, есть интерес у клиентов поуправлять БРУ (бетоно-растворный узел), правда не через ардуину, а напрямик ПЛК, с выгрузкой всего в 1С, минуя всякие АСУТП...
У меня с оконными производствами уже 2 положительных внедрения, народ в экстазе)))...
А по поводу умного дома я согласен с вышесказанным, что это немного изврат, но для тренировки полезно )))
citicat; sasha777666; +2 Ответить
45. TODD22 17 11.08.17 05:33 Сейчас в теме
(44)
а напрямик ПЛК, с выгрузкой всего в 1С, минуя всякие АСУТП...

ПЛК это не часть АСУТП?
46. sad_1 19.08.17 14:36 Сейчас в теме
Предположим, вам надо отвезти тёще мешок картошки. Как вы это сделаете?
Правильно!
Вы возьмёте танк, привяжете к нему садовую тачку, в тачку положите мешок картошки и поедите.
Причем, смотрите какое универсальное решение, если надо отправить внуков к бабушке, то к танку привязывается детская коляска и оп-ля, получается вариант пассажирской перевозки.
Вообще, танк, это очень полезная штука в хозяйстве, например, на пушке можно сушить бельё.

Хотя, сплошь и рядом в типовых конфигурациях встречается такой подход.

Например, вчера наши бухгалтера решили сделать типовую операцию (БГУ 2.0). Бухгалтера у нас творческие, пытливые люди. Они почитали ИТС, посмотрели на другие типовые операции и изваяли операцию. Запустили. Проводки не формируются и программа молчит как партизан. Всё нормально, хотя не понятно почему нет никаких сообщений.
Зовут меня. Мне становится интересно и я запускаю отладку. Лезу по программе и дохожу до создания Процессора компоновки данных.
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки);

Это чо? Это для создания каждой записи Журнала проводок вызывается СКД?
Даа-а!
Простые решения это не наш метод!
"Нормальные герои всегда идут в обход" (С)
BigBoss; 7fortune; +2 Ответить
48. vde69 908 29.12.17 14:23 Сейчас в теме
плюсанул как вещь которая должна дать подумать...

идеологически 1с с com на уровне надежного драйвера работать не может, а всякие буферизации приводят к частичной потери данных.... говорю это как человек писавший под ардуинку спец софт для отладки сетевого обмена (даже разработал свой собственный сетевой протокол поверх RS485). по этому сабж интересен "поиграть", но абсолютно не пригоден для рельного использования.

ну и скетч под ардуинку - то же не идеал :)
49. sasha777666 288 29.12.17 14:44 Сейчас в теме
(48) Проблема с ком портом действительно серьёзная, в случае зависания приходится перезапускать службу сервера :(, в общий модуль внёс процедуру для этого. "ну и скетч под ардуинку - то же не идеал" ну так присоединяйтесь )) доведём его до идеала :))
50. BigBoss 2 03.01.18 14:06 Сейчас в теме
52. maxlab 29 14.06.19 16:10 Сейчас в теме
Оживлю тему. Автору респект и уважуха. И еще больше интересных идей по скрещиванию ужа и ежа. На самом деле, не смотря на критику "бывалых" эмбедеров, есть уверенность что платформу 1С можно использовать в управлении производственными процессами не только на уровне бумаг, но и на уровне пром. оборудования. Разумеется, жесткий реалтайм не получится, но пробовать на медленно текущих производственных процессах уже можно. Вопрос, какую лепту внесет 1С в комплексный показатель надежности всей системы в целом. И конечно же стоимость такого решения под вопросом. Но, с другой стороны... стоимость всей совокупности промышленных контроллеров, участвующих в производственном процессе иногда бывает просто заоблачной. Достаточно, для примера, поинтересоваться у КИПовцев на каком нибудь современном мясокомбинате или сахарном заводе. И нельзя сказать что пром.оборудование супернадежно как на космическом корабле и безгеморройно для обслуживания персоналом. Так что у платформы 1С, и по цене , по качеству и по надежности - есть перспектива. Просто надо сосредоточится на шине CAN. Датчики и исполнительные механизмы на ардуинках (и т.п.) вешать на эту шину, а 1С контролируя эти датчики, в индивидуальных фоновых заданиях, решает задачи (ПИД например), выставляет управляющие воздействия и визуализирует состояние и события на производственной линии. Кстати, поэкспериментирую на досуге на своем самогонном аппарате :). Лиха беда начало... так можно и до крекинг-процессов дорасти.
Оставьте свое сообщение