1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Siemens S7-300 и open TCP - вопросы по использованию FB

PLC, прочие контроллеры, промышленные компьютеры, операторские панели
Ответить

Автор темы
Sardi
новенький
новенький
Сообщения: 1
Зарегистрирован: 25 июл 2012, 15:02
Имя: Владимиров Дмитрий Андреевич

Siemens S7-300 и open TCP - вопросы по использованию FB

Сообщение Sardi »

Доброго времени суток, коллеги.

Столкнулся с задачей реализовать TCP-соединение между контроллером 315-2 PN/DP и сторонним оборудованием (Com Server #58631 производства W&T, это преобразователь TCP-RS422) через встроенный сетевой интерфейс контроллера. Для этой цели используются FB63-67 (TSEND, TRCV, TCON, TDISCON и TUSEND) из стандартной библиотеки Siemens, которые надо использовать в данном случае. При построении связи через интегрированные порты NetPro не используется.

При открытии соединения через TCON (в мануале написано, что это асинхронный блок) с REQ = 1 результат работы после первого цикла равен 16#7000, что по мануалу означает "No job processing active". Преобразователь, в свою очередь, говорит, что связи нет. Ок, вешаю обращение к блоку постоянным, условием выхода из обращения ставлю status = 16#0000. Снова запускаю программу, и через пару циклов имею на руках соединение в формате "контроллер 315 - клиент, преобразователь - сервер".

Вопрос номер раз: правильно ли я так делаю, ставя выход из обращения к блоку по достижении успеха? В голову сразу же закрадываются ошибки, связанные с невозможностью установить связь, и как следствие, зацикливание.
Вопрос номер два: Siemens сам определяет порты, через которые идет это TCP-соединение? Сейчас по информации с ком-сервера для связи используется порт 50382, а до этого был 50381.

Заранее спасибо.

Василий Иванович
авторитет
авторитет
Сообщения: 878
Зарегистрирован: 21 авг 2009, 14:25
Имя: Василий Иванович
Благодарил (а): 1 раз
Поблагодарили: 3 раза

Re: Siemens S7-300 и open TCP - вопросы по использованию FB

Сообщение Василий Иванович »

1. Все правильно. Точно также будете делать и прием-передачу.
2. Адреса вместе с портами надо заранее прописывать в DB заданного формата. Формат можете скачать, сходив по ссылке, данной Вам Кухаренко с сименсовского форума.
Ответить

Вернуться в «Средний уровень автоматизации (управляющий)»