Jump to content

    

опять нажать на веб кнопку (в блоке питания GW) на питоне

там интерфейс по LAN сделан в виде веб-морды со строкой ввода, куда SCPI команды надо засовывать

может кто-то скрипт писал/имеет для "человеческого" управления? для веб-программиста это наверняка как два пальца...

		<form  id="form1" name="form1" method="post" action="scpi_command.cgi" onsubmit="reloadPage()">SCPI:<br>
			<input name="scpi" type="text" id="scpi" maxlength="128" />
			<input type="submit" name="Submit" id="Submit" value="Submit"/>
		</form>
там еще джаваскрипт используется, но если я правильно понимаю, то для того, чтобы напечатать ответ в форму (это можно и опустить для начала)

function reloadXML(){
	xmlDoc=loadXMLDoc("SCPI.xml?" + new Date().getTime());
	x=xmlDoc.getElementsByTagName("SCPI");
	txt = "";
	for(i=0;i<x.length;i++){
		txt = txt+x[i].getElementsByTagName("SCPICommand")[0].childNodes[0].nodeValue;
		txt = txt+x[i].getElementsByTagName("SCPIResponse")[0].childNodes[0].nodeValue;
	}
	if(""!=txt){
		document.getElementById("SCPITEXT").value = txt;
	}

сам я в вебпрограммирование вообще не умею, посмотрел в гугле - из-за обильной темы вообще ничего непонятно

 

Share this post


Link to post
Share on other sites

Попробуйте использовать любую из "кликалок" для функционального тестирования, например https://testcafe.devexpress.com/Documentation/Using_TestCafe/Setup/

Записываете шаги, куда кликать в браузере и что вводить, и затем воспроизводите

Edited by ViorDash

Share this post


Link to post
Share on other sites

ТС, по web-интерфейсу ничего не подскажу, но почему не попробовать управлять через сокет на порту 2268 ? Там тот же SCPI, но не нужно web разбирать.

Share this post


Link to post
Share on other sites

Открываете страницы в браузере, включаете режим Web разработки (что бы показывал запросы), вводите что нибудь в форму, нажимаете submit

Копируете url, куда отправился запрос. Текст запроса будет в параметре scpi

 

В Pythone'е берёте модуль requests, через него отправляете POST запрос по подсмотренному url

 

Share this post


Link to post
Share on other sites

спасибо.

более интересно через сокеты, я так понимаю, что это NI VISA, у меня другой сокет 1026 (в менюшке ИП указано), по-крайней мере 2268 не соединяется, но вот такой код не дает ответа (выход не включается), но на компе никаких сообщений об ошибках и веб интерфейс отваливается

мне нужно бы разобраться с сетевым АПИ, прежде чем спрашивать, извините за лень, но может укажете, что написать, а я как мартышка скопирую :)

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('GPP', 1026))
s.send(b'OUTP 1')

 

надо еще перевод строки, чтоб заработало

s.send(b'OUTP 1\n')

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now