NModbus实例_精品文档资料下载.pdf
《NModbus实例_精品文档资料下载.pdf》由会员分享,可在线阅读,更多相关《NModbus实例_精品文档资料下载.pdf(6页珍藏版)》请在冰豆网上搜索。
byteslaveID=1;
ushortstartAddress=100;
ushortregisters=newushort1,2,3;
/writethreeregistersmaster.WriteMultipleRegisters(slaveID,startAddress,registers);
SimpleModbusserialASCIImasterreadholdingregistersexample.using(SerialPortport=newSerialPort(COM1)/configureserialportport.BaudRate=9600;
/createmodbusmasterIModbusSerialMastermaster=ModbusSerialMaster.CreateAscii(port);
ushortstartAddress=1;
ushortnumRegisters=5;
/readfiveregistersushortregisters=master.ReadHoldingRegisters(slaveID,startAddress,numRegisters);
for(inti=0;
inumRegisters;
i+)Console.WriteLine(Register0=1,startAddress+i,registersi);
/output:
/Register1=0/Register2=0/Register3=0/Register4=0/Register5=0SimpleModbusserialUSBRTUmasterwritemultiplecoilsexample.using(FtdUsbPortport=newFtdUsbPort(0)/configureusbportport.BaudRate=9600;
port.Parity=FtdParity.None;
port.StopBits=FtdStopBits.One;
/writethreecoilsmaster.WriteMultipleCoils(slaveID,startAddress,newbooltrue,false,true);
DonateNModbusisdevelopedandmaintainedonavoluntarybasisandprovidedfreeofcharge.UpcomingFeaturesWPFNModbusMasterMasterConsoleWrapperFTDIUSBSlaveHomeSamplesDownloadsDiscussionIssuesNModbushttp:
/web.archive.org/web/20090601225835/http:
/www.第1页共6页2011/07/069:
49SimpleModbusserialUSBASCIImasterwritemultiplecoilsexample.using(FtdUsbPortport=newFtdUsbPort(0)/configureusbportport.BaudRate=9600;
SimpleModbusTCPmasterreadinputsexample.using(TcpClientclient=newTcpClient(127.0.0.1,502)ModbusIpMastermaster=ModbusIpMaster.CreateTcp(client);
/readfiveinputvaluesushortstartAddress=100;
ushortnumInputs=5;
boolinputs=master.ReadInputs(startAddress,numInputs);
inumInputs;
i+)Console.WriteLine(Input0=1,startAddress+i,inputsi?
1:
0);
/Input100=0/Input101=0/Input102=0/Input103=0/Input104=0SimpleModbusUDPmasterwritecoilsexample.using(UdpClientclient=newUdpClient()IPEndPointendPoint=newIPEndPoint(newIPAddress(newbyte127,0,0,1),502);
client.Connect(endPoint);
ModbusIpMastermaster=ModbusIpMaster.CreateUdp(client);
/writethreecoilsmaster.WriteMultipleCoils(startAddress,newbooltrue,false,true);
SimpleModbusserialRTUslaveexample.using(SerialPortslavePort=newSerialPort(COM2)/configureserialportslavePort.BaudRate=9600;
slavePort.DataBits=8;
slavePort.Parity=Parity.None;
slavePort.StopBits=StopBits.One;
slavePort.Open();
byteunitID=1;
/createmodbusslaveModbusSlaveslave=ModbusSerialSlave.CreateRtu(unitID,slavePort);
slave.DataStore=DataStoreFactory.CreateDefaultDataStore();
slave.Listen();
NModbushttp:
/www.第2页共6页2011/07/069:
49SimpleModbusSerialASCIIslaveexample.using(SerialPortslavePort=newSerialPort(COM2)/configureserialportslavePort.BaudRate=9600;
/createmodbusslaveModbusSlaveslave=ModbusSerialSlave.CreateAscii(unitID,slavePort);
SimpleModbusTCPslaveexample.byteslaveID=1;
intport=502;
IPAddressaddress=newIPAddress(newbyte127,0,0,1);
/createandstarttheTCPslaveTcpListenerslaveTcpListener=newTcpListener(address,port);
slaveTcpListener.Start();
ModbusSlaveslave=ModbusTcpSlave.CreateTcp(slaveID,slaveTcpListener);
/preventthemainthreadfromexitingThread.Sleep(Timeout.Infinite);
SimpleModbusUDPslaveexample.using(UdpClientclient=newUdpClient(502)ModbusUdpSlaveslave=ModbusUdpSlave.CreateUdp(client);
/preventthemainthreadfromexiti