Выкиньте этот FBD в топку, пишите на CFC (или на ST), добавляете En/Eno, и управляйте элементом.
Вид для печати
Вот она палочка-выручалочка, которая спасет созданное непосильным трудом. ;) Спасибо, capzap.
Оператор LT позволяет сделать переход на нужную цепь диаграммы.
Добрый день. Как реализовать в ПЛК110 реализовать запись и дальнейшее считывание переменных в память через указатели? Данные с трех ТРМ10 будут считываться каждые 10 минут на протяжении недели и один раз считываться, это большой объем данных и в ОЗУ не влезет.
В ПЛК110 ОЗУ - 128 Кбайт, ваших данных у меня получилось чуть больше 24 Кбайт, вполне влезет.
Только хранить данные в ОЗУ за целую неделю, думаю не правильно.
Лучше сделать запись на флешку, а ещё лучше писать в ПЗУ панели типа СП3хх, данные не потеряете и считать всегда можно и на флешку скинуть. К тому же хранить можно не неделю, а месяц или несколько месяцев.
я может чего-то не поняла чем указатели помогут вам сделать то, что вам хочется?Цитата:
реализовать запись и дальнейшее считывание переменных в память через указатели?
и если вы сами пишете, чтото веротяноЦитата:
это большой объем данных и в ОЗУ не влезет.
ответ - никакЦитата:
Как реализовать в ПЛК110
Добрый день. Ткните пжлста, где почитать про адресацию байтов по МОДБАС в ПЛК 110. Имею панель СП300 и битовая кнопка. Адрес тэга в ПЛК AT%IX7.195.0.
Как вычислить адрес для панели? Весь мозг сломал.
Адреса считаются не по этим AT%IX7.195.0, а по номеру от начала слейва, начинается с 0, если сами не можете выложите скрин.
А вообще совет, делайте 8Bit в начале сколько надо, считать с 0 биты легче. (добавлять 8Bit надо по 2 штуки, что бы занять регистр полностью).
А ещё лучше передавайте регистрами, по 16 бит, считать вообще не надо.
Непонятно, но здорово. Короче 0x и 1x при работе с ПЛК лучше не использовать. Хрен разберёшься. Будем использовать регистры.
Чего здесь не понятного?
https://owen.ru/forum/attachment.php...5&d=1395648726
ЗЫ.
Байты (0х, 1х) находятся в той же области память, что и регистры (4х, 3х).
Т.е. в ПЛК в слейве может быть регистр, например 4х0, к битам которого из панели можно обратиться как к 0х00..0х15
И какой адрес указать для индикатора?
Сначала всю таблицу регистров составьте, с разбивкой Форда на биты.
Нужно видеть все регистры слейва, т.к. адреса начинаются с первого регистра слейва(адрес 0)
НапримерВложение 75263
Их там 194.:( Сделал в формате 4х. Так проще оказалось. Проект не мой. Заранее спланировать битовые области не получилось. Поэтому и проблемы.И с Кодесис только первые шаги.
Всем спасибо за ответы. Вопрос закрыт.
Я составлял таблички и расписывал в них биты и регистры. Вот тут писал: https://owen.ru/forum/showthread.php...l=1#post420631
Умею и биты и регистры. Идиотская адресацию просто в Кодесис. Проще сделать 4х
Я помощи просил, а не пи... ми с тобой меряться. Не хочешь помочь, иди мимо. Или руки зудят?
Все что нужно почитамши. И еще почитаю. Широко шагаешь товаришь, штаны не порви.
Добрый день.
Пытаюсь связаться с МК210-302 по Modbus TCP.
Честно, никогда раньше не имел дела ни с Modbus ни с OWEN.
Отправляю на сокет с указанным в конфигураторе IP такой пакет
#pragma pack(push, 1)
struct data_t {
uint16_t transaction_n;
uint16_t protocol_id;
uint16_t packet_size;
uint8_t slave_id;
uint8_t func_id;
uint16_t registry_n;
uint16_t registers_count;
uint8_t value_size;
uint8_t value;
};
#pragma pack(pop)
data_t data;
data.transaction_n = 0;
data.protocol_id = 0;
data.packet_size = 8;
data.slave_id = 1;
data.func_id = 16;
data.registry_n = 470;
data.registers_count = 1;
data.value_size = 1;
data.value = 8;
нужные значения дискретных выходов не устанавливаются.
правильный ли я пакет отправляю?
всё, получилось, прошу прощение за беспокойство
НО. Появился другой вопрос. Чтобы стабильно установить эти данные, приходится посылать одно и тоже 2 раза.
Это явно нехорошо. Что я делаю неправильно может нужна какая-то инициализация?
вернее наоборот, опытном путем выяснил, что НЕ проходит именно последняя команда. Причем дело явно не в клиенте (мастере), поскольку если отправить эту же структуру в конце, забитую 0-ми, то ничего не поменяется, сервер его просто не обработает, как и последнюю значащую команду.
Поставьте себе например Owen OPC Server, это пара минут, он может читать и записывать по Модбас или TCP, например ваш модуль.
В журнале, в логах опроса видно всё, запросы мастера, ответы модуля слейва, посмотрите как это работает.
https://owen.ru/catalog/opc_serveri
спасибо, обязательно попробую