根据传入的Parameter,创建 MODBUS RTU 实例:
/// <summary> /// 建立 MODBUS RTU Die Serie业务 /// String comnum = Die SerieNr. /// int buad = Die Serie的Porter Rate /// int dataLen = DatenLänge /// String chklen = 检验位 /// String stoplen = Stoppen Sie Platz /// </summary> public ModbusRTU_Lib(String comnum,int buad,int dataLen,string chklen,string stoplen,int scantime)
添加一个 MODBUS RTU 扫描Von der Station:
/// <summary> /// Beseitigung所有的Von der Station列表 /// </summary> public void clearAllModbusSalve() /// <summary> /// Löschen扫描列表中的指定Von der Station /// </summary> /// <param name="whichAddr"></param> public void deletAllModbusSalve(int whichAddr)
Beseitigung创建的 MODBUS RTU 多Von der Station扫描列表:
/// <summary> /// 增加 MODBUS Von der Station扫描列表 /// </summary> /// <param name="xDeviceMdEnty"></param> public void addModbusSlaveScanList(DeviceMdEnty xDeviceMdEnty)
Öffnen.一个 MODBUS RTU 的通讯Die Serie
/// <summary> /// Öffnen Sie die Serie. /// </summary> /// <returns></returns> public Boolean openUartOfModbus()
Schließen der Serie
/// <summary> /// Schließen der Serie /// </summary> /// <returns></returns> public Boolean closeUartOfModbus()
启动 MODBUS RTU 的定时扫描业务
/// <summary> /// 启动 MODBUS 扫描业务 /// </summary> public void startModbusWork()
Senden Sie MODBUS RTU 指令
Senden SieDaten * int slaveAddr = von der Station Adresse int addrTe = 读写的启始Adresse int cmdTe = Funktionscode int lenTe =读出DatenLänge byte[] msgBuf = 待写入的Daten的缓冲期,每个字占 2BYTE int msgLen = 写入的DatenLänge return : * true = 已Senden SieDaten,false = 未Senden Sie * *********************************************************************/ /// <summary> /// /// </summary> public Boolean sendModbusMsg(int slaveAddr,int cmdTe, int addrTe, int lenTe, byte[] msgBuf, int msgLen)
MODBUS RTU 的实例的回调方法,返回所有Die Serie收zu的Daten
Result = "E00";表示"创建Die Serie失败:" Result = "E01";表示"Die SerieNr.未设置:" Result = "E02";表示"Stoppen Sie PlatzParameterFehler.:" Result = "E03";表示"Prüfstand.ParameterFehler.:" Result = "F00";表示"Prüfstand.ParameterFehler.:" Result = "Y00";表示"创建Die Serie成功:" Result = "M00";表示"EmpfangzuSeriöse Daten:"
声明关于Ereignisse的委托,Parameter为要回传的Datentyp,Die SerieEmpfangDaten
public delegate void ModbusRTU_EventHandler(string result, byte[] msg) ;
MODBUS RTU 的实例的回调方法,返回所有Die Serie收zu的Daten且经过Adresse和Verifizierung des Codes的
Result = "AE0";表示"创建Die Serie失败:" Result = "CE0";表示"Die SerieNr.未设置:" Result = "DE0";表示"Stoppen Sie PlatzParameterFehler.:" Result = "D00";表示"EmpfangzuRichtig.Analyse的Seriöse Daten:" Result = "D01";表示"Funktionscode 0x01--Richtig.应答Daten! :" Result = "D02";表示"Funktionscode 0x02--Richtig.应答Daten !" Result = "D03";表示"Funktionscode 0x03--Richtig.应答Daten !" Result = "D04";表示"Funktionscode 0x04--Richtig.应答Daten !" Result = "D05";表示"Funktionscode 0x05--Richtig.应答Daten !" Result = "D06";表示"Funktionscode 0x06--Richtig.应答Daten !" Result = "D0F";表示"Funktionscode 0x0F--Richtig.应答Daten !" Result = "D10";表示"Funktionscode 0x10--Richtig.应答Daten !"
声明关于Ereignisse的委托,Parameter为要回传的Datentyp,Die SerieEmpfangDaten并 MODBUS 验证
public delegate void ModbusRTU_DecodeHandler(string result, byte[] msg) ;
建立 1 个 MODBUS RTU Von der Station的列表;
DLL 会根据Ausrüstung数自动扫描;对于没有的Funktion,指定Länge为 0 即可;如 16 入 16 出数字Quantität模块则可指 定输入Register.和保持Register.Länge为 0
/// <summary> /// 建立扫描列表 /// </summary> /// <param name="SlaveAddr">设置gegenwärtigVon der Station的站Nr.</param> /// <param name="CoilLen">设置gegenwärtigVon der Station的输出线圈个数</param> /// <param name="DiscLen">设置gegenwärtigVon der Station的输入数字Quantität个数</param> /// <param name="InputRegLen">设置gegenwärtigVon der Station的输入Register.个数</param> /// <param name="HoldingRegLen">设置gegenwärtigVon der Station的保持Register.个数</param> public DeviceMdEnty(int SlaveAddr, int CoilLen, int DiscLen, int InputRegLen, int HoldingRegLen)
Antwort veröffentlichen