|
SMLogix Вопросы о работе в среде SMLogix и о FBD-программировании |
|
Опции темы | Поиск в этой теме |
23.05.2008, 11:17 | #1 |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
"Фишки" SMLogix'a
Экспериментируя с SMLogix'ом обнаружил интересные вещи.... Когда я ставлю блок EEPROM то вход DEEP я приявязать никуда не могу. Это вполне естественно так как, по всей видимости, изменять объем памяти под стек во время выпонения программы невозможно. НО в стандартном макросе журнала вход DEEP привязан и вынесен на вход макроса. Ставлю в нем блок EEPROM - пытаюсь привязать вход DEEP - ничего не выходит. Вопросов 2:
1. Каким образом вы его привязали? 2. в макроесе журнала я вход DEEP могу привязать и изменить из контроллера во время работы... не пробовал еще так экспериментировать, навренео скоро попробую... интеренсо, что произойдет? |
23.05.2008, 11:47 | #2 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: "Фишки" SMLogix'a
2. Нарушится работа контроллера вплоть до полной неработоспособности.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
23.05.2008, 14:02 | #3 |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: "Фишки" SMLogix'a
тоесть в вашем макросе журнла есть такая возможность написать программу "убивающую" контроллер?
|
23.05.2008, 15:51 | #4 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: "Фишки" SMLogix'a
С помощью макроса "Журнал" можно написать программу, негарантированно программно убивающую контроллер.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
23.05.2008, 22:07 | #5 | |
НЕ сотрудник Segnetics
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: "Фишки" SMLogix'a
Цитата:
Кстати, ранее, где-то на страницах этого форума, Вы утверждали, что-то типа: " на СМЛоджик невозможно написать программу, приводящую к зависанию контроллера". Выходит, что Вы лукавили? |
|
24.05.2008, 13:56 | #6 | |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: "Фишки" SMLogix'a
Цитата:
|
|
26.05.2008, 11:32 | #7 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: "Фишки" SMLogix'a
Никто не лукавил: попробуйте с нуля написать такую программу в лоджике.
Насчёт журнала всё просто - это сделано для ВАШЕГО удобства, ну а с дуру можно, согласно пословице, и не только контроллер сломать Перешивка ядра может и не вылечить контроллер. Изначально этот макрос был под паролем. Я всегда говорил, что пароли для вашей же безопасности. Никто не верит. Поэтому зимой появляются порванные водяные калориферы ("Я и не думал, что это так важно" (c)), поэтому можно убить контроллер. |
26.05.2008, 12:36 | #8 | |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: "Фишки" SMLogix'a
Цитата:
|
|
26.05.2008, 19:10 | #9 | |
НЕ сотрудник Segnetics
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: "Фишки" SMLogix'a
Цитата:
Последний раз редактировалось SMH, 26.05.2008 в 19:18 |
|
27.05.2008, 07:37 | #10 | |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: "Фишки" SMLogix'a
Цитата:
|
|
27.05.2008, 11:26 | #11 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: "Фишки" SMLogix'a
Согласен
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
27.05.2008, 11:36 | #12 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: "Фишки" SMLogix'a
Про "дурь" - это не в ваш адрес было, скорее как метафора
Привязка и закрыта. А вход макроса закрыть нельзя. В общем, безвыходная ситуёвина - и оставлять зло и убирать - зло __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
27.05.2008, 11:36 | #13 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: "Фишки" SMLogix'a
Мимо! Тот же макрос в библиотеке меню - совершенно открытый
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
28.05.2008, 11:26 | #14 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: "Фишки" SMLogix'a
Макросы под паролем специально для предупреждения следующий эксцессов:
Клиент> Надо сделать чтобы при аварии замерзания (по канальному датчику) система не отключалась, а реле аварии срабатывало. Я> Расскажите пожалуйста, какова цель переделки? Клиент> Спасибо. Уже не надо. Разобрался. А не было бы пароля, сколько бы набедокурено было... Такие диалоги происходят по нескольку раз на неделю, этот - самый короткий и невинный по функциональности. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
28.05.2008, 12:35 | #15 |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: "Фишки" SMLogix'a
А как вам такой вариант: проводить обучение специалистов после которого выдавать пароли от макросов? Так поступают многие компании, проводящие обучение специалистов по своему оборудованию и только после этого выдают пароли от сервис-меню своего оборудования.
|
28.05.2008, 15:28 | #16 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: "Фишки" SMLogix'a
В результате половина инета знает эти пароли
Идея понятна, нужно подумать. Вообще, предполагалось, что все макросы будут закрыты + будет идти библиотека открытых макросов. Соответственно, баги по открытым макросам не рассматриваются, как потенциально возникающие из-за криворукости. Однако жизнь показала, что все полезли в макросы как тараканы на крупу. На каждый случай уходит куча времени (выезд на объекты, комиссии и прочее), после чего открытые макросы из поставки исключены и самое ответственное закрыто до сих пор (все регуляторы и макрос водяного калорифера). __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
29.05.2008, 07:42 | #17 | ||
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: "Фишки" SMLogix'a
Цитата:
Цитата:
|
||
29.05.2008, 08:09 | #18 |
Senior Member
Регистрация: Jan 2006
Сообщения: 172
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: "Фишки" SMLogix'a
Можно просто добавить в лицензионное соглашение пункт о том что изменения в программах конструктора делаются на свой страх и риск и Сегнетикс за них ответственности не несет.
|
29.05.2008, 10:31 | #19 | ||
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: "Фишки" SMLogix'a
Цитата:
Цитата:
А по поводу макросов - решено было закрытые макросы выдавать только после проверки дееспособности просящего и письменном отказе от претензий. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
||
29.05.2008, 10:35 | #20 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: "Фишки" SMLogix'a
Это не спасает от звонков, типа "Я поправил алгоритм так, чтобы при пуске кран водяного калорифера не закрывался ниже 50%, но у меня почему-то всё не работает! В чём дело?".
Как прикажете отвечать на такие вопросы? __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
01.07.2008, 17:15 | #21 | |
Новичок
Регистрация: Jun 2007
Адрес: Рязань
Сообщения: 29
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: "Фишки" SMLogix'a
Цитата:
|
|
02.07.2008, 11:08 | #22 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: "Фишки" SMLogix'a
Во! И я о том же... Подавляющее большинство "хотелок" мало того, что прекрасно реализуются вне макросов, так ещё и почти всё для этого сделано - сигналы собраны в шины и стандартизированы, ключевые моменты разнесены в разные макросы, чтобы можно было менять по отдельности...
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
15.06.2009, 16:37 | #23 |
Новичок
Регистрация: Jun 2007
Адрес: Рязань
Сообщения: 29
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
"Фишки" SMLogix'a
Ммм... покопался в проекте, созданном конструктором 0.99b8.
Очень заинтересовали блоки вида IF{ .. }EndIF и For{ .. }EndFor. Конечно конструктор всё более упрощается и ориентируется на "пользователя", а условие и цикл можно сделать и из блоков, но ... Не рассматривается ли возможность поделится вкусностями в дальнейших релизах? |
16.06.2009, 11:49 | #24 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: "Фишки" SMLogix'a
Цитата:
А если ещё и иголки внутри цикла или ифа, то вообще суши вёсла. Поэтому "фишка" была закрыта до лучших времён с пометкой "ящик Пандоры" __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
18.06.2009, 08:03 | #25 |
Senior Member
Регистрация: Jan 2006
Сообщения: 172
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: "Фишки" SMLogix'a
Есть такая похожая на SMLogix среда программирования, Кругол. Там в FBD есть блок ЕСЛИ - ИНАЧЕ. Не пробовал правда использовать этот блок с блоками выделения фронта/спада внутри, не знаю что из этого получится. Если интересно, можете посмотреть как оно работает.
|
18.06.2009, 11:53 | #26 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: "Фишки" SMLogix'a
Цитата:
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
18.06.2009, 12:17 | #27 | |
Senior Member
Регистрация: Jan 2006
Сообщения: 172
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: "Фишки" SMLogix'a
Цитата:
|
|
19.06.2009, 11:01 | #28 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: "Фишки" SMLogix'a
Цитата:
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
04.10.2023, 10:39 | #29 |
Member
Регистрация: Aug 2021
Сообщения: 37
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: "Фишки" SMLogix'a
Заинтересовало то, что все входы Deep объединены и
общий вход выходит наружу макроса "журнал" со значением 200. Вот если в режиме отладки какой-нибудь любознательный юзверь начнёт манипулировать с этим числом или, что ещё хуже, подключит на этот вход счётчик например...... Это убьёт контроллер или тема уже не актуальна? |
04.10.2023, 10:54 | #30 | ||
Senior Member
Регистрация: Aug 2013
Сообщения: 3 795
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: "Фишки" SMLogix'a
Цитата:
-А зачем Вы вот так делаете? Цитата:
__________________ Не являюсь сотрудником Segnetics !!! |
||