Форум » » Simpl + или логические модули Simpl Windows? » Ответить

Simpl + или логические модули Simpl Windows?

RuckShot1: Добрый день! Возник такой вопрос. На курсах говорили: что по возможности лучше Simpl+ не использовать, а обходиться обычными модулями Simpl Windows, так как это тормозит и грузит контроллер. Действительно и это так? Мне порой проще и быстрее в разу на Simpl+ написать модуль логики: чем разворачивать все обычными модулями. Действительно ли это губительно для контроллера? Или я могу без проблем использовать Simpl+ как угодно?

Ответов - 3

Igor: Мое мнение: Правильно говорили. Модули SIMPL+ имеют низкий приоритет обработки, поэтому при определенном стечении обстоятельств решение сложной задачи, порученное им, может забуксовать. Среди программистов Crestron я, помимо прочих, наблюдаю граждан двух категорий - изачально программисты, которые ранее кодили в других областях, а потом просто получили задачу работы с Crestron на новой должности, и интеграторы, для которых программирование никогда не было основной работой и является лишь деятельностью, сопутствующей развитию карьеры. Большинству первых проще писать кодом, это естественно. SIMPL+ губителен в том случае, когда используется некорректно, не по назначению или в обход рекомендаций разработчика (как оборудования, так и ПО) и инструктора Crestron. Насколько я помню, на тренингах III уровня (SIMPL+ Programming / Programming for Certification) значительное внимание уделяется приемам, результаты использования которых непредсказуемы или откровенно отрицательны.

ps: Мне кажется, для формирования именно логики - а-ля замены группы логических символов, входящих в такие разделы библиотечных Simpl как Analog operations, Conditionals, Counters, Memory (но однозначно исключая символы, связанные со строками и таймерами), использование simpl+, чаще всего, не несет серьезной угрозы. А вот насчет "как угодно" тут вопрос не такой однозначный. Нужно все время помнить что код, который вы пишете в Simp+ может в любой момент быть прерван операционной системой для выполнения другого потока\задачи, и на такое переключение, кроме всего прочего, будут затрачены время и ресурсы процессора (поэтому неоправданно частый (особенно в цикле) вызов simpl+ модулей, особенно "одновременно" может быть реально связан с "грузит и тормозит"). А если во время выполнения кода этого альтернативного потока от ОС Crestron изменяться сигналы с которыми вы работаете в вашем simpl+ модуле то результаты могут быть непредсказуемыми. Все нюансы, связанные с многопотоковостью\многозадачностью необходимо моделировать и выписывать на simpl+ вручную. Поэтому в более сложных случаях - обработка строк, формирование и обработка задержек и т.п. задача создания корректного simpl+ кода может быть реально более трудоемкой, длительной и требующей более серьезной подготовки по сравнению с использованием библиотечных модулей simpl. Если у вас есть хорошая базовая подготовка в области ит (например слово "ПТЦА" вызывает ассоциации не только с курицей, а "семафоры", "гонки" и "тупики" не только с правилами дорожного движения ) то особенности функционирования сложных модулей simpl+ в многозадачной среде для вас не составят больших проблем. Но однажды написав и отладив модуль siмpl+, повторяющий функционал библиотечных Serial I\O, Retrigerrable One Shot или Debounce, скорее всего в следующий раз вы сами отдадите предпочтение библиотечным Simpl, если это возможно. Итог я бы сформулировал примерно так: - "редко" вызываемые Simpl+ модули заменяющие набор простой логики (не имеющей проблем, связанных с многозадачностью) могут сократить время и усилия по программированию без особых проблем. - для более сложных задач, связанных с обработкой строк, таймерами и др. вопросами имеющими прямое отношение к функционированию в многозадачной среде, применение библиотечных модулей simpl без "погружения" в simpl+ может серьезно упростить задачу и уменьшить время программирования.

Вячеслав: Сложная обработка строк без SIMP+?, да ладно потратите даром время. SIMPL+ рулит упрощает восприятие программы, и она уже не выглядит как хитросплетенная паутина в которой согласовать интервалы просто не возможно порой, а главное оценить алгоритм целиком. Обработка медленнее - да. Тормозит - единичные случаи из практики. Как правило производительности процессоров хватает и это не домашняя автоматизация. Где то в HELP встречал фразу обозначающую позицию Crestron в данном вопросе. Суть её была в следующем: "Нужен разумный компромисс. Простые вещи правильнее делать на штатных модулях, более сложные разумнее на SIMPL+." С чём целиком и полностью согласен. Чуть не в тему, но близко: Замечено на контроллерах 3 серии: количество одновременных циклов обработки While (по крайней мере в пределах одного модуля SIMPL+ иначе пока не пробовал) ограничено 8. Т.е. 9 и более цикл будет игнорироваться. Найдена была данная особенность случайно при попытке оценить производительность процессоров запуская циклы со счетчиками. Во 2 серии такого не происходит и запускаются все 10 циклов предусмотренные тестовой программой (более пока не пробовал запускать)




полная версия страницы