From 68e41595cb42f26428c8aeaa678408dbc8f670fe Mon Sep 17 00:00:00 2001 From: Jonny007-MKD Date: Thu, 15 May 2014 15:05:20 +0000 Subject: [PATCH] --- Modbus/ModbusClientTCP.can | 196 -------------------------- Modbus/ModbusClientUDP.can | 18 ++- Modbus/include/ModbusClientCommon.cin | 30 ++-- Modbus/include/TcpCommon.cin | 26 ++-- Modbus/include/UdpCommon.cin | 14 +- Modbus/modbus.dbc | 49 +++++++ Modbus/modbus.ini | 165 ++++++++++++++++++++++ 7 files changed, 257 insertions(+), 241 deletions(-) delete mode 100644 Modbus/ModbusClientTCP.can create mode 100644 Modbus/modbus.dbc create mode 100644 Modbus/modbus.ini diff --git a/Modbus/ModbusClientTCP.can b/Modbus/ModbusClientTCP.can deleted file mode 100644 index 6cdf7ee..0000000 --- a/Modbus/ModbusClientTCP.can +++ /dev/null @@ -1,196 +0,0 @@ -/*@!Encoding:1252*/ - -includes -{ - #include "include\ModbusTcpClientCommon.cin" -} - -variables -{ - msTimer muster, clock; - byte gX[2] = {1, 0}; -} - -// Get information of local network interface such like ip address - -on preStart -{ - writeClear(0); - setStartdelay(10); -} - -on start -{ - long fehler; - - ModbusInit("192.168.1.3", 502); -} - - -// Modbus events ---------------------------------------------------------------------- -void OnModbusReadBitsFailed(enum ModbusRequestError error, enum ModbusException ex, struct ModbusApHeader mbap) -{ -} -void OnModbusReadRegistersFailed(enum ModbusRequestError error, enum ModbusException ex, struct ModbusApHeader mbap) -{ -} -void OnModbusWriteBitFailed(enum ModbusRequestError error, enum ModbusException ex, struct ModbusApHeader mbap) -{ -} -void OnModbusWriteRegisterFailed(enum ModbusRequestError error, enum ModbusException ex, struct ModbusApHeader mbap) -{ -} -void OnModbusWriteBitsFailed(enum ModbusRequestError error, enum ModbusException ex, struct ModbusApHeader mbap) -{ -} -void OnModbusWriteRegistersFailed(enum ModbusRequestError error, enum ModbusException ex, struct ModbusApHeader mbap) -{ -} - - -void OnModbusReadBitsSuccess(struct ModbusResReceiveBits mbr, byte bitStatus[], word numBits) -{ - char str[20*2]; - - hbin_to_strhex(mbr.Data, str); - writeLineEx(0, 1, "<%BASE_FILE_NAME%> OnModbusReceiveBits: Received %d bits (in %d bytes): %s", numBits, mbr.ByteCount, str); -} -void OnModbusReadRegistersSuccess(struct ModbusResReceiveRegisters mbr, word numRegs) -{ - writeLineEx(0, 1, "<%BASE_FILE_NAME%> OnModbusReceiveRegisters: Received %d registers (%d bytes): %X %X %X %X...", mbr.ByteCount, mbr.Data[0], mbr.Data[1], mbr.Data[2], mbr.Data[3]); -} -void OnModbusWriteBitSuccess(struct ModbusResConfirmSingle mbc) -{ - writeLineEx(0, 1, "<%BASE_FILE_NAME%> OnModbusConfirmBit: Set bit 0x%X to %d", mbc.Address, (mbc.Value > 0 ? 1 : 0)); -} -void OnModbusWriteRegisterSuccess(struct ModbusResConfirmSingle mbc) -{ - writeLineEx(0, 1, "<%BASE_FILE_NAME%> OnModbusConfirmRegister: Set register 0x%X to %d", mbc.Address, mbc.Value); -} -void OnModbusWriteBitsSuccess(struct ModbusResConfirmMultiple mbc) -{ - writeLineEx(0, 1, "<%BASE_FILE_NAME%> OnModbusConfirmBits: Set %d bits beginning with 0x%X", mbc.Count, mbc.Address); -} -void OnModbusWriteRegistersSuccess(struct ModbusResConfirmMultiple mbc) -{ - writeLineEx(0, 1, "<%BASE_FILE_NAME%> OnModbusConfirmRegisters: Set %d registers beginning with 0x%X", mbc.Count, mbc.Address); -} - - -// Key events ------------------------------------------------------------------------- -on key 'r' -{ - ModbusReadBits(0, 512); -} - -on key 'a' -{ - byte x[16] = {1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0}; - ModbusWriteBitsB(0, 16, x); -} - -on key 's' -{ - byte x[16] = {0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1}; - ModbusWriteBitsB(0, 16, x); -} - -on key 'Y' -{ - ModbusWriteBit(0, 0); -} -on key 'y' -{ - ModbusWriteBit(0, 1); -} - -on key 'X' -{ - ModbusWriteBit(1, 0); -} -on key 'x' -{ - ModbusWriteBit(1, 1); -} - -on key 'C' -{ - ModbusWriteBit(2, 0); -} -on key 'c' -{ - ModbusWriteBit(2, 1); -} - -on key 'V' -{ - ModbusWriteBit(3, 0); -} -on key 'v' -{ - ModbusWriteBit(3, 1); -} - -on key '+' -{ - byte x[2] = {0xFF, 0xFF}; - ModbusWriteBits(0, 16, x); -} -on key '-' -{ - byte x[2] = {0x00, 0x00}; - ModbusWriteBits(0, 16, x); -} - -on key 'z' -{ - setTimerCyclic(muster, 100); -} -on key 'Z' -{ - cancelTimer(muster); -} - -on timer muster -{ - if (gX[0] != 0) - { - if (gX[0] == 0x80) - { - gX[0] = 0x00; - gX[1] = 0x01; - } - else - gX[0] <<= 1; - } - else - { - if (gX[1] == 0x80) - { - gX[0] = 0x01; - gX[1] = 0x00; - } - else - gX[1] <<= 1; - } - ModbusWriteBits(0, 16, gX); - //ModbusReadBits(0, 512); -} - -on key 't' -{ - setTimerCyclic(clock, 100); -} -on key 'T' -{ - clock.Cancel(); -} - -on timer clock -{ - byte s, x[2]; - s = (timeNow() / 100000) % 30; - x[0] = (s & 0x01) | (s & 0x02) | ((s & 0x04) << 1) | ((s & 0x08) << 4); - x[1] = (s & 0x10) << 3; - ModbusWriteBits(0, 16, x); -} diff --git a/Modbus/ModbusClientUDP.can b/Modbus/ModbusClientUDP.can index 0db52b1..899f59d 100644 --- a/Modbus/ModbusClientUDP.can +++ b/Modbus/ModbusClientUDP.can @@ -21,8 +21,6 @@ variables on preStart { writeClear(0); - sysDefineNamespace("%NETWORK_NAME%::%BASE_FILE_NAME%::Info"); - sysDefineNamespace("%NETWORK_NAME%::%BASE_FILE_NAME%::Data"); setStartdelay(10); } @@ -68,24 +66,24 @@ void OnModbusReadBitsSuccess(struct ModbusResReceiveBits mbr, byte bitStatus[], char str[20*2]; hbin_to_strhex(mbr.Data, str); - writeLineEx(0, 1, "<%BASE_FILE_NAME%> OnModbusReceiveBits: Received %d bits (in %d bytes): %s", numBits, mbr.ByteCount, str); + writeLineEx(0, 1, "<%NODE_NAME%> OnModbusReceiveBits: Received %d bits (in %d bytes): %s", numBits, mbr.ByteCount, str); } void OnModbusReadRegistersSuccess(struct ModbusResReceiveRegisters mbr, word numRegs) { char str[20*5]; long fehler; dbin_to_strhex(mbr.Data, str); - writeLineEx(0, 1, "<%BASE_FILE_NAME%> OnModbusReceiveRegisters: Received %d bytes: %s", mbr.ByteCount, str); + writeLineEx(0, 1, "<%NODE_NAME%> OnModbusReceiveRegisters: Received %d bytes: %s", mbr.ByteCount, str); switch (gState) { case ConfWago1: - sysDefineVariableInt("%NETWORK_NAME%::%BASE_FILE_NAME%::Info", "SerialCode", mbr.Data[0]); + //@sysvar::%BUS_TYPE%%CHANNEL%::%NODE_NAME%::Info::SerialCode = mbr.Data[0]; gState = ConfWago2; ModbusReadRegisters(0x2012, 1); break; case ConfWago2: - sysDefineVariableInt("%NETWORK_NAME%::%BASE_FILE_NAME%::Info", "DeviceCode", mbr.Data[0]); + //@sysvar::%BUS_TYPE%%CHANNEL%::%NODE_NAME%::Info::DeviceCode = mbr.Data[0]; gState = ConfWago3; ModbusReadRegisters(0x2030, 1); break; @@ -97,19 +95,19 @@ void OnModbusReadRegistersSuccess(struct ModbusResReceiveRegisters mbr, word num } void OnModbusWriteBitSuccess(struct ModbusResConfirmSingle mbc) { - writeLineEx(0, 1, "<%BASE_FILE_NAME%> OnModbusConfirmBit: Set bit 0x%X to %d", mbc.Address, (mbc.Value > 0 ? 1 : 0)); + writeLineEx(0, 1, "<%NODE_NAME%> OnModbusConfirmBit: Set bit 0x%X to %d", mbc.Address, (mbc.Value > 0 ? 1 : 0)); } void OnModbusWriteRegisterSuccess(struct ModbusResConfirmSingle mbc) { - writeLineEx(0, 1, "<%BASE_FILE_NAME%> OnModbusConfirmRegister: Set register 0x%X to %d", mbc.Address, mbc.Value); + writeLineEx(0, 1, "<%NODE_NAME%> OnModbusConfirmRegister: Set register 0x%X to %d", mbc.Address, mbc.Value); } void OnModbusWriteBitsSuccess(struct ModbusResConfirmMultiple mbc) { - writeLineEx(0, 1, "<%BASE_FILE_NAME%> OnModbusConfirmBits: Set %d bits beginning with 0x%X", mbc.Count, mbc.Address); + writeLineEx(0, 1, "<%NODE_NAME%> OnModbusConfirmBits: Set %d bits beginning with 0x%X", mbc.Count, mbc.Address); } void OnModbusWriteRegistersSuccess(struct ModbusResConfirmMultiple mbc) { - writeLineEx(0, 1, "<%BASE_FILE_NAME%> OnModbusConfirmRegisters: Set %d registers beginning with 0x%X", mbc.Count, mbc.Address); + writeLineEx(0, 1, "<%NODE_NAME%> OnModbusConfirmRegisters: Set %d registers beginning with 0x%X", mbc.Count, mbc.Address); } void OnModbusWriteMasksSuccess(struct ModbusResConfirmMasks mbc) { diff --git a/Modbus/include/ModbusClientCommon.cin b/Modbus/include/ModbusClientCommon.cin index 6455831..e3cf5aa 100644 --- a/Modbus/include/ModbusClientCommon.cin +++ b/Modbus/include/ModbusClientCommon.cin @@ -31,8 +31,8 @@ variables void ModbusInit(char Remote_IP[], word Remote_Port) { - sysDefineVariableString("%NETWORK_NAME%::%BASE_FILE_NAME%::Info", "IP", Remote_IP); - sysDefineVariableInt("%NETWORK_NAME%::%BASE_FILE_NAME%::Info", "Port", Remote_Port); + sysDefineVariableString("%NETWORK_NAME%::%NODE_NAME%::Info", "IP", Remote_IP); + sysDefineVariableInt("%NETWORK_NAME%::%NODE_NAME%::Info", "Port", Remote_Port); ModbusConnectTo(Remote_IP, Remote_Port); } @@ -455,7 +455,7 @@ void ModbusWriteBitsB(word address, word count, byte values[]) hbin_to_strhex(values, str1); bin_to_strhex(buffer, str2); - writeLineEx(0, 1, "<%BASE_FILE_NAME%> ModbusWriteBitsB: Encoded %s to %s", str1, str2); + writeLineEx(0, 1, "<%NODE_NAME%> ModbusWriteBitsB: Encoded %s to %s", str1, str2); ModbusWriteBits(address, count, buffer); } @@ -767,7 +767,7 @@ void OnModbusReceive(dword socket, long result, dword address, dword port, byte if (size == 0) { // Size of zero indicates that the socket was closed by the communication peer. - writeLineEx(0, 2, "<%BASE_FILE_NAME%> OnTcpReceive: Socket closed by peer"); + writeLineEx(0, 2, "<%NODE_NAME%> OnTcpReceive: Socket closed by peer"); gSocket.Close(); gSocketState = CLOSED; } @@ -781,7 +781,7 @@ void OnModbusReceive(dword socket, long result, dword address, dword port, byte { gIpLastErr = gSocket.GetLastSocketError(); gSocket.GetLastSocketErrorAsString(gIpLastErrStr, elcount(gIpLastErrStr)); - writeLineEx(0, 2, "<%BASE_FILE_NAME%> OnTcpReceive error (%d): %s", gIpLastErr, gIpLastErrStr); + writeLineEx(0, 2, "<%NODE_NAME%> OnTcpReceive error (%d): %s", gIpLastErr, gIpLastErrStr); gSocket.Close(); gSocketState = CLOSED; } @@ -832,14 +832,14 @@ void OnModbusReceive2OnePacket(byte buffer[], int offset, struct ModbusApHeader // We cannot check this properly anymore. We have to trust the TCP/UDP stack and the sender... *sigh* if (elCount(buffer) < offset + length) // TCP packet not as large enough { - writeLineEx(0, 3, "<%BASE_FILE_NAME%> OnModbusReceive Error: Modbus packet did not fit into Buffer: buffer length = %d, packet length = %d, offset = %d", elCount(buffer), __offset_of(struct ModbusApHeader, UnitID) + mbap.Length, offset); + writeLineEx(0, 3, "<%NODE_NAME%> OnModbusReceive Error: Modbus packet did not fit into Buffer: buffer length = %d, packet length = %d, offset = %d", elCount(buffer), __offset_of(struct ModbusApHeader, UnitID) + mbap.Length, offset); // I REALLY don't want to assemble the two package fragments. runError(1001,1); return; } if (mbap.Protocol != 0) // Protocol is not Modbus (0x0000). Wayne. { - writeLineEx(0, 2, "<%BASE_FILE_NAME%> OnModbusReceive Error: Tcp packet is no Modbus packet: Protocol = %d", mbap.Protocol); + writeLineEx(0, 2, "<%NODE_NAME%> OnModbusReceive Error: Tcp packet is no Modbus packet: Protocol = %d", mbap.Protocol); return; } // MBAP Header is OK :) Go on @@ -896,28 +896,28 @@ void OnModbusReceive2Exceptions(byte exCode, struct ModbusApHeader mbap) switch(exCode) // Let's have a look at the reason { case 0x01: // Illegal function code: Implementation failure! - writeLineEx(0, 3, "<%BASE_FILE_NAME%> Exception: Illegal function code (0x01). The function code %d is unknown by the server.", mbap.FuncCode & 0x0F); + writeLineEx(0, 3, "<%NODE_NAME%> Exception: Illegal function code (0x01). The function code %d is unknown by the server.", mbap.FuncCode & 0x0F); break; case 0x02: // Illegal data address: Configuration failure! - writeLineEx(0, 3, "<%BASE_FILE_NAME%> Exception: Illegal data address (0x02). Please check your configuration!"); + writeLineEx(0, 3, "<%NODE_NAME%> Exception: Illegal data address (0x02). Please check your configuration!"); break; case 0x03: // Illegal data value: Depends. - writeLineEx(0, 3, "<%BASE_FILE_NAME%> Exception: Illegal data value (0x03)."); + writeLineEx(0, 3, "<%NODE_NAME%> Exception: Illegal data value (0x03)."); break; case 0x04: // Server failure: We can't do anything about that, can we? - writeLineEx(0, 3, "<%BASE_FILE_NAME%> Exception: Server failure (0x04). The server failed during execution."); + writeLineEx(0, 3, "<%NODE_NAME%> Exception: Server failure (0x04). The server failed during execution."); break; case 0x05: // Acknowledge: That's ok. - writeLineEx(0, 1, "<%BASE_FILE_NAME%> Exception: Acknowledge (0x05). The server simply needs more time to generate the response."); + writeLineEx(0, 1, "<%NODE_NAME%> Exception: Acknowledge (0x05). The server simply needs more time to generate the response."); break; case 0x06: // Server busy: We should resend the request. - writeLineEx(0, 3, "<%BASE_FILE_NAME%> Exception: Server busy (0x06). The request could not be accepted."); + writeLineEx(0, 3, "<%NODE_NAME%> Exception: Server busy (0x06). The request could not be accepted."); break; case 0x0A: // Gateway problem: We don't have gateways :) - writeLineEx(0, 3, "<%BASE_FILE_NAME%> Exception: Gateway problem (0x0A). Gateway paths not available."); + writeLineEx(0, 3, "<%NODE_NAME%> Exception: Gateway problem (0x0A). Gateway paths not available."); break; case 0x0B: // Gateway problem: We don't have gateways :) - writeLineEx(0, 3, "<%BASE_FILE_NAME%> Exception: Gateway problem (0x0B). The targeted device failed to respond."); + writeLineEx(0, 3, "<%NODE_NAME%> Exception: Gateway problem (0x0B). The targeted device failed to respond."); break; } diff --git a/Modbus/include/TcpCommon.cin b/Modbus/include/TcpCommon.cin index 36aa71a..d394ae2 100644 --- a/Modbus/include/TcpCommon.cin +++ b/Modbus/include/TcpCommon.cin @@ -34,19 +34,19 @@ word TcpOpenSocket() if (gSocket.GetLastSocketError() != 0) { gSocket.GetLastSocketErrorAsString(errorText, elcount(errorText)); - writeLineEx(0, 1, "<%BASE_FILE_NAME%> Error: could not open Tcp socket on %s:%d, %s (%d)!", Local_IP, localPort, errorText, gSocket.GetLastSocketError()); + writeLineEx(0, 1, "<%NODE_NAME%> Error: could not open Tcp socket on %s:%d, %s (%d)!", Local_IP, localPort, errorText, gSocket.GetLastSocketError()); } } while (gSocket.GetLastSocketError() != 0 && i++ < 9); if (gSocket.GetLastSocketError() != 0) { - writeLineEx(0, 1, "<%BASE_FILE_NAME%> Error: could not open Tcp socket!"); + writeLineEx(0, 1, "<%NODE_NAME%> Error: could not open Tcp socket!"); return gSocket.GetLastSocketError(); } else { - writeLineEx(0, 1, "<%BASE_FILE_NAME%> Tcp socket opened on %s:%d.", Local_IP, localPort); + writeLineEx(0, 1, "<%NODE_NAME%> Tcp socket opened on %s:%d.", Local_IP, localPort); } return 0; @@ -60,7 +60,7 @@ word TcpConnectTo(char Remote_IP[], word remotePort) remoteIp = IpGetAddressAsNumber(Remote_IP); if (remoteIp == INVALID_IP) { - writeLineEx(0, 1, "<%BASE_FILE_NAME%> Error: invalid server Ip address!"); + writeLineEx(0, 1, "<%NODE_NAME%> Error: invalid server Ip address!"); return 1; } @@ -91,7 +91,7 @@ word TcpConnectTo(dword remoteIp, word remotePort) if (fehler != WSAEWOULDBLOCK) // OnTcpConnect will be called otherwise { - write("<%BASE_FILE_NAME%> No Port-Connection: %d", fehler); + write("<%NODE_NAME%> No Port-Connection: %d", fehler); gSocketState = ERROR; return fehler; } @@ -99,7 +99,7 @@ word TcpConnectTo(dword remoteIp, word remotePort) } else { - writeLineEx(0, 1, "<%BASE_FILE_NAME%> Successfully connected to server"); + writeLineEx(0, 1, "<%NODE_NAME%> Successfully connected to server"); gSocketState = OK; return 0; } @@ -110,13 +110,13 @@ void OnTcpConnect(dword socket, long result) if (result != 0) { gSocket.GetLastSocketErrorAsString(gIpLastErrStr, elcount(gIpLastErrStr)); - writeLineEx(0, 2, "<%BASE_FILE_NAME%> OnTcpConnect error (%d): %s", gSocket.GetLastSocketError(), gIpLastErrStr); + writeLineEx(0, 2, "<%NODE_NAME%> OnTcpConnect error (%d): %s", gSocket.GetLastSocketError(), gIpLastErrStr); gSocketState = ERROR; return; } else { - writeLineEx(0, 1, "<%BASE_FILE_NAME%> Successfully connected to server"); + writeLineEx(0, 1, "<%NODE_NAME%> Successfully connected to server"); gSocketState = OK; } } @@ -140,7 +140,7 @@ void TcpRecv() if (gIpLastErr != WSA_IO_PENDING) // Calling OnTcpReceive otherwise { gSocket.GetLastSocketErrorAsString(gIpLastErrStr, elcount(gIpLastErrStr)); - writeLineEx(0, 2, "<%BASE_FILE_NAME%> TcpReceive error (%d): %s", gIpLastErr, gIpLastErrStr); + writeLineEx(0, 2, "<%NODE_NAME%> TcpReceive error (%d): %s", gIpLastErr, gIpLastErrStr); gSocket.Close(); gSocketState = CLOSED; } @@ -159,18 +159,18 @@ void TcpSnd(byte buffer[], word length) TcpConnectTo(gRemoteIP, gRemotePort); if (gSocketState != OK) { - writeLineEx(0, 2, "<%BASE_FILE_NAME%> TcpSnd: Reconnecting failed!"); + writeLineEx(0, 2, "<%NODE_NAME%> TcpSnd: Reconnecting failed!"); return; } case OK: break; default: - writeLineEx(0, 2, "<%BASE_FILE_NAME%> TcpSnd: Socket status is not OK!"); + writeLineEx(0, 2, "<%NODE_NAME%> TcpSnd: Socket status is not OK!"); return; } //bin_to_strhex(buffer, str); - //writeLineEx(0, 1, "<%BASE_FILE_NAME%> TcpSnd: %s (Länge: %d)", str, length); + //writeLineEx(0, 1, "<%NODE_NAME%> TcpSnd: %s (Länge: %d)", str, length); if (gSocket.Send(buffer, length) != 0) { @@ -179,7 +179,7 @@ void TcpSnd(byte buffer[], word length) if (gIpLastErr != WSA_IO_PENDING) { gSocket.GetLastSocketErrorAsString(gIpLastErrStr, elcount(gIpLastErrStr)); - writeLineEx(0, 2, "<%BASE_FILE_NAME%> TcpSnd error (%d): %s", gIpLastErr, gIpLastErrStr); + writeLineEx(0, 2, "<%NODE_NAME%> TcpSnd error (%d): %s", gIpLastErr, gIpLastErrStr); gSocket.Close(); gSocketState = CLOSED; } diff --git a/Modbus/include/UdpCommon.cin b/Modbus/include/UdpCommon.cin index a4f952a..4a4669e 100644 --- a/Modbus/include/UdpCommon.cin +++ b/Modbus/include/UdpCommon.cin @@ -34,19 +34,19 @@ word UdpOpenSocket() if (gSocket.GetLastSocketError() != 0) { gSocket.GetLastSocketErrorAsString(errorText, elcount(errorText)); - writeLineEx(0, 1, "<%BASE_FILE_NAME%> Error: could not open Udp socket on %s:%d, %s (%d)!", Local_IP, localPort, errorText, gSocket.GetLastSocketError()); + writeLineEx(0, 1, "<%NODE_NAME%> Error: could not open Udp socket on %s:%d, %s (%d)!", Local_IP, localPort, errorText, gSocket.GetLastSocketError()); } } while (gSocket.GetLastSocketError() != 0 && i++ < 9); if (gSocket.GetLastSocketError() != 0) { - writeLineEx(0, 1, "<%BASE_FILE_NAME%> Error: could not open Udp socket!"); + writeLineEx(0, 1, "<%NODE_NAME%> Error: could not open Udp socket!"); return gSocket.GetLastSocketError(); } else { - writeLineEx(0, 1, "<%BASE_FILE_NAME%> Udp socket opened on %s:%d.", Local_IP, localPort); + writeLineEx(0, 1, "<%NODE_NAME%> Udp socket opened on %s:%d.", Local_IP, localPort); } return 0; @@ -60,7 +60,7 @@ word UdpConnectTo(char Remote_IP[], word remotePort) remoteIp = IpGetAddressAsNumber(Remote_IP); if (remoteIp == INVALID_IP) { - writeLineEx(0, 1, "<%BASE_FILE_NAME%> Error: invalid server Ip address!"); + writeLineEx(0, 1, "<%NODE_NAME%> Error: invalid server Ip address!"); return 1; } @@ -105,7 +105,7 @@ void UdpRecv() if (gIpLastErr != WSA_IO_PENDING) // Calling OnUdpReceive otherwise { gSocket.GetLastSocketErrorAsString(gIpLastErrStr, elcount(gIpLastErrStr)); - writeLineEx(0, 2, "<%BASE_FILE_NAME%> UdpRecv Error (%d): %s", gIpLastErr, gIpLastErrStr); + writeLineEx(0, 2, "<%NODE_NAME%> UdpRecv Error (%d): %s", gIpLastErr, gIpLastErrStr); gSocket.Close(); gSocketState = CLOSED; } @@ -135,7 +135,7 @@ void UdpSnd(byte buffer[], word length) } //bin_to_strhex(buffer, str); - //writeLineEx(0, 1, "<%BASE_FILE_NAME%> UdpSnd: %s (Länge: %d)", str, length); + //writeLineEx(0, 1, "<%NODE_NAME%> UdpSnd: %s (Länge: %d)", str, length); if (gSocket.SendTo(gRemoteIP, gRemotePort, buffer, length) != 0) { @@ -144,7 +144,7 @@ void UdpSnd(byte buffer[], word length) if (gIpLastErr != WSA_IO_PENDING) { gSocket.GetLastSocketErrorAsString(gIpLastErrStr, elcount(gIpLastErrStr)); - writeLineEx(0, 2, "<%BASE_FILE_NAME%> UdpSnd error (%d): %s", gIpLastErr, gIpLastErrStr); + writeLineEx(0, 2, "<%NODE_NAME%> UdpSnd error (%d): %s", gIpLastErr, gIpLastErrStr); gSocket.Close(); gSocketState = CLOSED; } diff --git a/Modbus/modbus.dbc b/Modbus/modbus.dbc new file mode 100644 index 0000000..eeae04b --- /dev/null +++ b/Modbus/modbus.dbc @@ -0,0 +1,49 @@ +VERSION "" + + +NS_ : + NS_DESC_ + CM_ + BA_DEF_ + BA_ + VAL_ + CAT_DEF_ + CAT_ + FILTER + BA_DEF_DEF_ + EV_DATA_ + ENVVAR_DATA_ + SGTYPE_ + SGTYPE_VAL_ + BA_DEF_SGTYPE_ + BA_SGTYPE_ + SIG_TYPE_REF_ + VAL_TABLE_ + SIG_GROUP_ + SIG_VALTYPE_ + SIGTYPE_VALTYPE_ + BO_TX_BU_ + BA_DEF_REL_ + BA_REL_ + BA_DEF_DEF_REL_ + BU_SG_REL_ + BU_EV_REL_ + BU_BO_REL_ + SG_MUL_VAL_ + +BS_: + +BU_: Wago_3 + + + + +EV_ Wago_3_IP: 0 [0|0] "" 0 1 DUMMY_NODE_VECTOR8001 Vector__XXX; + +BA_DEF_ "DBName" STRING ; +BA_DEF_ "BusType" STRING ; +BA_DEF_DEF_ "DBName" ""; +BA_DEF_DEF_ "BusType" "Ethernet"; +BA_ "BusType" "Ethernet"; +BA_ "DBName" "modbus"; + diff --git a/Modbus/modbus.ini b/Modbus/modbus.ini new file mode 100644 index 0000000..5dad526 --- /dev/null +++ b/Modbus/modbus.ini @@ -0,0 +1,165 @@ +[View_Vehicles] +HIDDEN= +ORDER=0,1, +DEFINITIONS= +COLUMNWIDTHS=125,150, +[View_Vehicle] +HIDDEN= +ORDER=0,1, +DEFINITIONS= +COLUMNWIDTHS=125,125, +[View_VehicleNetworks] +HIDDEN=3,5, +ORDER=0,1,2,3,4, +DEFINITIONS=1,2, +COLUMNWIDTHS=125,125,100,100,150,100,100, +[View_VehicleNetwork] +HIDDEN= +ORDER=0,1,2,3,4, +DEFINITIONS= +COLUMNWIDTHS=125,125,100,125,150, +[View_VehicleNetworkTxMessages] +HIDDEN= +ORDER=0,1,2,3,4,5,6,7,8, +DEFINITIONS= +COLUMNWIDTHS=125,125,55,100,50,100,100,100,150, +[View_VehicleNetworkSignals] +HIDDEN= +ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, +DEFINITIONS= +COLUMNWIDTHS=125,125,100,50,100,50,100,100,100,50,50,50,50,100,100,150, +[View_VehicleControlUnit] +HIDDEN= +ORDER=0,1,2,3,4, +DEFINITIONS= +COLUMNWIDTHS=125,125,100,125,150, +[View_VehicleGateways] +HIDDEN= +ORDER=0,1,2, +DEFINITIONS= +COLUMNWIDTHS=125,125,100, +[View_VehicleGatewaySignals] +HIDDEN= +ORDER=0,1,2,3,4,5,6, +DEFINITIONS= +COLUMNWIDTHS=125,125,125,125,125,125,125, +[View_Networks] +HIDDEN=2,4, +ORDER=0,1,2,3, +DEFINITIONS=1,2, +COLUMNWIDTHS=125,100,100,150,100,100, +[View_Network] +HIDDEN= +ORDER=0,1,2,3, +DEFINITIONS= +COLUMNWIDTHS=125,125,100,150, +[View_NetworkTxMessages] +HIDDEN= +ORDER=0,1,2,3,4,5,6,7,8, +DEFINITIONS= +COLUMNWIDTHS=125,125,55,100,50,100,100,100,150, +[View_NetworkTxSignals] +HIDDEN= +ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, +DEFINITIONS= +COLUMNWIDTHS=125,125,100,50,100,50,100,100,100,50,50,50,50,100,100,150, +[View_NetworkNodeGroup] +HIDDEN= +ORDER=0,1,2, +DEFINITIONS= +COLUMNWIDTHS=125,100,150, +[View_Ecus] +HIDDEN= +ORDER=0,1, +DEFINITIONS= +COLUMNWIDTHS=125,150, +[View_Ecu] +HIDDEN= +ORDER=0,1,2,3, +DEFINITIONS= +COLUMNWIDTHS=125,125,100,150, +[View_EnvVars] +HIDDEN= +ORDER=0,1,2,3,4,5,6,7,8,9, +DEFINITIONS= +COLUMNWIDTHS=125,100,100,50,50,50,50,100,100,150, +[View_EnvVar] +HIDDEN= +ORDER=0,1,2,3,4,5,6,7,8,9,10, +DEFINITIONS= +COLUMNWIDTHS=125,125,100,100,50,50,50,50,100,100,150, +[View_NodeGroups] +HIDDEN= +ORDER=0,1, +DEFINITIONS= +COLUMNWIDTHS=125,150, +[View_NodeGroup] +HIDDEN= +ORDER=0,1,2,3, +DEFINITIONS= +COLUMNWIDTHS=125,125,55,150, +[View_Nodes] +HIDDEN= +ORDER=0,1,2, +DEFINITIONS= +COLUMNWIDTHS=125,100,150, +[View_Node] +HIDDEN= +ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14, +DEFINITIONS= +COLUMNWIDTHS=125,125,100,50,50,100,100,100,50,50,50,50,100,100,150, +[View_NodeTxMessages] +HIDDEN= +ORDER=0,1,2,3,4,5,6,7, +DEFINITIONS= +COLUMNWIDTHS=125,125,55,100,50,100,100,150, +[View_NodeTxMsg] +HIDDEN= +ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14, +DEFINITIONS= +COLUMNWIDTHS=125,125,100,50,50,100,100,100,50,50,50,50,100,100,150, +[View_NodeTxSignals] +HIDDEN= +ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14, +DEFINITIONS= +COLUMNWIDTHS=125,125,100,50,50,100,100,100,50,50,50,50,100,100,150, +[View_NodeRxSignals] +HIDDEN= +ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14, +DEFINITIONS= +COLUMNWIDTHS=125,125,100,50,50,100,100,100,50,50,50,50,100,100,150, +[View_NodeTxSigs] +HIDDEN= +ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12, +DEFINITIONS= +COLUMNWIDTHS=125,125,50,100,100,100,50,50,50,50,100,100,150, +[View_NodeRxSigs] +HIDDEN= +ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12, +DEFINITIONS= +COLUMNWIDTHS=125,125,50,100,100,100,50,50,50,50,100,100,150, +[View_Messages] +HIDDEN= +ORDER=0,1,2,3,4,5,6,7, +DEFINITIONS= +COLUMNWIDTHS=125,55,100,50,100,100,100,150, +[View_Message] +HIDDEN= +ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14, +DEFINITIONS= +COLUMNWIDTHS=125,125,100,50,50,100,100,100,50,50,50,50,100,100,150, +[View_Signals] +HIDDEN= +ORDER=0,1,2,3,4,5,6,7,8,9,10,11, +DEFINITIONS= +COLUMNWIDTHS=125,50,100,100,100,50,50,50,50,100,100,150, +[View_ValueTables] +HIDDEN= +ORDER=0,1, +DEFINITIONS= +COLUMNWIDTHS=125,150, +[View_AttrDefs] +HIDDEN=6, +ORDER=0,1,2,3,4,5, +DEFINITIONS= +COLUMNWIDTHS=125,100,100,50,50,100,150,