08.02.2008, 13:22 | #241 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Вопросы о контроллерах
А у нас данные хранятся в упакованном формате и поэтому прямой зависимости даже к количеству занимаемой памяти не провести. Одна программа из 1000 блоков занимает один объём памяти, другая - другой, процентов на 30 больше или меньше. Поэтому любые попытки сосчитать объём свободной памяти лишены смысла. И именно поэтому у нас нет индикатора свободной памяти. Пока не нашли способ корректно всё подсчитать.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
08.02.2008, 13:23 | #242 |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: Вопросы о контроллерах
ну все-таки под неё отвотдится како-то определнное место. Я не прошу сказать мне связь между кол-вом блоков и занимаемой памяти. Мне интересно склько её отведено в контроллере.
|
08.02.2008, 13:32 | #243 |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: Вопросы о контроллерах
Почему вообще спрашиваю... У нас есть задачит автоматизировать сложные системы вентиляции с резервированием , кучей предподогревов и т.д. Использовать для этого контроллер SMH во-первых неудобно, во-вторых программа упралвния не влезет в один кнтроллер, а распределять её между несколькими неудобно. Вопрос стоит о выборе контрорллера. По входам-выходам все понятно, НО я не могу точно знать влезет ли в контроллер моя программа. Как бы не получилось так, что когда дело дойдет до программ - выяснится что в контроллере слишком мало места.
|
08.02.2008, 13:45 | #244 |
Senior Member
Регистрация: Jul 2006
Сообщения: 176
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Вопросы о контроллерах
Если на SMH отказаться от реализации меню (разветвленное меню с вложениями - как делает конструктор) и т.п., то места (по крайней мере по блокам) будет на 1000-1500 больше для самого алгоритма. Для Меню можна поставить дополнительный контроллер (только для этих целей) и обмениваться данными по сети.
Если опишите, что за установка и основные моменты ее работы, то постараюсь основываясь на своем опыте ответить - влезет или нет. (С невлезанием уже сталкивался, но когда на SMH было памяти в два раза меньше). |
08.02.2008, 16:09 | #245 | |
Senior Member
Регистрация: Jan 2006
Сообщения: 172
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Вопросы о контроллерах
Цитата:
|
|
08.02.2008, 16:23 | #246 | |
Senior Member
Регистрация: Jan 2006
Сообщения: 172
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Вопросы о контроллерах
Цитата:
|
|
11.02.2008, 08:27 | #247 |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: Вопросы о контроллерах
А что тогда предложите в качестве альтернативы?
|
11.02.2008, 10:49 | #248 |
Senior Member
Регистрация: Jan 2006
Сообщения: 172
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Вопросы о контроллерах
Что-нибудь с Isagraf, CoDeSys или другой развитой средой программирования, позволяющей писать хорошо структурированные модульные программы.
PS: На I8000 со штатным Isagraf'ом тоже можете особо не смотреть, там быстро заканчивается память под программу и глюков хватает. |
11.02.2008, 11:02 | #249 |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: Вопросы о контроллерах
I8000 мы сразу отмели. А что про WinCon скажете? Или Fastwell?
|
11.02.2008, 16:46 | #250 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Вопросы о контроллерах
В контроллер "влезает" 3000 "условных блоков" (т.е. подавляющее большинство программ упиралось в объём 2800-3200 блоков), максимально достижимое число примерно 5200, минимально, что я знаю - примерно 10-15 (забитые по самые уши блоки Screen(str)).
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
27.02.2008, 20:30 | #251 |
НЕ сотрудник Segnetics
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
EEPROM
В хелпе для СМЛОДЖИКС, относительно блоков ЕЕПРОМ написано следующее:
"Тип данных - bool, int(2 байта), long(4 байта), real(4 байта)." Это следует понимать, как объём памяти, который занимает в ЕЕПРОМ та или иная переменная? Или как-то иначе? Сомнение вызывает то, что и бул, и инт занимает 2(!!!) байта, а лонг и реал 4(!!!) байта. Мне это совершенно не понятно. Как правильно посчитать максимальный объём для пользовательской еепром? |
28.02.2008, 11:06 | #252 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: EEPROM
Для блоков EEPROM объём занимаемой памяти считается "объём записи" * "количество записей" + 2.
Т.е. для EEPROM(real), глубиной 100 записей будет выделено 4*100+2=402 байта. По поводу bool - вижу, в описании действительно возможно двоякое толкование, bool занимает 1 байт. Всё остальное - верно. Что именно вызывает у вас трудности в понимании "long" и "real"? __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
28.02.2008, 14:33 | #253 | |
НЕ сотрудник Segnetics
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: EEPROM
Цитата:
|
|
28.02.2008, 14:43 | #254 | |
НЕ сотрудник Segnetics
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: EEPROM
Цитата:
|
|
28.02.2008, 14:49 | #255 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: EEPROM
Куда округляет?
Целые числа и числа с плавающей точной хранятся в настолько разных форматах, что их диапазоны напрямую сравнивать некорректно... В лонге же вы дробные числа не зададите. А в риле дроби отнюдь не из воздуха берутся __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
28.02.2008, 14:59 | #256 | |
НЕ сотрудник Segnetics
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: EEPROM
Цитата:
|
|
28.02.2008, 15:18 | #257 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: EEPROM
Практически во всех компьютерах, начиная с 1987 года, используется именно этот стандарт хранения.
Стандарт подразумевает разную точность хранения, в зависимости от занимаемого объёма памяти, в нашем случае 4 байта, что даёт 6 знаков на мантиссу. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
28.02.2008, 15:21 | #258 | |
Senior Member
Регистрация: Jan 2006
Сообщения: 172
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: EEPROM
Цитата:
|
|
28.02.2008, 15:30 | #259 | |
НЕ сотрудник Segnetics
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: EEPROM
Цитата:
|
|
29.02.2008, 11:28 | #260 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: EEPROM
Хм... За несколько лет выпуска контроллера это первый вопрос по поводу хранения чисел с плавающей точкой
Думаю, это стоит добавить в справку. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
29.02.2008, 18:57 | #261 | |
НЕ сотрудник Segnetics
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: EEPROM
Цитата:
|
|
29.02.2008, 22:00 | #262 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 173
Благодарил(а): 242 раз(а)
Поблагодарили:
166 раз(а) в 158 сообщениях
|
Ответ: EEPROM
32бита для риала - это уже дабл, куда уж больше? эт же не писюк
хотя наверно для маньяков можно былоб соорудить что-то типа макроса на 64битные риалы. |
01.03.2008, 18:03 | #263 | |
НЕ сотрудник Segnetics
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: EEPROM
Цитата:
|
|
03.03.2008, 10:37 | #264 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: EEPROM
Если бы всё зависело от меня и в сутках было примерно 80 часов, то гораздо больше людей было бы довольно нашей продукцией
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
03.03.2008, 19:43 | #265 |
Senior Member
Регистрация: Feb 2007
Сообщения: 174
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: EEPROM
Арсений, я тут никак не могу отправить переменную МОДбаса в Альтивар 21 (командное слово - 16 бит). Конкретно мне нуно передать в контроллер интеггер "50176" ( т.е. НЕХ "С400") , а контроллер пишет какую-то лабуду типа "-15360" на экране и в компе и привод не запускает. Слово состояния тоже как-то наперекосяк с него читает... в чем может быть тут дело ? Очень нуно мне это....
сенькс. ЗЫ: с 31 -м альтиваром дружит и с лектусом ОРС - сервером и в кое-как скаде работает (привод ALTIVAR21 имелся ввиду уже три дня ). |
03.03.2008, 20:12 | #266 | |
НЕ сотрудник Segnetics
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: EEPROM
Цитата:
|
|
03.03.2008, 21:21 | #267 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 173
Благодарил(а): 242 раз(а)
Поблагодарили:
166 раз(а) в 158 сообщениях
|
Ответ: EEPROM
vladun, считай, интнегр = два байта. старший бит - знак. какие 50176? вот он и вываливает тебе этот бит знаковый. лонгом передавай, либо нужен макрос перекодировщик анинтегра в интегр.
|
03.03.2008, 23:27 | #268 |
Senior Member
Регистрация: Feb 2007
Сообщения: 174
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: EEPROM
Каким "лонгом" коллега, когда Частотник "хавает" только Word-ы?, даже переменная имеет вход "интеггер" как еще я могу его передать ?
|
03.03.2008, 23:42 | #269 |
Senior Member
Регистрация: Jan 2006
Сообщения: 172
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: EEPROM
-15360 == 0xС400
Мы вроде тоже сталкивались с таким отображением вордов в SmLogix, но это совершенно не мешало работе программы. Попробуйде что-ли додсуную симулятор слэйва вместо частотника и посмотреть что реально пишется. |
03.03.2008, 23:46 | #270 |
Senior Member
Регистрация: Feb 2007
Сообщения: 174
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: EEPROM
Вот внизу страницы есть примеры слов управления CMD.
Из скады я отправил такое слово, а вот с контроллера - никак |