Чтобы запустить что-то каждые 10 минут после часа.
from datetime import datetime, timedelta
while 1:
print 'Run something..'
dt = datetime.now() + timedelta(hours=1)
dt = dt.replace(minute=10)
while datetime.now() < dt:
time.sleep(1)
Проверка "логических" систем на арене дизайна IC известна как "Проверка Дизайна", которая является процессом обеспечения, что система, которую Вы разрабатываете в аппаратных средствах (RTL), реализует желаемую функциональность.
Лестничная логика может быть преобразована к одному из современного HDL как Verilog.. преобразуйте каждую лестничную структуру
|---|R15|---+---|/R16|---------(R18)--------|
| |
|---|R12|---+
к выражению как
always @(*) R18 = !R16 && ( R15 | R12);
или Вы могли использовать присваивать оператор
assign R18 = R16 && (R15 | R12);
фиксирующееся реле
assign R18 = (set condition) || R18 && !(break condition);
Затем используйте свободное verilog средство моделирования как Icarus, чтобы разработать испытательный стенд и протестировать Вашу систему. Удостоверьтесь, что Вы - тестовые сценарии, дают хорошее покрытие КОДА Вашей логики! И Если Ваше лестничное программное обеспечение редактирования дает Вам достойные возможности именования, используйте их, а не Rnn.
(Примечание: в Лестничной Логике для конвенции PLC Rnn для внутренних реле, в то время как, Xnn является входом, и Ynn является выводом, как может быть быстро подобран из одного из учебных руководств онлайн.
Verilog будет более легким языком для разрабатывания тестов и испытательных стендов в!
Это может быть полезно программе в несколько единичных задержек.
Извините, я никогда не искал лестничную логику к/от verilog переводчикам.. но лестничная логика в мое время только что помещалась в компьютер для программирования PLC's - большинство ретрансляционных систем, которые я использовал, были РЕАЛЬНЫЕ Реле, соединенные проводом в корпусы!!
Удачи. jbd
Существует несколько лестничных редакторов логики (с simultors) доступны бесплатно.. вот тот, который работает на окнах, предположительно:
Существует программа под названием LogixPro, который имеет средство моделирования IO для лестничной логики, можно попробовать это.
Мы экспериментировали с инструментами тестового покрытия для контроллеров Rockwell Control Logix. Большинство инструментов тестирования процедурного языка выполняют покрытие ветвей или что-то подобное; поскольку релейная лестничная логика обычно не имеет ответвлений, это работает не очень хорошо.
Мы создали прототип MC / DC (измененное / условие / покрытие решения) для кода RLL для контроллеров Rockwell .. Это говорит о том, что DMS используется для оснащения кода RLL дополнительной логикой для сбора необходимых данных.
Вам все еще нужно кодировать модульные тесты. Самый простой способ сделать это - заставить другой ПЛК действовать как замену механическому оборудованию, которым вы собираетесь управлять, и просто написать другую программу RLL для проверки первого.