Приложите ваш проект.
Вид для печати
Приложите ваш проект.
Вот пример проекта
Мы проверили - у нас все работает корректно, даже если значение в ОРС сервере не меняется, но в архиве присутсвует - оно записывается на выход.
Посмотрите архив у ОРС HDA переменной и сравните с тем что формирует скрипт. Возможно у вас просто от OPC HDA данные не поступают.
Вот архивы по входу и выходу:
Вложение 16121Вложение 16122
Проект был запущен, затем были добавлены данные в ОРС HDA
Версия скады 3.5.1
Попробуйте проверить на текущей Demo.
Доброго времени суток. Подскажите есть ли готовое решение для передачи данных с теплосчетчика ВКТ-7, с установленным модулем ethernet, в Мастер Скаду?
Данный прибор можно подключить через OPC сервер - его распространяет компания Теплоком:
http://www.teplocom-sale.ru/catalogu...SECTION_ID=136
Дошло наконец
Заменил
наКод:StartTime=EndTime;
Архивы-то из прошлогоКод:StartTime=mas[mas.Length-1].Time.AddSeconds(1);
Подскажите, пожалуйста: что означает это сообщение?
Появляется через какое-то время работы проекта в режиме исполнения при попытке записи в OPC-переменную.
Вложение 16147
Возникла проблема с решением такой задачи: есть периоды времени (источник данных является расчетом = метка_конца - метка_начала) необходимо их просуммировать в отчете (по идее производится бендом "итог" и функцией SumTime) но результат получается всегда 00:00:00
Пришлите отчет об ошибках.
Для того чтобы сформировать отчет об ошибках:
В Режиме Исполнения (RT):
"Сервис"->"Отчет об ошибках" или
Alt+F10 ->"Отчет об ошибках"
Поставьте галочку "Включая конфигурацию текущего проекта". Сформированную папку заархивируйте и выложите сюда.
SumTime работает с типом TimeSpan. Поэтому чтобы произвести суммирование временных интервалов, нужно исправить формулу выражения:
{SumTime(Данныеданные, new TimeSpan(данные.Время.Hour, данные.Время.Minute, данные.Время.Second))}
Данныеданные - название бэнда.
данные.Время - колонка типа DateTime
Здравствуйте! Подскажите пожалуйста как сделать чекбокс с помощью "события". Где-то описывалось - не найду. Спасибо!
Пример в приложении.
SCADAMaster, есть новости по моему вопросу?
Ещё вопрос:
Почему функция:
WORD_TO_INT(64486);
в ФБ "Код ST" вызывает "ошибка устройства"? В CDS корректно получается соответствующее отрицательное число...
Нам необходима также конфигурация ОРС сервера и лог обмена с устройством.
Для этого в свойствах сервера включите запись журнала и всех его событий, размер лога задайте равным 10000. Запустите режим исполнения и воспроизведите ошибку. Лог пишется в папку:
c:\Documents and Settings\All Users\Application Data\InSAT\MasterOPC Universal Modbus Server\SERVERLOGS\
Лог заархивируйте и вышлите нам. Приложите конфигурацию ОРС сервера, а также сообщите номер версии ОРС сервера.
После этого также сформируйте отчет об ошибках из MasterSCADA
Хорошо, завтра сделаю.
Подскажите, пожалуйста:
В ФБ "Программа ST" Стандартная функция WORD_TO_INT() возвращает "ошибка устройства" при значениях WORDа от 32768 до 65535, т.е. соответствующего диапазону отрицательных значений типа INT. В CoDeSys эта функция работает корректно. Это фича или баг?
Версия сервера 3.1.3
Лог во вложении.
Ошибка проявилась в момент когда вы записывали лог сервера?
Нужен еще отчет скады, чтобы знать время возникновения.
Да, ошибка проявилась и я сразу остановил сервер и снял логи. Отчёт скады я, к сожалению, не снял, но по времени должно быть в конце лога.
Вот здесь видно время ошибок
Судя по всему ошибка генерируется Windows - возможно возникают какие то ошибки при работе технологии OLE.
Попробуйте установить на компьютер OPC Core Components, в зависимости от типа вашей ОС:
https://yadi.sk/d/L9j6yyci2QfW1
https://yadi.sk/d/ewpkpmMv2QfWB
Если не поможет, то попробуйте проверить на другом компьютере.
Подскажите, можно ли установить Modbus Universal MasterOPC Server 32 на nas (synology) например, когда нет постоянно работающего компьютера?
Судя по описанию данных устройствах используется собственная операционная система базирующая на Linux. Но если на ней можно развернуть виртуальную машину с ОС Windows (судя по описанию можно), то тогда установить ОРС сервер будет можно.
OPC сервер не работает в среде Linux.
подскажите где можно скачать simulator сервер который используется в видео уроках. на сайте инсата не нашел, на ftp где скачивал скаду тоже не нашел
Проект создавался на основе старого симулятора - лучше использовать вместо него наш новый ОРС сервер. К проекту приложен проект MasterSCADA и конфигурация:
http://www.masterscada.ru/files/docu...DA_Project.zip
Скачайте данный файл. Внутри него лежит конфигурация с симулятором для нового OPC сервер - Modbus Universal MasterOPC Server
http://www.masteropc.ru/products/?category=399
Его бесплатную версию на 32 точки можно скачать здесь:
http://www.masteropc.ru/prices/info.php?pid=6944
Скачайте и установите данный ОРС.
Будут небольшие отличия в названии ОРС переменных, но в остальном - все тоже самое. В архиве также есть файл Readme, где описаны отличия.
Можно скачать и старый Simulator - он лежит на нашем FTP (в папке /OPC серверы/OPC-сервер Demo ToolKit/). Но данный ОРС сервер может некорректно работать на Windows 7 (необходимо отключить UAC или установить его не в Program Files, а например в C:\Toolkit).
в демо версии при добавлении ОРС переменных в дерево системы добавились не все переменные и группы. есть какое то ограничение на количество переменных?
Нет, именно в Demo версии никаких ограничений нет. Возможно какие то проблемы с сервером.
Ещё ошибка: (В версии 3.6.0.47114 3.6(DemoReleaseMin)_14_09_11_18_45 )
В ФБ "Программа ST" переменной типа DWORD невозможно присвоить значение в котором 31-ый бит = 1, например 2147483648 (0x80000000)
Да что ж такое у вас там с типами!?!? :mad:
Почему в ФБ "Повторитель" нельзя унаследовать тип "Беззнаковый целый" ?
Доброй ночи, люди.
У меня лицензионная MS 3.5
В версии 3.5 нету функции архива- сумма (ArchSum). Подскажите чем ее заменить.
Реализую следующую задачу- есть архивируемое значение, его нужно суммировать за сутки и отобразить в отчете. В демо 3.6 реализовал с помощею ArchSum.
А непосредственно в самом отчете вы не можете просуммировать?
Можно еще суммировать через скрипт - получить архивные значения и произвести обработку. Пример кода:
string name=HostFB.TreeItemHlp.FullName+".Входы."+"Вход";
var elem = (ITreePinHlp)HostFB.TreeItemHlp.Project.Item(name) ;
PinDataArchiveHlp k=elem.DataArchiveItem;
var startTime=//указываете время с которого читать
var endTime=//указываете время по которое читать
var mas=k.Read(startTime, endTime, true); //читаем архив
double sum=0;
for (int i=0;i<mas.Length;i++)
{
sum=sum+Convert.ToDouble(mas[i].Value);
}