PDA

Просмотр полной версии : Переход MS с версии 1.3.5 на версию 1.3 (ошибки)



ygrik911
19.03.2025, 08:24
Здравствуйте.
Обновились на версию 1.3.6 с версии 1.3 (в названии темы оТпечтка)
В следствии чего вылезли многочисленные (порядка 1000) ошибки (предупреждения):
--->
Неявное преобразование из типа LREAL в тип INT .......
Неявное преобразование из типа SYSTEM_LREAL_PARAM .....
-----
Кто может подсказать что с этим делать и куда копать ?



Проект несмотря на предупреждения - работает.

Sergey361
19.03.2025, 08:34
Где-то в Проект-Свойства есть отключение LREAL, может попробовать. Ну а в принципе надо посмотреть, что за ошибки, хоть одну посмотреть и понять, в чем проблема.

ygrik911
19.03.2025, 08:40
82560
Картинка с ошибками.

Sergey361
19.03.2025, 08:56
Ну 1371-1374 где-то в библиотеке в программе ДГУ ошибка, программу надо открыть. Путь же написан.

kondor3000
19.03.2025, 09:09
Можете ничего не делать, предупреждения это не ошибки. Вас предупреждают, что есть несоответствия типов переменных и будет произведена конверсия типов.
Либо вы можете ручками, привести все типы переменных в соответствие.

ygrik911
24.03.2025, 02:28
Спасибо всем за ответы.

Ещё проблема: вылезла c управляющими модулями для кондиционеров - СРК-М2 (TCP/MODBUS TCP/IP) - scada тупо перестала их читать, хотя судя по настройкам всё осталось на своём месте (ip и тд...) , пинг из scada на устройство - проходит.

Sergey361
24.03.2025, 07:23
Причины разные могут быть. Сделайте проект с одним тегом из одного модуля управляющего. Если не работает, то скиньте этот проект. И лог нужно включить расширенный, тогда весь опрос будет записан.

ygrik911
24.03.2025, 09:10
Вот пару строк ошибок:

6486492: |3615418048| [ERR] (192.168.1.133:502) <Modbus> ERROR: incorrect Transaction ID. Clear buffer
6486501: |3514705600| [ERR] (192.168.1.205:502) <Modbus> ERROR: get code error. Exit

Sergey361
24.03.2025, 09:24
Это опрос одного модуля или всех? incorrect Transaction ID - это неправильный ответ от устройства. В расширенном логе должны быть буфер отправки и приема.

melky
24.03.2025, 09:25
incorrect Transaction ID. Clear buffer - смотрите при этом лог. ID транзакции должно соответствовать и в ответе. з.ы. иногда устройства этот параметр тупо игнорируют отсылая 00 00. Тогда швах, где-то в драйвере должна отключаться проверка.

Ответ может быть абсолютно правильным, просто устройство кладет на данный параметр... только лог покажет.

ygrik911
24.03.2025, 09:26
Да это как раз СРК-М2 - ERROR: incorrect Transaction ID.

"В расширенном логе должны быть буфер отправки и приема." - это как посмотреть - расширенный лог? :)

Sergey361
24.03.2025, 09:54
https://support.masterscada.ru/ru/knowledge_base/article/111/category/25/

Sergey361
24.03.2025, 09:56
Только лучше упростить проект до одного устройства с одним тегом. Так будет понятнее.

ygrik911
25.03.2025, 02:22
Да спасибо за инфо. Только есть одна проблемка - работающий проект на данный момент, нельзя остановить более чем на 3 минуты. Соответственно создать расширенный лог сейчас не получается...
Может есть ещё какие-нибудь методы диагностики на работающей системе, без остановки её?

melky
25.03.2025, 06:59
У вас СРК с Ethernet портом? В общем какая линия связи?

Sergey361
25.03.2025, 07:03
Wireshark попробуйте

ygrik911
25.03.2025, 08:05
Да, SCADA СРК опрашивает через ethernet порт (TCP/MODBUS)

melky
25.03.2025, 08:15
А что за модель СРК? что-то я не видел с Ethernet их, или упустил.

Ну вот по вашему М2


Интерфейс связи с интерфейсными модулями 2-х проводной RS485
Интерфейс связи с верхним уровнем системы мониторинга 2-х проводной RS485

И где у вас тут Ethernet ?
Судя по всему, вы опрашиваете его через преобразователь протокола Modbus TCP - Modbus RTU. Все претензии к преобразователю тогда. Если он Transaction ID игнорирует.

ygrik911
25.03.2025, 08:21
СРК-М2-У https://monitool.ru/produktsiya/srk-m2/opisanie-modulej/upravlyayushchij-modul-srk-m2-u

melky
25.03.2025, 08:43
а, не досмотрел Интерфейс Ethernet :)

ну у вас два варианта без остановки системы. 1 - WireShark, как писали выше.
2. Если вы можете остановить линию опроса в MS4D. Себе на ПК развернуть по быстрому RapidScada и настроить опрос там. Она показывает полные логи запросов и ответов по умолчанию в hex формате. Если это СРК игнорирует Transaction ID думать как обойти. Как работает драйвер Modbus в MS4D не представляю.

Ну собственно в тех поддержку Master Scada напишите, можно ли там отключить контроль Transaction ID или нельзя?

ygrik911
25.03.2025, 08:49
Спасибо. Посмотрим.

ygrik911
25.03.2025, 09:04
Вот что удалось посмотреть в логе для ещё одного СРК.....пока не понятно что ему нужно....

4058404: |2187310784| [TRA] (192.168.3.23:502) Tx: [12] 00 4B 00 00 00 06 01 03 00 02 00 05
4058404: |2187310784| [INF] (192.168.3.23:502) NLTryReopenTCPSocket reason=NLTCPSend err=111
4058404: |2187310784| [INF] (192.168.3.23:502) Close socket : (state=2)
4058404: |2187310784| [ERR] (192.168.3.23:502) OpenTCPSocket failed error=115
4058405: |2187310784| [TRA] (192.168.3.23:502) Tx: [12] 00 4B 00 00 00 06 01 03 00 02 00 05
4058405: |2187310784| [INF] (192.168.3.23:502) NLTryReopenTCPSocket reason=NLTCPSend err=111
4058405: |2187310784| [INF] (192.168.3.23:502) Close socket : (state=2)
4058405: |2187310784| [ERR] (192.168.3.23:502) OpenTCPSocket failed error=115
4058405: |2187310784| [TRA] (192.168.3.23:502) Tx: [12] 00 4B 00 00 00 06 01 03 00 02 00 05
4058405: |2187310784| [INF] (192.168.3.23:502) NLTryReopenTCPSocket reason=NLTCPSend err=111
4058405: |2187310784| [INF] (192.168.3.23:502) Close socket : (state=2)
4058405: |2187310784| [ERR] (192.168.3.23:502) OpenTCPSocket failed error=115

melky
25.03.2025, 09:13
ну тут вам скорее всего мешает опрос из MS4D. оно просто не может открыть еще один сокет. тут даже ответов от СРК нет. ну или оно там не доступно для связи...
Что касается ответа - ошибка Transaction ID - то там ответ приходит скорее всего. иначе и ошибки бы такой не было.

ygrik911
26.03.2025, 11:33
Вопросов стало ещё больше :)))) ...

melky
26.03.2025, 12:01
Ну самый простой вариант, если не умеете пользоваться WireShark (к тому же его требуется запускать на машине с MS4D на том физическом интерфейсе, с которого идут запросы).
1. на ПК c MS4D выключить опрос вашего устройства, лог которого нужен.
2. на любом другом ПК установить RapidScada (web нафик не сдался, он тут не нужен). Нужен Сервер, Коммуникатор и Админка. (то есть достаточно будет установить по описанию только dotnet Desktop (Bundle на хостинг не нужен, IIS ставить не нужно)
3. Настроить там линию с вашим устройством, сделать шаблон Modbus на один регистр float или на что-то. Запустить и посмотреть лог в Статистике линии связи Коммуникатора. Он будет в hex и запросы и ответы.
5. воспользоваться этой штукой - https://rapidscada.net/modbus/

так как запросы по Modbus TCP и с учетом ошибки, тут не помогут виртуальные порты и чтение по RTU. Ибо Transaction ID это сугубо TCP-шная хрень протокола Modbus TCP.

Валенок
26.03.2025, 21:44
Там же вроде ошибка отправки

melky
26.03.2025, 21:48
Валенок, нет. это другое. На форуме RapidScada у человека было устройство, которое без смены Transaction ID вообще не работало. А здесь похоже обратное.
По идее, слейв устройство, если ему посылают xx xx должно отвечать дублируя xx xx в ответе не разбираясь. Это не задача слейва в принципе

Валенок
26.03.2025, 21:51
Так до сих пор ответа никто так и не показал

melky
26.03.2025, 21:57
Так человек не умеет пользоваться другими средствами логирования :)

Валенок
26.03.2025, 22:03
Тогда как сможет чем то выцепить ответ, тогда и можно будет хоть что то сказать.

ygrik911
28.03.2025, 10:20
Да, пока разбираюсь.....
И вот ещё
82774

Sergey361
28.03.2025, 10:39
Это значит, что плохое состояние канала, потому что нет связи.

ygrik911
31.03.2025, 08:41
Вообщем поигрался с настройками в MS - Таймаут, кол-во попыток, задержка запросов.....и добился положительного результата :)