 | |
Предыдущие результаты
[b:ee9caf4163]Hawk[/b:ee9caf4163] советую попробовать и алтернативу
"OPC Client Toolkit for Delphi"
[url]http://www.dopc.kassl.de/[/url]
[i:ee9caf4163]In order to offer you, as a Delphi developer, the opportunity to work with the OPC standard in the familiar Borland Delphi manners, we developed a 100% VCL software toolkit (SDK) supporting the most common interfaces and protocols of OPC (Data Access DA, XML DA and Alarms & Events AE).[/i:ee9caf4163]
|
Дело в том что э
На самом деле все сделали просто
- в транзакции MSSQL когда получаем NULL запускаем транзакцию которая запускает .BAT-файл, который в свою очередь перезапускает службы RSSQL.
Ну так как данные в контроллере накапливаються на Compact Flash и передаються в базу c подтверждением от базы - то данные не теряються (просто задерживается передача на некоторое время :) ) и система работает.
Может есть более красивое решение, но у нас времени было 4 часа, т.к. проблемма была на обьекте и выбиваться из графика не было возможности.
SQL-скрипт запускающий батник
[code:1:ca672d8e5b]
EXEC xp_cmdshell 'C:\RSSQL\Restart_rssql.bat',no_output;
[/code:1:ca672d8e5b]
BAT-файл Restart_rssql.bat содержит:
[code:1:ca672d8e5b]
net stop rssql_opccoll
net stop rssql_storer
net stop rssql_tb
net stop rssql_comp_storer
net stop rssql_cfg_server
net start rssql_tb
net start rssql_opccoll
net start rssql_storer
net start rssql_comp_storer
net start rssql_cfg_server
[/code:1:ca672d8e5b]
Кто нить предложите более простое решение...
Лучше всего чтобы этого косяка с NULL вообще не было
|
Привет,
Проект PV1200 очень просто доставить в FactoryTalk View ME используя промежуточный продукт PanelBuilder 1400e (Cat N 2711E-ND1). Платформа для первичного преобразования WIN98, но не XP.
Затем достаточно просто промежуточный проект можно преобразовать в ME. Я сам лично провернул парочку таких проектов с минимальными затратами времени и денег.
Вообще, мой совет пользователям Allen Bradley- заглядывайте почаще в KnowledgeBase, там много интересного есть и есть ответы на 80% ваших вопросов. Заодно и язычек подтяните, я имею в виду английский.
Будут еще вопросы, задавайте. Я иногда по причине ностальгии заглядываю на русскоязычные сайты по автоматике.
Пока.
|
Иногда вылазят а иногда нет. Причем если в свойствах экрана на котором тренд находится выставить Cache after displaying=No - то появляются 100%. Если выставить Yes - то при открытии экрана если навести курсором на Description пера - то 99% что описание пропадет а вместо него появятся ???
|
Проблема (а может и не проблема) такого рода. Есть универсальный тренд. Есть 70 кнопок для вызова трендов с разными данными. По каждой кнопке вызывается универсальный тренд с файлом параметров. Так вот - когда открывается экран с трендом - то внизу тренда есть область, в которой отображается Caption, Value, Min, Max и т.п. И очень часто вместо Caption вылазят ???, хотя в базе тегов Description для данных тегов прописаны. Причем такая гадость проявляется не на всех трендах.
Вопрос: что бы это могло быть?
|
У Вас такой SICAM?
http://www.sicam.de/Daten/micrortu/catalog/micrortu_e.pdf
|
По вопросу:
[b:0e903d1de3]Где в ком. модуле задается адрес Sicam'а ?[/b:0e903d1de3]
Пробую редактировать конфигурационный файл:
(русские комментарии мои - возможно неверные)
[i:0e903d1de3]Session Count : 3 #кол-во каналов (три Sicam'a)[/i:0e903d1de3]
Кроме [IEC-101 Master Session 0] добавил два описания ..Session 1 и 2 следующего содержания:
[i:0e903d1de3][IEC-101 Master Session 1]
Communication Port : 0 #Index of COM port for session (0 or 1)
Sector Count : 1 #1 to 5 sectors for this slave
[u:0e903d1de3]Data Link Address [/u:0e903d1de3]: 1 #Range is 0 to 65535 DL address of slave // адрес Sicam'a
Common Address of ASDU len : 1 #Range is 1 or 2 octets
Inform. Object Address len : 2 #Range is 1, 2, or 3 octets
COT octet count : 1 #1 or 2 (include originator address)
Originator address for COT : 1 #Range is 0 to 255 (if COT len = 2)[/i:0e903d1de3]
C отличием лишь в Data Link Address - присвоил разные значения 0-2.
Также для Session 0,1,2 три блока следующего содержания:
[i:0e903d1de3][IEC-101 Master Session 0 Sector 0]
Common ASDU Address : 1 #Range 0 to 65534 Sector address
Use Time tag commands : N #Use time tags when commands sent[/i:0e903d1de3]
В итоге связь вообще пропала, до востановления предыдущей конфигурации. :o
[b:0e903d1de3]Что не так? Правильный хоть путь?[/b:0e903d1de3]
|
Тем кто меня уже знает:
[i:f18e06f8b5]Потихоньку разбираюсь :) . Спасибо всем за помощь.[/i:f18e06f8b5]
Опишу, что получается:
Отправляю/принимаю команды от эмулятора Sicam следующим образом.
[u:f18e06f8b5]Прием от Sicam:[/u:f18e06f8b5]
Ожидаю появление в ком. модуле по адресу M1:4200
значения "Block ID"=9903 (пришло сообщение). Далее обрабатываю адреса M1:4202-4215 (само сообщение):
[code:1:f18e06f8b5]
4200 Block ID 9903 - было событие
4201 Event Count (1)
0 4202 Session Index (=0)
1 4203 Sector index (=0)
2 4204 COT причина передачи
3 4205 Reserv (=1)
4 4206 Point Index номер команды
5 4207 Database адрес передаваемого значения, № бита после M1:0
6 4208 ASDU Type тип передаваемой величины
7-10 4209
-4212 Time временная метка
11 4213 Qualifier квилификатор
12 4214,
13 4215 Value передаваемое значение
[/code:1:f18e06f8b5]
[u:f18e06f8b5]Передача в Sicam:[/u:f18e06f8b5]
В ком. начиная с адреса M1:4100 записываю следующий блок:
[code:1:f18e06f8b5]
4100 Block ID 9901 - отправка сообщения
4101 Command Count (1)
0 4102 Database адрес передаваемого значения, № бита после M1:0
1 4103 Session Index (=0)
2 4104 Sector index (=0)
3 4105 Data Type тип данных
4 4106 Point Index номер команды
5 4107 Qualifier квилификатор
[/code:1:f18e06f8b5]
[b:f18e06f8b5]Напротив некоторый полей, в скобках, указаны их значения. Назначение этих полей мне пока не ясно. :(
Все ли я делаю так, и что еще нужно предусмотреть?[/b:f18e06f8b5]
На всякий случай еще раз про...
[b:f18e06f8b5]Состав моего контроллера:[/b:f18e06f8b5]
- CPU SLC 5/04
- ком. модуль MVI46-101M (Master)
- и модули I/O
ПО RSLogix500.
Подразумевается общение с Sicam по протоколу IEC 60870-5-101.
|
[quote:75b4b053de="Nikolay"][Ради интереса :D попробывал номер бита (который хранится в N17:1) задать равным 255 - который неопределен. При выполнений на CPU горит FLT -"ошибка". И это происходит при обращении к нему (биту) любой командой не только OTE, но и OTL и OTU.[/quote:75b4b053de]
Правильно так и должно быть.
Но в OTE есть "подпольное действие".
Сделай три опыта с программой в одну строку и сравни:
1) LES N17:1 255 OTL B3:0/[N17:1]
2) LES N17:1 255 OTU B3:0/[N17:1]
3) LES N17:1 255 OTE B3:0/[N17:1]
B3:0 замени на свой файл данных
Только 3-ем случае будет FLT при N17:1=255 (этого бита нет).
|
Да, полное название протокола - IEC 60870-5-101.
В состав моего контроллера входят:
- CPU SLC 5/04
- ком. модуль MVI46-101M (Master)
- и модули I/O
DF-1, DH+ - что такое в описании к CPU есть, честно что это пока для меня загадка.
Отлаживаю в Online. Одновременно общаюсь с эмулятором Sicam'a.
Мне эту работу из другого отдела перекинули, там их программист уволился. Сделано мало. Вопросов куча. До этого я только микроконтроллерами PIC от Microchip занимался.
Железо уже было выбрано до меня.
Также была написана тестовая програмка для одного элемента. Я по ней со всем разбираюсь.
[b:c41fe570d2]Что такое CH0 () и категория ASCII пока незнаю :(, но буду искать.
Отправить и принять команду получается. Но чуствую все не так просто. Следует еще разобраться с потверждением получения команды, ее выполнения, и т.д..[/b:c41fe570d2]
Да, пожалуй для написания общего алгоритма следует хорошенько разобраться с Sicam.
Создам-ка отдельную тему по общению с Sicam :idea:
|
Предыдущие результаты
Ещё результаты |
|
| |
|