Последние сообщения

Страницы: 1 ... 3 4 [5] 6 7 ... 10
41
Modbus эмулятор / Re: Пожелания к доработке
« Последний ответ от Айрат 16.12.2021, 22:11:00 pm »
Спасибо!

Извините, совсем забыл.
Можно ещё конфигурацию, эмулятора?

Айрат
42
Modbus эмулятор / Re: Пожелания к доработке
« Последний ответ от Ruslan 16.12.2021, 19:07:33 pm »
Файл запаковал в архив, т.к. размер больше 1024 кБ форум не пропускает.
43
Modbus эмулятор / Re: Пожелания к доработке
« Последний ответ от Айрат 16.12.2021, 17:23:32 pm »
Приложите файл с расширением elf или el, пожалуйста.
Должен быть в папке с exe файлом.

Айрат
44
Modbus эмулятор / Re: Пожелания к доработке
« Последний ответ от Ruslan 16.12.2021, 16:33:01 pm »
OPC сервер SCADA iFix 5.9. JОшибка при выборе любого тега, а вот тип данных не подскажу, т.к. не знаю где его посмотреть.

Может это поможет:

EurekaLog 5.1.5

Application:
-------------------------------------------------------
  1.1 Start Date      : Thu, 16 Dec 2021 18:02:48 +0500
  1.2 Name/Description: Эмулятор Modbus устройств
  1.3 Version Number  : 2.34.64.952
  1.4 Parameters      :
  1.5 Compilation Date: Sun, 18 Apr 2021 01:13:18 +0500

Exception:
----------------------------------------------
  2.1 Date   : Thu, 16 Dec 2021 18:29:52 +0500
  2.2 Address: 004150C8
  2.3 Module : mtcpServerEmulator.exe
  2.4 Type   : EVariantInvalidArgError
  2.5 Message: Invalid argument.

Active Controls:
---------------------------------------
  3.1 Form Class   : TSelectOPCItemForm
  3.2 Form Text    : Выбор OPC тега
  3.3 Control Class: TOpcPropertyView
  3.4 Control Text :

Computer:
--------------------------------------------------------------
  4.1 Name          : GAFAR-PC
  4.2 User          : Gafar
  4.3 Total Memory  : 3982 Mb
  4.4 Free Memory   : 1715 Mb
  4.5 Total Disk    : 119.9 Gb
  4.6 Free Disk     : 49.16 Gb
  4.7 System Up Time: 9 hours, 0 minute, 58 seconds
  4.8 Processor     : Intel(R) Core(TM) i5-3317U CPU @ 1.70GHz
  4.9 Display Mode  : 1366 x 768, 32 bit

Operating System:
---------------------------------------
  5.1 Type    : Microsoft Windows Vista
  5.2 Build # : 7601
  5.3 Update  : Service Pack 1
  5.4 Language: Russian

Network:
---------------------------------------------------------------------------------------------------------
  6.1 IP Address: 000.000.000.000 - 010.157.016.172 - 010.157.020.061 - 169.254.144.071 - 192.168.072.001
  6.2 Submask   : 000.000.000.000 - 255.255.255.000 - 255.255.255.000 - 255.255.000.000 - 255.255.255.000
  6.3 Gateway   : 000.000.000.000 - 010.157.016.001 - 010.157.020.001 - 000.000.000.000 - 000.000.000.000
  6.4 DNS 1     : 000.000.000.000 - 008.008.008.008 - 000.000.000.000 - 000.000.000.000 - 000.000.000.000
  6.5 DNS 2     : 000.000.000.000 - 008.008.004.004 - 000.000.000.000 - 000.000.000.000 - 000.000.000.000
  6.6 DHCP      : ON              - ON              - OFF             - OFF             - OFF           


Registers:
-----------------------------
EAX: 01FE55F0   EDI: 000CE620
EBX: 00000008   ESI: 00190003
ECX: 00000000   ESP: 000CDEF8
EDX: 004150CD   EIP: 004150C8

Stack:   Memory Dump:
------------------   ---------------------------------------------------------------------------
000CDEF8: 00000000   004150C8: E8 0B FE FE FF 5E 5B C3 55 8B EC 6A 00 33 C0 55  .....^[.U..j.3.U
000CDEFC: 00416412   004150D8: 68 1A 51 41 00 64 FF 30 64 89 20 8D 55 FC A1 E4  h.QA.d.0d. .U...
000CDF00: 00416421   004150E8: 90 56 00 E8 C8 28 FF FF 8B 4D FC B2 01 A1 64 4A  .V...(...M....dJ
000CDF04: 00000000   004150F8: 41 00 E8 11 C7 FF FF E8 D4 FD FE FF 33 C0 5A 59  A...........3.ZY
000CDF08: 00414F60   00415108: 59 64 89 10 68 21 51 41 00 8D 45 FC E8 67 04 FF  Yd..h!QA..E..g..
000CDF0C: 00000000   00415118: FF C3 E9 15 FC FE FF EB F0 59 5D C3 53 8B D8 8B  .........Y].S...
000CDF10: 000CE010   00415128: C3 E8 8E 02 00 00 66 C7 03 01 00 5B C3 8D 40 00  ......f....[..@.
000CDF14: 000CDF3C   00415138: 55 8B EC 53 8B 4D 08 81 C1 00 FD FF FF 8B 54 C1  U..S.M........T.
000CDF18: 000CDF48   00415148: 04 03 14 C1 8B 5D 08 3B 94 83 00 FF FF FF 0F 9F  .....].;........
000CDF1C: 00000000   00415158: C2 48 84 D2 74 04 85 C0 7D E3 8B C2 5B 5D C3 90  .H..t...}...[]..
000CDF20: 00000000   00415168: 55 8B EC 53 56 B2 01 8B 4D 08 FF 84 81 00 FF FF  U..SV...M.......
000CDF24: 00000000   00415178: FF 8B 4D 08 8B 8C C1 04 FD FF FF 8B D9 8B 75 08  ..M...........u.
000CDF28: 77A88049   00415188: 03 9C C6 00 FD FF FF 8B 75 08 3B 9C 86 00 FF FF  ........u.;.....
000CDF2C: 000CE010   00415198: FF 7F 22 85 C0 75 04 33 D2 EB 1A 8B 55 08 8B 55  .."..u.3....U..U
000CDF30: 000CE620   004151A8: 08 89 8C 82 00 FF FF FF 8B 55 08 52 48 E8 AE FF  .........U.RH...
000CDF34: 000CE060   004151B8: FF FF 59 8B D0 8B C2 5E 5B 5D C3 90 55 8B EC 81  ..Y....^[]..U...


45
Modbus эмулятор / Re: Пожелания к доработке
« Последний ответ от Айрат 16.12.2021, 08:23:38 am »
Добрый день!

Опишите подробнее, пожалуйста.
Какой OPC сервер используете? Такое происходит только с определённым тегом, какой тип данных у этого тега?

Айрат
46
Modbus эмулятор / Re: Пожелания к доработке
« Последний ответ от Ruslan 15.12.2021, 21:58:16 pm »
День добрый!

Почему-то при попытке выбора тегов в OPC сервере появляется ошибка. Скрин прилагаю.
47
arOPC сервер / Re: MQTT arOPC
« Последний ответ от elperegrino 07.12.2021, 02:05:08 am »
1. не совсем так. Пытался сочинить пример с калькуляцией, короче чем на два экрана не выходит (стало любопытно, потом сделаю тестовый пример).
Тезисно: пример из проекта
Есть помимо прочего 5 вентиляторов (автоматизация сушильного шкафа сейчас работает в iot-MQTT panel в планшет, есть еще разная  автоматика, принято решение привести к общему знаменателю, ввести SCADA )
Для каждого вентилятора:   
публикуем: состояние, режим работы,  интервал включения, длительность включения, номер используемого датчика температуры, сигнал аварии (всего 7)
подписываемся: новое состояние, новый режим работы,  новый интервал включения, новая длительность включения, новый номер используемого датчика температуры (всего 6)
все значения параметров byte (меньше не бывает (битовая упаковка неоправдана))
при подходе "по топикам" длина топика постоянно нарастает, обработчики циклически работают с динамическими массивами (string) меняющейся длины, созданными не тобой (при 2 кб sram те еще грабли, память фрагментируется (массивы ведь должны хранится непрерывно) и программу часто срывает ).
при JSON мы один раз ищем есть ли "FANx" в названии топика, если да, то один раз парсим JSON раскидывая параметры в регистры.

Плюс данные из "приемника MQTT" спускаются по SLIP протоколу, а там число-это число, строка - это массив символов.

Магия с HASH (кстати, где посмотреть об этом способе, а то я слова по отдельности понимаю, а в смысл вместе они не складываются ))) )оправдана когда ты сам полностью в одном устройстве поднимаешь TCP-IP-MQTT стек , на имеющимся PHY (wi-fi, ethernet) и на нем же "шевелишь ногами"- тут как всегда, это или очень дорого или  очень сложно (читай объемно) или очень медленно. Выгоднее использовать отдельный контроллер, который будет заниматься только стеком TCP-IP-MQTT, а с основным будет общаться по SLIP. 

48
arOPC сервер / Re: MQTT arOPC
« Последний ответ от Айрат 06.12.2021, 22:41:59 pm »
1. Не совсем пойму выгоду от использования JSON. Ну завели вы один топик, в который сбрасываете JSON пакеты. Логика от этого не поменялась. Вы всё равно оперируете парами {"параметр": значение}, а это значит всё равно где то надо хранить название параметра, для того, что бы определить, какие данные поступили в JSON пакете. Плюс нужен парсер JSON пакетов. Каким образом это обходится при использовании JSON?

2. Да, действительно, можно оперировать отдельными парами. В этом случае, конечно, придётся отбросить QOS и Retain функционал, либо он будет неполноценным. Но если это не критично, то почему бы и нет. Вы правы, надо будет это дело реализовать.

Я понимаю, работать со строкой и JSON пакетом удобно, наглядно, много готового ПО, опирающегося на это. Но почему то никто не вспоминает, что сам по себе MQTT протокол способен передавать данные в любом виде. Что бы передать к примеру число 4 294 967 295 не надо передавать 10 байт, в виде строки, достаточно 4 байт. А контроллеру потом не надо будет парсить JSON и преобразовывать строку в число. Да и в оперативе, не надо хранить название параметра, можно HASH сумму посчитать и по ней искать, всё одно будет быстрее чем разбор JSON пакета и приведение параметров к нужному типу.
Но, это уже не каждому пионеру под силу).

Айрат
49
arOPC сервер / Re: MQTT arOPC
« Последний ответ от elperegrino 06.12.2021, 19:23:29 pm »
В общем: без JSON грустно: политика "один топик-одно значение" сильно отъедает и без того мелкой оперативной памяти устройств (бестолковые, незначащие названия топиков надо хранить, перебирать и обрабатывать, при хранении в EEPROM получаем тормоза при считывании) и после десятка значений-топиков сильно неудобно ковыряться с этими слешами, вложениями и пр., т.е для средних(от 10 значений) и крупных проектов мертворожденная идея.
Постепенно разбираюсь и для меня удивительно, почему почти ни у кого MQTT не внедрен в SCADA, понятно, что промыслам принципиально неинтересен этот потребительский "ширпотреб", но этож все-таки какой-никакой, а тоже рынок сбыта, так как главной проблемой большинства проектов является именно интерфейс пользователь-система.
Уговариваю:
Так это ж пока "один случай"(хотя, судя по ветке форума, уже два), вряд ли MQTT канет в лету в обозримом будущем(цена интерфейса к MQTT 1usd в розницу(ESP8266+esplink), цена modbus tcp -? ), а инструмента, позволяющего за адекватные деньги подключить "промышленный" интерфейс scada к ширпотребовской электронике и поделкам пионеров кроме Вашего пока нет. Ознакомьтесь с обсуждением какого-нибудь zeegbeetomqtt сообщества.

2)О JSON: такие топики со значениями только считываются такой длинной строкой с разнотиповыми значениями, запись можно делать и по одному значению,  в виде {"newstate":1}, в устройствах уже реализован обработчик JSON и ему безразлично со сколькими парами ключ-значение работать.
Прошу прощения за оффтоп.
50
arOPC сервер / Re: MQTT arOPC
« Последний ответ от Айрат 06.12.2021, 09:38:26 am »
1. Парсинг, наверное, как универсальное решение сделать не получится. А ради одного случая, смысла нет.
В arOPC проблема кольцевания решена, можете смело работать с одним топиком. Ну, а так да, идея разделения топиков, для тега, хорошая, добавлю в Task list.
2. Понятно. Тут возникает ограничение, такой топик будет доступен только на чтение. По идее это и было причиной, из за которой не стал добавлять разбор.

Айрат
Страницы: 1 ... 3 4 [5] 6 7 ... 10