Показано с 1 по 10 из 10

Тема: Не видит библиотеки

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #6
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,575

    По умолчанию

    В этом плк можно зайти в консоль, набрать скрипт на питоне и проверить доходить ли команда до абонента, если все нормально то можно из проекта через sysexecute запускать этот скрипт по мере необходимости.
    Это если другие способы не помогают
    Код:
    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)
    Запустите скрипт из командной строки, передав два числовых аргумента: python script.py 3 1
    Последний раз редактировалось capzap; 12.09.2025 в 15:03.
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

Похожие темы

  1. Не видит библиотеки с репозитория библиотек
    от sekerin в разделе СПК210, СПК1xx [М01]
    Ответов: 8
    Последнее сообщение: 01.04.2020, 16:17
  2. Ответов: 1
    Последнее сообщение: 19.03.2020, 10:28
  3. MS не видит OPC HDA 1.2
    от Dmitrijb в разделе Master SCADA 3
    Ответов: 1
    Последнее сообщение: 28.04.2015, 16:50
  4. Компилятор не видит типы данных из библиотеки ArchivatorOwenLib
    от Солнечный заяц в разделе СПК2xx (архив)
    Ответов: 5
    Последнее сообщение: 24.07.2012, 14:18
  5. ОРС не видит ТРМ 138
    от VlOg1 в разделе Сетевые технологии
    Ответов: 7
    Последнее сообщение: 27.11.2008, 21:26

Ваши права

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