ТРМ 202, протокол обмена ОВЕН, библиотека owen_io_lib.dll.
Не нашел понятия статуса в протоколе OWEN. В modbus есть статус регистр, который к примеру может показать ошибки на каналах.
В описании работы по протоколу ОВЕН для оперативных параметров PV (формата float24) в поле "Характеристика" упоминается:
Вопрос: как понять что ошибка?PV* (опер.) B8DF F24 Измеренное значение входной величины или код ошибки: - 0xFD – ошибка на входе - 0xFE – отсутствие связи с АЦП - 0xF0 – вычисленное значение заведомо не верно (ответ при наличии Er.64) Определяется диапазоном измерения датчика
Когда все нормально сигнал на входах есть, я значения вижу. Пример получения значения
Value - значениеКод:[DllImportAttribute("owen_io.dll", EntryPoint = "ReadFloat24", CallingConvention = CallingConvention.StdCall)] public static extern int ReadFloat24(int adr, int adr_type, System.IntPtr command, ref float value, int index); ... IntPtr name = Marshal.StringToCoTaskMemAnsi(textBox1.Text); float value = 0; ConnectionError res = (ConnectionError)NativeMethods.ReadFloat24(deviceAddress, 0, name, ref value, Convert.ToInt32(comboBox1.Text));
Res - код ошибки.
Если с сигналами все в порядке то в Value=значение, Res = Ok(0)
Если нет сигнала то Vulue без изменения, Res = NErr(-104)
В конфигураторе, если нет сигнала, пишется ошибка на входе. Как мне идентифицировать ошибку на входе?




Ответить с цитированием