MODUBUS C#代码


MODUBUS C#代码 MODUBUS C#代码
资源截图
代码片段和文件信息
using System;
using System.IO;
using System.Runtime.InteropServices;
using System.Text;
using Modbus.IO;
using Modbus.Utility;

namespace FtdAdapter
{
/// 
/// Specifies the number of stop bits used on the UsbPort object.
/// 

public enum FtdStopBits
{
/// 
/// One stop bit is used.
/// 

One = 1
/// 
/// 1.5 stop bits are used.
/// 

OnePointFive
/// 
/// Two stop bits are used.
/// 

Two
}

/// 
/// Specifies the parity used on the UsbPort object.
/// 

public enum FtdParity
{
/// 
/// No parity check occurs.
/// 

None = 0
/// 
/// Sets the parity bit so that the count of bits set is an odd number.
/// 

Odd
/// 
/// Sets the parity bit so that the count of bits set is an even number.
/// 

Even
/// 
/// Leaves the parity bit set to 1.
/// 

Mark
/// 
/// Leaves the parity bit set to 0.
/// 

Space
}

/// 
/// Specifies the result of a UsbPort operation.
/// 

internal enum FtdStatus
{
OK = 0
InvalidHandle
DeviceNotFound
DeviceNotOpened
IOError
InsufficientResources
InvalidParameter
InvalidBaudRate
DeviceNotOpenedForErase
DeviceNotOpenedForWrite
FailedToWriteDevice
EEPromReadFailed
EEPromWriteFailed
EEPromEraseFailed
EEPromNotPresent
EEPromNotProgrammed
InvalidArgs
OtherError
};

/// 
/// Wrapper class for the FTD2XX USB resource.
/// 

public class FtdUsbPort : ISerialResource IDisposable
{
[DllImport(FtdAssemblyName)]
static extern FtdStatus FT_Close(uint deviceHandle);
[DllImport(FtdAssemblyName)]
static extern FtdStatus FT_Open(uint deviceID ref uint deviceHandle);
[DllImport(FtdAssemblyName)]
static extern FtdStatus FT_SetBaudRate(uint deviceHandle uint baudRate);
[DllImport(FtdAssemblyName)]
static extern FtdStatus FT_SetDataCharacteristics(uint deviceHandle byte wordLength byte stopBits byte parity);
[DllImport(FtdAssemblyName)]
static extern unsafe FtdStatus FT_Read(uint deviceHandle void* buffer uint bytesToRead ref uint bytesReturned);
[DllImport(FtdAssemblyName)]
static extern unsafe FtdStatus FT_Write(uint deviceHandle void* buffer uint bytesToWrite ref uint bytesWritten);
[DllImport(FtdAssemblyName)]
static extern FtdStatus FT_SetTimeouts(uint deviceHandle uint readTimeout uint writeTimeout);
[DllImport(FtdAssemblyName)]
static extern FtdStatus FT_Purge(uint deviceHandle uint mask);
[DllImport(FtdAssemblyName)]
static extern FtdStatus FT_CreateDeviceInfoList(ref uint deviceCount);

private const string FtdAssemblyName = “FTD2XX.dll“;
private const byte PurgeRx = 1;
private const uint _infiniteTimeout = 0;
//priv

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2011-09-06 16:34  modbus
     目录           0  2011-09-06 16:34  modbusin
     文件      202048  2011-09-06 16:34  modbusinFTD2XX.dll
     文件       12288  2011-09-06 16:34  modbusinFtdAdapter.dll
     文件      270336  2011-09-06 16:34  modbusinlog4net.dll
     文件       73728  2011-09-06 16:34  modbusinModbus.dll
     目录           0  2011-09-06 16:34  modbussource
     目录           0  2011-09-06 16:34  modbussourcelib
     文件      202048  2011-09-06 16:34  modbussourcelibFTD2XX.dll
     文件      270336  2011-09-06 16:34  modbussourceliblog4net.dll
     文件       45056  2011-09-06 16:34  modbussourcelib
unit.framework.dll
     文件      210432  2011-09-06 16:34  modbussourcelibRhino.Mocks.dll
     文件        9573  2011-09-06 16:34  modbussourceNModbus.build
     文件        2891  2011-09-06 16:34  modbussourceNModbus.shfb
     目录           0  2011-09-06 16:34  modbussourcesrc
     目录           0  2011-09-06 16:34  modbussourcesrcFtdAdapter
     目录           0  2011-09-06 16:34  modbussourcesrcFtdAdapterin
     目录           0  2011-09-06 16:34  modbussourcesrcFtdAdapterinDebug
     文件       13312  2011-09-06 16:34  modbussourcesrcFtdAdapterinDebugFtdAdapter.dll
     文件       30208  2011-09-06 16:34  modbussourcesrcFtdAdapterinDebugFtdAdapter.pdb
     文件         135  2011-09-15 09:54  modbussourcesrcFtdAdapterinDebugFtdAdapter.xml
     文件      270336  2011-09-06 16:34  modbussourcesrcFtdAdapterinDebuglog4net.dll
     文件       69120  2011-09-06 16:34  modbussourcesrcFtdAdapterinDebugModbus.dll
     文件      255488  2011-09-06 16:34  modbussourcesrcFtdAdapterinDebugModbus.pdb
     文件       64042  2011-09-06 16:34  modbussourcesrcFtdAdapterinDebugModbus.xml
     文件        3060  2011-09-06 16:34  modbussourcesrcFtdAdapterFtdAdapter.csproj
     文件       12921  2011-09-06 16:34  modbussourcesrcFtdAdapterFtdUsbPort.cs
     目录           0  2011-09-06 16:34  modbussourcesrcFtdAdapterobj
     目录           0  2011-09-06 16:34  modbussourcesrcFtdAdapterobjDebug
     文件         591  2011-09-06 16:34  modbussourcesrcFtdAdapterobjDebugFtdAdapter.csproj.FileListAbsolute.txt
     文件       13312  2011-09-06 16:34  modbussourcesrcFtdAdapterobjDebugFtdAdapter.dll
............此处省略267个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)