Страница 19 из 25 ПерваяПервая ... 91718192021 ... ПоследняяПоследняя
Показано с 181 по 190 из 248

Тема: драйвер Delphi

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Может быть все же "Write(True);". вместо "Write(1);". Проверьте соответствие типа переменной в Delphi и CoDeSys (Boolean и Bool, к примеру). Так же попробуйте разделить команду на части - у Вас сейчас и создание/добавление новой группы и команда на изменение значения Item в одной строке. Здесь, на ветке есть рабочие примеры - посмотрите.
    Ну и все-таки выложите весь проект, может быстрее все выяснится.

  2. #2
    Пользователь
    Регистрация
    31.08.2010
    Адрес
    Брест
    Сообщений
    23

    По умолчанию

    OPC.OPCGroups.GetOPCGroup('Group1').OPCItems.Item( 'PLC1:.Out1').Write(True);

    Не работает всё равно. Вылетает с ошибкой.

    Попробовал как вы советовали:
    Item1:= OPC.OPCGroups.GetOPCGroup('Group1').OPCItems.AddIt em ('PLC1:.OUT2', 1);
    Item1.Write(True);

    Всё заработало!

    Огромное спасибо за помощь.
    Может есть ещё небольшой хелпик по остальным командам ОРС?

  3. #3

    По умолчанию

    рад за вас. на счет "хелпика" - нет, к сожалению. все "методом тыка": пошло/не пошло. сами понимаете: иногда точка критичную роль играет. попробуйте, все должно получиться, тем более первый шаг вы уже сделали. если что - пишите. чем можем..., как говориться. удачи!

  4. #4
    Пользователь
    Регистрация
    31.08.2010
    Адрес
    Брест
    Сообщений
    23

    По умолчанию

    сразу возник ещё один вопросик.
    как можно просмотреть список доступных переменных на сервере орс, програмным путём из дельфи?

  5. #5

    По умолчанию

    Доступность переменных на OPC-сервере Вы сами определяете при конфигурировании. Соответственно их наименованию (которые вы самостоятельно им дадите) и обращайтесь к ним из Делфи. К примеру: 'PLC1:.Out1' или 'PLC2:.Vhod8' - как Вам угодно. Они по-определению доступны, т.к. Вы сами предоставили им эту "доступность". Так что список переменных Вы "составляете" сами в конфигураторе ПЛК CoDeSys.
    Соответственно, определение именно программным путем этих переменных просто теряет всякий смысл. Но, если хотите просто посмотреть, как для Delphi будут выглядеть данные Вами названия - воспользуйтесь (к примеру) эксплорером от Кассл, который устанавливается вместе с OPC-Сервером (Кассловским, разумеется). Он бесплатен и на этой ветке есть ссылки на него и описание процеса работы. Там добавите свой сервер (CoDeSys-овский - 'CoDeSys.OPC.02'), затем свою группу и у вас появится перечень всех Ваших доступных для Delphi переменных, входящих в нее.
    P.S. Посетите, кстати, сайт http://www.opcfoundation.org/Search.aspx . Возможно, в чем то он Вам поможет. Наберите в Search "Delphi" и получите по крайней мере 60 веток с исходниками, обсуждением возникающих проблем и т.д. К примеру: http://www.opcfoundation.org/forum/viewtopic.php?t=2042. Удачи!
    Последний раз редактировалось AWA1971; 12.09.2010 в 19:09.

  6. #6

    По умолчанию

    Добрый день!
    У меня при выполнениии V := CreateOleObject('OPC.Automation');
    выплёвывается ошибка "Не верная попытка доступа к адресу памяти".
    у меня XP SP2 , OPCDAAutu.dll взят из 'OPC-Client.rar' у AWA1971 и весит он 228 К, а у меня есть эта dll от MatrikonOPC весом в 136.
    Кто-нибуть подскажите пожалуста, в чем может быть причина отказа в регистрации обьекта.

  7. #7

    По умолчанию

    Сервис-пак2, возможно, что то не понимает. Попробуйте реализовать создание библиотеки в своей операционке самостоятельно. Выглядит это так:
    Пуск –> Выполнить -> tlibimp.exe -P+ OPCDAAUTO.dll -> ОК. В Documents end Setting ищем получившиеся файлы: OPCAutomation_TLB.pas и OPCAutomation_TLB.dcr. Копируем их в папку проекта. Добавляем в раздел USES модуль OPCAutomation_TLB.
    Надеюсь, что поможет.

  8. #8

    По умолчанию

    Спасибо за ответ.
    tlibimp.exe - это первое, что я попробовал зделать. Сегодня повторил ещё раз для верности. Эффект нулевой. Попробовал запустить задачку на чистом компе с Sp3 - ответ тотже : "Не верная попытка доступа к адресу памяти".

  9. #9

    По умолчанию

    небольшую скаду можно делать на конструкторе программ Хиасм http://hiasm.com/. Он бесплатен. В основе тот же делфи.
    Единственное он не работает с OPC, но я использую DDE. соединяю с CoDeSys Gateway DDE Server или Lectus server.
    http://i050.radikal.ru/1012/c0/d91e0b5a8412.bmp
    http://i039.radikal.ru/1012/a1/53b9ba9c87f2.bmp

  10. #10

    По умолчанию

    Цитата Сообщение от Дмитрий Ф Посмотреть сообщение
    небольшую скаду можно делать на конструкторе программ Хиасм http://hiasm.com/. Он бесплатен. В основе тот же делфи.
    Единственное он не работает с OPC, но я использую DDE. соединяю с CoDeSys Gateway DDE Server или Lectus server.
    http://i050.radikal.ru/1012/c0/d91e0b5a8412.bmp
    http://i039.radikal.ru/1012/a1/53b9ba9c87f2.bmp
    Дмитрий вопрос, стабильно ли работает DDE Server-а, не было вылетов. Просто мне нравится Hiasm? хотел сделать небольшую программку для дома без заморочек OPC.

Страница 19 из 25 ПерваяПервая ... 91718192021 ... ПоследняяПоследняя

Ваши права

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