IronLogic СКУД

Сетевые контроллеры => Z5R Web от Open Service => Тема начата: Akarus от 30 Января 2019, 14:47

Название: Вопросы по SDK
Отправлено: Akarus от 30 Января 2019, 14:47
Добрый день!
У меня есть вопрос по оборудованию Z-5R Web с конфигурацией.
Помогите, пожалуйста, подключиться к устройству программно.
Мой код ниже выполняется с ошибкой:
                ZG_CVT_OPEN_PARAMS rOp = new ZG_CVT_OPEN_PARAMS();
                rOp.nPortType = CvtPortType; //ZP_PORT_TYPE.ZP_PORT_IP
                rOp.pszName = CvtPortName; //@"192.168.1.20:1000"
                rOp.nCvtType = CvtType; //ZG_CVT_TYPE.ZG_CVT_Z5R_WEB;

                //rOp.nSpeed = ZG_CVT_SPEED.ZG_SPEED_57600;
                ZG_CVT_INFO rInfo = new ZG_CVT_INFO();

                rInfo.nType = ZG_CVT_TYPE.ZG_CVT_Z5R_WEB;
                rInfo.nMode = ZG_GUARD_MODE.ZG_GUARD_ADVANCED;

                hr = ZGIntf.ZG_Cvt_Open(ref hCvt, ref rOp, rInfo);
                if (hr < 0)
                {
                    Console.WriteLine("Ошибка ZG_Cvt_Open ({0}).", hr);
                    Console.ReadLine();
                    return;
                }
Название: Re: Вопросы по SDK
Отправлено: gsa от 30 Января 2019, 15:50
У меня есть вопрос по оборудованию Z-5R Web с конфигурацией.
Помогите, пожалуйста, подключиться к устройству программно.
Мой код ниже выполняется с ошибкой:
Добрый день. Какой код ошибки? И ещё пришлите, пожалуйста, файл конфигурации контроллера.
Название: Re: Вопросы по SDK
Отправлено: Akarus от 30 Января 2019, 16:22
Добрый день. Какой код ошибки? И ещё пришлите, пожалуйста, файл конфигурации контроллера.

Ошибка такая:
Ошибка ZG_Cvt_Open (-2147220979)
Прикладываю файл config.cfg, если правильно понял...
[INFO]
SERIAL_NUMBER=35837
FW_VERSION=

[COMMON]
MODE=SERVER
AUTH_KEY=1EA2D438
INTERFACE=ETH
LANGUAGE=2

[WEB]
USE_PROXY=0
PROXY_ADDR=192.168.1.1
PROXY_PORT=3128
HTTP_SERVER=hw.guardsaas.com
HTTP_PORT=80
HTTP_FILE=/data.php
CONNECT_PERIOD=10
PASSWORD=ab974088d09d4dc3
MAX_EVENTS=1

[TCP_SERVER]
LOCAL_PORT=1000
ALLOWED_IP=255.255.255.255

[TCP_CLIENT]
REMOTE_ADDR=1.1.1.2
REMOTE_PORT=0

[ONLINE]
SERVER_ADDR=192.168.1.100/online.php
SERVER_PORT=80
AUTH_STR=
CAM_PATH_IN=NONE
CAM_PATH_OUT=NONE

[WEBJSON]
JSON_SERVER_ADDR=https://10.2.0.88
JSON_USE_CERT=
JSON_PERIOD=10
JSON_LOGIN=
JSON_PASSWORD=


[NTP]
USE_NTP=1
NTP_SERVER=pool.ntp.org
TZ=UTC-3

[GSM]
GSM_TS=10
GSM_NUMBER=
SMS_NUMBER=
SMS_ALARM1="Machine#10 breaking ALARM"
SMS_ALARM2="Machine#10 inclined WARNING"
SMS_ALARM3="Machine#10 power"
SMS_ALARM4="Machine#10 moving ALARM"
SMS_ALARM5="Machine#10 door ALARM"
Название: Re: Вопросы по SDK
Отправлено: gsa от 30 Января 2019, 16:40
-2147220979 =ZP_E_NOCONNECT это ошибка подключения по TCP. Возможно файрвол блокирует. А GuardCommander (или GuardLight) подключается?
Название: Re: Вопросы по SDK
Отправлено: Akarus от 30 Января 2019, 16:58
-2147220979 =ZP_E_NOCONNECT это ошибка подключения по TCP. Возможно файрвол блокирует. А GuardCommander (или GuardLight) подключается?
GuardLight подключается и через браузер тоже.
Я пробую пока подключить тестовую версию на C# CtrClock из sdk (https://ironlogic.ru/il.nsf/htm/ru_sdk-guard). Вот она не хочет.
Название: Re: Вопросы по SDK
Отправлено: gsa от 30 Января 2019, 17:06
Какие версии прошивок у Z-5R Web (модуль связи, модуль контроллера)?
Название: Re: Вопросы по SDK
Отправлено: Akarus от 31 Января 2019, 10:08
Какие версии прошивок у Z-5R Web (модуль связи, модуль контроллера)?
модуль связи 1.0.130
модуль контроллера 3.26
Название: Re: Вопросы по SDK
Отправлено: Akarus от 31 Января 2019, 14:16
Может есть у кого-нибудь работающий вариант примера подключения к Z5R Web на C#?
Название: Re: Вопросы по SDK
Отправлено: gsa от 31 Января 2019, 17:03
Попробую воспроизвести ошибку и затем отвечу.
Если пришлёте лог файл SDK, то это поможет разобраться. Чтобы записать лог файл нужно:
Название: Re: Вопросы по SDK
Отправлено: gsa от 01 Февраля 2019, 12:27
модуль связи 1.0.130
модуль контроллера 3.26
Потестировал Sdk Guard (версия 3.35.2 с сайта ironlogic.ru) с Z-5R Web (1.0.130, 3.26), подключение в режиме Сервер на примере C# "CtrClock" - работает нормально во всех конфигурациях x86/x64, Debug/Release.
Попробуйте подключиться через ПО "Com2ip" https://ironlogic.ru/il_new.nsf/htm/ru_z397web (https://ironlogic.ru/il_new.nsf/htm/ru_z397web), т.е. в Com2ip нужно выбрать номер нового виртуального Com-порта (например, "COM7"), выбрать режим "Клиент", установить флаг "Использовать NVT", выбрать "Прямое соединение", ввести IP Адрес и TCP Порт контроллера и затем установить флаг "Включен", после этого появится надпись "TCP: Converter Connected". Если эта надпись не появится (будет надпись "TCP: Connecting..."), то проблема не в Sdk, а в TCP связи. Если появится "TCP: Converter Connected", то попробуйте отключить файрвол, пришлите лог файл Sdk.

P.S. Sdk работает по протоколу Advanced http://posix.ironlogic.ru (http://posix.ironlogic.ru). Если желаете, можете использовать протокол на прямую, без посредника Sdk Guard.
Название: Re: Вопросы по SDK
Отправлено: Akarus от 01 Февраля 2019, 14:02
Потестировал Sdk Guard (версия 3.35.2 с сайта ironlogic.ru) с Z-5R Web (1.0.130, 3.26), подключение в режиме Сервер на примере C# "CtrClock" - работает нормально во всех конфигурациях x86/x64, Debug/Release.
Попробуйте подключиться через ПО "Com2ip" https://ironlogic.ru/il_new.nsf/htm/ru_z397web (https://ironlogic.ru/il_new.nsf/htm/ru_z397web), т.е. в Com2ip нужно выбрать номер нового виртуального Com-порта (например, "COM7"), выбрать режим "Клиент", установить флаг "Использовать NVT", выбрать "Прямое соединение", ввести IP Адрес и TCP Порт контроллера и затем установить флаг "Включен", после этого появится надпись "TCP: Converter Connected". Если эта надпись не появится (будет надпись "TCP: Connecting..."), то проблема не в Sdk, а в TCP связи. Если появится "TCP: Converter Connected", то попробуйте отключить файрвол, пришлите лог файл Sdk.

P.S. Sdk работает по протоколу Advanced http://posix.ironlogic.ru (http://posix.ironlogic.ru). Если желаете, можете использовать протокол на прямую, без посредника Sdk Guard.

Спасибо. Ошибка ушла. Вероятно висел в процессах не закрывшееся обращение к контроллеру... А с двух клиентов одновременно не пускает....
Но теперь появилась другая:
        public const string CvtPortName = "COM3";
        public const Byte CtrAddr = 3;
.
.
.
                ZG_CTR_INFO rCtrInfo = new ZG_CTR_INFO();
                //string s2 = new string('\0', 1000);
                //rCtrInfo.pszLinesBuf = s2;
                //rCtrInfo.nLinesBufMax = 1000;
                rCtrInfo.nType = ZG_CTR_TYPE.ZG_CTR_Z5RWEB;
                hr = ZGIntf.ZG_Ctr_Open(ref m_hCtr, hCvt, CtrAddr, 0, ref rCtrInfo);
                if (hr < 0)
                {
                    Console.WriteLine("Ошибка ZG_Ctr_Open ({0}).", hr);
                    Console.ReadLine();
                    return;
                }

Ошибка ZG_Ctr_Open (-2147220721)
Название: Re: Вопросы по SDK
Отправлено: gsa от 01 Февраля 2019, 14:49
        public const Byte CtrAddr = 3;
Ошибка ZG_Ctr_Open (-2147220721)
-2147220721 =ZG_E_NOCONTROLLER Неправильный адрес контроллера. Должно быть CtrAddr = 2.
Название: Re: Вопросы по SDK
Отправлено: Akarus от 01 Февраля 2019, 15:15
-2147220721 =ZG_E_NOCONTROLLER Неправильный адрес контроллера. Должно быть CtrAddr = 2.
Спасибо. Подключился.
А почему именно 2, а не, например 4?
Название: Re: Вопросы по SDK
Отправлено: gsa от 01 Февраля 2019, 15:33
А почему именно 2, а не, например 4?
В Advanced режиме адреса начинаются с 2, и кстати, адреса назначаются автоматически (их не нужно изменять, всё равно переназначатся).

Для контроллеров без модуля связи (нужен конвертер) на заводе назначается адрес =1. При подключении к конвертеру контроллеру назначается адрес, отличный от 1, чтобы при подключении следующего нового контроллера адреса не конфликтовали. Это актуально для режима конвертера Normal, в режиме Advanced конфликтов адресов в любом случае быть не должно.