Segnetics

Вернуться   Segnetics > Форум Segnetics > Вопросы о Trim5

Вопросы о Trim5 Работа и применение контроллеров с сенсорной панелью Trim5.

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.10.2016, 21:44   #1
santer
Новичок
 
Регистрация: Sep 2014
Сообщения: 6
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Trim5 и WEB

Доброго
Вопрос существует ли для Trim5 Web интерфейс - хотя бы тем же методом что для SMH?
santer вне форума   Ответить с цитированием
Старый 23.10.2016, 14:37   #2
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Trim5 и WEB

Trim5 поддерживает SMConnect и у него есть SMConfig - это такая специальная "веб морда", на которую можно попасть, если ваш трим подключен к локальной сети по ethernet. Набирайте в браузере его ip адрес и попадаете (как на роутер).


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 24.10.2016, 11:15   #3
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Trim5 и WEB

Цитата
Сообщение от santer Посмотреть сообщение
Доброго
Вопрос существует ли для Trim5 Web интерфейс - хотя бы тем же методом что для SMH?
Всё как у SMH-2Gi, никаких отличий.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 27.10.2016, 17:12   #4
santer
Новичок
 
Регистрация: Sep 2014
Сообщения: 6
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Trim5 и WEB

Спасибо - попробуем
santer вне форума   Ответить с цитированием
Старый 04.09.2018, 10:12   #5
Alexsis
Senior Member
 
Регистрация: Dec 2013
Адрес: Краснодар
Сообщения: 187
Благодарил(а): 6 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Trim5 и WEB

Доброго всем!!!

Если же все так как на 2Gi , то почему не запускается проект на базе

http://forum.segnetics.ru/showpost.p...2&postcount=51

/ip/Data2Gi.php вообще пишет аракадабру какую-то вместо чтения load_map

Знаю что я не умный . Так что прошу поделиться знаниями с гуру
Alexsis вне форума   Ответить с цитированием
Старый 04.09.2018, 11:35   #6
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Trim5 и WEB

Процессоры разные. Разные версии системы команд. Проще говоря, надо перекомпилировать под нужную платформу.


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 04.09.2018, 12:40   #7
Alexsis
Senior Member
 
Регистрация: Dec 2013
Адрес: Краснодар
Сообщения: 187
Благодарил(а): 6 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Trim5 и WEB

Цитата
Сообщение от Gromov Посмотреть сообщение
Проще говоря, надо перекомпилировать под нужную платформу.
Етить-колотить Помогите люди-умные кто умеет так делать т.к. 2Gi канул в лету... а заменять его чем-то надо... вот TRIM5
Alexsis вне форума   Ответить с цитированием
Старый 05.09.2018, 01:52   #8
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 740
Благодарил(а): 12 раз(а)
Поблагодарили: 192 раз(а) в 188 сообщениях
По умолчанию Ответ: Trim5 и WEB

Цитата
Сообщение от Gromov Посмотреть сообщение
Процессоры разные. Разные версии системы команд. Проще говоря, надо перекомпилировать под нужную платформу.
Это про PHP? Сложно осознать глубину Ваших глубин.

Цитата
Сообщение от Alexsis Посмотреть сообщение
/ip/Data2Gi.php вообще пишет аракадабру какую-то вместо чтения load_map
А какую можно уточнить?

P.S. Мое общение с Сегнетиксами закончилось на 2Gi.
ATS сейчас на форуме   Ответить с цитированием
Старый 05.09.2018, 09:30   #9
Alexsis
Senior Member
 
Регистрация: Dec 2013
Адрес: Краснодар
Сообщения: 187
Благодарил(а): 6 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Trim5 и WEB

Цитата
Сообщение от ATS Посмотреть сообщение
Это про PHP? Сложно осознать глубину Ваших глубин.

А какую можно уточнить?

P.S. Мое общение с Сегнетиксами закончилось на 2Gi.
Код:
AdIpPLC = "127.0.0.1"; if(!$this->ParamVar()) { $this->PortIpPLC = 502; $this->Unit = 1; } srand( (float) microtime()*1000000 ); } // public function SetAdIpPLC( $Ip = "127.0.0.1") { $this->AdIpPLC = $Ip;	$this->ModConn(); } // public function ModConn() { $this->Fp = @fsockopen( "$this->AdIpPLC", $this->PortIpPLC, $errno, $errstr, 5 ) ; // or die("������ ���������� � ������� $this->AdIpPLC:$this->PortIpPLC"); } // public function ModClose() { if ( $this->Fp) @fclose($this->Fp); } private function WriteSocket( $OutBuf ) { fwrite( $this->Fp, implode( "", $OutBuf )); return true; } private function ReadSocket () { while ( ! $InBuf = fgetc($this->Fp) ); $status = socket_get_status($this->Fp); $InBuf .= fread($this->Fp, $status["unread_bytes"]); /* if ( $this->Debug ) { for ( $i=0; $i"; } } */ return $InBuf; } private function WordToBytes( $word = 0 ) { $word = $word &0xFFFF; return array( chr(($word & 0xFF)), chr(($word >> 8) & 0xFF)); } private function BytesToWord( $lbyte = 0, $rbyte = 0 ) { return( ord($lbyte) * 256 + ord($rbyte) ); } private function WordToDouble( $lword, $rword) { return ( ($lword & 0xFFFF) << 16) + (($rword & 0xFFFF) ); } private function FloatToWord($value) { // get float binary string $float = pack("f", $value); // set 32-bit unsigned integer of the float $w = unpack("L", $float); return $w[1]; } private function WordToFloat( $lword, $rword) { // get unsigned long $ulong = pack("L", $this->WordToDouble( $lword, $rword)); // set float $float = unpack("f", $ulong); return $float[1]; } private function DoubleToSgnInt($value) { if ((0x80000000 & $value) != 0) { return -(0x7FFFFFFF & ~$value)-1; } else { return (0x7FFFFFFF & $value); } } private function WordToSgnInt($value) { if ((0x8000 & $value) != 0) { return -(0x7FFF & ~$value)-1; } else { return (0x7FFF & $value); } } // --------------------------------------------------- // ������ ���� ���������� 2Gi (XML) // --------------------------------------------------- public function PlcAllVarToXML() { $strxml = "\r\n"; foreach(array_keys($this->VarPrm) as $line) $strxml .= "<" . $line . ">" . $this->PlcVarRead( $line) . "\r\n" ; $strxml .=""; return $strxml; } // --------------------------------------------------- // ������ ���� ���������� 2Gi (������) // --------------------------------------------------- public function PlcAllVarRead() { foreach(array_keys($this->VarPrm) as $line) $tmparr[$line] = $this->PlcVarRead( $line); return $tmparr; } // --------------------------------------------------- // ������ �� ���������� 2Gi // --------------------------------------------------- public function PlcVarRead( $varname="") { return $this->ReadRegData( $this->VarPrm[$varname][1], $this->VarPrm[$varname][2], $this->VarPrm[$varname][3]); } // ----------------------------------------------- // ������ �� ���������� 2Gi // ----------------------------------------------- public function PlcVarWrite($varname="", $data=0) { return $this->WriteRegData( $this->VarPrm[$varname][1], $this->VarPrm[$varname][2], $this->VarPrm[$varname][3], $data ); } // --------------------------------------------------- // ������ ��������� // --------------------------------------------------- public function ReadRegData( $Adr=2, $Reg=2, $Type=2) { if ( $Reg < 2 ) { $Type=0; } $sbuf = array ( 0=>chr(0), chr(0), chr(0), chr(0), chr(0), 5=>chr(6), 6=>chr($this->Unit), 7=>chr(4)) ; list( $sbuf[8], $sbuf[9] ) = $this->WordToBytes( $Adr ); //��� ������� if ( $Reg == 3 ) $sbuf[7] = chr(3); if ( $Reg == 2 ) $sbuf[7] = chr(4); if ( $Reg == 1 ) $sbuf[7] = chr(1); if ( $Reg == 0 ) $sbuf[7] = chr(2);	$sbuf[10] = chr(0); if ( $Type < 2 ) $sbuf[11] = chr(1); else $sbuf[11] = chr(2); $this->WriteSocket($sbuf); $rbuf = $this->ReadSocket(); if ( $rbuf[7] != $sbuf[7] ) { // ��� ������� ������ //	echo "������ ������ ������
\n"; return False; } // $nbByte = ord( $rbuf[8] ); // // ��� �������	/* for ( $i=0; $i"; } echo "Reg =". $Reg."
"; echo "Type =". $Type."

"; */ // ����� ������� switch ( $Type) {	case "0": return ord( $rbuf[9] ); break;	case "1": return $this->WordToSgnInt($this->BytesToWord($rbuf[9],$rbuf[10])); break; case "2": return $this->DoubleToSgnInt($this->WordToDouble($this->BytesToWord($rbuf[11],$rbuf[12]), $this->BytesToWord($rbuf[9],$rbuf[10]))); break; case "3": return $this->WordToFloat( $this->BytesToWord($rbuf[11],$rbuf[12]), $this->BytesToWord($rbuf[9],$rbuf[10])); break; default: return False; } }	// ----------------------------------------------- // ������ ��������� // ----------------------------------------------- public function WriteRegData( $Adr=2, $Reg=3, $Type=2, $WrData=0) { if ( $Reg == 1 ) { $Type=0; $CodeFunction = 5; $BQnty = 6; } else if ( $Reg == 3 ) { $CodeFunction = 16; $BQnty = 9; if ($Type > 1) {$BQnty = 11;} } else return false; $sbuf[0] = chr(0); $sbuf[1] = chr(0); $sbuf[2] = chr(0); $sbuf[3] = chr(0); list( $sbuf[5], $sbuf[4] ) = $this->WordToBytes($BQnty); //���-�� ���� $sbuf[6] = chr( $this->Unit ); $sbuf[7] = chr( $CodeFunction ); list( $sbuf[9], $sbuf[8] ) = $this->WordToBytes((int)$Adr); // ����� ������ if ( $Reg == 1 ) { if ( $WrData != 0 ) { $sbuf[10] = chr(255); } else { $sbuf[10] = chr(0); } $sbuf[11] = chr(0);	} else if ($Type == 1){ $sbuf[10] = chr(0); $sbuf[11] = chr(1); $sbuf[12] = chr(2); list( $sbuf[14], $sbuf[13]) = $this->WordToBytes( $WrData); } else { // ���� ������ ��� Long !!! $sbuf[10] = chr(0); $sbuf[11] = chr(2); $sbuf[12] = chr(4);	if ($Type == 3) $WrData = $this->FloatToWord($WrData); list( $sbuf[14], $sbuf[13] ) = $this->WordToBytes($WrData & 0xFFFF); list( $sbuf[16], $sbuf[15] ) = $this->WordToBytes(($WrData >>16) & 0xFFFF);	}	// ��� ������� /* echo "Write
"; for ($i=0;$i"; } echo "
"; */ // �����	$this->WriteSocket($sbuf); $rbuf = $this->ReadSocket(); if ( $rbuf[7] != $sbuf[7] ) { // ��� ������� ������ //	echo "������ ������ ������
\n"; return False; }	return True ; } // ----------------------------------------------- // ��������� ���������� // ----------------------------------------------- private function ParamVar() {	$curr = "/projects/load_files.map"; if(!file_exists($curr)) $curr = "load_files.map"; if(file_exists($curr)) { $all = file_get_contents($curr); $ini = explode("\n", $all); $Sreg=null; $all =null; foreach($ini as $line) if(strncmp($line, "[Inst", 5) == 0) $Sreg=0; else if(strncmp($line, "[Coil", 5) == 0) $Sreg=1; else	if(strncmp($line, "[Inre", 5) == 0) $Sreg=2; else if(strncmp($line, "[Hold", 5) == 0) $Sreg=3; else if(strncmp($line, "var", 3) == 0) { $curr = explode("=", $line); $num = explode(",", ",". $curr[1]); //echo $num[5] . "," . $num[1] . "," . $Sreg."," . $num[3] . "
"; // ��� �������� $curr=trim($num[5]); $all[$curr][1]=$num[1]; $all[$curr] [2]=$Sreg; $all[$curr] [3]=$num[3]; } else if(strncmp($line, "Adr", 3) == 0) { $num = explode("=", $line); //����� Slave } else if(strncmp($line, "If", 2) == 0) { if(strpos($line, "=5,")) { $port = explode(":", $line); //���� MB/TCP } } } else { //echo "��� �����. ��������� �� ������."; return False; } $this->PortIpPLC = $port[1]; $this->Unit = $num[1] ; $this->VarPrm = $all; return True; }	} ?>
Так точно Капитан!!

Последний раз редактировалось Alexsis, 05.09.2018 в 09:47
Alexsis вне форума   Ответить с цитированием
Старый 05.09.2018, 09:39   #10
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Trim5 и WEB

Пожалуйста, сделайте это в нормальном виде. Используйте PastCode или хотя бы на форуме через теги кода. Ну так же невозможно читать. =(


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 06.09.2018, 00:17   #11
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 740
Благодарил(а): 12 раз(а)
Поблагодарили: 192 раз(а) в 188 сообщениях
По умолчанию Ответ: Trim5 и WEB

Цитата
Сообщение от Alexsis Посмотреть сообщение
Код:
AdIpPLC = "127.0.0.1"; if(!$this->ParamVar()) { $this->PortIpPLC = 502; $this->Unit = 1; }...
Так точно Капитан!!
Интересно девки пляшут...

Попробуйте вторую строку в файле Data2Gi.php
Код:
require_once dirname(__FILE__) . '/class_2GiMbusTcp.php';
поменять на
Код:
require("class_2GiMbusTcp.php");

Добавлено через 56 минут

Обновил
ATS сейчас на форуме   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод данных на WEB с удаленных объектов oleg23 SMConnect & SMConfig 9 03.03.2020 13:18
Связь между Trim5 и Danfoss MCX06 Scorpio Связь с внешним миром 11 01.11.2019 18:00
Подключение TRIM5 в сеть GTS Вопросы о Trim5 4 22.08.2018 16:50
как соединить trim5 с opc server OBO Вопросы о Trim5 9 08.11.2017 11:20
Обновление прошивки Trim5 (решено) laserist Вопросы о Trim5 9 19.07.2017 15:02


Часовой пояс GMT +4, время: 20:38.


Версия vBulletin: 3.8.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2023