71 lines
2.0 KiB
C#
71 lines
2.0 KiB
C#
|
|
using System;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.Linq;
|
|||
|
|
using System.Text;
|
|||
|
|
|
|||
|
|
namespace Nanji_Island
|
|||
|
|
{
|
|||
|
|
class CModbusDll
|
|||
|
|
{
|
|||
|
|
public static byte[] WriteDO(int addr, int io, bool openclose)
|
|||
|
|
{
|
|||
|
|
byte[] src = new byte[8];
|
|||
|
|
src[0] = (byte)addr;
|
|||
|
|
src[1] = 0x05;
|
|||
|
|
src[2] = 0x00;
|
|||
|
|
src[3] = (byte)io;
|
|||
|
|
src[4] = (byte)((openclose) ? 0xff : 0x00);
|
|||
|
|
src[5] = 0x00;
|
|||
|
|
ushort crc = CMBRTU.CalculateCrc(src, 6);
|
|||
|
|
src[6] = (byte)(crc & 0xff);
|
|||
|
|
src[7] = (byte)(crc >> 8);
|
|||
|
|
return src;
|
|||
|
|
}
|
|||
|
|
public static byte[] WriteAllDO(int addr, int ionum, bool openclose)
|
|||
|
|
{
|
|||
|
|
byte[] src = new byte[10];
|
|||
|
|
src[0] = (byte)addr;
|
|||
|
|
src[1] = 0x0f;
|
|||
|
|
src[2] = 0x00;
|
|||
|
|
src[3] = 0x00;
|
|||
|
|
src[4] = 0x00;
|
|||
|
|
src[5] = (byte)ionum;
|
|||
|
|
src[6] = 0x01;
|
|||
|
|
src[7] = (byte)((openclose) ? 0xff : 0x00);
|
|||
|
|
ushort crc = CMBRTU.CalculateCrc(src, 8);
|
|||
|
|
src[8] = (byte)(crc & 0xff);
|
|||
|
|
src[9] = (byte)(crc >> 8);
|
|||
|
|
return src;
|
|||
|
|
}
|
|||
|
|
public static byte[] ReadDO(int addr, int donum)
|
|||
|
|
{
|
|||
|
|
byte[] src = new byte[8];
|
|||
|
|
src[0] = (byte)addr;
|
|||
|
|
src[1] = 0x01;
|
|||
|
|
src[2] = 0x00;
|
|||
|
|
src[3] = 0x00;
|
|||
|
|
src[4] = 0x00;
|
|||
|
|
src[5] = (byte)donum;
|
|||
|
|
ushort crc = CMBRTU.CalculateCrc(src, 6);
|
|||
|
|
src[6] = (byte)(crc & 0xff);
|
|||
|
|
src[7] = (byte)(crc >> 8);
|
|||
|
|
return src;
|
|||
|
|
}
|
|||
|
|
public static byte[] ReadDI(int addr, int dinum)
|
|||
|
|
{
|
|||
|
|
byte[] src = new byte[8];
|
|||
|
|
src[0] = (byte)addr;
|
|||
|
|
src[1] = 0x02;
|
|||
|
|
src[2] = 0x00;
|
|||
|
|
src[3] = 0x00;
|
|||
|
|
src[4] = 0x00;
|
|||
|
|
src[5] = (byte)dinum;
|
|||
|
|
ushort crc = CMBRTU.CalculateCrc(src, 6);
|
|||
|
|
src[6] = (byte)(crc & 0xff);
|
|||
|
|
src[7] = (byte)(crc >> 8);
|
|||
|
|
return src;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|