Может кому пригодится... работа с ТРМ212

SP...:

Код:
   public string trm_set_sp(int channel, int deviceAddress, float value) 
        {
            string st = "";
            string nm = "SP";
            IntPtr name = Marshal.StringToCoTaskMemAnsi(nm);
            int i = channel - 1;

            ConnectionError res = (ConnectionError)NativeMethods.WriteFloat24(
                    deviceAddress + i, 0, name, value, -1);

            if (res == ConnectionError.Ok)
            {
                st = "ok";
            }
            else
            {
                st = "Ошибка записи ТРМ: " + res.ToString();
            }
            Marshal.FreeCoTaskMem(name);
            return st;
        }

PV...:

Код:
  public string trm_get_pv(int channel, int deviceAddress, ref float value)
        {
            string st = "";
            string nm = "PV";
            IntPtr name = Marshal.StringToCoTaskMemAnsi(nm);
            int i = channel - 1;

            ConnectionError res = (ConnectionError)NativeMethods.ReadFloat24(
            deviceAddress + i, 0, name, ref value, -1);

            if (res == ConnectionError.Ok)
            {
                st = "ok";
            }
            else
            {
                st = "Ошибка чтения ТРМ: " + res.ToString();
            }
            Marshal.FreeCoTaskMem(name);
            return st;
        }

r-S...:

Код:
   public string trm_set_vkl(int channel, int deviceAddress, int value)
        {
            string st = "";
            string nm = "r-S";
            IntPtr name = Marshal.StringToCoTaskMemAnsi(nm);
            int i = channel - 1;

            ConnectionError res = (ConnectionError)NativeMethods.WriteByte(
                    deviceAddress + i, 0, name, value, -1);

            if (res == ConnectionError.Ok)
            {
                st = "ok";
            }
            else
            {
                st = "Ошибка записи ТРМ: " + res.ToString();
            }
            Marshal.FreeCoTaskMem(name);
            return st;
        }