Страница 1012 из 1044 ПерваяПервая ... 125129129621002101010111012101310141022 ... ПоследняяПоследняя
Показано с 10,111 по 10,120 из 10436

Тема: ВОПРОС-ОТВЕТ (отвечаем на простые вопросы от новичков)

  1. #10111

    По умолчанию

    Цитата Сообщение от Задумкин Сергей Посмотреть сообщение
    Добрый день! Подскажите есть ли в 2.3 опция сбросить значения регистров в ноль при потере связи по modbus с устройством по аналогии с codesys 3.5 (работаю только в этой версии, но тут нужно залезть в чужую программу)
    Штатно - нет

  2. #10112
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,248

    По умолчанию

    Цитата Сообщение от Задумкин Сергей Посмотреть сообщение
    Добрый день! Подскажите есть ли в 2.3 опция сбросить значения регистров в ноль при потере связи по modbus с устройством по аналогии с codesys 3.5 (работаю только в этой версии, но тут нужно залезть в чужую программу)
    В штатном слейве нужно следить за переменными последний прибор и последняя ошибка, а по ним уже принимать решение в коде что обнулить, что активировать
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  3. #10113

    По умолчанию

    Добрый день. Вопрос такой - при объявлении ФБ или структуры необходимо часть переменных сделать retain persistent, а не весь блок. Как это сделать? Пытался пользоваться директивой {nonpersistent} , но что то не работает, по прежнему весь ФБ в retain.
    если что - ПЛК 110 М2, версия кодесис 2.3.9.61

  4. #10114

    По умолчанию

    Ответ - никак. В справке про это четко написано.

  5. #10115

    По умолчанию

    Экран.PNG
    В документе написано что можно с помощью директивы. С 5-19
    Я к тому что может кто смог её использовать и получилось, либо это зависит от ПЛК либо что-то еще надо настроить что не описано. Либо - в мануале - ошибка или неверный перевод.

  6. #10116

    По умолчанию

    Так retain или persistent или retain persistent?

  7. #10117

    По умолчанию

    Добрый день коллеги!
    Продолжение проекта ПЛК110 + МВ110-8ас и String:
    считываю с каждого МВ данные в String и присваиваю этот string в структуру struct_original_8AC
    На скрине выдает "Х = "Переполнение строки" это нормально или ненормально?
    2023-11-22_11-30-44.png
    Код:
    TYPE	struct_original_8AC :STRUCT
    	command : DWORD;
    	SRD : ARRAY[1..8] OF INT;
    	Read : ARRAY[1..8,1..3] OF WORD;
    	x : STRING(15); 
    END_STRUCT
    END_TYPE
    По структуре если считать что command равен 1 байту то получается 80 байт, но у меня command в структуре равен DWORD то есть 4 байта. Не пойму как правильно должно быть.

  8. #10118

    По умолчанию

    Цитата Сообщение от senkos Посмотреть сообщение
    Добрый день коллеги!
    Продолжение проекта ПЛК110 + МВ110-8ас и String:
    считываю с каждого МВ данные в String и присваиваю этот string в структуру struct_original_8AC
    На скрине выдает "Х = "Переполнение строки" это нормально или ненормально?
    По структуре если считать что command равен 1 байту то получается 80 байт, но у меня command в структуре равен DWORD то есть 4 байта. Не пойму как правильно должно быть.
    По этому поводу уже писал, при работе блоков, все SRD должны быть 0, все Read должны быть числами не равными 0, если есть смещение, то это сразу видно.
    На command : DWORD и STRING плевать, они для выравнивания.

    У вас на скрине похоже не все датчики подключены, по некоторым SRD не 0, а число как ошибка датчиков.
    Так как тип стоит тип INT вместо WORD.
    У меня ошибка обрыв датчика показывает 61453, а у вас -4083, а в HEX это 16#F00D - обрыв датчика.

    У вас всего должно быть DWORD 4 байта +80 байт = 84 байта
    И зачем вам стринг, так и не понял.
    Последний раз редактировалось kondor3000; 22.11.2023 в 13:20.

  9. #10119

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    По этому поводу уже писал, при работе блоков, все SRD должны быть 0, все Read должны быть числами не равными 0, если есть смещение, то это сразу видно.
    На command : DWORD и STRING плевать, они для выравнивания.

    У вас на скрине похоже не все датчики подключены, по некоторым SRD не 0, а число как ошибка датчиков.
    Так как тип стоит тип INT вместо WORD, то ошибка не правильно отображается, ещё и с минусом.
    Подключены только пара датчиков, показания по ним верные, меня смутило наличие надписи "Переполнение строки" думал мало ли какой перекос у меня.
    У меня проблема такая что изначально было сконфигурировано 7шт UMD для семи компрессоров, а по факту оказалось что нужно три и вот когда я удаляю последине 4 шт у меня перестает все работать так как возможно плывут все данные. Массивы и структуры я переделал под 3 компрессора, а вот когда удаляю UMD лишние то все плывет. Причем в Master кроме этих UMD нет ничего.2023-11-22_13-03-04.png

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    И зачем вам стринг, так и не понял.
    В string я же получаю данные от МВ110 и он максимально 80 байт вмещает и чтобы не путаться добавили X[15]: string для удобства, чтобы "один string == один МВ110". Или вы про какой string?
    У меня вот так происходит объявление структуры:
    Код:
    original_8AC AT %QB6.1.0 : ARRAY[1..3] OF struct_original_8AC;
    Последний раз редактировалось senkos; 22.11.2023 в 13:25.

  10. #10120

    По умолчанию

    Цитата Сообщение от senkos Посмотреть сообщение
    Подключены только пара датчиков, показания по ним верные, меня смутило наличие надписи "Переполнение строки" думал мало ли какой перекос у меня.
    У меня проблема такая что изначально было сконфигурировано 7шт UMD для семи компрессоров, а по факту оказалось что нужно три и вот когда я удаляю последине 4 шт у меня перестает все работать так как возможно плывут все данные. Массивы и структуры я переделал под 3 компрессора, а вот когда удаляю UMD лишние то все плывет. Причем в Master кроме этих UMD нет ничего.2023-11-22_13-03-04.png



    В string я же получаю данные от МВ110 и он максимально 80 байт вмещает и чтобы не путаться добавили X[15]: string для удобства, чтобы "один string == один МВ110". Или вы про какой string
    У меня программа на 7 блоков ваша, а подключены 2 блока по факту, все работает ничего не удаляя.

Страница 1012 из 1044 ПерваяПервая ... 125129129621002101010111012101310141022 ... ПоследняяПоследняя

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •