Проблема с записью в устройство
Добавлено: Пн апр 07, 2008 3:12 pm
Помогите разрешить проблему!
На компе (XP Pro, SP2) установлен InTouch 9.5 и KEPServer MODBUS Ethernet.
Код на чтение 03
Код на запись 16 (10 Нех)
Имею устройство, с которого нужно считывать и записывать данные по MODBUS TCP. Для хранения данных в устройстве выделяется 2 регистра (например, 400013 и 400014 по 16 бит каждый, тип WORD). Хотя само число хранится в регистре 400013. В 400014 всегда 0.
При чтении ОДНОГО регистра содержащего число (400013) проблем нет. При попытке записи в этот регистр устройство ругается и выдает
/// D register No. error (A No. outside the range has been specified.) ///
Решили, что для записи (и чтения тоже) корректно указывать два регистра. В хелпе для MODBUS Ethernet так вроде можно сделать если использовать массив 400013 [rows][cols], например 400013 [1][2] (или 400013 [2] ). В этом случае при чтении также все нормально, однако при попытке записи ругается уже InTouch:
/// Failed to poke item "400013 [2]" for Access Name "ys1700_frca1" ///
В чем беда???? Может, кто сталкивался? Есть подозрение, что ошибка в синтаксисе, тогда как указывать правильно в InTouch 9.5 и в KEPServer?
Примечание: Для сравнения воспользовались MBENET от wonderware.
При указании в строке Item Name для тега следующего адреса: 400013 I – возможно только чтение плюс KEPServer выдает ошибку (см выше).
Если указать 400013-400014 I (два регистра) – все нормально. Идет чтение и запись.
Заранее благодарен.
На компе (XP Pro, SP2) установлен InTouch 9.5 и KEPServer MODBUS Ethernet.
Код на чтение 03
Код на запись 16 (10 Нех)
Имею устройство, с которого нужно считывать и записывать данные по MODBUS TCP. Для хранения данных в устройстве выделяется 2 регистра (например, 400013 и 400014 по 16 бит каждый, тип WORD). Хотя само число хранится в регистре 400013. В 400014 всегда 0.
При чтении ОДНОГО регистра содержащего число (400013) проблем нет. При попытке записи в этот регистр устройство ругается и выдает
/// D register No. error (A No. outside the range has been specified.) ///
Решили, что для записи (и чтения тоже) корректно указывать два регистра. В хелпе для MODBUS Ethernet так вроде можно сделать если использовать массив 400013 [rows][cols], например 400013 [1][2] (или 400013 [2] ). В этом случае при чтении также все нормально, однако при попытке записи ругается уже InTouch:
/// Failed to poke item "400013 [2]" for Access Name "ys1700_frca1" ///
В чем беда???? Может, кто сталкивался? Есть подозрение, что ошибка в синтаксисе, тогда как указывать правильно в InTouch 9.5 и в KEPServer?
Примечание: Для сравнения воспользовались MBENET от wonderware.
При указании в строке Item Name для тега следующего адреса: 400013 I – возможно только чтение плюс KEPServer выдает ошибку (см выше).
Если указать 400013-400014 I (два регистра) – все нормально. Идет чтение и запись.
Заранее благодарен.