ВСЕ переменные в слейве конфигурации являются ретейн автоматом, т.е нигде больше обозначать их как ретейн не нужно.
Вид для печати
Регистры в области обмена Модбас де факто есть ретейн, при условии, что ПЛК слейв.
забил переменные в конфигуратор, но некоторые обращаются к ФБ, у которых вход на запись и чтение, как быть с такими переменными?
Вложение 43803
к сожалению есть необходимость, т.к. эти переменные выводятся на панель и в зависимости от того, что "натыкает" пользователь, программа должна это исправить и отобразить
когда я эти переменные создавал просто в глобальных переменных, такого не было
попытайтесь воссоздать проблему в тестовом проекте и выложите здесь если проблема останется. Потому что на словах выглядит как бред
надеюсь меня правильной поймут, приложен тестовый вариант, ситуация такая же
ps можно ли обращаться к слову по битово,т.е конфигураторе установить переменную в 2байта и обращаться к нему по битово
Плюсик нажмите и покажите. Есть подозрение что имя переменной Вы вбили только в комментарий.
Вложение 43807
не, тут все верно, записана именно переменная и коментарий!
Здравствуйте. Стоит задача управлять несколькими выходами ПЛК100, переключать высоковольтную нагрузку. ПО планирую писать на Java, а не использовать SCADA системы. В CoDeSyS создал проект, добавил ModBUS slave, переменную 2 байта, и считываю ее успешно. Как сейчас считать и записать дискретные входы и выходы по Modbus!?
Здравствуйте! Подскажите пожалуйста, в codesysy 2.3 при печати данных визуализации через "файл" - "печать", CoDeSys выдает ошибку - Высота и ширина элемента "Контент" слишком мала! и далее печать не происходит. Как изменить размер элемента Контент и что это за элемент такой?
Не могу избавиться от одного ОРС
Нажатие кнопки Update приводит к появлению еще одной записи в Local. Вытер с компа все что связано с Lenze, даже в реестре, переустановил CDS, не помогло.
Вложение 43841
Не нужны Systembus - Server Driver и CAN 8220.
Требуется оставить только то, что позволяет подключаться к ПЛК110 разных модификаций.
Причем здесь реестр и пр. Когда открываешь чужой проект, созданный на другом компьютере или для "неизвестного" ПЛК, то в списке каналов можно найти все, что угодно: - и wago и номера несуществующих портов... А этих записей точно нет в моем реестре.
Значит ВСЕ эти настройки Gateway хранятся в самом файле проекта, в данном случае в проекте "APS_v1_3.pro"
Нужно не кнопку Update нажимать, а для каждой ненужной записи нажимать кнопку Remove. После чего сохранить проект
Проект мой, созданный лично мной от первой до последней буквы.
Нажатие Remove не удаляет лишние записи.
Удаляется только Lenze Standart, но после перезапуска CDS все возвращается, плюс еще одна копия ОРС.
А если эти мои проекты открыть
Вложение 43842
Вложение 43843
Вложение 43846
Открывал на свежеустановленном КДС.
Есть ощущение, что Gateway чудит. Не могу найти список протоколов, что бы грохнуть ненужные. Работа с Ленцами не предполагается.
Напрягает то, что с каждым открытием проекта количество OPC возрастает. А когда плодятся сущности, то мне становится страшно.
Я бы у официалов спросил - здесь https://forum-ru.codesys.com/index.php
petera
Надежды мало, последнее сообщение там было полгода назад.
А есть возможность сбросить ПЛК программно? К примеру отправить команду по ModBus!
где ResetPLC - команда по МодбасКод:PROGRAM PLC_PRG
VAR
Init: BOOL;
TON_Power: TON;
END_VAR
(*При первом запуске*)
IF NOT Init THEN
ResetPLC:= FALSE; (*Сбросить старую команду*);
Init:=TRUE;
END_IF
TON_Power(IN:= ResetPLC AND Init, PT:=T#500ms);
WHILE TON_Power.Q DO; END_WHILE (*Бесконечный цикл для перезапуска ПЛК*)
Вложение 43920
Спасибо большое!
Добрый день. Подскажите, как правильнее реализовать запись переменных в slave по Modbus TCP - можно ли перезаписывать их в каждом цикле, либо следует анализировать их значения и записывать в случае изменения? Значения переменных меняются изредка.
А вы собираетесь использовать мастер из конфигурации или будете сами писать обмен?
Записывать в область слейва на этом же ПЛК ? - по барабану.
Или писать в удаленный слейв ? Тогда лучше по изменению. Но не забывать про закрытие порта сервером если вы долго молчите
Здравствуйте!
Имеется ПЛК110[M02], к нему будет подключено несколько произвольных модбас-устройств по RS-485. Можно ли получить статус каждого (онлайн/оффлайн) по отдельности и записать их в переменные для дальнейшей обработки?
У меня такой вопрос. Если я на ПЛК110[M02] создам два ModBus TCP элемента, 1- master, для опроса модулей ввода\вывода. 2 - slave по нему ПК будет опрашивать и записывать регистры. Два ПК смогут подключиться к одному ПЛК по ModBus TCP для чтения, записи данных?
Вы должны создать 2 слейва с разными номерами портов IP.
Это тогда придется дублировать данные и как-то синхронизировать между двумя ModBus TCP элементами в ПЛК. Правильно ли я понимаю, эту проблему решают ОРС сервера. Они собирают данные с устройств и хранят эти значения, а потом по запросу отдают их SCADA системе или другому устройству. Так сказать посредник.