<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Вопрос по тредам и SetBatchLines]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=17870</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=17870&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Вопрос по тредам и SetBatchLines».]]></description>
		<lastBuildDate>Sun, 23 Jul 2023 06:29:27 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Вопрос по тредам и SetBatchLines]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=158868#p158868</link>
			<description><![CDATA[<div class="quotebox"><cite>ypppu пишет:</cite><blockquote><p>В AutoHotkey принято между окончанием выполнения одной команды и началом выполнения другой команды вставлять небольшой перерывчик: если ничего в скрипте не прописывать, SetBatchLines = 10 мс. Эту настройку можно менять.<br />Чтобы этот перерывчик сделать как можно меньше, следует прописать SetBatchLines -1</p></blockquote></div><p>Это всё неверно. Прочитай внимательнее справку.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Sun, 23 Jul 2023 06:29:27 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=158868#p158868</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вопрос по тредам и SetBatchLines]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=158867#p158867</link>
			<description><![CDATA[<div class="quotebox"><cite>stuermer пишет:</cite><blockquote><p>Зачем нужен SetBatchLines, если есть Sleep()? Если PLC тут и не пахнет.</p></blockquote></div><div class="quotebox"><cite>stuermer пишет:</cite><blockquote><p> Если время выполнения задачи превышает время цикла (например, при использовании оператора цикла FOR/LOOP, т.е. будет цикл в цикле), то происходит сбой и надо увеличить время цикла.</p></blockquote></div><p>В AutoHotkey нет такого понятия, как &quot;превысить время цикла&quot;. Тут команда выполняется до тех пор, пока она не будет выполнена, сколько бы времени на это ни пришлось потратить.</p><p>В AutoHotkey принято между окончанием выполнения одной команды и началом выполнения другой команды вставлять небольшой перерывчик: если ничего в скрипте не прописывать, SetBatchLines = 10 мс. Эту настройку можно менять.<br />Чтобы этот перерывчик сделать как можно меньше, следует прописать <strong><em>SetBatchLines -1</em></strong>. При таких настройках скрипт станет выполнять команды вообще без перекуров. При этом, когда задача достаточно объёмная, в Диспетчере задач наблюдается загрузка процессорного ядра до 100%.</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Sat, 22 Jul 2023 20:50:34 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=158867#p158867</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вопрос по тредам и SetBatchLines]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=158865#p158865</link>
			<description><![CDATA[<p>Начнём с того, что SetBatchLines вообще сейчас не особо нужен, это наследие древних версий AHK или AutoIt. Возможно раньше, когда процессоры были менее мощными, использование пауз в процессе выполнения потока имело смысл, чтобы снизить нагрузку на процессор. В актуальной версии AHK (v2) по умолчанию паузы вообще не вставляются и SetBatchLines не используется. С другой стороны, в высоконагруженных циклах всё равно чаще всего нужно вставлять Sleep.<br />В чём отличие от Sleep? SetBatchLines — это более общая настройка, один раз установил, и не паришься, а Sleep бы пришлось постоянно вставлять в разные места скрипта.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Fri, 21 Jul 2023 19:35:30 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=158865#p158865</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вопрос по тредам и SetBatchLines]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=158863#p158863</link>
			<description><![CDATA[<p>Есть еще и Soft-PLC на промышленных ПК под Windows, с кнопками как на клавиатуре.<br />И визуализация, например WinCC - со скриптами VBScript, но это уже если дальше развивать тему.</p><p>Вы по делу аргумент не опровергли: Зачем нужен SetBatchLines, если есть Sleep()? Если PLC тут и не пахнет.</p>]]></description>
			<author><![CDATA[null@example.com (stuermer)]]></author>
			<pubDate>Fri, 21 Jul 2023 17:36:50 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=158863#p158863</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вопрос по тредам и SetBatchLines]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=158861#p158861</link>
			<description><![CDATA[<p>Ну вот видите, ваша пресловутая фантазия даже не позволила вам сообразить, что про происхождение BASIC от PLC это была шутка. Честно говоря, я думал, что вы были способны её понять.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Fri, 21 Jul 2023 16:13:50 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=158861#p158861</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вопрос по тредам и SetBatchLines]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=158860#p158860</link>
			<description><![CDATA[<p>Говориться так: &quot;ни ума, ни фантазии&quot;.<br />Как я уже писал, в вашей стране &quot;за базар&quot; надо отвечать. Поэтому фразу про зуб удалите, пока этим никто не воспользовался.</p>]]></description>
			<author><![CDATA[null@example.com (stuermer)]]></author>
			<pubDate>Fri, 21 Jul 2023 15:58:47 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=158860#p158860</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вопрос по тредам и SetBatchLines]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=158857#p158857</link>
			<description><![CDATA[<p><strong>stuermer</strong><br />Я бы посмотрел на ситуацию с другого ракурса: вы научились когда-то программированию PLC, и теперь всё время пытаетесь натянуть эту сову на любой глобус. Как говорится, старую собаку новым трюкам научишь. Может, это как раз вам немного не хватает фантазии? <img src="//forum.script-coding.com/img/smilies/wink.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Fri, 21 Jul 2023 13:06:21 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=158857#p158857</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вопрос по тредам и SetBatchLines]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=158856#p158856</link>
			<description><![CDATA[<div class="quotebox"><cite>Alectric пишет:</cite><blockquote><p>Нет. Таймер это прерывание по времени, потому, что он прерывает основной поток чтобы выполнить код подпрограммы. https://prog-cpp.ru/micro-interrupts/</p></blockquote></div><p>Так это в переносном смысле написано. У тебя тоже фантазии нету. Таймер это АНАЛОГ цикла ПЛК. Потому, что повторное выполнение. Ясно, что ПЛК это не ПК. Невозможно спорить с ограниченными людьми без фантазии.</p><div class="quotebox"><blockquote><p>Это в кодесисе таймер это цикл ПЛК</p></blockquote></div><p>В Codesys таймер это таймер, а цикл это цикл. <br />А в AHK таймер это цикл ПЛК - в переносном значении!</p>]]></description>
			<author><![CDATA[null@example.com (stuermer)]]></author>
			<pubDate>Fri, 21 Jul 2023 11:11:10 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=158856#p158856</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вопрос по тредам и SetBatchLines]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=158852#p158852</link>
			<description><![CDATA[<div class="quotebox"><cite>stuermer пишет:</cite><blockquote><p>Таймер это настоящий цикл PLC, потому, что там есть реально повторное выполнение подпрограммы</p></blockquote></div><p>Нет. Таймер это прерывание по времени, потому, что он прерывает основной поток чтобы выполнить код подпрограммы. <a href="https://prog-cpp.ru/micro-interrupts/">https://prog-cpp.ru/micro-interrupts/</a><br />Это в кодесисе таймер это цикл ПЛК, и то это можно перенастроить на &quot;свободное выполнение&quot; и программа будет выполняться в любое удобное для нее время, если у процессора будет свободное время.</p><div class="quotebox"><cite>stuermer пишет:</cite><blockquote><p>То, что ты написал, это цикл в цикле. Потому, что у тебя loop в таймере.</p></blockquote></div><p>Loop в таймере это чтобы &quot;симулировать&quot; долгое время выполнения кода подпрограммы таймера, вместо этого &quot;loop&quot; вообрази, фантазией, много строк полезного кода.</p><p>OFF: Напоминаешь ты мне одного товарища, который любит поспорить просто чтобы поспорить, даже если понимает что неправ.</p>]]></description>
			<author><![CDATA[null@example.com (Alectric)]]></author>
			<pubDate>Thu, 20 Jul 2023 18:02:49 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=158852#p158852</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вопрос по тредам и SetBatchLines]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=158851#p158851</link>
			<description><![CDATA[<div class="quotebox"><cite>stuermer пишет:</cite><blockquote><p>Basic не создан по подобию PLC</p></blockquote></div><p>Как же так? Ведь всё создано по подобию PLC, значит и Basic тоже!</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Thu, 20 Jul 2023 16:15:12 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=158851#p158851</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вопрос по тредам и SetBatchLines]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=158850#p158850</link>
			<description><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>Но BASIC то уж точно создан по подобию PLC, зуб даю.</p></blockquote></div><p>Basic не создан по подобию PLC. В вашей стране лучше так не шутить. За такие заявления, можно действительно зуба лишиться)).</p>]]></description>
			<author><![CDATA[null@example.com (stuermer)]]></author>
			<pubDate>Thu, 20 Jul 2023 16:10:23 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=158850#p158850</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вопрос по тредам и SetBatchLines]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=158849#p158849</link>
			<description><![CDATA[<p><strong>teadrinker</strong> Я AutoIt не знаю. Речь шла о том, что SetBatchLines это аналог длительности цикла в PLC.<br />Другой пример - функции WinWaitActive. Это то же самое, что графический язык программирования Motion Chart в системе Simotion фирмы Siemens. Управление системами позиционирования.</p>]]></description>
			<author><![CDATA[null@example.com (stuermer)]]></author>
			<pubDate>Thu, 20 Jul 2023 16:06:19 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=158849#p158849</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вопрос по тредам и SetBatchLines]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=158848#p158848</link>
			<description><![CDATA[<p>Нет, AutoIt создан по подобию BASIC. Но BASIC то уж точно создан по подобию PLC, зуб даю.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Thu, 20 Jul 2023 15:58:22 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=158848#p158848</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вопрос по тредам и SetBatchLines]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=158846#p158846</link>
			<description><![CDATA[<p><strong>teadrinker</strong> Значит AutoIt создан создан по подобию PLC, а AHK это следующая производная. Наверняка там тоже есть такой функционал. <br />Фантазия - очень полезная вещь в жизни.</p><p>&quot;Узкий специалист подобен флюсу: полнота его односторонняя.&quot;<br />Козьма Прутков</p>]]></description>
			<author><![CDATA[null@example.com (stuermer)]]></author>
			<pubDate>Thu, 20 Jul 2023 15:48:20 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=158846#p158846</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вопрос по тредам и SetBatchLines]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=158845#p158845</link>
			<description><![CDATA[<p><strong>Alectric</strong><br />Если ты PLC программируешь, это еще не значит, что ты в этом что-то понимаешь. <br />Таймер это настоящий цикл PLC, потому, что там есть реально повторное выполнение подпрограммы. Если запустить отладчик AHK и делать Refresh то это будет видно. А SetBatchLines это симуляция цикла, чтобы было похоже на PLC. Если есть и таймер и SetBatchLines то поток подпрограммы будет прерываться. То, что таймер сам себе задержку создает, если быстрее выполнит подпрограмму, я писал.<br />То, что ты написал, это цикл в цикле. Потому, что у тебя loop в таймере.</p>]]></description>
			<author><![CDATA[null@example.com (stuermer)]]></author>
			<pubDate>Thu, 20 Jul 2023 15:41:38 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=158845#p158845</guid>
		</item>
	</channel>
</rss>
