In feite is een DLL niets anders dan een gecompileerde C++ file. Deze stelt je functies etc ter beschikking die je weer kan gebruiken in je eigen programma.
Helaas is de laatste keer dat ik wat in C++ gedaan heb al weer een paar jaartjes terug, dus hoe het precies moet weet ik niet. Maar je kan toch gewoon het C# vertalen naar C++?
Code: Select all
using (SerialPort port = new SerialPort("COM1"))
{
// configure serial port
port.BaudRate = 9600;
port.DataBits = 8;
port.Parity = Parity.None;
port.StopBits = StopBits.One;
port.Open();
// create modbus master
IModbusSerialMaster master = ModbusSerialMaster.CreateRtu(port);
byte slaveID = 1;
ushort startAddress = 100;
ushort[] registers = new ushort[] { 1, 2, 3 };
// write three registers
master.WriteMultipleRegisters(slaveID, startAddress, registers);
}
In pseudo code staat hier:
Code: Select all
Maak een nieuwe seriele poort "port" aan
En als dat is gelukt, ga dan verder:
Stel de nodige variabelen van "port" in (dus BaudRate, DataBits, Parity en StopBits)
Open seriele poort "port"
Maak een nieuwe ModbusMaster aan door CreateRTU aan te roepen met de geopende seriele poort.
Gebruik de master om registers te schrijven
Nu aan jou de eer om dit te vertalen naar C++
