PDA

Просмотр полной версии : Этот адрес уже используется



mikola_wow
13.05.2019, 09:10
Добрый день.
Не могу понять в чем причина ошибки создания кода и как с ней ПРАВИЛЬНО бороться.
Код во вложении

Суть проблемы: при компиляции ошибок нет, есть какое то странное предупреждение, при генерации кода выскакивают ошибки типа "Этот адрес уже используется"
Проблема появилась при замене универсальных модулей модбас на шаблоны модулей модбас.

------ Компиляция : Приложение: Device.Application -------
типизировать код...
[WARNING] iodrvmodbus, 3.5.4.0 (3s - smart software solutions gmbh): UpdateSlaveFBTriggers [ModbusSlaveComPort]: C0196: Неявная конверсия из типа без знака 'UINT' в тип со знаком 'INT': возможно изменение знака
Компиляция завершена -- 0 ошибок, 1 предупреждений

------ Компиляция : Приложение: Device.Application -------
типизировать код...
[WARNING] iodrvmodbus, 3.5.4.0 (3s - smart software solutions gmbh): UpdateSlaveFBTriggers [ModbusSlaveComPort]: C0196: Неявная конверсия из типа без знака 'UINT' в тип со знаком 'INT': возможно изменение знака
[WARNING] KINOPROKAT_SUP_v4: C0200: Отсутствует разрешение для заполнителя CmpCodeMeter
[ERROR] KINOPROKAT_SUP_v4: A3_AI [Device: Modbus_COM: Modbus_Master_COM_Port]: A3_AI: Адрес %ID73 уже используется
[ERROR] KINOPROKAT_SUP_v4: A3_AI [Device: Modbus_COM: Modbus_Master_COM_Port]: A3_AI: Адрес %ID74 уже используется
[ERROR] KINOPROKAT_SUP_v4: A4_DO [Device: Modbus_COM: Modbus_Master_COM_Port]: A4_DO: Адрес %IW150 уже используется
[ERROR] KINOPROKAT_SUP_v4: A4_DO [Device: Modbus_COM: Modbus_Master_COM_Port]: A4_DO: Адрес %IX302.0 уже используется
[WARNING] iodrvmodbus, 3.5.4.0 (3s - smart software solutions gmbh): UpdateSlaveFBTriggers [ModbusSlaveComPort]: C0196: Неявная конверсия из типа без знака 'UINT' в тип со знаком 'INT': возможно изменение знака
[WARNING] KINOPROKAT_SUP_v4: C0200: Отсутствует разрешение для заполнителя CmpCodeMeter
[ERROR] KINOPROKAT_SUP_v4: A3_AI [Device: Modbus_COM: Modbus_Master_COM_Port]: A3_AI: Адрес %ID73 уже используется
[ERROR] KINOPROKAT_SUP_v4: A3_AI [Device: Modbus_COM: Modbus_Master_COM_Port]: A3_AI: Адрес %ID74 уже используется
[ERROR] KINOPROKAT_SUP_v4: A4_DO [Device: Modbus_COM: Modbus_Master_COM_Port]: A4_DO: Адрес %IW150 уже используется
[ERROR] KINOPROKAT_SUP_v4: A4_DO [Device: Modbus_COM: Modbus_Master_COM_Port]: A4_DO: Адрес %IX302.0 уже используется
Компиляция завершена -- 8 ошибок, 4 предупреждений : загрузка невозможна!

Евгений Кислов
13.05.2019, 09:44
Добрый день.
ПРАВИЛЬНЫЙ способ борьбы - не использовать ручное распределение АТ-адресов - т.е. не допускать появления в каналах узлов таргет-файла синей буквы М.
Полностью удалите содержимое этих ячеек (в которых есть синяя буква М) и нажмите Enter - адреса будут распределены автоматически, и ошибки уйдут.

42662 42663

mikola_wow
14.05.2019, 10:19
А кук удалить букву М синюю ??

Евгений Кислов
14.05.2019, 10:23
А кук удалить букву М синюю ??

1. Два раза нажмите левой кнопкой мыши (https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D 1%80%D0%BD%D0%B0%D1%8F_%D0%BC%D1%8B%D1%88%D1%8C) на ячейку, в которой есть синяя буква М.
2. Появится курсор для редактирования значения ячейки.
3. Нажимайте клавишу Backspace (https://ru.wikipedia.org/wiki/Backspace) до тех пор, пока в ячейке не останется символов.
4. Нажмите клавишу Enter (https://ru.wikipedia.org/wiki/%D0%9A%D0%BB%D0%B0%D0%B2%D0%B8%D1%88%D0%B0_%D0%B2% D0%B2%D0%BE%D0%B4%D0%B0), чтобы подтвердить ввод.

SatanaXIII
29.05.2024, 11:36
Тоже столкнулся с данной ситуацией. Добавил в проект несколько модулей ввода/вывода, а потом компонент модбас слейв. Соответственно модули автоматом получили более ранние адреса, а модбас адреса побольше. При этом, при попытке изменения holding регистров модбаса из WinCC, столкнулся со смещением адресов ровно на занятые адеса модулями. То есть, например, в WinCC адрес регистра был 400001, а в модбас компоненте %QW6, где адреса с %QW0 по %QW5 занимали три модуля дискретных выводов.
При попытке ручного изменения адресов появился круглый синий значок с буквой М и соответственно вообще все перестало работать.
Пришлось удалить модули вывода из проекта, переназначить адреса компонента модбас слейв и вновь добавить модули. По адресам получилось тоже самое, что и после ручного изменения, но только без синей буквы М и рабочее.




1. Два раза нажмите левой кнопкой мыши (https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D 1%80%D0%BD%D0%B0%D1%8F_%D0%BC%D1%8B%D1%88%D1%8C) на ячейку, в которой есть синяя буква М.
2. Появится курсор для редактирования значения ячейки.
3. Нажимайте клавишу Backspace (https://ru.wikipedia.org/wiki/Backspace) до тех пор, пока в ячейке не останется символов.
4. Нажмите клавишу Enter (https://ru.wikipedia.org/wiki/%D0%9A%D0%BB%D0%B0%D0%B2%D0%B8%D1%88%D0%B0_%D0%B2% D0%B2%D0%BE%D0%B4%D0%B0), чтобы подтвердить ввод.
Смешно. )

МихаилГл
29.05.2024, 11:41
QW6 не имеет никакого отношения к нумерации регистров модбас. 400001 это первый найденный/обозначенный в списке регистров. Он может быть хоть qw432.