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

Тема: МВА8 чтение/запись параметра in-t

  1. #1

    По умолчанию МВА8 чтение/запись параметра in-t

    Проблема изменения и чтения параметров входов

    Имеется прибор МВА8(2006г) при попытке чтения/записи параметра "in-t" с помощью:
    ReadUInt(16, 0, "in-t", value, -1) и WriteWord(16,0, "in-t", 1,-1) ошибка -104,
    (с помощью конфигуратора все работает)
    программное подключение и чтение значений
    ReadIEEE32(16,0,"rEAd", value, time,-1) работает без проблем

    Возможно ли изменение параметров входа и если да то как это правильно сделать???

  2. #2

    По умолчанию

    в чем пишиш

  3. #3

    По умолчанию

    Цитата Сообщение от bango Посмотреть сообщение
    в чем пишиш
    VS2008, C#

  4. #4

    По умолчанию

    ReadUInt Чтение беззнакового целочисленного значения а в МВА8 со знаком.

  5. #5

    По умолчанию

    Цитата Сообщение от bango Посмотреть сообщение
    ReadUInt Чтение беззнакового целочисленного значения а в МВА8 со знаком.
    странно в tags.txt :

    5. МВА-8
    rEAd - ReadIEEE32
    in.SH, Ain.L, Ain.H - ReadStoredDotS, WriteStoredDotS
    in.FG - ReadStoredDotU, WriteStoredDotU
    dev, ver - OwenIO

    Cj-.C, exit, in.FD, Itrl, in.SL, in-t, - ReadUInt, WriteWord
    bPS, LEn, PrtY, Sbit, A.LEn

    in-t -тип датчика(01,02...35...)
    Последний раз редактировалось AlexanderZX; 09.03.2010 в 23:46.

  6. #6

    По умолчанию

    выложи прогу посмотреть если не жалко

  7. #7

    По умолчанию

    Цитата Сообщение от bango Посмотреть сообщение
    выложи прогу посмотреть если не жалко
    вся прога слишком большая и не доделана еще
    это то что касается ReadIEEE32 и ReadUInt
    class write_read
    {
    .....
    DllImportAttribute("owen_io.dll", EntryPoint = "OpenPort", CallingConvention = CallingConvention.StdCall)]
    public static extern int OpenPort(int n, int speed, int part, int bits, int stop, int vid);

    [DllImportAttribute("owen_io.dll", EntryPoint = "ClosePort", CallingConvention = CallingConvention.StdCall)]
    public static extern int ClosePort();

    [DllImportAttribute("owen_io.dll", EntryPoint = "ReadIEEE32", CallingConvention = CallingConvention.StdCall)]
    public static extern int ReadIEEE32(int adr, int adr_type, string command, ref float value, ref int time, int index);


    [DllImportAttribute("owen_io.dll", EntryPoint = "WriteWord", CallingConvention = CallingConvention.StdCall)]
    public static extern int WriteWord(int adr, int adr_type, string command, int value, int index);

    [DllImportAttribute("owen_io.dll", EntryPoint = "ReadUInt", CallingConvention = CallingConvention.StdCall)]
    public static extern int ReadUInt(int adr, int adr_type, string command, ref int value, int index);

    ....
    public int open_port()
    {
    try
    {
    return OpenPort(com_port_num, speed, parity, bits, stop, converter);

    }
    catch //(Exception err)
    {
    //System.Windows.Forms.MessageBox.Show(err.ToString( ));
    return -10;
    }
    }
    public int read_data(int adr, int adr_type, string command, ref float value, ref int time, int index)
    {
    try
    {
    int rd = ReadIEEE32(adr, adr_type, command, ref value, ref time, index);

    //cur_X = DateTime.Now;
    cur_Y = value;
    return rd;
    }
    catch //(Exception err)
    {
    return -10;
    //System.Windows.Forms.MessageBox.Show(err.ToString( ));
    }

    }


    public int read_t(int adr, int adr_type, string command, ref int value, int index)
    {
    try
    {
    int rt = ReadUInt(adr, adr_type, command, ref value, index);
    in_t = value;
    return rt;
    }
    catch //(Exception err)
    {
    // System.Windows.Forms.MessageBox.Show(err.ToString( ));
    return -10;
    }
    }

    }
    .......
    .......
    public partial class Form1 : Form
    .......
    write_read write_read_1 = new write_read();
    .......

    .....
    write_read_1.com_port = 0;
    write_read_1.mva_speed = 8;
    write_read_1.mva_parity = 0;
    write_read_1.mva_bits = 8;
    write_read_1.mva_stop_bits = 0;
    write_read_1.mva_converter = 0;
    write_read_1.open_port();
    write_read_1.mva_adr = 16;
    write_read_1.mva_adr_type = 0;
    write_read_1.mva_index = -1;
    write_read_1.mva_command = "rEAd";
    //write_read_1.mva_command = "in-t";

    int read_value = write_read_1.read_data(write_read_1.mva_adr,
    write_read_1.mva_adr_type,
    write_read_1.mva_command,
    ref value, ref time,
    write_read_1.mva_index);


    int read_conf = write_read_1.read_t(write_read_1.mva_adr,
    write_read_1.mva_adr_type,
    "in-t", ref t_conf,
    write_read_1.mva_index);

    ...............
    tRead= read_value.ToString() + " " + write_read.get_Y.ToString(); результат 0 22,64654
    tInTRead=read_conf.ToString() + " " + write_read.mva_in_t.ToString(); результат -104
    ..............
    write_read_1.close_port();
    }

  8. #8

    По умолчанию

    всем спасибо
    проблема была в индексах конфиг. параметров

Ваши права

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