А у Вас чего переключатель на ПЛК ОВЕН в стопе?
Вид для печати
Переключил - не помогло.
возможны варианты.
я бы предложил, сначала, подключиться к контроллеру программой putty в формате Raw по порту 31550. после чего нажав английскую букву " о" и клавишу " энтер" запустить показ посылок modbus
тем самым увидеть, какие же посылки посылает контроллер и что ему отвечают модули. и вот уже эти посылки сравнить на всякий случай с РЭ.
Интересный режим.... но спамит страшно, ориентировочно 1-2 тысячи строк в секунду
не очень понимаю что там надо искать, на всякий случай забульбенил крайние сто тысяч строк в файл
Подскажите: что искать и где потом читать в РЭ?
Вложение 52328
выдержка из файла
в моменты попыток изменения параметров выходов вылезает множество строк с текстом "err=115"
детализация IP адресов:Цитата:
-> (task=12 dt=20 c=21(21)) 83 7E 00 00 00 0F 01 03 0C 50 62 43 D0 B4 DD 43 CF 4C 08 43 CE
79497872:res=12 err=115 Task=12 iTimeout=1000 len=12: 83 7F 00 00 00 06 01 03 14 D8 00 02 -> (task=12 dt=14 c=13(13)) 83 7F 00 00 00 07 01 03 04 F8 D5 42 47
79497898:res=12 err=115 Task=12 iTimeout=1000 len=12: 83 80 00 00 00 06 01 04 00 33 00 01 -> (task=12 dt=10 c=11(11)) 83 80 00 00 00 05 01 04 02 00 00
0ModbusTCP readex 192.168.254.173
79497932:res=12 err=115 Task=12 iTimeout=1000 len=12: E0 E0 00 00 00 06 01 03 0F A0 00 02 -> (task=12 dt=11 c=13(13)) E0 E0 00 00 00 07 01 03 04 D7 70 40 52
79497956:res=12 err=115 Task=12 iTimeout=1000 len=12: E0 E1 00 00 00 06 01 03 0F E0 00 01 -> (task=12 dt=16 c=11(11)) E0 E1 00 00 00 05 01 03 02 00 20
0ModbusTCP readex 192.168.254.174
79497997:res=12 err=115 Task=12 iTimeout=1000 len=12: D1 50 00 00 00 06 01 03 00 33 00 01 -> (task=12 dt=12 c=11(11)) D1 50 00 00 00 05 01 03 02 00 00
0ModbusTCP readex 192.168.254.245
79498029:res=12 err=115 Task=12 iTimeout=1000 len=12: F0 71 00 00 00 06 01 02 00 00 00 08 -> (task=12 dt=21 c=10(10)) F0 71 00 00 00 04 01 02 01 18
0ModbusTCP write 192.168.254.171
79498111:res=17 err=115 Task=12 iTimeout=1000 len=17: 83 81 00 00 00 0B 01 10 01 D6 00 02 04 00 00 00 00 715329529 [2020-12-03T22:04:58.000Z] |-1423354752|:In file opcua_p_socket.c at line 1418: <-- "P_Select" = 0x00000001 (GOOD).
.146 - Monokot OPC server
.171 - МЭ210-701
.172 - ПЛК110
.173 - МВ210-101
.174 - МК210-311
.245 - Siemens LOGO!
.246 - Siemens S7-1200
capzap
Так проблема в том, что я в модуль МЭ не пишу ничего... я меняю параметры выходов только на модуле МК...
Вот кусок программы который за входы-выходы отвечает.
Код:(*разбираем маску входов VAC *)
EXT_VAC_xEXT_VAC_DI1 := EXT_VAC_xEXT_VAC_wDI.0;
EXT_VAC_xEXT_VAC_DI2 := EXT_VAC_xEXT_VAC_wDI.1;
EXT_VAC_xEXT_VAC_DI3 := EXT_VAC_xEXT_VAC_wDI.2;
EXT_VAC_xEXT_VAC_DI4 := EXT_VAC_xEXT_VAC_wDI.3;
EXT_VAC_xEXT_VAC_DI5 := EXT_VAC_xEXT_VAC_wDI.4;
EXT_VAC_xEXT_VAC_DI6 := EXT_VAC_xEXT_VAC_wDI.5;
EXT_VAC_xEXT_VAC_DI7 := EXT_VAC_xEXT_VAC_wDI.6;
EXT_VAC_xEXT_VAC_DI8 := EXT_VAC_xEXT_VAC_wDI.7;
(*собираем выходы VAC *)
EXT_VAC_xEXT_VAC_wDO.0 := EXT_VAC_xEXT_VAC_DO1;
EXT_VAC_xEXT_VAC_wDO.1 := EXT_VAC_xEXT_VAC_DO2;
(*разбираем маску входов Drain_Sew *)
Drain_Sew_xDS_DI1 := Drain_Sew_xDS_wDI.0;
Drain_Sew_xDS_DI2 := Drain_Sew_xDS_wDI.1;
Drain_Sew_xDS_DI3 := Drain_Sew_xDS_wDI.2;
Drain_Sew_xDS_DI4 := Drain_Sew_xDS_wDI.3;
Drain_Sew_xDS_DI5 := Drain_Sew_xDS_wDI.4;
Drain_Sew_xDS_DI6 := Drain_Sew_xDS_wDI.5;
(*собираем выходы Drain_Sew *)
Drain_Sew_xDS_wDO.0 := Drain_Sew_xDS_DO1;
Drain_Sew_xDS_wDO.1 := Drain_Sew_xDS_DO2;
Drain_Sew_xDS_wDO.2 := Drain_Sew_xDS_DO3;
Drain_Sew_xDS_wDO.3 := Drain_Sew_xDS_DO4;
Drain_Sew_xDS_wDO.4 := Drain_Sew_xDS_DO5;
Drain_Sew_xDS_wDO.5 := Drain_Sew_xDS_DO6;
Drain_Sew_xDS_wDO.6 := Drain_Sew_xDS_DO7;
Drain_Sew_xDS_wDO.7 := Drain_Sew_xDS_DO8;
Capzap
Слышу-слышу. Пошел думать чего я там наколбасил в настройках.
Спасибо.
Убрал работу с выходами МЭ
осталось следующее:
И всеравно не пишет в .174 ничего (((Код:14 BC 43 7D
80029158:res=12 err=115 Task=12 iTimeout=1000 len=12: 01 EF 00 00 00 06 01 03 14 84 00 06 -> (task=12 dt=3 c=21(21)) 01 EF 00 00 00 0F 01 03 0C 00 00 00 00 00 00 00 00 00 00 00 00
80029176:res=12 err=115 Task=12 iTimeout=1000 len=12: 01 F0 00 00 00 06 01 03 14 C0 00 06 -> (task=12 dt=6 c=21(21)) 01 F0 00 00 00 0F 01 03 0C 96 C9 43 69 E7 6D 43 75 64 DD 43 70
80029199:res=12 err=115 Task=12 iTimeout=1000 len=12: 01 F1 00 00 00 06 01 03 14 CC 00 06 -> (task=12 dt=13 c=21(21)) 01 F1 00 00 00 0F 01 03 0C 51 AA 43 D2 22 D1 43 D0 03 12 43 D0
80029230:res=12 err=115 Task=12 iTimeout=1000 len=12: 01 F2 00 00 00 06 01 03 14 D8 00 02 -> (task=12 dt=13 c=13(13)) 01 F2 00 00 00 07 01 03 04 F0 A4 42 47
80029252:res=12 err=115 Task=12 iTimeout=1000 len=12: 01 F3 00 00 00 06 01 04 00 33 00 01 -> (task=12 dt=5 c=11(11)) 01 F3 00 00 00 05 01 04 02 00 00
0ModbusTCP readex 192.168.254.173
80029268:res=12 err=115 Task=12 iTimeout=1000 len=12: 00 A6 00 00 00 06 01 03 0F A0 00 02 -> (task=12 dt=5 c=13(13)) 00 A6 00 00 00 07 01 03 04 FE BC 40 A6
80029284:res=12 err=115 Task=12 iTimeout=1000 len=12: 00 A7 00 00 00 06 01 03 0F E0 00 01 -> (task=12 dt=4 c=11(11)) 00 A7 00 00 00 05 01 03 02 00 34
0ModbusTCP readex 192.168.254.174
80029304:res=12 err=115 Task=12 iTimeout=1000 len=12: 00 F9 00 00 00 06 01 03 00 33 00 01 -> (task=12 dt=9 c=11(11)) 00 F9 00 00 00 05 01 03 02 00 00
0ModbusTCP readex 192.168.254.245
80029331:res=12 err=115 Task=12 iTimeout=1000 len=12: 00 54 00 00 00 06 01 02 00 00 00 08 -> (task=12 dt=12 c=10(10)) 00 54 00 00 00 04 01 02 01 18
0ModbusTCP write 192.168.254.171
0ModbusTCP write 192.168.254.173
0ModbusTCP write 192.168.254.174
80029385:res=17 err=115 Task=12 iTimeout=1000 len=17: 00 FA 00 00 00 0B 01 10 01 D6 00 02 04 00 00 42 C2 888660984 [2020-12-05T22:13:49.000Z] |-1458436992|:In file opcua_p_socket.c at line 1418: <-- "P_Select" = 0x00000001 (GOOD).
Хотя как я понимаю мы как раз щас правильно пишем в нужный адрес, нужное количество и тп. или я не прав?
ну судя по Вашему разбору строки - тут по сути то же самое.... только пишем не 00 00 00 00, а 00 00 42 С2
в настройках модуля стоит:
последовательность байт _1_0_3_2 (в вещ и целых)
в 8 байт стоит _1_0_3_2_5_4_7_6
я дурак: столько дней бегал, а у меня тип данных на выходе стоял "вещественный" сменил на "беззнаковый целый" - заработало...
пойду побеждать выходы МЭ и работу с выходами Лого!
Велкам, в Новый год.
Не обновляйтесь
Словил подарок из инсата:
Нынешняя версия 1.2.11.20657 из обновления от 21 декабря
После обновления исполнительной системы и загрузки конфигурации : контроллер становится недоступен
Логи щас выгружу и добавлю сюда
Не выложу логи. Их нет. В папке /root/mplc4 какие бы то ни было логи - отсутствуют.
Мой косяк предновогодний, совпало обновление и отключение внешних модулей, по в итоге выловился косячный бесконечный цикл в программе. исключил нафиг.
Спасибо техподу инсата...
Добрый день. Скажите как работает ПЛК с данной системой на сегодняшний день и стоит ли её брать для управления домашнего освещения (через планшет и физ. кнопки)?
Чисто технически декабрьская версия - работает, даже все предыдущие косяки по коннектам и связям параметров внутри - починили.
Немного непривычный язык, но это решабельный вопрос.
про свет не скажу, у меня оно управляет водоснабжением и водоотведением, а так же климатом нескольких помещений в которых зимой надо бы подогревать (кессон скважины, насосная, генераторная). еще не пробовал HMI экраны, но наверное придется попробовать ;)
ЗЫ: причем в тестовом режиме он у меня спокойно забирает значения входов с Siemens !LOGO по Ethernet. и теоретически (так и не придумал зачем) может тянуть данные из S7-1200/1500.
Спасибо! Я как рас и хотел понять стабильность работы. А то на форуме много негатива про МСК4Д, а брать чистый ПЛК110 на CDS2 и городить еще ОПС в доме еще и на windows не очень хочется! :D
Igor_Eremin зачем Windows? зачем OPC?
какая разница какой ПЛК, если у него есть Modbus то далее просто не упираемся в MS4D а подбираем любую систему, где есть Modbus и работает на Linux.
Или у вас желание объединить все в одном флаконе? чтобы и HMI еще был в ПЛК ?
Я просто в MODBUS ножичек, а почти везде написано для работы ПЛК со Скадой нужен ОПС сервер они в основном на Виндовс! Желание стабильной работы ПЛК но хотелось бы иметь возможность иметь Скада в планшете! (прошу прощения если сумбурно написано)Если сможете подсказать оптимальный путь решения буду благодарен!
Igor_Eremin вариантов то масса, есть KaScada которая работает на планшете, есть и другие Scada, которые могут работать на Android и поддерживают Modbus без OPC.
Есть Scada системы, которые работают на Linux и в том числе на всяких Raspberry, Orange и т.д. и так же поддерживают Modbus.
Если использовать последние варианты, то есть установку микроПК в доме и подключение через Web то не важно, с чего вы подключитесь, с планшета или просто с телефона...
Выбор как говорится за вами.
Определитесь для чего вам тут планшет для начала, оттуда и двигайтесь. Просто когда ПЛК не привязан жестко к какой-то определенной системе можно построить более гибкую систему, а если выбрать ПЛК с MasterScada то в ней вы и останетесь навечно...
Опять же, нужно например чтение счетчиков электроэнергии, воды и т.д? а там далеко не Modbus бывает, либо выискивать устройства строго с Modbus...
Например связка ПР200 + Raspberry Pi4 выйдет скорее всего дешевле, чем ПЛК с MS4D и целую массу плюшек для развития. Использование GPIO Raspberry для управления чем-нибудь по алгоритмам Scada системы, оповещения по email, Telegram, SMS и даже управления через SMS.
Спасибо за ответ!
pult.online есть, даже настраивается через WEB, платная, есть какое-то маленькое количество бесплатных каналов для пробы
RapidScada - работает на Linux при установки Mono (NET для Linux) - бесплатное ядро, 65 тысяч тегов. Есть платные модули, например для отправки email, SMS нужен Модуль Автоматического Управления, драйвер Telegram. Есть и другие платные модули. (для личного использования разработчик дает скидки)
openScada вроде есть сборки для Raspberry, но сама система достаточно тяжела для понимания.
Сам пользуюсь RapidScada, очень понравилась за гибкость и возможности. Следующая версия будет куда интереснее, так как вроде будет отказ от Mono и портирование на NET5. Можно купить реле для Arduino (дешево и сердито) и управлять непосредственно из Scada системы.
Спасибо пошел учить матчасть =)
Немного дополню тем что натыкал сам в поисках:
OPC-сервер для вытягивания данных из SNMP и перевода в modbus нашел на базе RaspberyPi зовется Monokot... Прикольная штука, имеет графическую утилиту настройки.
про скаду много чего написали, сам стырил мыслю о рапидскаде ;)
Андрей Анненко]Добрый день.
СПК1хх [М01] и ПЛК110-MS4 [M02] контроллер c исполнительной средой MasterSCADA 4D.
Есть ли возможность их связать c помощью Modbus RTU или Modbus TCP?
Если есть возможность, отправьте, пожалуйста примеры.
ПЛК 110 М2 MS4D. При вложении параметров в папки для удобства навигации (параметров очень много, хотел разбить по назначению), программа, к примеру разложение байта на биты, перестаёт работать и выдаёт ошибку неизвестные переменные. При помещении параметра в корень папки "Параметры" всё нормально работает. Подскажите решение.
Это первое что сделал. Не работает этот "ткацкий ручной станок мастерскада 4д".
В общем зря я смотрел на "Полное имя", там разделители точки (почему???), а надо нижний штрих . Работает только с указанием пути.
В свойствах переменной можно было сделать пункт с отметкой "Глобальная переменная" и не прописывать путь к ней в программе?
Когда код написан и его надо просто скопировать в программу, такой подход с необходимостью прописывания пути убивает все преимущества среды разработки, так как это надо много времени.
В справке надо описывать все пункты, а не выборочно. К примеру что такое "Приоритет" в свойствах Modbus RTU.
Как настроить время опроса по modbus RTU каждого модуля отдельно как в Codesys?
Задайте эти вопросы на саппорт.
Здравствуйте! помогите пожалуйста разобраться . Имеется плк ПЛК110-220.60.Р-MS4-3 к нему пытаюсь подключить по RS485 частотник ПЧВ101-К75-В. В Мастерскаде при загрузки конфигурации в контроллер вылетает ошибка: "Отказ внешних модулей УСО". Значит добавлял в протоколах Modbus RTU (номер порта 1 так как пчв подключил на RS-485-1, скорость 9600, четность отсутствует , стоп бит 1) далее выбирал модудь modbus rtu1 (адрес 2 ) В ПЧВ установил настройки 8-30 выбрал 2, 8-31 адрес 2, 8-32 скорость 9600, 8-33 выбрал 2 контроль четности отсутствует 1 стоп-бит. Интерефейс RS485-1 подключал так A1 на вход 69 ПЧВ и В1 на вход 68 ПЧВ. где я ошибся?Вложение 54036Вложение 54037
Dushev85 с таймаутом 0 вообще хоть одна система умеет работать ? з.ы. не знаю МастерСкаду, но этот параметр обычно везде должен быть > 0
ну в мастерскаде этот параметр считается внутри модуля, относительно порта. так что вполне себе 100ms будет.
я бы рекомендовал запустить программу putty, тип подключения raw, порт 31550 адрес 127.0.0.1 и при запущенном проекте масерскады нажать латинскую о и enter.
моэжно будет понять хотябы что именно мастрескада запрашивает и как именно - посмотреть функции модбаса которые запрашивают данные и что отвечает устройство.
по счастливой случайности именно в это время и было https://www.youtube.com/watch?v=6QWiXXiqMdI )))))смотреть долго, но возможно будет полезно
Значит для примера хочу сделать опрос ПЧВ параметр 16-12 адрес указал 16119 ,тип значения целый без знаковый , тип ячейки -регистр хранения. запустил программу Putty тип подключения RAW порт 31550 адрес указал ПЛК 10.0.6.10 . получил такой ответ Вложение 54056Вложение 54057
Part of Data Package Description Value
02 Slave address 0x02 (2)
03 Function code 0x03 (3) - Read Holding Registers
3E F7 Starting address Physical: 0x3EF7 (16119)
Logical: 0x3EF8 (16120)
00 01 Quantity 0x0001 (1)
38 23 CRC 0x3823 (14371)
Вопрос запрос тот что надо или нет ? Просто с ПК опросить ПЧВ и проверить то же самое ?
Вообщем пробовал подключать напрямую к ПК (исключил ПЛК) через ОВЕН АС4 RS485. В мастерскада выбрал АРМ. в итоге тоже самое "Отказ внешних модулей УСО" . запустил программу putty, тип подключения raw, порт 31550 адрес 127.0.0.1 все аналогично как в описал выше. Где я не так делаю в чем моя ошибка?