|
Связь с внешним миром Modbus, RS232, RS485, Lon и другое. |
|
Опции темы | Поиск в этой теме |
03.06.2008, 22:39 | #1 |
НЕ сотрудник Segnetics
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Считывание архива из SMH\Pixel
Вобщем, такая задача всплывает уже не первый раз... Кое-как это получается сделать, но существующие способы реализации, через сервер ДДЕ и Ексель нельзя признать ни удобными, ни пригодными для тиражирования из-за необходимости подгрузки дополнительного софта и достаточно сложных манипуляций с ним, которые должен производить пользователь. Почему-бы Сегнетиксу не разработать универсальную программу для считывания архивов с возможностью сохранения данных в общепринятых форматах?
|
04.06.2008, 07:46 | #2 |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: Считывание архива из SMH\Pixel
Это было бы неплохо... сделать программу которая бы читала данные их Еprom... просто если сделать чтение из журнала так как это сделано сейчас в екселе и при помощи DDE то программу надо делать OpenSoruce (тоесть выкладывать исходники) так как прочитать архив сделанный самостоятельно не будет никакой возможности.... я так думаю Сегнетиксу стоит над этим подумать....
|
04.06.2008, 10:55 | #3 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 157
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Считывание архива из SMH\Pixel
Open sourse? Пример закрыть не для того, чтобы его нельзя было посмотреть, а для того, чтобы этот пример даже случайно не был испорчен - а в экселе это сделать очень и очень просто.
Я высылаю исходники всем желающим. Наверное мало кто обратил внимание, но к серверу прилагаются примеры работы с DDE в экселе. Работающие простые примеры. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
04.06.2008, 11:09 | #4 | ||
Senior Member
Регистрация: Jul 2007
Адрес: Калининград
Сообщения: 422
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Считывание архива из SMH\Pixel
Цитата:
Цитата:
На мой взгляд, пусть лучше Сегнетикс сконцентрирует усилия на развитие контроллеров и средств разработки... |
||
04.06.2008, 11:17 | #5 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 157
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Считывание архива из SMH\Pixel
За протыми словами "Читала данные из EEPROM" стоит:
1) Динамическое распределение памяти в контроллере влечёт за собой создание собственного протокола передачи данных. 2) Ограниченность производительности контроллера и EEPROM повлечёт общее замедление работы контроллера во время выгрузки архива, как отнесётся к этому пользовательская программа? 3) Как распределить приоритеты между выгрузкой архива и работой программы? 4) Как ограничить количество записей в EEPROM со стороны внешнего устройства? Поясню более детально. 1а) Протокол - данные могут размещаться в разных областях EEPROM, области могут быть различных размеров. 1б) Простое открывание "окна EEPROM в модбас" невозможно, т.к. модбас адресует только 64К, а у нас в Пикселе уже 256К ЕЕPRОМ. 1в) Простое открывание "окна EEPROM в модбас" невозможно, т.к. любые неосторожные действия при подключении стороннего устройства могут повлечь за собой порчу данных в EEPROM. 2а) Если программа не расчитана на "растяжку" времени цикла и/или в установленном времени цикла не оставлено достаточно "запаса" для работы "выгрузки архива", то работа алгоритма такой программы может быть нарушена. 3а) Во время выгрузки архива выгоднее всего работать блоками большой длины. А если в это время программе тоже потребовалось чтение или запись в EEPROM? 3а1) Можно посылать блок заново. Тогда может сложиться ситуация, когда программа постоянно прерывает передачу, что сделает невозможным выгрузку архива. 3а2) Можно посылать блок данных из буфера, но как быть, если программа обновляет данные, которые помещены в буфер? Не забываем о памяти, требующейся для буфера и затратах производительности на копирование данных. 3а3) Можно пересылать данные мелкими партиями. Это повлечёт увеличение как времени передачи, так и потерю производительности контроллера. 3б) Если запись в EEPROM с утилиты и из программы совпадут по времени? Да ещё и в одну и ту же ячейку? Кто главнее? 4а) Если открыть "окно EEPROM в модбас", то как защитить EEPROM от частых перезаписей? Не секрет, что периодические запросы в модбасе используются повсеместно. Такие запросы быстро исчерпают ресурс EEPROM. Можно сначала читать данные и сравнивать их с записанными, но это займёт ресурсы процессора. При большом количестве запросов пользовательской программе будет "некогда" выполняться. К тому же это не защитит от постоянной перезаписи изменяющихся данных. Есть ещё пара-тройка десятков рисков. Но не нужно думать, что легко произносимые вещи также легко реализуются. Вам от контроллера нужна стабильность Windows'95 ??? Мне - не нужна. Именно поэтому реализация каких-либо функций (не только архивных, но и любых других) будет проведена только после снятия ВСЕХ рисков. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
04.06.2008, 12:16 | #6 |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: Считывание архива из SMH\Pixel
А как тогда у вас организуется обмен данными с смлоджиком когда запускаешь программу на контроллере в режиме эмуляции и видишь значение всех входов-выходов?
|
04.06.2008, 12:31 | #7 | |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: Считывание архива из SMH\Pixel
Цитата:
|
|
04.06.2008, 12:38 | #8 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 157
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Считывание архива из SMH\Pixel
В специальном режиме контроллера, при этом всё дико тормозит, данные часто теряются и т.д. Т.е. реализован протокол передачи данных, не учитывающие всех рисков.
Но глобальная разница - данные берутся из быстродействующего ОЗУ, висящего на параллельной шине, а не из тормозного ППЗУ, висящего на последовательной. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
04.06.2008, 12:40 | #9 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 157
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Считывание архива из SMH\Pixel
Все в нашей фирме тоже считают, что рестайлинг SMH2010 и Модули Расширения гораздо важнее чтения архивов и даже важнее, чем маштабирование схемы в лоджике
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
04.06.2008, 19:33 | #10 | |
НЕ сотрудник Segnetics
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Считывание архива из SMH\Pixel
Цитата:
Многие задачи можно возложить на однократно нанимаемых программистов, особенно, если это прикладные задачи, типа озвученной мною. |
|
04.06.2008, 19:41 | #11 | ||
НЕ сотрудник Segnetics
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Считывание архива из SMH\Pixel
Цитата:
Цитата:
|
||
04.06.2008, 20:40 | #12 | |
НЕ сотрудник Segnetics
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Считывание архива из SMH\Pixel
Цитата:
|
|
05.06.2008, 06:01 | #13 |
Senior Member
Регистрация: Jan 2006
Сообщения: 172
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Считывание архива из SMH\Pixel
Рестайлинг это в смысле новый корпус?
|
05.06.2008, 06:06 | #14 |
Senior Member
Регистрация: Jan 2006
Сообщения: 172
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Считывание архива из SMH\Pixel
Можно дать доступ к EEPROM только на чтение. Это снимет часть проблем.
|
05.06.2008, 10:59 | #15 | ||
Senior Member
Регистрация: Jul 2007
Адрес: Калининград
Сообщения: 422
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Считывание архива из SMH\Pixel
Цитата:
Конечно, сам делал. Причем стремился заранее предусмотреть возможный "геморрой" и избавиться от него еще на этапе проектирования. Цитата:
|
||
05.06.2008, 11:05 | #16 | |
Senior Member
Регистрация: Jul 2007
Адрес: Калининград
Сообщения: 422
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Считывание архива из SMH\Pixel
Цитата:
|
|
05.06.2008, 11:38 | #17 |
Senior Member
Регистрация: Jan 2006
Сообщения: 172
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Считывание архива из SMH\Pixel
В нормальных скадах с чтением архивов из контроллеров тоже не все гладко. Для этого вроде как существует OPC HDA, но он далеко не везде поддерживается.
|
05.06.2008, 12:06 | #18 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 157
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Считывание архива из SMH\Pixel
Цитата:
Сделать софт, вынимающий данные из определённого написанного нами макроса просто. Сложно его отладить так, как был отлажен, например, сервер, выпускающийся уже несколько лет. И как быть, если вам макрос не подходит? Вы же наверняка будете в первых рядах тех, кто скажет "Через попу сделали!" __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
05.06.2008, 12:14 | #19 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 157
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Считывание архива из SMH\Pixel
Не путайте. Сторонних разработчиков нанимают, чтобы решить отдельную _законченную_ задачу. Типа, написать драйвер или утилиту.
А тут нужно разобраться в текущей структуре, реализовать задачу и встроить в эту структуру так, чтобы она ничему не помешала. Заодно решить проблему совместимости с параллельными разработками. Ещё нужно всё мощно протестировать. Если всё сделать силами одного человека, то ничего хорошего не получится. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
05.06.2008, 12:16 | #20 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 157
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Считывание архива из SMH\Pixel
Нет.
Вообще, SMH2010 сменил оформление уже раз 6-7 за свою жизнь __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
05.06.2008, 12:18 | #21 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 157
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Считывание архива из SMH\Pixel
Хорошо, жду от вас проекта такого макроса. Макроса, позволяющего передавать _любые_ данные в _любюм_ количестве.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
05.06.2008, 12:21 | #22 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 157
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Считывание архива из SMH\Pixel
А как поступить, если кого-нибудь не устроит ни объём, ни содержание (количество данных) стандартного макроса?
Кстати, упомянутое "только чтение" - это решение самых простых проблем. Что делать со сложными? __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |