Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
небольшой вопрос С++ циклический счетчик
|
|||
|---|---|---|---|
|
#18+
Оформляю Скада-систему Simp lite и в целом возник вопрос написания скрипта, значение которого при значении А=0 имеет значение 0, а когда А=1, то значение последовательно и циклически меняется с 1 до 4. В целом как я себе представляю это типа так :) Если А=0 значит 0; Если А=1 значит (запуск счетчика) 1, 2, 3, 4, 1, 2, 3, .... p.s. к этим значениям мною привязаны картинки в разных циклах работы, и сложив все в кучу получится что при 0 картинка неподвижна, а при 1 "типа движется". Буду признателен за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 12:34 |
|
||
|
небольшой вопрос С++ циклический счетчик
|
|||
|---|---|---|---|
|
#18+
Oleg_KNОформляю Скада-систему Simp lite и в целом возник вопрос написания скрипта, значение которого при значении А=0 имеет значение 0, а когда А=1, то значение последовательно и циклически меняется с 1 до 4. В целом как я себе представляю это типа так :) Если А=0 значит 0; Если А=1 значит (запуск счетчика) 1, 2, 3, 4, 1, 2, 3, .... p.s. к этим значениям мною привязаны картинки в разных циклах работы, и сложив все в кучу получится что при 0 картинка неподвижна, а при 1 "типа движется". Буду признателен за помощь.Не факт, что понимаю правильно, но... Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 12:48 |
|
||
|
небольшой вопрос С++ циклический счетчик
|
|||
|---|---|---|---|
|
#18+
Abstraction Код: sql 1. Код: sql 1. Более сишно выглядит. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 13:01 |
|
||
|
небольшой вопрос С++ циклический счетчик
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, это вместо всей этой строчки? Эм... и значение этого цикла при А=1 будет последовательно менятся с 1 до 4? просто попробывал набрать это... как то все не реагирует... может в более примитивной форме это все написать можно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 13:17 |
|
||
|
небольшой вопрос С++ циклический счетчик
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 13:18 |
|
||
|
небольшой вопрос С++ циклический счетчик
|
|||
|---|---|---|---|
|
#18+
m_Sla, прости но сложно представить что в конечном итоге должно получится.. прошу полностью скрипт выложить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 13:20 |
|
||
|
небольшой вопрос С++ циклический счетчик
|
|||
|---|---|---|---|
|
#18+
Oleg_KN, тебе Abstraction написал. Остальное это так, "извращения" всякие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 13:25 |
|
||
|
небольшой вопрос С++ циклический счетчик
|
|||
|---|---|---|---|
|
#18+
Oleg_KN, бери вариант который предложил Abstraction. Если тебе его сопровождать то код должен быть понятен. Трюкачество с битовыми операциями конечно интересно но если деление по модулю 4 надо будет заменить на любое другое то нужно будет менять код. А так - меняется только одна константа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 13:25 |
|
||
|
небольшой вопрос С++ циклический счетчик
|
|||
|---|---|---|---|
|
#18+
Oleg_KNDimitry Sibiryakov, это вместо всей этой строчки? Эм... и значение этого цикла при А=1 будет последовательно менятся с 1 до 4? просто попробывал набрать это ... как то все не реагирует... может в более примитивной форме это все написать можно :)Э-э-э... где именно набрать? Там должно быть static int count=4;, в нынешнем варианте должна быть ошибка компиляции, а не "не реагирует". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 13:42 |
|
||
|
небольшой вопрос С++ циклический счетчик
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovAbstraction Код: sql 1. Код: sql 1. Более сишно выглядит. Только надо помнить что count должен быть unsigned иначе будет UB (переполнение signed int) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 13:43 |
|
||
|
небольшой вопрос С++ циклический счетчик
|
|||
|---|---|---|---|
|
#18+
m_Sla Код: plaintext 1. 2. Только наоборот. Нам же нужно от 1 до 4, а не от 0 до 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 13:43 |
|
||
|
небольшой вопрос С++ циклический счетчик
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyТолько надо помнить что count должен быть unsigned иначе будет UB (переполнение signed int) А, да, точно, был неправ. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 13:49 |
|
||
|
небольшой вопрос С++ циклический счетчик
|
|||
|---|---|---|---|
|
#18+
Abstractionm_Sla Код: plaintext 1. 2. Только наоборот. Нам же нужно от 1 до 4, а не от 0 до 3.Ага, надо команды местами поменять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 13:51 |
|
||
|
небольшой вопрос С++ циклический счетчик
|
|||
|---|---|---|---|
|
#18+
int Count(int A){ static count = 4; return (A==0) ? 0 : count&=3; count++; } Вот так?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 14:15 |
|
||
|
небольшой вопрос С++ циклический счетчик
|
|||
|---|---|---|---|
|
#18+
Oleg_KN Код: plaintext 1. 2. 3. 4. 5. 6. Вот так?)1) Используйте тег SRC для оформления кода. 2) Нет, не так. 3) Если попробуете так, компилятор должен выдать ошибку компиляции. Он её выдаёт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 14:21 |
|
||
|
небольшой вопрос С++ циклический счетчик
|
|||
|---|---|---|---|
|
#18+
Oleg_KN, до конца понимаешь, как этот код работает? Т.е. ты понимаешь, что если завтра тебе надо будет счетчик от 1 до 10, то этот код придется переписывать. А в коде Abstraction до конца разобрался. В нем при изменении диапазона исправить надо только одно число. Если и в его коде не разобрался, пиши еще проще: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 14:27 |
|
||
|
небольшой вопрос С++ циклический счетчик
|
|||
|---|---|---|---|
|
#18+
C этого надо было начинать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 14:30 |
|
||
|
небольшой вопрос С++ циклический счетчик
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. Строка: 2, Ошибка: ';' expected ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 14:30 |
|
||
|
небольшой вопрос С++ циклический счетчик
|
|||
|---|---|---|---|
|
#18+
static int count наверное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 14:31 |
|
||
|
небольшой вопрос С++ циклический счетчик
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Строка: 10, Ошибка: '{' expected ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 14:34 |
|
||
|
небольшой вопрос С++ циклический счетчик
|
|||
|---|---|---|---|
|
#18+
Oleg_KN, Ладно, зайдём с другого конца. Можете написать функцию, которая бы при подаче на вход аргумента, равного 0, возвращала бы 0, а при подаче любого иного аргумента - возвращала бы 1? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 14:39 |
|
||
|
небольшой вопрос С++ циклический счетчик
|
|||
|---|---|---|---|
|
#18+
Когда в этом несчестном симплайте начинаешь писать этот код в открывшемся окне показывают для примера вот такой код:) Может что то вам скажет. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. По всей видимости нужно мою переменную определить а затем сравнить и при условии что она не равна 0 записывать в out1 последовательно 1 2 3 4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 14:41 |
|
||
|
небольшой вопрос С++ циклический счетчик
|
|||
|---|---|---|---|
|
#18+
однако значение моего канала либо 0 либо 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 14:45 |
|
||
|
небольшой вопрос С++ циклический счетчик
|
|||
|---|---|---|---|
|
#18+
Oleg_KN, может ну его в СКАДЕ на С писать. Может на контроллер эту функцию воткнуть, а в СКАДЕ готовое значение с контроллера получать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 15:38 |
|
||
|
небольшой вопрос С++ циклический счетчик
|
|||
|---|---|---|---|
|
#18+
Дело в том что это все делается для анимации технологического процесса, к сожалению эта СКАДА не потдерживает gif-файлы, поэтому приходится самому мини анимацию собирать. Это было уже реализовано, но случилось так что вышел из строя жесткий диск, собрал всю систему на другом... и все бы ничего но я не знаю как сделать обратно этот счетчик. На данный момент все работает просто по цвету) к примеру серый цвет оборудование выключено, зеленый - работает.... не очень) хочется все же анимированную технологию. Суть системы: с контроллера приходит сигнал под именем А(либо 0 либо 1), этот сигнал обрабатывается ОПС сервером и передается в СКАДА систему. В скада системе создаю виртуальный канал В и значение этого виртуального канала должно менятся при А=1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 15:58 |
|
||
|
небольшой вопрос С++ циклический счетчик
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 16:04 |
|
||
|
небольшой вопрос С++ циклический счетчик
|
|||
|---|---|---|---|
|
#18+
Oleg_KN, если программу на контроллере изменить не получается, тогда читай документацию по "C++ Script". Документация должна быть со скадой. Кто его знает, какие там ограничения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 16:06 |
|
||
|
небольшой вопрос С++ циклический счетчик
|
|||
|---|---|---|---|
|
#18+
Вот как то так я вижу решение этой проблемы, только незнаю лексики С++ если кто понял)) исправте Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 16:19 |
|
||
|
небольшой вопрос С++ циклический счетчик
|
|||
|---|---|---|---|
|
#18+
Попробуем задать вопрос иначе: Две переменные А,В (Переменная "А" берется из вне и имеет значения либо 1 либо 0) Сделать так что бы при А = 1, В последовательно менялось от 1 до 4 затем снова сравнивалось с А, и так постоянно. Если А = 0 значить B = 0. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 16:40 |
|
||
|
небольшой вопрос С++ циклический счетчик
|
|||
|---|---|---|---|
|
#18+
Oleg_KNПопробуем задать вопрос иначе: Две переменные А,В (Переменная "А" берется из вне и имеет значения либо 1 либо 0) Сделать так что бы при А = 1, В последовательно менялось от 1 до 4 затем снова сравнивалось с А, и так постоянно. Если А = 0 значить B = 0."Последовательное изменение от 1 до 4" реализуется выражением B = (B % 4) + 1 (или, как вариант, if(B==4) B=1; else B=B+1;). Обратите внимание, что при этом переменная B не должна использоваться в иных вычислениях, так как она хранит "последнее" число циклического перебора. То есть, эта переменная должна жить между вызовами функции; в C++ этого можно добиться, объявив переменную в теле функции с ключевым словом static; если Ваш скрипт этого не позволяет, необходимо использовать глобальную переменную. Другими словами (в C-синтаксисе; то, что у Вас, заставляет сомневаться, что знакосочетание C++ имеет к этому скрипту хоть какое-нибудь отношение): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 16:56 |
|
||
|
небольшой вопрос С++ циклический счетчик
|
|||
|---|---|---|---|
|
#18+
Abstraction громаднейшее спасибо все заработало! код получился таким) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Не знаю как тут "спасибо" поставить :) ура) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 17:14 |
|
||
|
|

start [/forum/topic.php?all=1&fid=57&tid=2020747]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
169ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 274ms |
| total: | 540ms |

| 0 / 0 |
