using System;
|
|
namespace DIOController
|
{
|
public class PCIController : IDIOController
|
{
|
public string Name { get; set; }
|
|
private short id;
|
|
public bool Start(out string msg)
|
{
|
msg = string.Empty;
|
id = DASK.Register_Card(DaskHelper.CardType(Name), 0);
|
return id >= 0;
|
}
|
|
public bool ReadDIBool(string address, out bool res, out string msg)
|
{
|
msg = string.Empty;
|
DASK.DI_ReadLine((ushort)id, 0, ushort.Parse(address), out ushort value);
|
res = Convert.ToBoolean(value);
|
return true;
|
}
|
|
public bool ReadDOBool(string address, out bool res, out string msg)
|
{
|
msg = string.Empty;
|
DASK.DO_ReadLine((ushort)id, 0, ushort.Parse(address), out ushort value);
|
res = Convert.ToBoolean(value);
|
return true;
|
}
|
|
public bool WriteBool(string address, bool value, out string msg)
|
{
|
msg = string.Empty;
|
var res = DASK.DO_WriteLine((ushort)id, 0, ushort.Parse(address), Convert.ToUInt16(value));
|
return res == 0;
|
}
|
|
public bool Close()
|
{
|
return DASK.Release_Card((ushort)id) == 0;
|
}
|
|
public void Dispose()
|
{
|
this.Close();
|
}
|
|
public bool ReadDIBool(string address, int length, out bool[] res, out string msg)
|
{
|
throw new NotImplementedException();
|
}
|
|
public bool ReadDOBool(string address, int length, out bool[] res, out string msg)
|
{
|
throw new NotImplementedException();
|
}
|
|
public bool WriteBool(string address, bool[] value, out string msg)
|
{
|
throw new NotImplementedException();
|
}
|
}
|
}
|