Просмотр полной версии : Подвисание Мастерскады с беспроводными сетями
Добрый день!
Есть несколько скриптов, в которых идет обращение к файлам по сетевым путям типа \\oil1\am\.
Где oil1 - имя компьютера в беспроводной сети, аm - расшаренная папка с полным доступом для всех. При этом делаю проверку существует ли деректория и существует ли запрашиваемый файл.
Когда компьютер в зоне действия сети - все хорошо работает. При выходе компьютера из беспроводной сети происходит зависание проекта или на 30-60 секунд или полностью зависает и надо перегружать компьютер.
Причем отлаживал на проводной сети - все работает стабильно. Скада тут же понимает есть сеть или нет. А на беспроводной такие траблы. При появлении беспроводной сети - задержка 15 секунд и стабильно работает. При исчезновении беспроводной сети - зависание проекта на 30-60 секунд или полностью зависает.
Я так понимаю, что я некорректно обращаюсь к файлам в беспроводной сети. Возможно нужно как-то опрашивать готова ли сеть...
Буду благодарен за любую помощь.
SCADAMaster
11.06.2013, 11:54
То есть вы работаете через с файлами через скрипт?
Можно попробовать перед тем как начать работать с файлами выполнить ping нужного IP адреса:
http://msdn.microsoft.com/ru-ru/library/system.net.networkinformation.ping.aspx
Да. Скрипты читают и записывают текстовые файлы в разных беспроводных сетях. Попробую, спасибо.
Я вот еще думаю, может лучше подключить сетевые диски? И обращаться к ним как по локальному пути. По идее сетевые диски должны восстанавливаться автоматически при подключении к беспроводной сети.
SCADAMaster
11.06.2013, 12:15
Да, так будет еще правильнее.
Записывайте данные локальные, а сетевые компьютеры когда потребуется будут подключаться к сетевым дискам и получать информацию.
Ничего не получилось:(
Проект работает на одном компьютере, на этом же компьютере подключен сетевой диск другого компьютера.
На другом компьютере искомый файл. Сеть проводная Ethernet. Скрипт первого компьютера обращается к файлу второго. При этом проверяется существование директории и файла.
При отключении питания свича пропадает сеть. Проект постоянно подвисает и на этом нормальная работа заканчивается. Картина точно такая же как с беспроводной сетью. Даже не знаю что делать... По идее скрипт должен проверить существование пути и нормально отработать, если пути не существует, а он зависает до 30 секунд и вешает все остальное.
SCADAMaster
11.06.2013, 14:06
Так вы пробовали перед тем как подключаться к файлу делать Ping компьютера из скрипта?
Нет. Сейчас буду пробовать Ping.
Ping по имени компьютера не помогло. Нужно читать SSID беспроводных сетей, чтобы затем обращаться к файлам.
Пытаюсь реализовать следующий код:
WiFiNetworkInfo[] ScanResp = WiFi.Scan();
if (ScanResp != null)
{
Debug.Print("Total Available Networks are " + ScanResp.Length.ToString());
foreach (WiFiNetworkInfo x in ScanResp)
{
Debug.Print(WiFiNetworkInfoToString(x));
Debug.Print("-----------------------------------------------------");
}
}
// Check if myWiFiNetworkSSID one of the found networks.
int i = 0;
for (i = 0; i < ScanResp.Length; i++)
{
if (string.Compare(ScanResp[i].SSID, myWiFiNetworkSSID) == 0)
{
break;
}
}
Как я понимаю, нужно подключить библиотеки:
using System.Threading;
using System.Net.Sockets;
using Microsoft.SPOT;
using Microsoft.SPOT.Net.NetworkInformation;
using Microsoft.SPOT.Hardware;
using GHIElectronics.NETMF.Net;
using GHIElectronics.NETMF.Hardware;
Пытаюсь добавить их на закладке 'Настройки' и не получается. Что я делаю не так?
SCADAMaster
12.06.2013, 19:32
А что именно не получается?
На закладке "Настройки" щелкаете на поле "Ссылка на сборки", затем на кнопку с тремя точками. В окне прописываете нужные dll бибилотеки (их нужно положить в папку MasterSCADA).
А затем уже на закладке "Код" добавляете их в раздел using.
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot