Вход

Просмотр полной версии : ПЛК200 + CAS CI-2001A = ???



sentpavel
10.10.2025, 11:51
Добрый день. Мне нужно реализовать опрос весовых терминалов(индикаторов) CAS CI-2001a. Т.к. эти терминалы имеют на борту только RS-232, я использую для связи ПЛК200 и весов модуль АС3-М. Терминала у меня три, соответственно, три преобразователя интерфейсов также используется. Весы выдают данные в режиме опроса, то есть я с плк отправляю номер весов (сейчас, для установки связи, я пытаюсь связаться с номером 3), а они в ответ должны прислать данные. Я пытался сделать опрос через OCL.UNM_SerialRequest, через DCON_MASTER_OCL, и также через стандартный COM.Open/COM.Write/COM.Read. Порт у меня во всех случаях открывался без проблем, настройки 9600, 8, 1, без проверки четности. Более-менее какой-то вменяемый ответ я смог получить, используя OCL.UNM_SerialRequest, но это получалось только с одним физически подключенным к интерфейсу индикатору, когда подключены три - через раз приходит строка с разными символами, слабо напоминающими ответ от весов. RS485 до АС3-М подключен шиной, в настройках ПЛК включен подтягивающий резистор на этот интерфейс, крайним преобразователь также со включенным терминатором 120 Ом.

Также я пробовал использовать для считывания данных связку COM.Open/COM.Write/COM.Read, с подключенными одними весами, и весы при этом переводились в режим постоянной отправки статуса, но каждый раз в COM.Read приходит битая строка, так как нет никакой синхронизации

Евгений Кислов
10.10.2025, 12:00
Добрый день. Мне нужно реализовать опрос весовых терминалов(индикаторов) CAS CI-2001a. Т.к. эти терминалы имеют на борту только RS-232, я использую для связи ПЛК200 и весов модуль АС3-М. Терминала у меня три, соответственно, три преобразователя интерфейсов также используется. Весы выдают данные в режиме опроса, то есть я с плк отправляю номер весов (сейчас, для установки связи, я пытаюсь связаться с номером 3), а они в ответ должны прислать данные. Я пытался сделать опрос через OCL.UNM_SerialRequest, через DCON_MASTER_OCL, и также через стандартный COM.Open/COM.Write/COM.Read. Порт у меня во всех случаях открывался без проблем, настройки 9600, 8, 1, без проверки четности. Более-менее какой-то вменяемый ответ я смог получить, используя OCL.UNM_SerialRequest, но это получалось только с одним физически подключенным к интерфейсу индикатору, когда подключены три - через раз приходит строка с разными символами, слабо напоминающими ответ от весов. RS485 до АС3-М подключен шиной, в настройках ПЛК включен подтягивающий резистор на этот интерфейс, крайним преобразователь также со включенным терминатором 120 Ом.

Также я пробовал использовать для считывания данных связку COM.Open/COM.Write/COM.Read, с подключенными одними весами, и весы при этом переводились в режим постоянной отправки статуса, но каждый раз в COM.Read приходит битая строка, так как нет никакой синхронизации

Добрый день.


в настройках ПЛК включен подтягивающий резистор на этот интерфейс, крайним преобразователь также со включенным терминатором 120 Ом.


Подтягивающий резистор и терминатор - это разные вещи. В вашем случае на стороне интерфейса ПЛК тоже нужен терминатор.

Я рекомендую для начала проверить, что шина с тремя подключенными весами будет корректно опрашиваться с компьютера.
Для этого можно использовать данную утилиту:
https://ftp.owen.ru/Soft/hercules_3-2-8.exe

Если в этом случае проблем не будет - то напишите мне в телеграм, пожалуйста (см. в подписи).

sentpavel
14.10.2025, 07:38
Все, проблема решена. Дело было в схеме распайки кабеля RS232, всё исправлено.