Страница 2 из 4

Re: Сбор показаний электросчетчика Меркурий 200

Добавлено: 21 июн 2016, 12:54
Булат
root@homeService:/opt/bin/powermeter# ./electro_counter.sh amper
OS: LINUX; DEVICE: /dev/ttyS0; COUNTER_SN: 13961366(x0exabx56); COUNTER_TYPE: merc200.sh; TEST_COMMUNITY: YES; DEV_EMULATOR: NO; METHOD_COMMUNITY: CAT; FUZZY_MATCHING_CRC: NO
COMMAND: amper; PARAMS: none; SIZE: 14; OUTPARSER: "02x3,02x4#Aprintf(\"%0.2f\",^b0/100)"; DESCRIBE: Сила тока A (А)
TEST_SEND: _0x00_0x0e_0xab_0x56_0x00_0x68_0xA8 4
TEST_ANSWER(1) 0
TEST_ANSWER(2) 0
TEST_ANSWER(3) 0
TEST_ANSWER(4) 0
TEST_ANSWER(5) 0
Set params device "/dev/ttyS0"...
Set params device "/dev/ttyS0" - 0.
TEST_ANSWER(1) 0
TEST_ANSWER(2) 0
TEST_ANSWER(3) 0
TEST_ANSWER(4) 0
TEST_ANSWER(5) 0
Error! Not answer "/dev/ttyS0"!

Re: Сбор показаний электросчетчика Меркурий 200

Добавлено: 21 июн 2016, 12:56
kpp
прописать еще:
TEST_COMMUNITY="NO"

Re: Сбор показаний электросчетчика Меркурий 200

Добавлено: 21 июн 2016, 13:01
Булат
root@homeService:/opt/bin/powermeter# ./electro_counter.sh amper
OS: LINUX; DEVICE: /dev/ttyS0; COUNTER_SN: 13961366(x0exabx56); COUNTER_TYPE: merc200.sh; TEST_COMMUNITY: No; DEV_EMULATOR: NO; METHOD_COMMUNITY: CAT; FUZZY_MATCHING_CRC: NO
COMMAND: amper; PARAMS: none; SIZE: 14; OUTPARSER: "02x3,02x4#Aprintf(\"%0.2f\",^b0/100)"; DESCRIBE: Сила тока A (А)
SEND: _0x00_0x0e_0xab_0x56_0x63_0x28_0x81
ANSWER(1): 0 1
ANSWER(2): 0 1
ANSWER(3): 0 1
Error! Counter(13961366) not answer!

Re: Сбор показаний электросчетчика Меркурий 200

Добавлено: 21 июн 2016, 13:03
kpp
Параметры порта должны быть:
# Linux Debian
DEV_FLAGS_LINUX=" cs8 9600 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts"

Все другие DEV_FLAGS_LINUX закомментировать.

Re: Сбор показаний электросчетчика Меркурий 200

Добавлено: 21 июн 2016, 13:06
Булат
root@homeService:/opt/bin/powermeter# ./electro_counter.sh amper
OS: LINUX; DEVICE: /dev/ttyS0; COUNTER_SN: 13961366(x0exabx56); COUNTER_TYPE: merc200.sh; TEST_COMMUNITY: No; DEV_EMULATOR: NO; METHOD_COMMUNITY: CAT; FUZZY_MATCHING_CRC: NO
COMMAND: amper; PARAMS: none; SIZE: 14; OUTPARSER: "02x3,02x4#Aprintf(\"%0.2f\",^b0/100)"; DESCRIBE: Сила тока A (А)
SEND: _0x00_0x0e_0xab_0x56_0x63_0x28_0x81
ANSWER(1): 0 1
ANSWER(2): 0 1
ANSWER(3): 0 1
Error! Counter(13961366) not answer!

Re: Сбор показаний электросчетчика Меркурий 200

Добавлено: 21 июн 2016, 13:07
kpp
Скрипт запустить без параметров, просто ./electro_counter.sh
Указать явно OS=LINUX если еще не указано.

Re: Сбор показаний электросчетчика Меркурий 200

Добавлено: 21 июн 2016, 13:08
Булат
root@homeService:/opt/bin/powermeter# ./electro_counter.sh
OS: LINUX; DEVICE: /dev/ttyS0; COUNTER_SN: 13961366(x0exabx56); COUNTER_TYPE: merc200.sh; TEST_COMMUNITY: No; DEV_EMULATOR: NO; METHOD_COMMUNITY: CAT; FUZZY_MATCHING_CRC: NO
COMMAND: kwatthour; PARAMS: "kwatthour"> zona=01; SIZE: 23; OUTPARSER: "02x$((${zona} * 4 - 3)),02x$((${zona} * 4 - 2)),02x$((${zona} * 4 - 1)),02x$((${zona} * 4))#Aprintf(\"%0.3f\",^b0/1000)"; DESCRIBE: Опрос накопленной энергии
SEND: _0x00_0x0e_0xab_0x56_0x27_0x28_0xB2
ANSWER(1): 0 1
ANSWER(2): 0 1
ANSWER(3): 0 1
Error! Counter(13961366) not answer!

Re: Сбор показаний электросчетчика Меркурий 200

Добавлено: 21 июн 2016, 13:11
kpp
Поменять METHOD_COMMUNITY="CAT" на METHOD_COMMUNITY="DD".
Указать явно OS=LINUX если еще не указано.

Re: Сбор показаний электросчетчика Меркурий 200

Добавлено: 21 июн 2016, 13:15
Булат
METHOD_COMMUNITY="DD"
OS=LINUX указана явно.

root@homeService:/opt/bin/powermeter# ./electro_counter.sh amper
./electro_counter.sh: 18: ./electro_counter.conf: 13961366: not found
OS: LINUX; DEVICE: /dev/ttyS0; COUNTER_SN: 13961366(x0exabx56); COUNTER_TYPE: merc200.sh; TEST_COMMUNITY: No; DEV_EMULATOR: NO; METHOD_COMMUNITY: DD; FUZZY_MATCHING_CRC: NO
COMMAND: amper; PARAMS: none; SIZE: 14; OUTPARSER: "02x3,02x4#Aprintf(\"%0.2f\",^b0/100)"; DESCRIBE: Сила тока A (А)
SEND: _0x00_0x0e_0xab_0x56_0x63_0x28_0x81
ANSWER(1): 0 1
ANSWER(2): 0 1
ANSWER(3): 0 1
Error! Counter(13961366) not answer!

Re: Сбор показаний электросчетчика Меркурий 200

Добавлено: 21 июн 2016, 13:21
kpp
Установите явно параметры порта
stty -F /dev/ttyS0 cs8 9600 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts

Re: Сбор показаний электросчетчика Меркурий 200

Добавлено: 21 июн 2016, 13:24
Булат
root@homeService:/opt/bin/powermeter# ./electro_counter.sh amper
LINUX; DEVICE: /dev/ttyS0; COUNTER_SN: 13961366(x0exabx56); COUNTER_TYPE: merc200.sh; TEST_COMMUNITY: No; DEV_EMULATOR: NO; METHOD_COMMUNITY: DD; FUZZY_MATCHING_CRC: NO
COMMAND: amper; PARAMS: none; SIZE: 14; OUTPARSER: "02x3,02x4#Aprintf(\"%0.2f\",^b0/100)"; DESCRIBE: Сила тока A (А)
SEND: _0x00_0x0e_0xab_0x56_0x63_0x28_0x81
ANSWER(1): 0 1
ANSWER(2): 0 1
ANSWER(3): 0 1
Error! Counter(13961366) not answer!

Re: Сбор показаний электросчетчика Меркурий 200

Добавлено: 21 июн 2016, 13:32
kpp
А если так:
stty -F /dev/ttyS0 speed 9600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8
-opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt -echoctl -echoke

Re: Сбор показаний электросчетчика Меркурий 200

Добавлено: 21 июн 2016, 13:40
Булат
Ошибки и виснет
bash: syntax error near unexpected token `;'
пробовал убрать `;' , вылазят другие

Re: Сбор показаний электросчетчика Меркурий 200

Добавлено: 21 июн 2016, 13:44
kpp
В кавычках двойных все что после stty -F /dev/ttyS0

Re: Сбор показаний электросчетчика Меркурий 200

Добавлено: 21 июн 2016, 13:46
Булат
root@homeService:/opt/bin/powermeter# stty -F /dev/ttyS0 "speed 9600 baud; rows 0; columns 0; line = 0; intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z -parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8 -opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 -isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt -echoctl -echoke"
stty: неверный аргумент «speed 9600 baud; rows 0; columns 0; line = 0; intr = ^C; quit = ^\\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z -parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8 -opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 -isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt -echoctl -echoke»
По команде «stty --help» можно получить дополнительную информацию.

Re: Сбор показаний электросчетчика Меркурий 200

Добавлено: 21 июн 2016, 14:01
kpp
А почему ttyS0 а не какой-нить ttyUSB0 ?

Re: Сбор показаний электросчетчика Меркурий 200

Добавлено: 21 июн 2016, 14:11
Булат
я пробовал и ttyUSB0(у меня есть USB-CAN(RS485)) результат тот-же, и я решил попробовать ttyS0 через MOXA A52.
У меня на материнке физический СОМ порт.
В чем причина я так и не нашел.

Re: Сбор показаний электросчетчика Меркурий 200

Добавлено: 21 июн 2016, 14:17
Булат
В PHP скриптах работает и с ttyUSB0 и с ttyS0 через dio.

Re: Сбор показаний электросчетчика Меркурий 200

Добавлено: 21 июн 2016, 14:18
kpp
Можно попробовать снифер, например jpnevulator
На одном терминале: jpnevulator --tty /dev/ttyS0 --read
На другом jpnevulator --tty /dev/ttyS0 --write
И пробовать скриптом слать команду.
И PHP скриптом.
Посмотреть разницу.
Нет под рукой сейчас линукса, все под FREEBSD.

Re: Сбор показаний электросчетчика Меркурий 200

Добавлено: 21 июн 2016, 14:22
Булат
пойду борща съем.