Open HerrJensen81 opened 2 years ago
Is there any link to some specs for the datatypes?
Hallo Ingo,
vielleicht klappt das ja so:
_Overview.pdf DATE.pdf DATE_AND_LTIME.pdf DATE_AND_TIME.pdf DINT.pdf DTL.pdf DWORD.pdf INT.pdf LINT.pdf LREAL.pdf LTIME.pdf LTIME_OF_DAY.pdf LWORD.pdf REAL.pdf S5TIME.pdf SINT.pdf STRING.pdf TIME.pdf TIME_OF_DAY.pdf UDINT.pdf UINT.pdf ULINT.pdf USINT.pdf WCHAR.pdf WORD.pdf WSTRING.pdf BOOL.pdf BYTE.pdf CHAR.pdf
Gruß
Jens
Helfen die Beschreibungen?
Generell ja ... Dann mal zur konkreten Frage: Welche Datentypen fehlen Dir denn speziell? Weil ginge ja auch darum das das jemand dann testen kann - oder kannst Du alle 28 testen ;-)
Hallo, hatte garnicht mehr mit einer Rückmeldung gerechnet. Ich bin erst wieder ab dem 4.1. 23 zuhause dann kann ich schauen welcher Datentyp es genau war. Es war ein datum/Zeit Typ. Ichkann aber auch alle testen. Kann ja einfach einen DB mit allen Typen anlegen und testen. Wie funktioniert der Excel Import? Gibt es eine Möglichkeit aus TIA direkt nach Excel zu gehen oder muss man das alles neu tippen? Gruß Jens Einen guten Rutsch Am 30.12.22, 00:48 schrieb Ingo Fischer @.***>:
Generell ja ... Dann mal zur konkreten Frage: Welche Datentypen fehlen Dir denn speziell? Weil ginge ja auch darum das das jemand dann testen kann - oder kannst Du alle 28 testen ;-) —Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>
Kein Stress, bei über 500 Adaptern und ein paar leuten die ca. 200 davon betreuen kann das schon mal passieren. Wenn es aber gelabelt ist sollte das nie vergessen werden. Deine Import Frage kann ich nicht beantworten weil ich nicht weiss was TIA ist (und auch keine S7 selbst habe). AM besten mach nen export aus dem adapter und vergleiche wie es aussieht
Hey Ich habe genau das gleiche Prob wollte ein LREAL übergeben und ging nicht. Wenn du willst kann ich die alle 28 Testen da ich eine TIA 1500 CPU habe.
Hallo, ich würde auch einige der neuen Typen benötigen. Stehe auch gerne zum testen zur Verfügung.
Der Adapter nutzt node-Snap7 über die API https://github.com/mathiask88/node-snap7/blob/master/doc/client.md#data-functions D.h. es können wohl nur die in node-Snap7 vorgesehenen Datentypen genutzt werden, bzw. die. die von Javascript Buffer verarbeitet werden können: https://www.w3schools.com/nodejs/ref_buffer.asp Damit müsste der Adapter um die neuen Datentypen erweitert und in Buffer "übersetzt" werden, aktuell sind Folgende definiert und werden über den Buffer gelesen/ geschrieben (Auszug aus dem Adapter):
if (type === 'BOOL') {
if (val === true || val === 1 || val === 'true' || val === '1') {
buf = Buffer.from([1]);
} else {
buf = Buffer.from([0]);
}
} else if (type === 'BYTE') {
buf = Buffer.alloc(1);
buf[0] = parseInt(val, 10) & 0xFF;
} else if (type === 'WORD') {
buf = Buffer.alloc(2);
buf.writeUInt16BE(parseInt(val, 10), 0, 2);
} else if (type === 'DWORD') {
buf = Buffer.alloc(4);
buf.writeUInt32BE(parseInt(val, 10), 0, 4);
} else if (type === 'INT') {
buf = Buffer.alloc(2);
buf.writeInt16BE(parseInt(val, 10), 0, 2);
} else if (type === 'DINT') {
buf = Buffer.alloc(4);
buf.writeInt32BE(parseInt(val, 10), 0, 4);
} else if (type === 'REAL') {
buf = Buffer.alloc(4);
buf.writeFloatBE(parseFloat(val), 0);
} else if (type === 'STRING' || type === 'ARRAY') {
if (typeof val === 'string' && val[0] === '{') {
try {
val = JSON.parse(val);
} catch (err) {
}
}
const len = parseInt(data.native.len);
buf = Buffer.alloc(len);
if ((iconvTo || iconvToL) && type === 'STRING' && typeof val === 'string') {
const buffer1 = iconvTo ? iconvTo.convert(val) : iconvToL.encode(val, encoding);
buffer1.copy(buf, 0, 0, buffer1.byteLength > len ? len : buffer1.byteLength);
} else {
let s1;
for (s1 = 0; s1 < val.length && s1 < len; s1++) {
buf[s1] = val[s1];
}
// zero end string
if (type === 'STRING') {
if (s1 >= len) {
s1--;
}
buf[s1] = 0;
}
}
} else if (type === 'S7STRING') {
const len = parseInt(data.native.len);
buf = Buffer.alloc(len + 2);
S7String ist im Auszug oben nicht komplett. Aber in dem Stil könnte jemand, der eine S7 zum Testen und Ahnung von Javascript hat, den Adapter erweitern.
Hello,
thank you for that nice adapter. I tried to add my DB's but i struggled because not all used generic data types are available. It seems that only the old S7 Classic data types are available.
Is it possible to add the missing data types? If I can help please let me know.
Greetings
Jens