На всякий случай для пользователей Windows 10 важно знать, что в комплект ПО ОС уже входит пакет OpenSSH и вместе с ним утилита scp. Поэтому ничего устанавливать не надо. Инструкция по использованию scp есть в нашем блоге - Копирование файлов через SSH.Выгрузить файл можно по SFTP протоколу, используя бесплатный клиент FileZilla
Регистратор-самописец для TXT на Питоне
- Mr.Kubikus
- Сотрудник ПАКПАК
- Сообщения: 1020
- Зарегистрирован: 22 окт 2010, 23:57
Re: Регистратор-самописец для TXT на Питоне
-
- Сообщения: 42
- Зарегистрирован: 10 дек 2019, 18:13
Re: Регистратор-самописец для TXT на Питоне
Добрый день!
Выкладываю код программы и результат того, что получилось записать:
Выкладываю код программы и результат того, что получилось записать:
Код: Выделить всё
import ftrobopy
import time
from datetime import datetime
# Движение робота по линии
# Подключаемся к контроллеру TXT
# Чтобы программа работала на TXT автономно, конструктору класса ftrobopy должен быть передан параметр use_TransferAreaMode=True
txt = ftrobopy.ftrobopy(use_TransferAreaMode=True)
# txt = ftrobopy.ftrobopy('192.168.7.2', 65000)
# Создаём переменные для каждого сигнала
TrailL = txt.trailfollower(1) # Левый датчик маршрута - вход TXT 01
TrailR = txt.trailfollower(2) # Правый датчик маршрута - вход TXT 02
I3 = txt.input(3) # Кнопка - вход TXT 03
MotorL = txt.motor(1) # Левый мотор - выход TXT 01
MotorR = txt.motor(2) # Правый мотор - выход TXT 02
O5 = txt.output(5) # Лампы - выход TXT 05
# Объявляем переменные
run = bool(0) # Запуск
flag = bool(0) # Флаг кнопки
motL = bool(0) # Движение левого колеса
motR = bool(0) # Движение правого колеса
while True:
# Вызываем метод state() для определения состояния кнопки
SW = I3.state()
if SW and not flag:
flag = 1
if not SW and flag:
run = not run
# Фиксируем стартовое время программы
start_time = datetime.now()
# Если движение робота запущено - открываем файл 'log.txt'
if run:
f = open('/tmp/log.txt','w')
# Если движение робота остановлено - закрываем файл 'log.txt'
if not run:
f.close()
flag = 0
# Движение по линии запущено
if run:
O5.setLevel(512)
TLstate = TrailL.state()
TRstate = TrailR.state()
if TLstate and not TRstate:
motL = 1
motR = 0
if not TLstate and TRstate:
motL = 0
motR = 1
if TLstate and TRstate:
motL = 0
motR = 0
if not TLstate and not TRstate:
motL = 1
motR = 1
MotorL.setSpeed(motL * 512)
MotorR.setSpeed(motR * 512)
#запись в файл 'log.txt'
f.write(str(datetime.now() - start_time)[:-3] + ',' + str(TLstate) +
',' + str(TRstate) + ',' + str(motL) + ',' + str(motR))
f.write('\n')
print(str(datetime.now() - start_time)[:-3] + ',' + str(TLstate) +
',' + str(TRstate) + ',' + str(motL) + ',' + str(motR))
time.sleep(0.01)
# Движение по линии остановлено
else:
txt.stopAll()
- Вложения
-
- log.txt
- (13.7 КБ) 707 скачиваний
-
- Log.xls
- (91.5 КБ) 710 скачиваний
-
- log.zip
- (2.12 КБ) 717 скачиваний
Последний раз редактировалось AntonEngineer 30 ноя 2021, 11:58, всего редактировалось 5 раз.
Re: Регистратор-самописец для TXT на Питоне
А вы можете прикрепить текстовый файл, который получается на выходе? Дальше я его сам обработаю. Тем более у меня в линуксе табличный редактор не умеет открывать XLS.
IDKFA!
-
- Сообщения: 42
- Зарегистрирован: 10 дек 2019, 18:13
Re: Регистратор-самописец для TXT на Питоне
Конечно, добавил во вложение к моему предыдущему ответу. Файл в zip архиве. Порядок следования сигналов в строке такой: метка времени,I1,I2,M1,M2
-
- Сообщения: 42
- Зарегистрирован: 10 дек 2019, 18:13
Re: Регистратор-самописец для TXT на Питоне
Форум не даёт мне разрешения прикрепить файл с расширением .txt
- Mr.Kubikus
- Сотрудник ПАКПАК
- Сообщения: 1020
- Зарегистрирован: 22 окт 2010, 23:57
Re: Регистратор-самописец для TXT на Питоне
Я добавил расширение txt в разрешенные типы вложений. Попробуйте еще раз.AntonEngineer писал(а): ↑30 ноя 2021, 11:24Форум не даёт мне разрешения прикрепить файл с расширением .txt
-
- Сообщения: 42
- Зарегистрирован: 10 дек 2019, 18:13
Re: Регистратор-самописец для TXT на Питоне
Получилось, добавил вложение.
Re: Регистратор-самописец для TXT на Питоне
Спасибо! Теперь я могу открыть файл журнала.
Вижу, что вы сохраняете время отсчёта в формате "ЧЧ:ММ:СС.ммм". Почему вы выбрали такой формат? Как его использовать для построения графиков в табличном процессоре? Мне пришлось установить Excel, но у меня не получается построить график, в котором координаты точек по оси Х заполняются значениями из столбца timestamp. Анализировать данные по таблицам без графиков очень сложно.
Вижу, что вы сохраняете время отсчёта в формате "ЧЧ:ММ:СС.ммм". Почему вы выбрали такой формат? Как его использовать для построения графиков в табличном процессоре? Мне пришлось установить Excel, но у меня не получается построить график, в котором координаты точек по оси Х заполняются значениями из столбца timestamp. Анализировать данные по таблицам без графиков очень сложно.
IDKFA!
-
- Сообщения: 42
- Зарегистрирован: 10 дек 2019, 18:13
Re: Регистратор-самописец для TXT на Питоне
Я правильно понимаю, что в строке нужно фиксировать: первая переменная - значение времени с момента запуска программы и монотонно увеличивающееся, вторая переменная - значение времени в момент изменения сигнала с датчиков маршрута и/или изменение управляющего сигнала на моторы?