Главная » Siemens » S7-1200 » 6ES7241-1AH30-0XB0, SIMATIC S7-1200, CM 1241 RS232

6ES7241-1AH30-0XB0, SIMATIC S7-1200, CM 1241 RS232

Цена по запросу

Коммуникационный модуль CM 1241 RS232 для SIMATIC S7-1200. Интерфейс RS232, поддержка ASCII, USS, Modbus RTU, IP20, питание 24В DC.

Описание

6ES7241-1AH30-0XB0 коммуникационный модуль CM 1241 из серии SIMATIC S7-1200 от Siemens, предназначенный для расширения возможностей центрального процессора путем добавления последовательного интерфейса RS232 . Модуль обеспечивает обмен данными по протоколам ASCII, USS и Modbus RTU с различными промышленными устройствами .

Модуль оснащен одним интерфейсным портом RS232 с 9-контактным разъемом Sub-D (вилка) и поддерживает соединение типа «точка-точка» . Компактный корпус шириной 30 мм позволяет экономить место в распределительном шкафу. Модель снята с производства, официальной заменой является модуль 6ES7241-1AH32-0XB0.

Основные технические характеристики 6ES7241-1AH30-0XB0:

Параметр Значение
Производитель / Серия Siemens / SIMATIC S7-1200 CM 1241
Артикул (Part Number) 6ES7241-1AH30-0XB0
Тип модуля коммуникационный модуль
Интерфейс RS232 (9-контактный Sub-D, вилка)
Количество интерфейсов 1
Поддерживаемые протоколы ASCII, USS, Modbus RTU (Master/Slave)
Скорость передачи данных 300 бит/с … 115.2 кбит/с
Максимальная длина кабеля 10 м (экранированный кабель)
Напряжение питания 24 В DC (номинальное)
Потребляемый ток (макс.) 220 мА (от внутренней шины)
Мощность потерь (тип.) 1.1 Вт
Степень защиты IP20
Диапазон рабочих температур 0…+55 °C (горизонтальный монтаж)
Габаритные размеры (Ш x В x Г) 30 x 100 x 75 мм
Масса приблизительно 150 г

Условия эксплуатации и монтаж:

Модуль предназначен для установки в распределительный шкаф со степенью защиты не ниже IP20. Допустимый диапазон температур эксплуатации: от 0 до +55 °C . Хранение модуля допускается при температурах от -40 до +70 °C .

Монтаж модуля выполняется на стандартную 35 мм DIN-рейку слева от центрального процессора S7-1200. При транспортировке и хранении модуль выдерживает падение с высоты до 0,3 м (до пяти раз в заводской упаковке).

Электрическое подключение:

Подключение к устройствам с интерфейсом RS232 осуществляется через 9-контактный разъем Sub-D (вилка) на лицевой панели модуля.

Назначение контактов для RS232 (CM 1241):

  • Контакт 2: RxD — прием данных (вход)
  • Контакт 3: TxD — передача данных (выход)
  • Контакт 5: GND — логическая земля
  • Контакт 1: DCD — обнаружение несущей (вход)
  • Контакт 4: DTR — готовность терминала (выход)
  • Контакт 6: DSR — готовность модема (вход)
  • Контакт 7: RTS — запрос передачи (выход)
  • Контакт 8: CTS — готовность к передаче (вход)

Рекомендации по подключению:

  • Максимальная длина кабеля RS232 составляет 10 метров ;
  • Для обеспечения надежной связи рекомендуется использовать экранированный кабель ;
  • Модуль поддерживает аппаратное и программное управление потоком (handshaking).

Программная настройка:

Настройка модуля и конфигурация протоколов связи выполняется в среде разработки Siemens TIA Portal. Модуль поддерживает следующие протоколы и режимы работы:

  • ASCII: протокол для взаимодействия со сторонними системами на основе простой последовательной передачи данных. Интерфейсные сигналы квитирования могут вызываться и контролироваться пользовательской программой ;
  • Modbus RTU (ведущий): реализация протокола Modbus в формате RTU, где S7-1200 выступает в роли ведущего устройства (Master) ;
  • Modbus RTU (ведомый): режим, в котором S7-1200 работает как ведомое устройство (Slave) ;
  • USS: специализированный протокол для управления приводами Siemens.

Типовые применения:

Модуль 6ES7241-1AH30-0XB0 используется в составе контроллеров S7-1200 для организации последовательного обмена данными с устройствами, оснащенными интерфейсом RS232:

  • подключение к модемам для дистанционной диспетчеризации и передачи данных;
  • интеграция устройств с интерфейсом RS232 (сканеры штрих-кодов, принтеры, весовое оборудование);
  • связь с панелями оператора и человеко-машинными интерфейсами (HMI);
  • обмен данными с компьютерами и системами верхнего уровня;
  • реализация нестандартных протоколов обмена через свободно-программируемый порт.

Детали

Состояние

Новый

FAQs

Раздел часто задаваемых вопросов по коммуникационному модулю SIMATIC S7-1200 CM 1241 RS232 (6ES7241-1AH30-0XB0)

1. Какие программные блоки используются для обмена данными по протоколу ASCII в TIA Portal?

Для реализации ASCII-обмена с устройствами через CM 1241 применяются специализированные блоки двухточечного обмена (PtP — Point-to-Point):
  • SEND_PTP

    — для передачи данных в последовательный порт.
  • RCV_PTP

    — для приёма данных из последовательного порта.
  • SGN_SET

    — для управления сигналами квитирования (RTS, DTR) в процессе передачи.
Эти блоки находятся в библиотеке инструкций TIA Portal в разделе Communication → Point-to-point. Перед их вызовом необходимо сконфигурировать модуль в аппаратной конфигурации как интерфейс PtP и задать основные параметры порта (скорость, чётность, стоп-биты) . Важно: в пользовательской программе блоки вызываются в циклическом OB1 или в OB прерываний. Статус выполнения (DONE, ERROR, STATUS) обязательно анализируется для контроля передачи .

2. Как правильно настроить приём данных неизвестной длины по ASCII?

В конфигурации PtP-порта включите режим "Freeport" (свободно-программируемый порт) и настройте параметры окончания сообщения:
  • Символ окончания сообщения:

    задайте код управляющего символа (например, CR = 13, LF = 10), который будет распознаваться как конец кадра.
  • Условие окончания приёма:

    выберите опцию "End character received" или задайте таймаут неактивности.
  • Таймаут неактивности:

    приём завершается, если в течение заданного времени (обычно 10–100 мс) не поступало новых байтов.
Блок RCV_PTP будет автоматически сохранять принятые данные в буфер до выполнения условия завершения. Тип данных для буфера рекомендуется использовать Array of Byte (например, Array[0..1023] of Byte), а не String, так как нулевой байт в String может интерпретироваться как конец строки .

3. Почему при передаче данных по RS232 возникает ошибка 80D2 (16#80D2)?

Ошибка 80D2 означает: "The send request was interrupted because the communications partner (DCE) signaled that it was not willing to receive (DSR)" — запрос передачи прерван, так как удалённое устройство не подтвердило готовность к приёму . Причины и решения:
  • Аппаратное управление потоком (handshaking):

    проверьте, включено ли оно в конфигурации модуля. Если удалённое устройство не использует сигналы DSR/DTR, отключите аппаратный контроль потока в настройках порта (Flow control = None).
  • Кабель:

    убедитесь, что сигнальные линии (DTR, DSR, RTS, CTS) соединены правильно или замкнуты перемычками на стороне CM 1241:
    • 4 (DTR) ↔ 6 (DSR)

      и

      7 (RTS) ↔ 8 (CTS),

      если устройство не поддерживает квитирование .
  • Неправильный нуль-модемный кабель:

    стандартное соединение TxD→RxD и RxD→TxD должно быть дополнено перекрёстным соединением сигнальных линий, если устройство требует полного интерфейса RS232 .

4. Сколько устройств можно подключить к одному CM 1241 RS232?

Физически интерфейс RS232 является двухточечным (Point-to-Point) — к одному модулю можно подключить только одно устройство. Это ограничение обусловлено стандартом RS232 и отсутствием возможности адресации нескольких устройств на одной линии. При использовании протокола Modbus RTU через RS232 возможна работа только в режиме один Master — один Slave. Для подключения нескольких устройств необходимо либо использовать отдельные модули CM 1241 на каждое устройство, либо применить модуль CM 1241 RS422/RS485, который поддерживает до 10 (RS422) или 32 (RS485) ведомых устройств. Альтернативный вариант для интеграции нескольких RS232-устройств — применение внешних Ethernet ↔ RS232 адаптеров, каждый из которых выступает как TCP-сервер, а S7-1200 подключается к ним как TCP-клиент через встроенный интерфейс PROFINET.

5. Как настроить CM 1241 для работы по протоколу Modbus RTU Master?

Настройка выполняется в два этапа:

Этап 1 — Аппаратная конфигурация:

  • В свойствах CM 1241 выберите режим "Modbus" (не "Freeport").
  • Задайте параметры порта: скорость (например, 9600 или 19200 бит/с), чётность (обычно Even для Modbus), стоп-биты.

Этап 2 — Программная реализация:

  • Вызовите MB_COMM_LOAD в стартовом OB100 (или по фронту в OB1) для инициализации порта. Параметр PORT укажите из системных констант (например, Local~CM_1241_RS232).
  • Для чтения данных используйте MB_MASTER с параметром Mode = 0 (Read), задав адрес ведомого (Slave Address), начальный регистр и количество.
  • Для записи используйте MB_MASTER с Mode = 1 (Write) .
Важно: блоки MB_COMM_LOAD и MB_MASTER можно размещать в OB1. Параметр REQ блока MB_COMM_LOAD должен активироваться однократно (например, по фронту бита первого цикла M1.0). Статусные коды ERROR и STATUS этих блоков необходимо анализировать для диагностики: код 16#8187 часто указывает на неверно объявленный указатель на область хранения данных Modbus .

6. Какой кабель нужен для подключения к устройству с разъёмом DB9 "мама"?

CM 1241 RS232 оснащён 9-контактным разъёмом Sub-D "вилка" (male). Для подключения к устройству с разъёмом "розетка" (female) потребуется кабель, реализующий следующую минимальную распиновку:
Сигнал CM 1241 (DB9 male) Устройство (DB9 female)
RxD 2 3 (TxD)
TxD 3 2 (RxD)
GND 5 5 (GND)
Если устройство не использует сигналы квитирования, на стороне CM 1241 установите перемычки:

4 (DTR) ↔ 6 (DSR)

и

7 (RTS) ↔ 8 (CTS).

Если устройство использует полный интерфейс RS232 с handshaking, выполните перекрёстное соединение: DTR↔DSR, RTS↔CTS (т.е. 4→6, 6→4, 7→8, 8→7) .

7. Как диагностировать отсутствие передачи (не мигают светодиоды TxD/RxD на модуле)?

Если индикаторы не мигают при попытке передачи:
  • Проверьте аппаратную конфигурацию:

    модуль должен быть сконфигурирован в свойствах CPU в слоте слева, и конфигурация загружена в контроллер.
  • Проверьте вызов блока SEND_PTP:

    параметр REQ должен получить фронт сигнала для активации передачи. Убедитесь, что параметр BUSY не удерживается постоянно в TRUE — это указывает на зависшую передачу.
  • Проверьте выход STATUS блока:

    код 16#80D2 указывает на проблемы с квитированием (см. вопрос 3) .
  • Проверьте кабель и питание удалённого устройства:

    с помощью программы-терминала (Hercules, RealTerm) и USB-RS232 адаптера проверьте, что удалённое устройство отвечает на запросы. Это позволит отделить проблемы в программе ПЛК от проблем с кабелем или устройством .

8. Можно ли использовать CM 1241 RS232 для протокола USS с приводами Siemens?

Технически модуль поддерживает протокол USS в конфигурации PtP. Однако на практике пользователи сталкиваются с проблемами совместимости: в одном из случаев замена CM 1241 RS232 на CM 1241 RS422/485 решила проблему связи с приводом Sinamics G110 (ошибка 16#818B — "устройство не отвечает") . Рекомендация: для управления приводами Siemens по протоколу USS предпочтительнее использовать модуль CM 1241 RS422/485 (6ES7241‑1CH30‑0XB0), который изначально оптимизирован для этого протокола и поддерживает многоточечное подключение.

9. Какие настройки чётности и стоп-битов поддерживает модуль?

Модуль CM 1241 RS232 поддерживает следующие настройки протокола:
Параметр Поддерживаемые значения
Скорость (бод) 300, 600, 1200, 2400, 4800, 9600 (по умолчанию), 19200, 38400, 57600, 76800, 115200
Чётность None (по умолчанию), Even, Odd, Mark (всегда 1), Space (всегда 0)
Стоп-биты 1 (по умолчанию), 2
Управление потоком None, Hardware (RTS/CTS), Software (XON/XOFF)
Настройки должны строго совпадать с аналогичными параметрами удалённого устройства, иначе связь не установится.

10. Каковы типовые причины ошибки STATUS 16#8187 при инициализации Modbus RTU?

Ошибка 16#8187 ("Invalid pointer to holding register") возникает при вызове блока MB_COMM_LOAD или MB_SLAVE и связана с неверным объявлением области хранения данных Modbus. Решение:
  • Создайте отдельный Data Block (DB) с отключённой опцией "Optimized block access" (свойства DB → Attributes → снять галку "Optimized block access").
  • Внутри DB создайте структуру данных нужного типа (например, массив Word для Holding Registers).
  • В параметре MB_HOLD_REG блока укажите созданную переменную DB.
  • Если ошибка сохраняется, попробуйте вместо DB использовать меркерную область (например, P#MW100), чтобы убедиться, что проблема именно в объявлении DB .