NEWS
S7
-
Пытался понять в немецкой ветке http://forum.iobroker.net/viewtopic.php … 596c528fde как организован драйвер сименса, но не понял каким образом происходит обмен. Может кто подскажет?
-
Обмен происходит по протоколу S7.
Используется библиотека Snap7 (https://www.npmjs.com/package/node-snap7)
В драйвере указываются переменные, какой DB, какой offset в DB и тип переменной.
Ещё надо указать можно ли переменную писать.
И всё. В цикле (настраиваемо) 500мс данные считываются и пишутся в PLC.
Можно импортировать все переменные из SIMATIC проекта и ничего на надо будет вбивать ручками.
-
Что-то я все равно не догоняю…
Вот картинка из проекта в тиа-портале (сименса)- хочу изменять и видеть состояние переменной lamp_hall, которая находится в блоке status_out (DB2).
Помогите, куда и какие данные мне нужно записать?
256_s7_db2.jpg -
Что-то я все равно не догоняю…
Вот картинка из проекта в тиа-портале (сименса)- хочу изменять и видеть состояние переменной lamp_hall, которая находится в блоке status_out (DB2).
Помогите, куда и какие данные мне нужно записать? `
Не знаком с данным оборудованием.Но логически я бы попробовал такие настройки указать в драйвере S7:
` > В драйвере указываются переменные, какой DB, какой offset в DB и тип переменной.
Ещё надо указать можно ли переменную писать. `
переменная - lamp_hallDb - DB2
offset (видимо) - status_out
тип переменной - bool
-
Я тоже думал, что у меня с логикой все в порядке, до сименса )))
Не могу с ним никак подружиться.
2015-08-10 17:43:51 error instance system.adapter.s7.0 terminated with code 6 (uncaught exception) TypeError: 2015-08-10 17:43:51 error at Decoder.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:134:20) TypeError: 2015-08-10 17:43:51 error at Decoder. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15) TypeError: 2015-08-10 17:43:51 error at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:301:8) TypeError: 2015-08-10 17:43:51 error at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:134:20) TypeError: 2015-08-10 17:43:51 error at Manager. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15) TypeError: 2015-08-10 17:43:51 error at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:220:12) TypeError: 2015-08-10 17:43:51 error at Socket.onack (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:295:6) TypeError: 2015-08-10 17:43:51 error at Socket. (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:623:35) TypeError: 2015-08-10 17:43:51 error at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:680:21 TypeError: 2015-08-10 17:43:51 error at /opt/iobroker/node_modules/iobroker.s7/main.js:357:77 TypeError: 2015-08-10 17:43:51 error Cannot call method 'replace' of undefined uncaught 2015-08-10 17:43:51 error exception: Cannot call method 'replace' of undefined s7-0 2015-08-10 17:43:51 info starting. Version 0.1.8 in /opt/iobroker/node_modules/iobroker.s7
-
Что-то я все равно не догоняю…
Вот картинка из проекта в тиа-портале (сименса)- хочу изменять и видеть состояние переменной lamp_hall, которая находится в блоке status_out (DB2).
Помогите, куда и какие данные мне нужно записать? `
Какой адрес у этой переменной?DB2 0.3
?
-
У этой переменной нет адреса. Внутри программы у нее символьная адресация.
1241_bildschirmfoto_2018-01-13_um_14.17.02.png
1241_bildschirmfoto_2018-01-13_um_14.16.32.png -
Завтра выясню.
-
Написано, что надо скомпилировать db и адреса появятся.
Кстати адрес надо писать вот так: DB2 +0.3
-
Вроде считывать данные получилось, а вот записать не получается. Жму на vis изменить, а состояние возвращается.
И еще заметил, что значения принимаются "0" и "1", хотя тип установлен "bool".
256_s7_db2_v3.jpg
3690_heizungsscript.txt -
Каюсь, пытался изменить переменные, которые меняет сам ПЛК. Внес корректировки- сейчас проблем (с чтением и записью состояний ламп и выключателей) нет.
-
> И еще заметил, что значения принимаются "0" и "1", хотя тип установлен "bool".
Я переделал вчера драйвер. Теперь будет true/false. Также адреса можно задавать как "db2 2", "DB45 5.3", "Db5 +2"Надо только подождать, когда smiling_jack примет изменения.