|
динамическое создание переменных, присвоение значений из OPC и запись по таймеру в БД
|
|||
---|---|---|---|
#18+
всем привет, мастера эксперты и люди с многолетним стажем, посоветуйте что-нибудь!!! имеется OPC сервер и БД postgres, за счёт них я написал костыль - шлюз, который считывает данные из OPC и пишет их в базу, если читать значений не много, правлю код и хорошо. вообщем мне это надоело, постоянно править код, да и запросы пошли, считать например 500 адресов тегов с OPC и записать в БД, сидеть писать строчки не охота. нашёл в инете такой костыль по динамическому созданию переменных: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28.
вроде бы оно, циклом создаю нужное мне кол-во переменных со значениями, ВОПРОС! как теперь мне динамически их писать в БД? есть такая мысль, например создали 500 пер-х и тут же в строке для вставки в бд как то бъявить 500 полей и 500 переменных и на таймер пихнуть ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2015, 14:54 |
|
динамическое создание переменных, присвоение значений из OPC и запись по таймеру в БД
|
|||
---|---|---|---|
#18+
wild888, а че ОПС сам не пишет в Постгри? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2015, 14:58 |
|
динамическое создание переменных, присвоение значений из OPC и запись по таймеру в БД
|
|||
---|---|---|---|
#18+
ViPRos, к сожалению нет ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2015, 14:59 |
|
динамическое создание переменных, присвоение значений из OPC и запись по таймеру в БД
|
|||
---|---|---|---|
#18+
wild888, да создай какой нить ини файл с типами и наименованиями тегов (а то и хсд модель номальную) создай внутри дикшинари и заполни всей этой байдой (датасет) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2015, 15:04 |
|
динамическое создание переменных, присвоение значений из OPC и запись по таймеру в БД
|
|||
---|---|---|---|
#18+
ViPRos, файл у меня есть правда txt там адреса из опс и перемен-ее для чтения и записи в бд, вот по этому файлу я и создаю методом выше переменные... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2015, 15:10 |
|
динамическое создание переменных, присвоение значений из OPC и запись по таймеру в БД
|
|||
---|---|---|---|
#18+
wild888, а зачем тебе создавать "переменные"? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2015, 15:12 |
|
динамическое создание переменных, присвоение значений из OPC и запись по таймеру в БД
|
|||
---|---|---|---|
#18+
у тебя есть наименования тегов ты их читаешь из сервера по имени (у тебя ж они есть)в какой то массив (дикшинари) а оттуда в БД или я что то не понимаю? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2015, 15:13 |
|
динамическое создание переменных, присвоение значений из OPC и запись по таймеру в БД
|
|||
---|---|---|---|
#18+
ViPRos, сервера опс разные, фаствелл да там по имени, а если simaticNet он вообще не видит ни одного адреса пока сам не объявишь...я в файле определяю только тип соединения адресное пространства блока данных. и имя объекта для этого адреса и в проге уже привожу к нужному мне типу, а работа потоков описана в длл-ке, куда мне не хочется лезть ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2015, 15:20 |
|
динамическое создание переменных, присвоение значений из OPC и запись по таймеру в БД
|
|||
---|---|---|---|
#18+
wild888я в файле определяю только тип соединения адресное пространства блока данных. и имя объекта для этого адреса и в проге уже привожу к нужному мне типу ну дык опиши и типы, и имена полей в этом файле ( 18226872 ) программа ничего о конкретных полях, серверах, адресах ничего и знать не должна ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2015, 15:26 |
|
динамическое создание переменных, присвоение значений из OPC и запись по таймеру в БД
|
|||
---|---|---|---|
#18+
wild888, ок, значит обязательно надо объявить переменную с заданным именем и типом ну надо так надо хотя откуда 100% уверенность в том , что Не надо:) но доказывать не буду, себе дороже :) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2015, 15:27 |
|
динамическое создание переменных, присвоение значений из OPC и запись по таймеру в БД
|
|||
---|---|---|---|
#18+
вообщем всё переделал рефлексию убрал вообще, в итоге формирую в строке такой запрос: Код: c# 1.
вот только в VALUES хотелось бы увидеть такой формат: VALUES ('"+cl.ReadInt("int",out err).ToString()+"') можно вообще так строку сформировать?или м.б есть другой подход? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 10:40 |
|
динамическое создание переменных, присвоение значений из OPC и запись по таймеру в БД
|
|||
---|---|---|---|
#18+
stringbuilder посмотри ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 12:36 |
|
динамическое создание переменных, присвоение значений из OPC и запись по таймеру в БД
|
|||
---|---|---|---|
#18+
Konst_One, да, как раз его юзаю) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 12:48 |
|
динамическое создание переменных, присвоение значений из OPC и запись по таймеру в БД
|
|||
---|---|---|---|
#18+
stringbuilder не помогает... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 13:26 |
|
|
start [/forum/topic.php?fid=20&fpage=75&tid=1401159]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
72ms |
get tp. blocked users: |
2ms |
others: | 332ms |
total: | 488ms |
0 / 0 |