Показано с 1 по 10 из 10

Тема: Обмен данными между ПЛК100-P-L и ТРМ202 по Modbus

  1. #1

    Exclamation Обмен данными между ПЛК100-P-L и ТРМ202 по Modbus

    Помогите. Нужен пример конфигураци CoDeSys для опроса измеренной величины и уставки ТРМ202 контролером ПЛК100-Р-L по протоколу Modbus RTU. Проблема в том, что значения отрицательные, и необходимо выводить информоцию с десятичное точкой.

  2. #2

    По умолчанию

    коллеги отзовитесь, вопрос очень срочный!!!!!

  3. #3

    По умолчанию

    та же проблема только плк110.
    овен молчит???

  4. #4

    По умолчанию

    прочитайте примеры на диске и этом сайте.

  5. #5

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    прочитайте примеры на диске и этом сайте.
    Премых примеров нет. Есть примеры обмена по протоколу Овен, а по Modbus нет.

  6. #6

    По умолчанию

    Если нет времени составлять конфигурацию, приведите хоть параметры PLC Configuretion, и кусок программы, для отображения отрицательных параметров с десятичной точкой

  7. #7

    По умолчанию

    Господа согласен с вопросом!
    Суть при попытке чтения данных с ТРМ202 в ПЛК в следующем:
    Чтение\запись параметров приборов ТРМ202 (и прочих с новой линейки) предусматривается либо в формате Float (по протоколу ОВЕН, либо в формате Signed Integer16 по протоколу Modbus). Так вот по протоколу ОВЕН все проходит чинно и гладко без нюансов, а вот по протоколу MODBUS есть проблемы.
    При опросе параметров измеренной величины по каналам прибора по протоколу Modbus мы должны прочитать переменную с прибора в формате Signed Integer16, сделать это напрямую через OPC достаточно просто, но при чтении их например в ПЛК100 возникает проблема, а именно: При подключении таргет-файла ПЛК100 в Codesys мы можем в PLC Configuration использовать посути только модуль Universal Modbus Module в котором можем посути выбрать только переменные области ввода-вывода либо в формате 8бит, WORD, Dword либо REAL,т.е. получается доступно чтение только переменной 8 или 32 бита. А как уже сказали нам нужно прочитать из прибора переменную типа Signed Integer16. Всё хорошо конечно когда переменная положительного значения -можно прочитать её значение целочисленное и в случае необходимости данных с запятой произвести деление на 10 (в нужной степени) но когда появляется необходимость чтения "минусового значения" и происходит сдвиг данных то уже явного значения пользователь в Codesys не видит и ему нужно пребразовывать данные в программе из типа word в тип integer.

    Так вот вопрос:
    почему нет возможности в ПЛК Конфигурации выбрать в явном виде чтение 2 байтовой переменной (small integer) чтобы не делать дополнительных преобразований типов данных и возведений их в степени 10 (-n)?

  8. #8

    По умолчанию

    "в Codesys не видит и ему нужно пребразовывать данные в программе из типа word в тип integer." -формат ModBus не может передавать числа со знаком (как и с плавающей точкой). О сути параметра знает только его пользователь и то,что это число на самом деле со знаком и фиксированной точкой - становится известно только в момент написания программы. т.е. это функция программиста ПЛК.
    Если добавить в мастер все возможные на свете типы данных, то это только усложнит его изучение и увеличит число возможных ошибок из-за непонимания, т.к., к сожалению, документацию у нас читают только в день сдачи проекта на объекте, когда осталось 5 минут до прихода заказчика а ничего не работает.
    Если человек не может сделать простейших преобразований - доверять ему программирование сложных технологических процессов просто недопустимо.

  9. #9

    По умолчанию

    Никто и не требует наверное по Modbus значения с десятичной точкой. Это все понимают и так, и преобразование сделать тоже несложно по типам данных, здесь нет вопросов. Хотя видимо все привыкли работать с OPC серверами и софтом для ПЛК других производителей где нет вопросов с типами данных.
    Я так понимаю пользователям создает неудобство именно отсутствие возможности передачи 2 байтовой переменной как таковой по Modbus и отображения её в Конфигураторе ПЛК в явном виде, все привыкли сперва настраивать область ввода-вывода с проверкой качественности данных, а уже затем использовать эти данные для программирования (как в ОРС). Просто удобно иногда сразу смотреть и оценивать параметры по ветке данных.

  10. #10

    По умолчанию

    Прошу прощения за всех ,если вернутся к нашим ПЛК, от философских вопросов если есть переменная в области конфигурации типа word по адресу %iW10.20 Для отображения ее в знаковое создайте в области глобальных переменных что то вроде value_t AT %IW10.20 :INT; (* В Кодесис INT и есть -32768 ...32767*).

Ваши права

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