Segnetics

Вернуться   Segnetics > Форум Segnetics

Форум Segnetics Территория общения

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.02.2008, 13:22   #241
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Вопросы о контроллерах

А у нас данные хранятся в упакованном формате и поэтому прямой зависимости даже к количеству занимаемой памяти не провести. Одна программа из 1000 блоков занимает один объём памяти, другая - другой, процентов на 30 больше или меньше. Поэтому любые попытки сосчитать объём свободной памяти лишены смысла. И именно поэтому у нас нет индикатора свободной памяти. Пока не нашли способ корректно всё подсчитать.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 08.02.2008, 13:23   #242
Max2114
Senior Member
 
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 052
Благодарил(а): 20 раз(а)
Поблагодарили: 21 раз(а) в 21 сообщениях
По умолчанию Ответ: Вопросы о контроллерах

ну все-таки под неё отвотдится како-то определнное место. Я не прошу сказать мне связь между кол-вом блоков и занимаемой памяти. Мне интересно склько её отведено в контроллере.
Max2114 вне форума   Ответить с цитированием
Старый 08.02.2008, 13:32   #243
Max2114
Senior Member
 
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 052
Благодарил(а): 20 раз(а)
Поблагодарили: 21 раз(а) в 21 сообщениях
По умолчанию Ответ: Вопросы о контроллерах

Почему вообще спрашиваю... У нас есть задачит автоматизировать сложные системы вентиляции с резервированием , кучей предподогревов и т.д. Использовать для этого контроллер SMH во-первых неудобно, во-вторых программа упралвния не влезет в один кнтроллер, а распределять её между несколькими неудобно. Вопрос стоит о выборе контрорллера. По входам-выходам все понятно, НО я не могу точно знать влезет ли в контроллер моя программа. Как бы не получилось так, что когда дело дойдет до программ - выяснится что в контроллере слишком мало места.
Max2114 вне форума   Ответить с цитированием
Старый 08.02.2008, 13:45   #244
lau
Senior Member
 
Регистрация: Jul 2006
Сообщения: 176
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Вопросы о контроллерах

Если на SMH отказаться от реализации меню (разветвленное меню с вложениями - как делает конструктор) и т.п., то места (по крайней мере по блокам) будет на 1000-1500 больше для самого алгоритма. Для Меню можна поставить дополнительный контроллер (только для этих целей) и обмениваться данными по сети.
Если опишите, что за установка и основные моменты ее работы, то постараюсь основываясь на своем опыте ответить - влезет или нет.
(С невлезанием уже сталкивался, но когда на SMH было памяти в два раза меньше).
lau вне форума   Ответить с цитированием
Старый 08.02.2008, 16:09   #245
AlexG
Senior Member
 
Регистрация: Jan 2006
Сообщения: 172
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Вопросы о контроллерах

Цитата:
Сообщение от Arsie
А у нас данные хранятся в упакованном формате
Это на скорости исполнения программы не сказывается?
AlexG вне форума   Ответить с цитированием
Старый 08.02.2008, 16:23   #246
AlexG
Senior Member
 
Регистрация: Jan 2006
Сообщения: 172
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Вопросы о контроллерах

Цитата
Сообщение от Max2114
Засмоневался, когда почитал информацию по дриугим контроллерам (типа Direct Logic).
Близкий вы аналог выбрали для сравнения У Direct Logic с SMH ну очень мало общего. ИМХО, DirectSoft неудачный выбор для написания сложных программ, если вы не фанат релейно-лестничной логики. Есть приличный опыт работы с DL405, в том числе опыт оптимизации программ когда кончается память Эти контроллеры вызывают уважение своей надежностью, или скорее дубовостью , но по своей воле я их ни в один новый проект не заложу.
AlexG вне форума   Ответить с цитированием
Старый 11.02.2008, 08:27   #247
Max2114
Senior Member
 
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 052
Благодарил(а): 20 раз(а)
Поблагодарили: 21 раз(а) в 21 сообщениях
По умолчанию Ответ: Вопросы о контроллерах

А что тогда предложите в качестве альтернативы?
Max2114 вне форума   Ответить с цитированием
Старый 11.02.2008, 10:49   #248
AlexG
Senior Member
 
Регистрация: Jan 2006
Сообщения: 172
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Вопросы о контроллерах

Что-нибудь с Isagraf, CoDeSys или другой развитой средой программирования, позволяющей писать хорошо структурированные модульные программы.

PS: На I8000 со штатным Isagraf'ом тоже можете особо не смотреть, там быстро заканчивается память под программу и глюков хватает.
AlexG вне форума   Ответить с цитированием
Старый 11.02.2008, 11:02   #249
Max2114
Senior Member
 
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 052
Благодарил(а): 20 раз(а)
Поблагодарили: 21 раз(а) в 21 сообщениях
По умолчанию Ответ: Вопросы о контроллерах

I8000 мы сразу отмели. А что про WinCon скажете? Или Fastwell?
Max2114 вне форума   Ответить с цитированием
Старый 11.02.2008, 16:46   #250
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Вопросы о контроллерах

В контроллер "влезает" 3000 "условных блоков" (т.е. подавляющее большинство программ упиралось в объём 2800-3200 блоков), максимально достижимое число примерно 5200, минимально, что я знаю - примерно 10-15 (забитые по самые уши блоки Screen(str)).


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 27.02.2008, 20:30   #251
SMH
НЕ сотрудник Segnetics
 
Аватара для SMH
 
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию EEPROM

В хелпе для СМЛОДЖИКС, относительно блоков ЕЕПРОМ написано следующее:
"Тип данных - bool, int(2 байта), long(4 байта), real(4 байта)."
Это следует понимать, как объём памяти, который занимает в ЕЕПРОМ та или иная переменная? Или как-то иначе?
Сомнение вызывает то, что и бул, и инт занимает 2(!!!) байта, а лонг и реал 4(!!!) байта. Мне это совершенно не понятно. Как правильно посчитать максимальный объём для пользовательской еепром?
SMH вне форума   Ответить с цитированием
Старый 28.02.2008, 11:06   #252
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: EEPROM

Для блоков EEPROM объём занимаемой памяти считается "объём записи" * "количество записей" + 2.

Т.е. для EEPROM(real), глубиной 100 записей будет выделено 4*100+2=402 байта.

По поводу bool - вижу, в описании действительно возможно двоякое толкование, bool занимает 1 байт. Всё остальное - верно. Что именно вызывает у вас трудности в понимании "long" и "real"?


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 28.02.2008, 14:33   #253
SMH
НЕ сотрудник Segnetics
 
Аватара для SMH
 
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: EEPROM

Цитата:
Сообщение от Arsie
Что именно вызывает у вас трудности в понимании "long" и "real"?
То, что лонг и реал занимают одинаковый объём памяти, хотя имеют серьёзно отличающийся диапазон значений. Это действительно так?
SMH вне форума   Ответить с цитированием
Старый 28.02.2008, 14:43   #254
SMH
НЕ сотрудник Segnetics
 
Аватара для SMH
 
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: EEPROM

Цитата:
Сообщение от SMH
То, что лонг и реал занимают одинаковый объём памяти, хотя имеют серьёзно отличающийся диапазон значений. Это действительно так?
Похоже, разобрался. Лоджик просто округляет значения реал. Честно говоря, несколько сомнительное решение. С моей точки зрения.
SMH вне форума   Ответить с цитированием
Старый 28.02.2008, 14:49   #255
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: EEPROM

Куда округляет?

Целые числа и числа с плавающей точной хранятся в настолько разных форматах, что их диапазоны напрямую сравнивать некорректно...

В лонге же вы дробные числа не зададите. А в риле дроби отнюдь не из воздуха берутся


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 28.02.2008, 14:59   #256
SMH
НЕ сотрудник Segnetics
 
Аватара для SMH
 
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: EEPROM

Цитата:
Сообщение от Arsie
Куда округляет?
Да хрен знает куда. Куда ему удобнее. Вот, например, я пытаюсь сохранить число реал:123124599925002400, а в лоджике сохраняется 1.23124e+017. Т.е., сохранаются первые 6 знаков, а всё остальное заменяется нулями?
SMH вне форума   Ответить с цитированием
Старый 28.02.2008, 15:18   #257
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: EEPROM

Практически во всех компьютерах, начиная с 1987 года, используется именно этот стандарт хранения.

Стандарт подразумевает разную точность хранения, в зависимости от занимаемого объёма памяти, в нашем случае 4 байта, что даёт 6 знаков на мантиссу.
Вложения
Тип файла: pdf IEEE-854-1987 (real).pdf (163.6 Кбайт, 142 просмотров)


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 28.02.2008, 15:21   #258
AlexG
Senior Member
 
Регистрация: Jan 2006
Сообщения: 172
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: EEPROM

Цитата:
Сообщение от SMH
Т.е., сохранаются первые 6 знаков, а всё остальное заменяется нулями?
Грубо говоря да, т.к. это число с плавающей точкой, то оно сохраняется как 1.23124 и 10^17.
AlexG вне форума   Ответить с цитированием
Старый 28.02.2008, 15:30   #259
SMH
НЕ сотрудник Segnetics
 
Аватара для SMH
 
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: EEPROM

Цитата:
Сообщение от Arsie
Стандарт подразумевает разную точность хранения, в зависимости от занимаемого объёма памяти, в нашем случае 4 байта, что даёт 6 знаков на мантиссу.
Как считаете, об этом стоит написать в справке? Не для меня, я понял... Для других покупателей.
SMH вне форума   Ответить с цитированием
Старый 29.02.2008, 11:28   #260
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: EEPROM

Хм... За несколько лет выпуска контроллера это первый вопрос по поводу хранения чисел с плавающей точкой

Думаю, это стоит добавить в справку.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 29.02.2008, 18:57   #261
SMH
НЕ сотрудник Segnetics
 
Аватара для SMH
 
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: EEPROM

Цитата:
Сообщение от Arsie
Хм... За несколько лет выпуска контроллера это первый вопрос по поводу хранения чисел с плавающей точкой
Ну, мне понятно, почему так. У немногих возникает потребность сохранять ТАКИЕ большие числа, с ТАКОЙ точностью.
SMH вне форума   Ответить с цитированием
Старый 29.02.2008, 22:00   #262
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 125
Благодарил(а): 239 раз(а)
Поблагодарили: 161 раз(а) в 153 сообщениях
По умолчанию Ответ: EEPROM

32бита для риала - это уже дабл, куда уж больше? эт же не писюк
хотя наверно для маньяков можно былоб соорудить что-то типа макроса на 64битные риалы.


__________________
C уважением, LordN
LordN сейчас на форуме   Ответить с цитированием
Старый 01.03.2008, 18:03   #263
SMH
НЕ сотрудник Segnetics
 
Аватара для SMH
 
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: EEPROM

Цитата
Сообщение от LordN
32бита для риала - это уже дабл, куда уж больше? эт же не писюк
хотя наверно для маньяков можно былоб соорудить что-то типа макроса на 64битные риалы.
Да мы (маньяки) , сами сделаем какой угодно макрос, если понадобится, вопрос ведь был всего лишь о файле справки. Который, кстати, не менялся уже года полтора. Это нормально? Для фирмы, которая заботится о своих клиентах? Арсений, как думаешь?
SMH вне форума   Ответить с цитированием
Старый 03.03.2008, 10:37   #264
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: EEPROM

Если бы всё зависело от меня и в сутках было примерно 80 часов, то гораздо больше людей было бы довольно нашей продукцией


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 03.03.2008, 19:43   #265
vladun
Senior Member
 
Регистрация: Feb 2007
Сообщения: 174
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: EEPROM

Арсений, я тут никак не могу отправить переменную МОДбаса в Альтивар 21 (командное слово - 16 бит). Конкретно мне нуно передать в контроллер интеггер "50176" ( т.е. НЕХ "С400") , а контроллер пишет какую-то лабуду типа "-15360" на экране и в компе и привод не запускает. Слово состояния тоже как-то наперекосяк с него читает... в чем может быть тут дело ? Очень нуно мне это....
сенькс.
ЗЫ: с 31 -м альтиваром дружит и с лектусом ОРС - сервером и в кое-как скаде работает (привод ALTIVAR21 имелся ввиду уже три дня ).
vladun вне форума   Ответить с цитированием
Старый 03.03.2008, 20:12   #266
SMH
НЕ сотрудник Segnetics
 
Аватара для SMH
 
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: EEPROM

Цитата:
Сообщение от Arsie
Если бы всё зависело от меня и в сутках было примерно 80 часов, то гораздо больше людей было бы довольно нашей продукцией
Клонирование человека - вот что должно помочь. Остаётся ждать... пока это разрешат на законодательном уровне.
SMH вне форума   Ответить с цитированием
Старый 03.03.2008, 21:21   #267
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 125
Благодарил(а): 239 раз(а)
Поблагодарили: 161 раз(а) в 153 сообщениях
По умолчанию Ответ: EEPROM

vladun, считай, интнегр = два байта. старший бит - знак. какие 50176? вот он и вываливает тебе этот бит знаковый. лонгом передавай, либо нужен макрос перекодировщик анинтегра в интегр.


__________________
C уважением, LordN
LordN сейчас на форуме   Ответить с цитированием
Старый 03.03.2008, 23:27   #268
vladun
Senior Member
 
Регистрация: Feb 2007
Сообщения: 174
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: EEPROM

Каким "лонгом" коллега, когда Частотник "хавает" только Word-ы?, даже переменная имеет вход "интеггер" как еще я могу его передать ?
vladun вне форума   Ответить с цитированием
Старый 03.03.2008, 23:42   #269
AlexG
Senior Member
 
Регистрация: Jan 2006
Сообщения: 172
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: EEPROM

-15360 == 0xС400
Мы вроде тоже сталкивались с таким отображением вордов в SmLogix, но это совершенно не мешало работе программы. Попробуйде что-ли додсуную симулятор слэйва вместо частотника и посмотреть что реально пишется.
AlexG вне форума   Ответить с цитированием
Старый 03.03.2008, 23:46   #270
vladun
Senior Member
 
Регистрация: Feb 2007
Сообщения: 174
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: EEPROM

Вот внизу страницы есть примеры слов управления CMD.
Из скады я отправил такое слово, а вот с контроллера - никак
Вложения
Тип файла: pdf ATV21_ModBus.pdf (289.8 Кбайт, 163 просмотров)
vladun вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
RTFM, или какие вопросы иногда бывают в техподдержке Arsie Форум Segnetics 28 10.03.2023 18:31
Изучаю smconstructor, есть вопросы nordth SMConstructor (вентиляция) 18 17.02.2021 19:21
Вопросы начинающего. mkv Вопросы о Pixel 41 11.04.2018 16:31


Часовой пояс GMT +4, время: 18:30.


Версия vBulletin: 3.8.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2023