p001p

Ответы в темах

Просмотр 6 сообщений - с 1 по 6 (из 6 всего)
  • Автор
    Сообщения
  • в ответ на: Запись значения в ргеистр Segnetics #7358
    p001p
    Участник

    В процессе отладки гораздо проще отправлять бинарную команду, в которой явно прописываете отправляемые байты. Чтобы перевести float в 16-ричную форму используйте, например, http://www.binaryconvert.com/result_float.html
    Когда заработает, расскажу, как преобразовать double для отправки. Это не так сложно.

    Можно рассказать сразу? Работы ведутся на объекте где нету связи и очень трудно лишний раз организовывать доступ в интернет и ехать обратно на объект. С переводом из одной СС в другую проблем не возникнет. А вот с преобразованием в другой тип данных хотелось бы знать чуть заранее.

    p001p
    Участник

    Да, ситуация складывается такая, что контроллер, Segnetics SMH2G(i) и Segnetics Pixel, не поддерживает сквозную запись в переменную.
    Т.е. ТОЛЬКО одна переменная MODBUS и ТОЛЬКО одна перменная вводимая с экрана контроллера, тем самым мы получаем смешную ситуацию, когда введёное повтороно значение в перменную Modbus — не записывается.
    Тем самым надо организовать что-то вроде «обратной связи»
    Если изменилось значение ВК2, то оно должно записаться через КУ1 в переменную на контроллере.

    Если хотите почувствовать всю «костыльность» решения на данном контроллере.

    Правильно ли я понял, что нужно при изменении входного канала, передавать новое значение на контроллер? Если да, то в новом Модуле автоматического управления есть триггер на изменение. Правда, новая версия пока не выложена, но могу прислать.

    Совершенно верно! Отследить изменение входного канала, который считывает значение с переменной в контроллере — передать его на контроллер через канал управления, но в другую переменную =)

    в ответ на: Запись значения в ргеистр Segnetics #7330
    p001p
    Участник

    Ниже представлен файл конфигурации Lectus OPC.

    Может он вам что-нибудь подскажет?

    <Lectus_OPC_server_config_file Protect="34101">
    	<_COM_PORTS_>
    		<COM1 Speed="115200" DataBits="8" Parity="NONE" StopBits="1" XONXOFF="NONE" DTR="ENABLE" RTS="ENABLE" CTS="false" DSR="false" RaiseRTS="0" DropRTS="0" ReadInterval="5"/>
    		<COM2 Speed="115200" DataBits="8" Parity="NONE" StopBits="1" XONXOFF="NONE" DTR="ENABLE" RTS="ENABLE" CTS="false" DSR="false" RaiseRTS="0" DropRTS="0" ReadInterval="5"/>
    		<COM3 Speed="115200"/>
    		<COM4 Speed="115200"/>
    		<COM11 Speed="115200" DataBits="8" Parity="NONE" StopBits="1" XONXOFF="NONE" DTR="ENABLE" RTS="ENABLE" CTS="false" DSR="false" RaiseRTS="0" DropRTS="0" ReadInterval="5"/>
    	</_COM_PORTS_>
    	<_ITEMS_>
    		<Item Name="Request1" Plugin="0" Flag="1" AccessPath="" AccessRights="3" CanonicalDataType="0" AccessChange="31" EUType="0" EUInfo="0" Props_0_PropertyID="101" Props_0_DataType="8" Props_0_ItemID="" Props_0_Description="Описание узла" Props_0_Value="" Props_1_PropertyID="6" Props_1_DataType="4" Props_1_ItemID="" Props_1_Description="Частота опроса" Props_1_Value="100" Props_2_PropertyID="5000" Props_2_DataType="17" Props_2_ItemID="" Props_2_Description="COM порт" Props_2_Value="10" Props_3_PropertyID="5001" Props_3_DataType="2" Props_3_ItemID="" Props_3_Description="Адрес устройства" Props_3_Value="9" Props_4_PropertyID="5004" Props_4_DataType="2" Props_4_ItemID="" Props_4_Description="Функция чтения" Props_4_Value="1" Props_5_PropertyID="5005" Props_5_DataType="2" Props_5_ItemID="" Props_5_Description="Функция записи" Props_5_Value="15" Props_6_PropertyID="5002" Props_6_DataType="11" Props_6_ItemID="" Props_6_Description="Групповой запрос" Props_6_Value="True" Props_7_PropertyID="5999" Props_7_DataType="4" Props_7_ItemID="" Props_7_Description="Начальная фаза опроса" Props_7_Value="0" Props_8_PropertyID="5015" Props_8_DataType="8" Props_8_ItemID="" Props_8_Description="Тип подключения" Props_8_Value="Прямое подключение" Props_9_PropertyID="5027" Props_9_DataType="8" Props_9_ItemID="" Props_9_Description="Тип Slave подключения" Props_9_Value="Нет" Props_10_PropertyID="5029" Props_10_DataType="11" Props_10_ItemID="" Props_10_Description="Порядок байт - старшим байтом вперед" Props_10_Value="True" Props_11_PropertyID="5030" Props_11_DataType="11" Props_11_ItemID="" Props_11_Description="Порядок байт - старшим регистром вперед" Props_11_Value="False" Props_12_PropertyID="5052" Props_12_DataType="8" Props_12_ItemID="" Props_12_Description="Преамбула команды" Props_12_Value="" Props_13_PropertyID="5060" Props_13_DataType="11" Props_13_ItemID="" Props_13_Description="Широковещательная команда" Props_13_Value="False" Props_14_PropertyID="5073" Props_14_DataType="11" Props_14_ItemID="" Props_14_Description="Возможен ответ больше ожидаемого" Props_14_Value="False" Props_15_PropertyID="5061" Props_15_DataType="8" Props_15_ItemID="" Props_15_Description="Контрольная сумма" Props_15_Value="CRC (Modbus)" Props_16_PropertyID="5025" Props_16_DataType="11" Props_16_ItemID="" Props_16_Description="Тип устройства - Master" Props_16_Value="True" Props_17_PropertyID="5026" Props_17_DataType="11" Props_17_ItemID="" Props_17_Description="Тип устройства - Slave" Props_17_Value="False" Props_18_PropertyID="5031" Props_18_DataType="8" Props_18_ItemID="" Props_18_Description="Тип данных" Props_18_Value="Текущие данные">
    			<Item Name="Ask" Plugin="0" Flag="2" AccessPath="" AccessRights="3" CanonicalDataType="11" AccessChange="31" EUType="0" EUInfo="0" Props_0_PropertyID="1" Props_0_DataType="2" Props_0_ItemID="" Props_0_Description="Тип переменной" Props_0_Value="11" Props_1_PropertyID="2" Props_1_DataType="12" Props_1_ItemID="" Props_1_Description="Значение переменной" Props_1_Value="" Props_2_PropertyID="3" Props_2_DataType="2" Props_2_ItemID="" Props_2_Description="Качество переменной" Props_2_Value="" Props_3_PropertyID="4" Props_3_DataType="7" Props_3_ItemID="" Props_3_Description="Метка времени" Props_3_Value="" Props_4_PropertyID="5" Props_4_DataType="3" Props_4_ItemID="" Props_4_Description="Права доступа" Props_4_Value="3" Props_5_PropertyID="7" Props_5_DataType="3" Props_5_ItemID="" Props_5_Description="Тип(значение/перечисление)" Props_5_Value="0" Props_6_PropertyID="5003" Props_6_DataType="18" Props_6_ItemID="" Props_6_Description="Адрес переменной" Props_6_Value="1"/>
    		</Item>
    		<Item Name="Request2" Plugin="0" Flag="1" AccessPath="" AccessRights="3" CanonicalDataType="0" AccessChange="31" EUType="0" EUInfo="0" Props_0_PropertyID="101" Props_0_Value="" Props_1_PropertyID="6" Props_1_Value="100" Props_2_PropertyID="5000" Props_2_Value="10" Props_3_PropertyID="5001" Props_3_Value="9" Props_4_PropertyID="5004" Props_4_Value="4" Props_5_PropertyID="5002" Props_5_Value="True" Props_6_PropertyID="5999" Props_6_Value="0" Props_7_PropertyID="5015" Props_7_Value="Прямое подключение" Props_8_PropertyID="5027" Props_8_Value="Нет" Props_9_PropertyID="5029" Props_9_Value="True" Props_10_PropertyID="5030" Props_10_Value="False" Props_11_PropertyID="5052" Props_11_Value="" Props_12_PropertyID="5060" Props_12_Value="False" Props_13_PropertyID="5073" Props_13_Value="False" Props_14_PropertyID="5061" Props_14_Value="CRC (Modbus)" Props_15_PropertyID="5025" Props_15_Value="True" Props_16_PropertyID="5026" Props_16_Value="False" Props_17_PropertyID="5031" Props_17_Value="Текущие данные">
    			<Item Name="PV" Plugin="0" Flag="2" AccessPath="" AccessRights="1" CanonicalDataType="4" AccessChange="31" EUType="0" EUInfo="0" Props_0_PropertyID="1" Props_0_Value="4" Props_1_PropertyID="2" Props_1_Value="" Props_2_PropertyID="3" Props_2_Value="" Props_3_PropertyID="4" Props_3_Value="" Props_4_PropertyID="5" Props_4_Value="1" Props_5_PropertyID="7" Props_5_Value="0" Props_6_PropertyID="5003" Props_6_Value="2"/>
    		</Item>
    		<Item Name="Request3" Plugin="0" Flag="1" AccessPath="" AccessRights="3" CanonicalDataType="0" AccessChange="31" EUType="0" EUInfo="0" Props_0_PropertyID="101" Props_0_Value="" Props_1_PropertyID="6" Props_1_Value="100" Props_2_PropertyID="5000" Props_2_Value="10" Props_3_PropertyID="5001" Props_3_Value="9" Props_4_PropertyID="5004" Props_4_Value="3" Props_5_PropertyID="5005" Props_5_Value="16" Props_6_PropertyID="5002" Props_6_Value="True" Props_7_PropertyID="5999" Props_7_Value="0" Props_8_PropertyID="5015" Props_8_Value="Прямое подключение" Props_9_PropertyID="5027" Props_9_Value="Нет" Props_10_PropertyID="5029" Props_10_Value="True" Props_11_PropertyID="5030" Props_11_Value="False" Props_12_PropertyID="5052" Props_12_Value="" Props_13_PropertyID="5060" Props_13_Value="False" Props_14_PropertyID="5073" Props_14_Value="False" Props_15_PropertyID="5061" Props_15_Value="CRC (Modbus)" Props_16_PropertyID="5025" Props_16_Value="True" Props_17_PropertyID="5026" Props_17_Value="False" Props_18_PropertyID="5031" Props_18_Value="Текущие данные">
    			<Item Name="Set" Plugin="0" Flag="2" AccessPath="" AccessRights="3" CanonicalDataType="4" AccessChange="31" EUType="0" EUInfo="0" Props_0_PropertyID="1" Props_0_Value="4" Props_1_PropertyID="2" Props_1_Value="" Props_2_PropertyID="3" Props_2_Value="" Props_3_PropertyID="4" Props_3_Value="" Props_4_PropertyID="5" Props_4_Value="3" Props_5_PropertyID="7" Props_5_Value="0" Props_6_PropertyID="5003" Props_6_Value="2"/>
    		</Item>
    	</_ITEMS_>  <_HDA_ITEMS_/>
    </Lectus_OPC_server_config_file>
    в ответ на: Запись значения в ргеистр Segnetics #7327
    p001p
    Участник

    Итак.
    Немного изменили условия, чтобы можно было более детальней установить проблему.

    Имеется Holding Register, имя: Set, адрес в контроллере 00002, занимает 4 байта (00002-00004).
    Текущее значение: 0.
    Скриншот как её видит Lectus OPC.
    [img]http://savepic.net/9933439.png[/img]
    Изображение - savepic.net — сервис хранения изображений

    Задача — записать в неё значение. Любое.
    Соответственно, ещё раз почитав форум, понял что существуют достаточно серьёзная проблема с записью float, ибо коммуникатор обрезает double и т.п. и т.д. Поэтому я предлагаю не вдаваться в детальные подробности организации сети и передачи переменных, ибо нужен результат.

    Настройки линии связи. Модбас ТСП через ЕТ-485 Новатек.

    [img]http://savepic.net/9951871.png[/img]
    Изображение - savepic.net — сервис хранения изображений

    Шаблон КП.
    Так как в ПЛК адрес — 2, значит я опрашиваю на 1 больше -> 3 адрес, галочка на множ. перем. и в соответствующем окне — 2
    [img]http://savepic.net/9939583.png[/img]
    Изображение - savepic.net — сервис хранения изображений

    Значение переменной Set — 0. Задача — записать в нее что-либо.
    Отправляем команду через коммуникатор:

    [img]http://savepic.net/9943679.png[/img]
    Изображение - savepic.net — сервис хранения изображений

    Значение переменной не изменилось, (осталось 0), лог ответа представлен ниже.

    [img]http://savepic.net/9932415.png[/img]
    Изображение - savepic.net — сервис хранения изображений

    Вопрос, как записывать переменные float? Вечно сидеть на int (2 byte) я не могу.

    • Ответ изменён 8 лет, 9 месяцев назад пользователем p001p.
    • Ответ изменён 8 лет, 9 месяцев назад пользователем p001p.
    в ответ на: Запись значения в ргеистр Segnetics #7326
    p001p
    Участник

    Именно. Попробуйте поставить галочку Множественная команда и задать ей 2 элемента.
    И присылайте часть лога, в которой виден момент отправки.

    Так и делал.
    Скажите пожалуйста, если у меня адрес HEX А400, то +1 адрес это А401? А402? А404?

    в ответ на: Запись значения в ргеистр Segnetics #7316
    p001p
    Участник

    1. Сконфигурированные каналы управления
    Сконфигурированные каналы управления

    2. Сконфигурированный шаблон опроса устройства по Modbus
    Шаблон опроса

    3. Настройки коммуникатора.
    Коммуникатор

    4. Лог после отправки Команды ТУ
    команда ТУ

    Лог после отправки

    Продублировал фотографии в надежде что они отобразятся.

Просмотр 6 сообщений - с 1 по 6 (из 6 всего)