PDA

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



AlexanderZX
09.03.2010, 17:37
Проблема изменения и чтения параметров входов

Имеется прибор МВА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) работает без проблем

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

bango
09.03.2010, 18:29
в чем пишиш

AlexanderZX
09.03.2010, 21:44
в чем пишиш
VS2008, C#

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

AlexanderZX
09.03.2010, 23:44
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...)

bango
10.03.2010, 07:24
выложи прогу посмотреть если не жалко

AlexanderZX
10.03.2010, 14:10
выложи прогу посмотреть если не жалко
вся прога слишком большая и не доделана еще
это то что касается 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();
}

AlexanderZX
10.03.2010, 17:33
всем спасибо
проблема была в индексах конфиг. параметров
:)