CODESYS форум

Добро пожаловать на официальный форум CODESYS, 3S-Smart Software Solutions GmbH | A member of the CODESYS Group
Deutsche Version English version russian version 
Текущее время: Сб авг 24, 2019 8:56 am

Часовой пояс: UTC+01:00




Начать новую тему  Ответить на тему  [ 15 сообщений ] 
Автор Сообщение
 Заголовок сообщения: PLCWinNT
СообщениеДобавлено: Вт фев 26, 2008 12:16 am 
Не в сети

Зарегистрирован: Сб фев 16, 2008 11:52 pm
Сообщения: 4
вопрос простой, но задача возможно не решаема ...

Как из PLCWinNT использовать com потр компа?
е.т. напрямую работать с портом?
зы очень надо ...
готовлю проект, эмулирую устройтва работающие с плк (это не сложно натисать), но как отработать обмен по 485/232 без com порта? в нагрузку протол обмена не стандартный...

или так нельзя, или что-то пропустил?

_________________
...


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Вт фев 26, 2008 1:51 pm 
Не в сети
Site Admin

Зарегистрирован: Ср июл 20, 2005 2:32 pm
Сообщения: 153
В PLC WinNT нужно в Менеджере библиотек добавить в проект биб-ку SysLibCom (см. вложенное описание) и работать с COM портом. Ее не достаточно?

_________________
_IP_


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 27, 2008 5:35 am 
Не в сети

Зарегистрирован: Сб фев 16, 2008 11:52 pm
Сообщения: 4
Igor Petrov писал(а):
Ее не достаточно?

должно быть достаточно, но не инициализируется порт ... как следствие не работает ... :(

_________________
...


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 27, 2008 9:19 am 
Не в сети
Site Admin

Зарегистрирован: Ср июл 20, 2005 2:32 pm
Сообщения: 153
Порт нужно открыть и настроить. Пошаговые примеры для приема и передачи вложены.

_________________
_IP_


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 27, 2008 5:04 pm 
Не в сети

Зарегистрирован: Сб фев 16, 2008 11:52 pm
Сообщения: 4
Igor Petrov писал(а):
Порт нужно открыть и настроить. Пошаговые примеры для приема и передачи вложены.


как с вами туго :D
на живом плк открывается и настраивается ... там другая проблема ...

_________________
...


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 27, 2008 10:23 pm 
Не в сети

Зарегистрирован: Сб фев 16, 2008 11:52 pm
Сообщения: 4
прошу прошения ...
один раз запустил ваш пример
+
один раз запустил свой
=
косяк гуляет :!:

то есть именно не хочет подхвативаться порт... :(

..............

отлавил косяк - не освобождается порт даже когда делаешь сброс(оригинал)

_________________
...


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Чт фев 28, 2008 12:31 pm 
Не в сети
Site Admin

Зарегистрирован: Ср июл 20, 2005 2:32 pm
Сообщения: 153
1) Запускаю вложенную выше программу передачи по Com1 на PLC WinNT (V2.4.7.2. от 25 февраля 2008). Она работает, вижу передачу сообщений в терминале. Выполняю заводской сброс (original). Перезагружаю программу заново, запускаю, наблюдаю передачу в терминале... Такая последовательность действий была?

2) Если мне нужно чтобы при команде 'сброс' выполнялись некие дополнительные действия (например, связанные с работой внешних библиотек), то в менеджере задач активирую событие Before reset и пишу соответствующий обработчик. (Сам исполнитель SoftPLC в принципе не обязан знать что делают прикладные программы и внешние биб-ки и вмешиваться в их работу, иначе это действительно будет 'косяк').

Речь идет о демо-версии PLC WinNT?


Вернуться к началу
 Заголовок сообщения: .
СообщениеДобавлено: Чт фев 28, 2008 7:44 pm 
Не в сети

Зарегистрирован: Сб фев 16, 2008 11:52 pm
Сообщения: 4
PLCWinNT v2.4.6.1 demo
...
запускаю 1-й пример - работает
сброс(любой)
отключаюсь
запускаю 2-й ... а порт не ау

-------------------------
поправлюсь:
просто сброс плк и порт уже не ау.

_________________
...


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Вт июн 30, 2009 10:07 am 
Не в сети

Зарегистрирован: Пт июн 19, 2009 1:50 pm
Сообщения: 1
Вообще достало - на стадии отладки при любой ошибки, т.е. отсутствие корректного выхода из программы с закрыванием портов функцией SysComClose, приходится перезапускать комп потому что порт намертво остаётся заблоченым. Есть ли возможность каким то другим способом, не ребутом, освободить порт?
И будте добры дать ссылку на пример работы с СОМ портом, в этой теме я её не нашёл.... желательно для третей версии CodeSys'а...


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Вт июн 30, 2009 10:21 am 
Не в сети

Зарегистрирован: Сб фев 16, 2008 11:52 pm
Сообщения: 4
crusash писал(а):
.... желательно для третей версии CodeSys'а...

1. с третьим cds под какой плк работаешь?
2. где-то была программка для принудительного освобождения портов или исходник (не помню) ... поищи.

_________________
...


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Вт июн 30, 2009 10:25 am 
Не в сети

Зарегистрирован: Сб фев 16, 2008 11:52 pm
Сообщения: 4
Igor Petrov писал(а):
1) Запускаю вложенную выше программу передачи по Com1 на PLC WinNT (V2.4.7.2. от 25 февраля 2008). Она работает, вижу передачу ...


что, где, куда вложенную?

_________________
...


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Вт июн 30, 2009 11:25 am 
Не в сети
Site Admin

Зарегистрирован: Ср июл 20, 2005 2:32 pm
Сообщения: 153
Похоже, что потерялось вложение, повторяю. Пример для V2.3.
Биб-ка SysLibCom примитивно проста, она просто транслирует все вызовы функций в соответствующие вызовы функций API Windows, более ничего.


Вложения:
rs232_ex.ZIP [12.9 КБ]
260 скачиваний
SysLibCom_RU.pdf [59.75 КБ]
2105 скачиваний
Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Ср июл 01, 2009 10:11 am 
Не в сети

Зарегистрирован: Пт июн 19, 2009 1:50 pm
Сообщения: 1
Странно, настроил программу в CDS v3.3 для работы с термостатом ВМ8036 по последовательному порту. Программа открывает порт, производит запрос, принимает данные, закрывает порт. Всё хорошо, тока даже после корректного выхода и полного выключения CDS программа постовляемая в комплекте с термостатом говорит что порт закрыт и отказывается работать, а кодесис при повторном включении нормально отрабатывает программу. Значит в какомто месте демоны КоДеСис продолжают удерживать порт. Как с этим боротся?
Но если я выхожу из своей программы не корректно и порт не закрыт, при повторном включении она будет выводить ошибку, даже с сохраннённым дискриптом порта. Команда принудительного закрытия порта
SysComClose(ComPort);
где
ComPort:Com_ports:=1;
приводит к мёртвому зависанию...


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Пт авг 07, 2009 11:13 am 
Не в сети

Зарегистрирован: Ср июн 20, 2007 12:10 pm
Сообщения: 31
в функцию SysComClose надо передавать дескриптор порта, а не его номер.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Пн авг 24, 2009 8:05 am 
Не в сети

Зарегистрирован: Пт июн 19, 2009 1:50 pm
Сообщения: 1
Avgur писал(а):
в функцию SysComClose надо передавать дескриптор порта, а не его номер.

Это то понятно, просто дело в том что дескриптор потерян т.к. программу я завершил не корректно, а Кодесис порт не отпустил....
Я понимаю, что для ПЛК это не проблема - после завершения программы следует завершение работы ПЛК, но на стадии отладки возможность принудительного освобождения порта не помешала бы...


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 15 сообщений ] 

Часовой пояс: UTC+01:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя


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

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB