Jump to content
    

Посоветуйте новичку для старта

54 минуты назад, haker_fox сказал:

Насколько я помню вы пришли за советом. Вот вам их и дают. Делать будете, конечно, как вам по душе)

Разумеется за советом. Если Вам комфортнее, скажу так:

Если второе - то можно ли с тем же успехом воткнуть по диммеру Z-Wave на каждую лампочку и переконфигурировать группы хоть в зависимости от времени суток / сцены?

Edited by maxz.php

Share this post


Link to post
Share on other sites

3 hours ago, maxz.php said:

Разумеется за советом. Если Вам комфортнее, скажу так:

Если второе - то можно ли с тем же успехом воткнуть по диммеру Z-Wave на каждую лампочку и переконфигурировать группы хоть в зависимости от времени суток / сцены?

Конечно можно. 

4 hours ago, maxz.php said:

А как у Вас выглядит переконфирурирование в группы? Залез в щиток и перебрал проводку на нужные каналы управления PLC? Или у вас каждая лампочка на своём канале?.

Каждая лампочка на своем канале? Нет, не думаю - для PLC это излишество, так как каждый канал стоит денег и места. Поэтому они будут приходить в шкаф и подключаться к одному каналу. А когда придет время поуправлять ими отдельно, то придется выключить электричество во всем доме, втыкнуть новый модуль, расключить кабеля и запрограммировать. 

Share this post


Link to post
Share on other sites

On 7/12/2020 at 9:53 AM, syoma said:

Было бы интересно посмотреть на реальный алгоритм управления температуры FuzzyLogic, сделанный в Matlabe. Раз это так элементарно, не поделитесь? Глядишь, я себе такой поставлю, а то у меня тоже примитивная релейщина сейчас стоит. 

FuzzyLogic достойно отдельной темы, здесь не вижу смысла обсуждать. 

А тут просто покажу нарезку иерархии при разработке алгоритма управления лампочкой с одной нефиксируемой кнопки для PLC
и с учетом безконфликтного управления с HMI:

Light_control_by_one_button.PNG

Здесь на верхнем уровне структура для тестирования. 

Я просто представляю во что выльется похожая технология при использовании птичьего языка сценариев и как придется бегать чтобы просто этот сценарий отладить.

Ну да, можно вместо копеечной нефиксируеморй кнопки поставить недешевый такой модуль Z-wave и получить не то что хотел, а то что навязали разработчики модуля.
Потом еще не забывать там следить за аккумуляторами, и менять эти модули когда в них  по разу в год будут залипать или обгорать реле. 
Но я не спорю что это тоже может доставлять удовольствие. 

А мне доставляет удовольствие делать безупречно надежную систему. 
 

Share this post


Link to post
Share on other sites

13 hours ago, syoma said:

Нет, не думаю - для PLC это излишество

Поскольку "умный дом", это штука индивидуальное, то PLC могли достаться и на халяву) А для себя любимого лишних каналов не жаль) Но это уже дело каждого)

10 minutes ago, AlexandrY said:

А мне доставляет удовольствие делать безупречно надежную систему.

@AlexandrY, не могу понять, а как это залить в ПЛК? А... матлаб умеет это конвертировать не только в Си/Си++, но и в другие языки вроде бы.

Share this post


Link to post
Share on other sites

11 minutes ago, haker_fox said:

, не могу понять, а как это залить в ПЛК? А... матлаб умеет это конвертировать не только в Си/Си++, но и в другие языки вроде бы.

В разных IDE PLC по разному, но в e!COCKPIT от Wago делается одной кнопкой - export. 
Экспортируется вот такой файл 

Spoiler

<?xml version="1.0" encoding="ISO-8859-1"?>
<project><!--(*
 *
 * File: Light_control.xml
 *
 * IEC 61131-3 Structured Text (ST) code generated for subsystem "Light_control/Light_control"
 *
 * Model name                      : Light_control
 * Model version                   : 1.104
 * Model creator                   : Developer
 * Model last modified by          : Developer
 * Model last modified on          : Mon Jun 15 10:52:22 2020
 * Model sample time               : 0.01s
 * Subsystem name                  : Light_control/Light_control
 * Subsystem sample time           : 0.01s
 * Simulink PLC Coder version      : 3.2 (R2020a) 18-Nov-2019
 * ST code generated on            : Mon Jun 15 10:53:06 2020
 *
 * Target IDE selection            : 3S CoDeSys 3.5
 * Test Bench included             : No
 *
 *)
-->
   <fileHeader companyName="The Mathworks, Inc." companyURL="www.mathworks.com" contentDescription="" creationDateTime="2020-06-15T10:53:06" productName="Simulink PLC Coder" productRelease="(R2020a)" productVersion="3.2"/>
   <contentHeader name="Light_control">
      <coordinateInfo>
         <fbd>
            <scaling x="0" y="0"/>
         </fbd>
         <ld>
            <scaling x="0" y="0"/>
         </ld>
         <sfc>
            <scaling x="0" y="0"/>
         </sfc>
      </coordinateInfo>
   </contentHeader>
   <types>
      <dataTypes/>
      <pous>
         <pou name="Light_control0" pouType="functionBlock">
            <interface>
               <inputVars>
                  <variable name="ssMethodType">
                     <type>
                        <SINT/>
                     </type>
                  </variable>
                  <variable name="Btn_1">
                     <type>
                        <BOOL/>
                     </type>
                  </variable>
                  <variable name="Btn_2">
                     <type>
                        <BOOL/>
                     </type>
                  </variable>
                  <variable name="Btn_mode">
                     <type>
                        <DINT/>
                     </type>
                  </variable>
                  <variable name="HMI_Btn_On">
                     <type>
                        <BOOL/>
                     </type>
                  </variable>
                  <variable name="HMI_Btn_Off">
                     <type>
                        <BOOL/>
                     </type>
                  </variable>
               </inputVars>
               <outputVars>
                  <variable name="PWR">
                     <type>
                        <BOOL/>
                     </type>
                  </variable>
               </outputVars>
               <localVars>
                  <variable name="DelayInput1_DSTATE">
                     <type>
                        <BOOL/>
                     </type>
                  </variable>
                  <variable name="DelayInput1_DSTATE_p">
                     <type>
                        <BOOL/>
                     </type>
                  </variable>
                  <variable name="DelayInput1_DSTATE_c">
                     <type>
                        <BOOL/>
                     </type>
                  </variable>
                  <variable name="DelayInput1_DSTATE_pq">
                     <type>
                        <BOOL/>
                     </type>
                  </variable>
                  <variable name="is_active_c3_Light_control0">
                     <type>
                        <USINT/>
                     </type>
                  </variable>
                  <variable name="is_Button">
                     <type>
                        <USINT/>
                     </type>
                  </variable>
                  <variable name="was_Button">
                     <type>
                        <USINT/>
                     </type>
                  </variable>
                  <variable name="is_Mode01">
                     <type>
                        <USINT/>
                     </type>
                  </variable>
                  <variable name="is_Remote">
                     <type>
                        <USINT/>
                     </type>
                  </variable>
                  <variable name="is_Local">
                     <type>
                        <USINT/>
                     </type>
                  </variable>
                  <variable name="rtb_FixPtRelationalOperator">
                     <type>
                        <BOOL/>
                     </type>
                  </variable>
                  <variable name="b_rtb_FixPtRelationalOperat">
                     <type>
                        <BOOL/>
                     </type>
                  </variable>
                  <variable name="c_rtb_FixPtRelationalOperat">
                     <type>
                        <BOOL/>
                     </type>
                  </variable>
                  <variable name="d_rtb_FixPtRelationalOperat">
                     <type>
                        <BOOL/>
                     </type>
                  </variable>
                  <variable name="temp1">
                     <type>
                        <BOOL/>
                     </type>
                  </variable>
                  <variable name="temp2">
                     <type>
                        <BOOL/>
                     </type>
                  </variable>
               </localVars>
            </interface>
            <body>
               <ST>
                  <xhtml xmlns="http://www.w3.org/1999/xhtml">
<![CDATA[
CASE ssMethodType OF
    SS_INITIALIZE: 
        DelayInput1_DSTATE := FALSE;
        DelayInput1_DSTATE_p := FALSE;
        DelayInput1_DSTATE_c := FALSE;
        DelayInput1_DSTATE_pq := FALSE;
        is_Button := c_Light_contro_IN_NO_ACTIVE;
        was_Button := c_Light_contro_IN_NO_ACTIVE;
        is_Mode01 := c_Light_contro_IN_NO_ACTIVE;
        is_Local := c_Light_contro_IN_NO_ACTIVE;
        is_Remote := c_Light_contro_IN_NO_ACTIVE;
        is_active_c3_Light_control0 := 0;
    SS_STEP: 
        rtb_FixPtRelationalOperator := BOOL_TO_DINT(HMI_Btn_Off) > BOOL_TO_DINT(DelayInput1_DSTATE);
        b_rtb_FixPtRelationalOperat := BOOL_TO_DINT(HMI_Btn_On) > BOOL_TO_DINT(DelayInput1_DSTATE_p);
        c_rtb_FixPtRelationalOperat := BOOL_TO_DINT(Btn_1) > BOOL_TO_DINT(DelayInput1_DSTATE_c);
        d_rtb_FixPtRelationalOperat := BOOL_TO_DINT(Btn_2) > BOOL_TO_DINT(DelayInput1_DSTATE_pq);

        IF is_active_c3_Light_control0 = 0 THEN 
            is_active_c3_Light_control0 := 1;

            CASE was_Button OF
                Light_control0_IN_Begin: 
                    is_Button := Light_control0_IN_Begin;
                    was_Button := Light_control0_IN_Begin;
                    PWR := FALSE;
                Light_control0_IN_Mode01: 
                    is_Button := Light_control0_IN_Mode01;
                    was_Button := Light_control0_IN_Mode01;
                    is_Mode01 := Light_control0_IN_Begin;
                Light_control0_IN_Mode1: 
                    is_Button := Light_control0_IN_Mode1;
                    was_Button := Light_control0_IN_Mode1;
                    is_Remote := Light_control0_IN_OFF;
                    PWR := FALSE;
                    is_Local := Light_control0_IN_Start;
                ELSE
                    is_Button := Light_control0_IN_Begin;
                    was_Button := Light_control0_IN_Begin;
                    PWR := FALSE;
            END_CASE;

        ELSE 
            temp1 := FALSE;
            temp2 := FALSE;

            CASE is_Button OF
                Light_control0_IN_Begin: 

                    CASE Btn_mode OF
                        1: 
                            is_Button := Light_control0_IN_Mode1;
                            was_Button := Light_control0_IN_Mode1;
                            is_Remote := Light_control0_IN_OFF;
                            PWR := FALSE;
                            is_Local := Light_control0_IN_Start;
                        0: 
                            is_Button := Light_control0_IN_Mode01;
                            was_Button := Light_control0_IN_Mode01;
                            is_Mode01 := Light_control0_IN_Begin;
                    END_CASE;

                Light_control0_IN_Mode01: 

                    IF Btn_mode <> 0 THEN 
                        is_Mode01 := c_Light_contro_IN_NO_ACTIVE;
                        is_Button := Light_control0_IN_Begin;
                        was_Button := Light_control0_IN_Begin;
                        PWR := FALSE;
                    ELSE 

                        CASE is_Mode01 OF
                            Light_control0_IN_Begin: 

                                IF c_rtb_FixPtRelationalOperat THEN 
                                    temp1 := TRUE;
                                ELSIF d_rtb_FixPtRelationalOperat THEN 
                                    temp2 := TRUE;
                                ELSIF b_rtb_FixPtRelationalOperat THEN 
                                    temp1 := TRUE;
                                ELSIF rtb_FixPtRelationalOperator THEN 
                                    temp2 := TRUE;
                                END_IF;

                            c_Light_control0_IN_Pressed: 

                                IF ( NOT c_rtb_FixPtRelationalOperat) OR ( NOT b_rtb_FixPtRelationalOperat) THEN 
                                    is_Mode01 := Light_control0_IN_Begin;
                                END_IF;

                            ELSE
                                (* case IN_Pressed_Btn2: *)

                                IF ( NOT d_rtb_FixPtRelationalOperat) OR ( NOT rtb_FixPtRelationalOperator) THEN 
                                    is_Mode01 := Light_control0_IN_Begin;
                                END_IF;

                        END_CASE;

                    END_IF;

                ELSE
                    (* case IN_Mode1: *)

                    IF Btn_mode <> 1 THEN 
                        is_Local := c_Light_contro_IN_NO_ACTIVE;
                        is_Remote := c_Light_contro_IN_NO_ACTIVE;
                        is_Button := Light_control0_IN_Begin;
                        was_Button := Light_control0_IN_Begin;
                        PWR := FALSE;
                    ELSE 

                        CASE is_Remote OF
                            Light_control0_IN_OFF: 

                                IF b_rtb_FixPtRelationalOperat THEN 
                                    is_Remote := Light_control0_IN_ON;
                                    PWR := TRUE;
                                END_IF;

                            ELSE
                                (* case IN_ON: *)

                                IF rtb_FixPtRelationalOperator THEN 
                                    is_Remote := Light_control0_IN_OFF;
                                    PWR := FALSE;
                                END_IF;

                        END_CASE;


                        CASE is_Local OF
                            Light_control0_IN_Start: 

                                IF c_rtb_FixPtRelationalOperat THEN 

                                    IF  NOT PWR THEN 
                                        is_Local := Light_control0_IN_Sw_ON;
                                        PWR := TRUE;
                                    ELSE 
                                        is_Local := Light_control0_IN_Sw_OFF;
                                        PWR := FALSE;
                                    END_IF;

                                END_IF;

                            Light_control0_IN_Sw_OFF: 

                                IF  NOT c_rtb_FixPtRelationalOperat THEN 
                                    is_Local := Light_control0_IN_Start;
                                END_IF;

                            ELSE
                                (* case IN_Sw_ON: *)

                                IF  NOT c_rtb_FixPtRelationalOperat THEN 
                                    is_Local := Light_control0_IN_Start;
                                END_IF;

                        END_CASE;

                    END_IF;

            END_CASE;


            IF temp2 THEN 
                is_Mode01 := d_Light_control0_IN_Pressed;
                PWR := FALSE;
            END_IF;


            IF temp1 THEN 
                is_Mode01 := c_Light_control0_IN_Pressed;
                PWR := TRUE;
            END_IF;

        END_IF;

        DelayInput1_DSTATE := HMI_Btn_Off;
        DelayInput1_DSTATE_p := HMI_Btn_On;
        DelayInput1_DSTATE_c := Btn_1;
        DelayInput1_DSTATE_pq := Btn_2;
END_CASE;

]]>
</xhtml>
               </ST>
            </body>
         </pou>
      </pous>
   </types>
   <instances>
      <configurations/>
   </instances>
   <addData>
      <data handleUnknown="implementation" name="http://www.3s-software.com/plcopenxml/globalvars">
         <globalVars constant="true" name="GVL_CONSTS">
            <variable name="c_Light_contro_IN_NO_ACTIVE">
               <type>
                  <USINT/>
               </type>
               <initialValue>
                  <simpleValue value="0"/>
               </initialValue>
            </variable>
            <variable name="Light_control0_IN_Begin">
               <type>
                  <USINT/>
               </type>
               <initialValue>
                  <simpleValue value="1"/>
               </initialValue>
            </variable>
            <variable name="Light_control0_IN_Mode01">
               <type>
                  <USINT/>
               </type>
               <initialValue>
                  <simpleValue value="2"/>
               </initialValue>
            </variable>
            <variable name="Light_control0_IN_Mode1">
               <type>
                  <USINT/>
               </type>
               <initialValue>
                  <simpleValue value="3"/>
               </initialValue>
            </variable>
            <variable name="c_Light_control0_IN_Pressed">
               <type>
                  <USINT/>
               </type>
               <initialValue>
                  <simpleValue value="2"/>
               </initialValue>
            </variable>
            <variable name="d_Light_control0_IN_Pressed">
               <type>
                  <USINT/>
               </type>
               <initialValue>
                  <simpleValue value="3"/>
               </initialValue>
            </variable>
            <variable name="Light_control0_IN_Start">
               <type>
                  <USINT/>
               </type>
               <initialValue>
                  <simpleValue value="1"/>
               </initialValue>
            </variable>
            <variable name="Light_control0_IN_Sw_OFF">
               <type>
                  <USINT/>
               </type>
               <initialValue>
                  <simpleValue value="2"/>
               </initialValue>
            </variable>
            <variable name="Light_control0_IN_Sw_ON">
               <type>
                  <USINT/>
               </type>
               <initialValue>
                  <simpleValue value="3"/>
               </initialValue>
            </variable>
            <variable name="Light_control0_IN_OFF">
               <type>
                  <USINT/>
               </type>
               <initialValue>
                  <simpleValue value="1"/>
               </initialValue>
            </variable>
            <variable name="Light_control0_IN_ON">
               <type>
                  <USINT/>
               </type>
               <initialValue>
                  <simpleValue value="2"/>
               </initialValue>
            </variable>
            <variable name="SS_INITIALIZE">
               <type>
                  <SINT/>
               </type>
               <initialValue>
                  <simpleValue value="0"/>
               </initialValue>
            </variable>
            <variable name="SS_STEP">
               <type>
                  <SINT/>
               </type>
               <initialValue>
                  <simpleValue value="1"/>
               </initialValue>
            </variable>
         </globalVars>
      </data>
      <data handleUnknown="implementation" name="http://www.3s-software.com/plcopenxml/globalvars">
         <globalVars name="GVL_VARS"/>
      </data>
   </addData>
   <addData>
      <data handleUnknown="discard" name="http://www.3s-software.com/plcopenxml/projectstructure">
         <ProjectStructure>
            <Object Name="GVL_CONSTS"/>
            <Object Name="GVL_VARS"/>
            <Object Name="Light_control0"/>
         </ProjectStructure>
      </data>
   </addData>
</project>

 

Он генерится из MATLAB тоже нажатием одной кнопки. 

Share this post


Link to post
Share on other sites

1 hour ago, AlexandrY said:

А тут просто покажу нарезку иерархии при разработке алгоритма управления лампочкой с одной нефиксируемой кнопки для PLC
и с учетом безконфликтного управления с HMI:

Я просто представляю во что выльется похожая технология при использовании птичьего языка сценариев и как придется бегать чтобы просто этот сценарий отладить.

Извините, но чего-то я не пойму смысл данной логики. У меня за все время работы с моим УД никогда не возникало таких проблем, чтобы их вот таким образом решать, хотя у меня одной и той же лампочкой можно управлять и с локального планшета и с удаленного, и с телефона,  и с Google Home, и с календаря по расписанию. И никаких конфликтов - то есть с "птичьими" языками она выливается в... ноль.

Очень похоже на костыли, которые вы сами своим ПЛК себе и создали. Объясните, плиз.

1 hour ago, AlexandrY said:

и менять эти модули когда в них  по разу в год будут залипать или обгорать реле. 

Опять вы без причин упрекаете в надежности то, что никогда не использовали. Зачем? Эти модули CE сертифицированы, стоят в своих подрозетниках, греются, запитанные от сети и ничего им не делается. Я из своих 30 штук пока еще ни один не менял за 5 лет, а у меня тоже LED и прочая не очень хорошая нагрузка. Причем пара из них у меня стоит на улице и явно работает не в диапазоне своих рабочих температур - ничего, тоже пока живые.

А в ПЛКшных I/O модулях стоят те же самые реле, которые точно также от плохой нагрузки будут залипать и обгорать и которые тоже придется менять по раз в год. Так что маш на маш.

Share this post


Link to post
Share on other sites

36 minutes ago, syoma said:

И никаких конфликтов - то есть с "птичьими" языками она выливается в... ноль.

Очень похоже на костыли, которые вы сами своим ПЛК себе и создали. Объясните, плиз.

Ну так покажите все скрипты, конфиги, файлы, которые вам пришлось править и создавать, а также тесты.  
И даже после этого я не стал бы утверждать что ваши кнопки работают так как надо. Вы просто не докажете!
А моя модель самодоказывающаяся, кроме нее ничего знать не надо.  

Реле не в PLC, а в ящике стоят отдельно на почетном месте. Сбой какого либо мгновенно идентифицируется и реле мгновенно заменяется.
Естественно реле сбоят любые и где угодно. Разница лишь в том как легче с этим справляться. 
Скажем повторно включив реле на короткозамнуту нагрузку или конденсатор (о котором не знаете) сразу получаете залипание, и это обычная ситуация.    

 

Share this post


Link to post
Share on other sites

28 minutes ago, AlexandrY said:

Ну так покажите все скрипты, конфиги, файлы, которые вам пришлось править и создавать, а также тесты.  
И даже после этого я не стал бы утверждать что ваши кнопки работают так как надо. Вы просто не докажете!
А моя модель самодоказывающаяся, кроме нее ничего знать не надо.

Подождите. Вы для начала озвучьте проблему, которую вы хотите решить. А то я даже не знаю, какую часть конфигурации вам показывать. Когда кнопки должны работать "как надо", а когда это считается дефектом? Так сказать требования верхнего уровня. Ваша тестовая модель их не раскрывает.

28 minutes ago, AlexandrY said:

Сбой какого либо мгновенно идентифицируется и реле мгновенно заменяется.

Как идентифицируется? Кто заменяет реле?

Share this post


Link to post
Share on other sites

2 hours ago, syoma said:

Подождите. Вы для начала озвучьте проблему, которую вы хотите решить. А то я даже не знаю, какую часть конфигурации вам показывать. Когда кнопки должны работать "как надо", а когда это считается дефектом? Так сказать требования верхнего уровня. Ваша тестовая модель их не раскрывает.

Как идентифицируется? Кто заменяет реле?

Не, пока дискутируем на общесистемную тему, а то ударимся в детали и за деревьями не увидим леса. 
Мои кнопки все равно TC-у не подойдут, и вообще мы же делаем сенсорный дисплей в подразетник в соседней теме. 
А моя просьба скорее риторическая, я же видел как это делается в https://www.openhab.org/ и в той же zipato.

Мысль в том что центальный тулс с мощной поддержкой языка диаграмм состояний и центральный ящик с PLCs в которых заключено все - это проще и дешевле в поддержке и разработке чем распределенная гетерогенная сеть с ограниченными физическми распределенными в пространстве нодами и скриптовый движок к ней на базе GPOS (General Purpose Operating System)   

Share this post


Link to post
Share on other sites

8 minutes ago, AlexandrY said:

Мысль в том что центальный тулс с мощной поддержкой языка диаграмм состояний и центральный ящик с PLCs в которых заключено все - это проще и дешевле в поддержке и разработке чем распределенная гетерогенная сеть с ограниченными физическми распределенными в пространстве нодами и скриптовый движок к ней на базе GPOS (General Purpose Operating System) 

Сложно сформулированный вывод с ярко выраженной профессиональной деформацией :-)

Как тот, кто использовал оба подхода в разработке систем для домашней автоматизации, не могу согласиться.

 

 

Share this post


Link to post
Share on other sites

))))

 

4 часа назад, AlexandrY сказал:

Не, пока дискутируем на общесистемную тему, а то ударимся в детали и за деревьями не увидим леса.

Это верно, лучше не ударяться от греха в детали лишний раз))

Share this post


Link to post
Share on other sites

4 часа назад, AlexandrY сказал:

Мысль в том что центальный тулс с мощной поддержкой языка диаграмм состояний и центральный ящик с PLCs в которых заключено все - это проще и дешевле в поддержке и разработке чем распределенная гетерогенная сеть с ограниченными физическми распределенными в пространстве нодами и скриптовый движок к ней на базе GPOS (General Purpose Operating System)   

На правах новичка-дилетанта всё-таки уточню:

  1. Центральный ваш тулс в какой части? Датчики у нас, надеюсь, не в щитке?
  2. В чём целесообразность иметь реле в одном щитке не на производстве (где грязь, влажность, высокие температуры и большие расстояния), а в условиях квартиры/дома?

Share this post


Link to post
Share on other sites

13.07.2020 в 14:42, AlexandrY сказал:

Не, пока дискутируем на общесистемную тему, а то ударимся в детали и за деревьями не увидим леса. 
Мои кнопки все равно TC-у не подойдут, и вообще мы же делаем сенсорный дисплей в подразетник в соседней теме. 
А моя просьба скорее риторическая, я же видел как это делается в https://www.openhab.org/ и в той же zipato.

Мысль в том что центальный тулс с мощной поддержкой языка диаграмм состояний и центральный ящик с PLCs в которых заключено все - это проще и дешевле в поддержке и разработке чем распределенная гетерогенная сеть с ограниченными физическми распределенными в пространстве нодами и скриптовый движок к ней на базе GPOS (General Purpose Operating System)

Удивительно, как люди могут усложнить себе жизнь на относительно несложной задаче. Сначала по каким-то никому не известным причинам заменить простейший RS485 на радио, причем в полностью стационарном исполнении, оправдываясь тем, что раскладывая кучу проводов от нагрузок к щитку им сложно протащить одну витую пару, затем установив какие-то контроллеры с софтом, о котором скорее всего что-то где-то слышали, без ТЗ, с хотелками "маркетолога" - "хочу, чтобы все было управляемым...", только вопрос - зачем? И да, резервное управление всем "умным" хозяйством с помощью обычного "механического" выключателя должно быть обязательно, особенно если используется всякое опенсорсное оборудование и облачные навороты. Начинать героически преодолевать эти трудности без какого-либо плана, постановки задачи и алгоритма решения. Удачи! Без всего вышеперечисленного дров столько наломаете, что лесопилка позавидует. Что тут еще можно сказать :dirol:

Edited by mantech

Share this post


Link to post
Share on other sites

9 hours ago, mantech said:

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

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

Что тут сказать? Тут уж действительно дрова ломаются сразу и без лишних разговоров. Но это уже не удивительно.

Share this post


Link to post
Share on other sites

1 час назад, syoma сказал:

даже не разобравшись до конца с условиями задачи, неправильно оценив ее сложность,

Разбирался и оценивал, причем неоднократно, и сказать могу точно, что большинство, кто приходит и говорит "хочу то, хочу это" с умным видом, а при детальном обсуждении выяснялось, что большинство этих хотелок просто взято из статеек инета, типа "круто-же"... По факту оказывалось нафиг не нужно (например всякие вычурные управления жалюзи и пр...) Так же моментально отсевались всякие навороченные контроллеры бытовой техники или сама техника с наворотами управления, все делалось через простейшие ИК трансмиттеры, как правило, оказывалось что нафиг не нужно радиоуправление и умные лампочки - все прекрасно делалось диммерами на RS-485, причем этот интерфейс и был основным в системе, еще надо продолжать?

Edited by mantech

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...