Erstellen Sie eine MODBUS-RTU - Instanz basierend auf den eingehenden Parametern:
/// <summary> /// 建立 MODBUS RTU 串口业务 /// String comnum = 串口号 /// int buad = 串口的波特率 /// int dataLen = 数据长度 /// String chklen = 检验位 /// String stoplen = 停止位 /// </summary> public ModbusRTU_Lib(String comnum,int buad,int dataLen,string chklen,string stoplen,int scantime)
Hinzufügen einer MODBUS-RTU - Scan-Sklavenstation:
/// <summary> /// 清除所有的从站列表 /// </summary> public void clearAllModbusSalve() /// <summary> /// 删除扫描列表中的指定从站 /// </summary> /// <param name="whichAddr"></param> public void deletAllModbusSalve(int whichAddr)
Löschen Sie die Liste der erstellten MODBUS-RTU - Scan-Sklavenstation:
/// <summary> /// 增加 MODBUS 从站扫描列表 /// </summary> /// <param name="xDeviceMdEnty"></param> public void addModbusSlaveScanList(DeviceMdEnty xDeviceMdEnty)
Öffnen eines MODBUS-RTU - Kommunikationsanschlusses
/// <summary> /// 打开串口 /// </summary> /// <returns></returns> public Boolean openUartOfModbus()
Schließen des seriellen Anschlusses
/// <summary> /// 关闭串口 /// </summary> /// <returns></returns> public Boolean closeUartOfModbus()
Starten eines zeitgerechten Scandienstes für MODBUS-RTU
/// <summary> /// 启动 MODBUS 扫描业务 /// </summary> public void startModbusWork()
Senden der MODBUS-RTU - Befehl
发送数据 * int slaveAddr = 从站地址 int addrTe = 读写的启始地址 int cmdTe = 功能码 int lenTe =读出数据长度 byte[] msgBuf = 待写入的数据的缓冲期,每个字占 2BYTE int msgLen = 写入的数据长度 return : * true = 已发送数据,false = 未发送 * *********************************************************************/ /// <summary> /// /// </summary> public Boolean sendModbusMsg(int slaveAddr,int cmdTe, int addrTe, int lenTe, byte[] msgBuf, int msgLen)
Rückrufmethode für eine Instanz der MODBUS-RTU, die Daten von allen seriellen Anschlüssen zurückgibt
Result = "E00";表示"创建串口失败:" Result = "E01";表示"串口号未设置:" Result = "E02";表示"停止位参数错误:" Result = "E03";表示"校验位参数错误:" Result = "F00";表示"校验位参数错误:" Result = "Y00";表示"创建串口成功:" Result = "M00";表示"接收到串口数据:"
deklariert Delegation über Ereignisse, Parameter für den Datentyp, der zurückgeschickt werden soll, Serienempfangdaten
public delegate void ModbusRTU_EventHandler(string result, byte[] msg) ;
Callback-Methode für die Instanz der MODBUS-RTU, die alle Daten zurückgibt, die von den seriellen Ports empfangen werden, und die durch Adresse und Checkcode verifiziert werden
Result = "AE0";表示"创建串口失败:" Result = "CE0";表示"串口号未设置:" Result = "DE0";表示"停止位参数错误:" Result = "D00";表示"接收到正确解析的串口数据:" Result = "D01";表示"功能码 0x01--正确应答数据! :" Result = "D02";表示"功能码 0x02--正确应答数据 !" Result = "D03";表示"功能码 0x03--正确应答数据 !" Result = "D04";表示"功能码 0x04--正确应答数据 !" Result = "D05";表示"功能码 0x05--正确应答数据 !" Result = "D06";表示"功能码 0x06--正确应答数据 !" Result = "D0F";表示"功能码 0x0F--正确应答数据 !" Result = "D10";表示"功能码 0x10--正确应答数据 !"
deklariert Delegation über Ereignisse, Parameter für den Datentyp, die zurückgeschickt werden soll, Serienempfangdaten und MODBUS-Authentifizierung
public delegate void ModbusRTU_DecodeHandler(string result, byte[] msg) ;
Erstellt eine Liste von 1 MODBUS-RTU - Slaven;
DLL wird automatisch nach der Anzahl der Geräte scannen; für keine Funktionen, die Länge von 0 angeben kann; wie 16 - Eingang 16 - Ausgabe-Module können Sie angeben Eingabe-Register und halten die Länge von 0
/// <summary> /// 建立扫描列表 /// </summary> /// <param name="SlaveAddr">设置当前从站的站号</param> /// <param name="CoilLen">设置当前从站的输出线圈个数</param> /// <param name="DiscLen">设置当前从站的输入数字量个数</param> /// <param name="InputRegLen">设置当前从站的输入寄存器个数</param> /// <param name="HoldingRegLen">设置当前从站的保持寄存器个数</param> public DeviceMdEnty(int SlaveAddr, int CoilLen, int DiscLen, int InputRegLen, int HoldingRegLen)
Antwort veröffentlichen