У меня есть таймер, и он извлекает данные из ПЛК.У меня есть часть, где я записываю данные в ПЛК, а затем пишу для ответа от ПЛК.Есть флаг, и я жду, пока он изменится на true.мой таймер читает флаг ... но когда я добираюсь до своего оператора while, таймер перестает срабатывать.Зачем ?вот мой код:
void movePixalLinkCam(int pos)
{
bool flag;
if (state == 2)
{
flag = true;
tcClient.WriteAny(Pos0number, Convert.ToDouble(pos));
tcClient.WriteAny(Axis0MoveStartnumber, flag);
while(!Axis0MoveFlag)
{
}
flag = false;
tcClient.WriteAny(Axis0MoveStartnumber, flag);
}
}
таймер, кажется, останавливается во время оператора while.Зачем?я должен поставить эту функцию в другой поток или что-то?
Обновление
private void timer1_Tick(object sender, EventArgs e)
{
try
{
dataStream.Position = 0;
tcClient.Read(Axis0MoveFlagnumber, dataStream);
Axis0MoveFlag = binRead.ReadBoolean();
dataStream.Position = 0;}
catch (Exception err)
{
MessageBox.Show(err.Message.ToString());
}