Тема: Пожелания
Показать сообщение отдельно
Старый 11.03.2011, 18:20   #76
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Пожелания

Цитата:
Сообщение от ailcat
Sergey Cherevko
Сергей, даже со своей точки зрения - я вас с Арсением могу понять (что для синхронной ПРОГРАММЫ корректнее задавать задержки в тиках).

В то же время, макрос (который вроде как и несложен) - это сочетание нескольких FBD, соответственно, скорость его обработки будет заведомо хуже, чем у специального блока.
Перерасчёт секунд в тики - один блок. Нужно - ставите, не нужно - не ставите. Самое выгодное решение с точки зрения быстродействия.

По моему опыту создания программ, на каждый десяток счётчиков с заданием в тиках требуется один счётчик с заданием в единицах времени. Итого 9 счётчиков будут зря потреблять ресурсы. Это и процессор и память. Не говоря уже о том, что у меня будет болеть голова за то, чтобы обеспечить синхронизацию программы, т.к. если мне нужно отсчитать именно 3 цикла программы, то мне придётся выдерживать длительность цикла относительно постоянной. Иначе счётчик отсчитает не 3 цикла, а иное число.

Счётчиков в сложном алгоритме как правило несколько десятков.

Ваша точка зрения про "удобства" со стороны чистого программиста выглядит абсурдной. Программист изначально думает иными категориями и число 1000 для него не является круглым


Цитата:
Сообщение от ailcat
Кому-то это неакутально, у меня же управляемое контроллером оборудование выполняет до 200-300 действий в минуту, что уже заставляет задумываться об уменьшении времени тиков до минимально возможного...
Прошу вас всё же отделить мух от котлет. То вы предлагаете нагрузить контроллер ненужными вычислениями, то делаете упор на быстродействие. Нужно бы определиться.


Цитата:
Сообщение от ailcat
Ну а про "удобство для лентяев" - я бы все же назвал эти функции "прозрачностью задания временных величин". Которое гораздо точнее отражает их назначение.
Повторюсь: программисты думают иными категориями. И с точки зрения циклических программ прозрачнее всего времена задавать именно циклами, т.к. все внутренние события измеряются именно циклами, сколько бы они времени не занимали.

Внешние события выгоднее задавать во внешней временнОй системе - это да. Но для этого нужен всего 1 блок. И он есть. Хотите, подключаете к счётчикам. Хотите - к задержкам. Да хоть к мультиплексорам

У программируемых реле число внутренних событий минимально либо они попросту отсутствуют. В наших же контроллерах их может быть тысячи.

Опять же, я вам давал ссылку на макросы задержек, у которых есть задание как в циклах, так и в секундах. Право, уже не знаю как вам угодить.



Цитата:
Сообщение от ailcat
(кстати, причем тут CISC-процессоры? Тем более, что всё та же История не менее наглядно показала, что RISC в реальных приложениях может быть производительным только в сочетании с CISC- или DSP-довесками?)
Дошло до того, что самые популярные CISC процессоры имеют внутри себя RISC, выполняющий микропрограмму эмуляции этого самого CISC. Это всё равно оказалось много более выгодно, CISC упёрся в стенку ещё в 1992 году.

Про DSP не передёргивайте, у них узкий круг задач, решаемый ими успешно с набором команд зачастую ещё меньшим, чем у RISC.



Цитата:
Сообщение от ailcat
РЕЗЮМИРУЮ:
Не забудьте только дописать "в моём узком кругу задач". А то вы как-то одним махом отправили сотни сложных отлично работающих объектов на помойку.


Цитата:
Сообщение от ailcat
P.S.
Специально для Арсения, которого когда-то терроризировал по эл.почте:
входы MC действительно оказались устойчивыми к ВЧ-помехам (27MHz при 25kV - отлично "пролазят во все щели" даже при качественном заземлении).
При работе системы МС даже не ловил по входам помеху, на самом SMG-2G входы, правда, пришлось подтянуть к "земле" через резисторы 3к3 - но всё работает без сбоев и замечаний (хотя Овен наглухо вис всего через несколько дестяков включений высокого напряжения). Примерно в середине апреля врубим установку на полную нагрузку (16-18 тыс. изделий за смену) - тогда попробую отчитаться подробнее (вдруг кому пригодится и мой опыт)
Полезная информация, спасибо.


.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием