Работа с Com портами в WinCC посылка и прием
Хоружевский Роман; 20.8.02

Как организовать посылку и прем из Com порта на WinCC исполльзуя OLE объект или C++

Re: Работа с Com портами в WinCC посылка и прием
siemargl; 21.8.02

just write wincc .chn driver ;-))

Работа с Com портами в WinCC посылка и прием
Хоружевский Роман; 21.8.02

Спасибо за ответ некому "siemargl", но вы мне предложили использовать драйвер обмена по последовательному порту для SIMATIC, а мне нужно просто послать на порт посылку и принять ее. Например есть лабораторные весы Mettler Toledo которые могут управляться через Com порт, им нужно задать вопрос в виде команды которую передать на порт и получить от них ответ. Вот и вся "проблема"

Re: Работа с Com портами в WinCC посылка и прием
Евгений Трунов; 22.8.02

Если посылка разовая, то возможно включение в С-скрипт вызовов функций Win32 API типа ReadFile и WriteFile для чтения/записи из/в порта. Есть объекты АctiveХ, инкапсулирующие в себе низкоуровневый обмен данными с СОМ-портами - можно разместить их на формы в Graphic Designer'e.

Если же необходимо связать данные о весе с каким-либо тегом WinCC, то, действительно, нужно писать драйвер канала .chn либо OPC-сервер.
Re: Работа с Com портами в WinCC посылка и прием
Iva; 22.8.02

Не соглашусь с Евгением Труновым насчёт того, что если надо связать данные о весе с тегом то требуется драйвер канала или OPC-сервер. Используя в скрипте команды чтения-записи COM-port можно тут же записывать полученный вес в тег. А скрипт пусть будет глобальным и крутится с какой-то периодичностью.

Работа с Com портами в WinCC посылка и прием
Хоружевский Роман; 22.8.02

Ребята советы Ваши понятны, но есть ли у кого нибудь пример скрипта с открытием, закрытием, приемом из порта. А то у меня опыта с такими "вещами" нет и я не знаю даже с чего начинать "рисовать" программулину.

P.S.
Спасибо всем за ответы.
Re: Работа с Com портами в WinCC посылка и прием
Iva; 22.8.02

Может за тебя ещё проект сделать? Смотри MSDN, заодно и опыт решения нетривиальных задач получишь. Если не справишься, то покупай у Siemens весы Siwarex с готовым софтом.

Работа с Com портами в WinCC посылка и прием
Хоружевский Роман; 22.8.02

Ну проект за меня стряпать не нужно, своих хватает уже реализованных. Просто как всегда хотчестся усё побыстрее заделать. Но походу без букварей и многих часов стучания по клавишам не обойтись.

Re: Работа с Com портами в WinCC посылка и прием
Евгений Трунов; 22.8.02

Iva, чтобы _только связать_ и вызвать SetValue(), действительно, достаточно С-скрипта. Но если нежелательно замедлять работу всей системы периодическим разбором Р-кода функции ReadFile, то тег должен быть внешним и связанным с каким-либо каналом .chn. Такая архитектура :).

Re: Работа с Com портами в WinCC посылка и прием
siemargl; 3.9.02

Ну, слава богу, со мной согласились ;-)

Re: Работа с Com портами в WinCC посылка и прием
Костенич Дмитрий; 4.9.02

Ну а я все-таки не соглашусь с siemargl - *.chn драйвер или OPC-сервер не единственные варианты.

НАМНОГО проще, быстрее, а в данном случае и удобнее, будет сделать следующее:
1. Прием из COM-порта. Пишется программка, выполняющая мониторинг событий COM-порта (с помощью стандартной системной функции WaitCommEvent) и, при получении чего-нибудь осмысленного, записывающая это значение в тег WinCC (с помощью функции ODK DMSetValue). Программка указывается в списке программ для загрузке в RunTime. И все - после загрузки работает абсолютно независимо от WinCC.
2. Вывод в COM-порт. Создается глобальный скрипт, срабатывающий по изменению тега. Скрипт выполняет запись значения этого тега в COM-порт (с помощью хотя-бы WriteFile). И опять все - никаких циклических вызовов.

Единственный тонкий момент - теги на прием и посылку данных должны быть разные (RX и TX).

Ну а если нужно почитать как работать в Win32 API с COM-портами, то читайте MSDN - раздел "Platform SDK\windows Base Service\Files and I/O\Communications"

Желаю удачи!!!