Подскажите пожалуйста как описать переменные в проекте для Wago 750-841(Codesys) чтобы их можно было читать\писать через драйвер Modbus TCP со стороны Scada.
Если описывать так:
A %QW256: Int;
то значение читается по адресам Modbus 30257,40257 но записать в него не удается.
Попробуйте %IW256. Должно помочь, там все наоброт, насколько я знаю по 750-815.
InTouch + WAGO = ФОРЕВА навсегда!!! :))
Да но на %IW256 ругается компилятор, если есть запись в переменную в программе. :-(
Говорит, что нельзя писать в РидОнли? Бывает.
А вообще там так:
IW -входы для контроллера как со стороны IO, так и Модбас. Мы же не можем писать во входы?! А со стороны модбас IW - это типа выходы, и чтение и запись.
QW -выходы, контроллером писать и читать можем. А со стороны Модбас - это типа входы, только чтение.
Вот так. Перегруппировывайте переменные так, чтобы в IW ничего не писалось.
Читайте мануал, там есть все-все-все. Удачи.
Первоначально опубликовано Valerik
Если описывать так:
A %QW256: Int;
то значение читается по адресам Modbus 30257,40257 но записать в него не удается.
На самом деле записать-то удается, только это значение попадает по адресу %IW256
Vladimir Voronenkov
"Первая Миля", Authorized ICONICS Systems Integrator
Вчера не мог уснуть - мухи в голове. И одна из них оказалась вашей.
Первоначально опубликовано Valerik
значение читается по адресам Modbus 30257,40257
А в чем Вы это смотрели? Где?
Первоначально опубликовано Petrov
Вчера не мог уснуть - мухи в голове. И одна из них оказалась вашей.
Первоначально опубликовано Valerik
значение читается по адресам Modbus 30257,40257
А в чем Вы это смотрели? Где?
Ну смотрел и интачем и прогой Modscan32. Если писать в 40257 то значение оказывается в 40769 и в 30769. Брр..
До этого работал через OPC ccервер от Codesys. Там просто берешь любую переменную и читаешь пишешь в нее. Через Modbus я понял так не выйдет, нужно группировать на входы и выходы?
Первоначально опубликовано Valerik
Ну смотрел и интачем и прогой Modscan32. Если писать в 40257 то значение оказывается в 40769 и в 30769. Брр..
Это нормально. Точно не помню детали, надо заглянуть в мануал. Сдвиг для внутренних переменных - поэтому хх769. Один из регистров предназначен для чтения, а другой для записи. При записи новое значение автоматически копируется и туда и туда.
Ясно. А то я подумал, что в как то по-другому данные доставляете, не через CoDeSys. Хотел поделить вас опытом, а вдруг вы какой-нибудь IO-server Интачевский пробуете? Тоже было бы интересно.
А не пробовали ли GatewayDDEserver? Какие выводы? Если не пробовали, то и не пробуйте. Как-то он "неправильно" сделан.
Если в CoDeSys обозначить переменные
varTCPModbusToPLC_2 AT %IW256: WORD;
varTCPModbusFromPLC_2 AT %QW256: WORD;
varPLC_3: WORD; /*внутрення переменная*/
то и писаться и читаться будет по адресу 40257
Vladimir Voronenkov
"Первая Миля", Authorized ICONICS Systems Integrator
Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме