В этом плк можно зайти в консоль, набрать скрипт на питоне и проверить доходить ли команда до абонента, если все нормально то можно из проекта через sysexecute запускать этот скрипт по мере необходимости.
Это если другие способы не помогают
Запустите скрипт из командной строки, передав два числовых аргумента: python script.py 3 1Код:import socket import sys def send_command(arg1, arg2): try: # Создаем сокет client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # Устанавливаем таймаут на 3 секунды client.settimeout(3) # Параметры подключения host = "192.168.0.120" port = 1470 # Формируем команду с переданными аргументами command = f"sr {arg1} {arg2} \r\n" # Подключаемся к серверу client.connect((host, port)) # Отправляем команду в ASCII формате client.sendall(command.encode('ascii')) # Получаем ответ response = client.recv(1024).decode('ascii') # Проверяем наличие ACK в начале ответа if response.startswith("ACK"): print(f"Успешный ответ от сервера: {response}") else: print(f"Ошибка: неверный ответ сервера: {response}") except socket.timeout: print("Ошибка: истекло время ожидания ответа") except Exception as e: print(f"Произошла ошибка: {str(e)}") finally: # Закрываем соединение client.close() if __name__ == "__main__": # Проверяем количество переданных аргументов if len(sys.argv) != 3: print("Использование: python script.py <аргумент1> <аргумент2>") sys.exit(1) # Получаем аргументы из командной строки try: arg1 = int(sys.argv[1]) # Преобразуем в целое число arg2 = int(sys.argv[2]) # Преобразуем в целое число except ValueError: print("Ошибка: аргументы должны быть целыми числами") sys.exit(1) # Вызываем функцию с переданными аргументами send_command(arg1, arg2)




Ответить с цитированием