-
Добрый день! Имею систему ПЛК-160 + ПМ01 с одной стороны и ПК с Лектусом с другой... Вроде всё настроил и со стороны ПЛК и со стороны Лектуса... ПЛК пингуется, даже через Кодесис подключаюсь к нему (правдо всязь не долго держится, практически сразу падает). Лектус тоже подключается к ПЛК но потом происходит разрыв связи... Вот часть лога Лектуса:
6:24:47.250 [2788] (95.135.233.34:502) подключение - ОК
16:24:47.250 [2788] (95.135.233.34:502)Tx: [12] 00 E9 00 00 00 06 71 03 00 00 00 18
16:24:57.265 [2788] Ошибка: устройство не отвечает (95.135.233.34:502 Адрес:113)
16:25:17.125 [2788] (95.135.233.34:502) подключение - ОК
16:25:17.125 [2788] (95.135.233.34:502)Tx: [12] 00 EA 00 00 00 06 71 03 00 00 00 18
16:25:27.125 [2788] Ошибка: устройство не отвечает (95.135.233.34:502 Адрес:113)
16:25:46.750 [2788] (95.135.233.34:502) подключение - ОК
16:25:46.750 [2788] (95.135.233.34:502)Tx: [12] 00 EB 00 00 00 06 71 03 00 00 00 18
16:25:56.765 [2788] Ошибка: устройство не отвечает (95.135.233.34:502 Адрес:113)
16:26:17.375 [2788] (95.135.233.34:502) подключение - ОК
16:26:17.375 [2788] (95.135.233.34:502)Tx: [12] 00 EC 00 00 00 06 71 03 00 00 00 18
16:26:27.390 [2788] Ошибка: устройство не отвечает (95.135.233.34:502 Адрес:113)
16:26:46.750 [2788] (95.135.233.34:502) подключение - ОК
16:26:46.750 [2788] (95.135.233.34:502)Tx: [12] 00 ED 00 00 00 06 71 03 00 00 00 18
16:26:56.765 [2788] Ошибка: устройство не отвечает (95.135.233.34:502 Адрес:113)
16:27:17.750 [2788] (95.135.233.34:502) подключение - ОК
16:27:17.750 [2788] (95.135.233.34:502)Tx: [12] 00 EE 00 00 00 06 71 03 00 00 00 18
16:27:27.765 [2788] Ошибка: устройство не отвечает (95.135.233.34:502 Адрес:113)
16:27:47.250 [2788] (95.135.233.34:502) подключение - ОК
16:27:47.250 [2788] (95.135.233.34:502)Tx: [12] 00 EF 00 00 00 06 71 03 00 00 00 18
16:27:57.265 [2788] Ошибка: устройство не отвечает (95.135.233.34:502 Адрес:113)
16:28:16.750 [2788] (95.135.233.34:502) подключение - ОК
16:28:16.750 [2788] (95.135.233.34:502)Tx: [12] 00 F0 00 00 00 06 71 03 00 00 00 18
16:28:26.765 [2788] Ошибка: устройство не отвечает (95.135.233.34:502 Адрес:113)
16:28:47.656 [2788] (95.135.233.34:502) подключение - ОК
16:28:47.656 [2788] (95.135.233.34:502)Tx: [12] 00 F1 00 00 00 06 71 03 00 00 00 18
16:28:57.671 [2788] Ошибка: устройство не отвечает (95.135.233.34:502 Адрес:113)
16:29:17.125 [2788] (95.135.233.34:502) подключение - ОК
16:29:17.125 [2788] (95.135.233.34:502)Tx: [12] 00 F2 00 00 00 06 71 03 00 00 00 18
Где я допустил ошибку? Подскажите пожалуйста...
-
А кто ж его знает, где вы допустили ошибку? Такое ощущение, что Лектус отсылает запрос, честно ждет ответа 10 секунд, и не получив его, отваливается. Выкладывайте программу для ПЛК и конфигурацию для Лектуса, тогда будут более вразумительные ответы.
-
у Вас точно в плк имеется в наличии 24 регистра? Сделайте больше на всякий случай, хотя бы на пару
-
Вложений: 2
Выкладываю следующие изображения... Вроде все необходимое отобразил. Конфигурацию ПЛК, как и конфигурацию Лектуса, взял с готовой (вроде работающей) программы. Сам только разбираюсь с данной темой, так что сильно не ругайте. С регистрами наверняка тут большие проблемы - слаб я в этой теме. Буду сильно благодарен если направите на пусть истинный. Изменил время ожидания ответа от ПЛК, лог немного изменился но проблемы не ушли... P.S. IP замазал по извесным причинам))) а в прошлом логе пришлось выдумывать для пущей правдоподобности)))
-
Возможно проблема с ПЛК... С ним изначально была проблема по связи (когда стоял на объекте постоянно терял связь). Попытался перепрошить, не получается - выдает ошибку...
-
Из того, что я увидел:
Лектус отправляет запрос на чтение функцией 3 24-х регистров, начиная с нулевого. Если посмотреть на вашу конфигурацию, то там регистров всего 19. Скорее всего в этом и дело.
-
Давайте разберемся...
8 бит = 1 байт
2 байта = 1 регистр
Float = 4 байта = 2 регитсра
В моем случае адрес первого регистра Float = 0 hex (в настройках в Лектуса, типизированная переменная)
Адрес второго Float = 2 hex
Адрес третьего Float = 4 hex
Адрес следующего регитсра Word = 6 hex
Дальше Word = 7 hex
Word = 8 hex
Word = 9 hex
Word = A hex
Word = B hex
Double Word = С hex (4 байта = два регистра)
Double Word = Е hex
Double Word = 10 hex
Double Word = 12 hex
Дальше я удалю переменные из Лектуса так как это уже отдельный вопрос... Я правильно всё понимаю??? поправьте меня
-
Вопрос по оставшимся переменным: Реализовал программу на базе существующей на сайте ОВЕН. Изначально овеновская программа контролирует флаги и ошибки модема при обмене по GPRS в режиме ПЛК - master, модем - slave и если таковые имеются, физически перезагружает модем и если надо перезагружает ПЛК. Так как у меня ПЛК - slave а модем -master то мне пришлось немного переделать программу. Буквально поменял одну переменную которая должна переодически присылатся с Лектуса (первый вопрос:Лектус может такое? (я думаю должен)), далее в программе ПЛК она анализируется и так ПЛК понимает что связь есть... Если переменная давно (скажем 10 мин) не обнавляется следуют процедуры перезагрузки модема а потом и ПЛК для востановления связи. (кому надо выложу скрин или сразу прогу)
Так вот как правильро реализовать передачу переменной на ПЛК. Я в Лектусе использовал счетчик 0-100 дублировал и присваевал это значение другой переменной с параметрами записи в определённый регистр на ПЛК идальше остался вопрос как наладить связь между ПЛК и Лектусом...
В будующем хочу ещё передавать время на ПЛК для синхронизации с сервером...
-
Давайте по порядку. Лектус -это ОРС- сервер, его задача -собирать данные и передавать их клиенту. В качестве клиента как правило выбирают СКАДА систему той или иной сложности или пишут некий свой софт. Насколько я понимаю, имено клиент инициирует загрузку и запуск сервера. И в этом случае, весьма, вероятно, что более логичным и легче реализуемым будет вариант работы с вашими переменными в программе-клиенте, например в СКАДА.
У вас в качестве клиента что используется?
Ну и может сначала разобраться с собственно обменом, а потом решать задачу контроля за соединением?, а то как-то хотим большого, не добившись малого?
-
Конечно конечно сначало нужно наладить связь... я просто решил пояснить почему я убрал некоторые переменные... В качестве клиента мы используем WinCC... Но я ещё не дошёл до неё... Жду другой ПЛК так как есть подозрение что этот неисправен. Видите ли я только начал работать в организации и только начал разбиратся в уже работающей системе... Тут многое нужно переделовать и дополнять и как любому программисту мне охото разобраться с нуля и написать свою программу, а не слепо использовать чужой код...